From 0a38d9b1cd4010337e1c6f8799fb1253ab4d8ea2 Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 05:16:30 -0400 Subject: [PATCH 01/20] Add banner --- README.md | 49 +++++++++++++++++++++++++++++++++++++++++++--- images/banner.png | Bin 0 -> 110158 bytes 2 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 images/banner.png diff --git a/README.md b/README.md index 69573362..5a51bf91 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -# ![Icon](./icon.svg) WAT -![3.3.2](https://github.com/CodeDarigan/WAT-GDScript/workflows/%20%20Godot%203.3.2%20%20/badge.svg) +![WAT Banner](images/banner.png) -[![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Q5Q51D9K5) +# WAT +![3.3.2](https://github.com/CodeDarigan/WAT-GDScript/workflows/%20%20Godot%203.3.2%20%20/badge.svg) [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Q5Q51D9K5) + +A Godot unit-testing framework for GDScript and C#. It includes an inspector window for manually running tests, and a command-line interface for easy automated testing. 1. [Install](#Install) 2. [Project Settings](#ProjectSettings) @@ -211,8 +213,49 @@ __Run on X Threads__ - [GDScript Assertions](/addons/WAT/assertions/assertions.gd) - [C# Assertions](/addons/WAT/mono/assertions/Assertions.cs) +## Continous Integration Templates + +**Github** + +Paste the text below into `.github/workflows/tests.yml` + +```yaml +name: 🧪 Run Unit Tests + +on: [push, pull_request] + +env: + IMPORT_TIME: 10s # Controls how long we wait to import our assets +jobs: + Tests: + name: Run All Tests on 3.5 + runs-on: ubuntu-latest + container: barichello/godot-ci:mono-3.5 + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + with: + submodules: recursive + - name: Install Dependencies + run: | + nuget restore + mkdir -p .mono/assemblies/Debug + cp /usr/local/bin/GodotSharp/Api/Release/* .mono/assemblies/Debug + - name: Compile + run: msbuild + - name: Reimport Assets + run: timeout $IMPORT_TIME godot --editor || code=$?; if [[ $code -ne 124 && $code -ne 0 ]]; then exit $code; fi + - name: Run + run: godot addons/WAT/cli.tscn run=all + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v2 + with: + name: Test Results + path: tests/results.xml +``` \ No newline at end of file diff --git a/images/banner.png b/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..27b3cf33d63bacab2a633584aaf0544b04271151 GIT binary patch literal 110158 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

O`#5^jA4RQih8P|CJ{otZ*)zc`=M3_U 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 Date: Sat, 13 Aug 2022 05:19:02 -0400 Subject: [PATCH 02/20] Update readme --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 5a51bf91..d65eebd9 100644 --- a/README.md +++ b/README.md @@ -213,11 +213,13 @@ __Run on X Threads__ - [GDScript Assertions](/addons/WAT/assertions/assertions.gd) - [C# Assertions](/addons/WAT/mono/assertions/Assertions.cs) -## Continous Integration Templates +## Continous Integration + +You can automatically run your unit tests every time you push changes to your game's repository. Here's some automation templates for popular git hosting services. **Github** -Paste the text below into `.github/workflows/tests.yml` +Paste the stuff below into `.github/workflows/tests.yml` ```yaml name: 🧪 Run Unit Tests From 52aef312e5360b1d096d853e238b9cac0f77386f Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 05:20:26 -0400 Subject: [PATCH 03/20] Add quick links --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d65eebd9..23cade44 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ A Godot unit-testing framework for GDScript and C#. It includes an inspector win 4. [CLI](#CLI) 5. [Example Tests](#Examples) 6. [Assertions](#Assertions) +6. [Continuous Integration](#ContinuousIntegration) ## Install @@ -213,7 +214,8 @@ __Run on X Threads__ - [GDScript Assertions](/addons/WAT/assertions/assertions.gd) - [C# Assertions](/addons/WAT/mono/assertions/Assertions.cs) -## Continous Integration +## Continuous Integration + You can automatically run your unit tests every time you push changes to your game's repository. Here's some automation templates for popular git hosting services. From 75312b4f6463625fd6b4ec5b824d83283fbd9eab Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 07:38:48 -0400 Subject: [PATCH 04/20] Add angular website --- .github/workflows/gh-pages.yml | 34 + .gitignore | 6 +- website/.browserslistrc | 16 + website/.editorconfig | 16 + website/.gitignore | 42 + website/.prettierrc | 7 + website/README.md | 27 + website/angular.json | 125 + website/karma.conf.js | 44 + website/package-lock.json | 21196 ++++++++++++++++ website/package.json | 44 + website/src/_settings.ts | 34 + website/src/app/app-routing.module.ts | 10 + website/src/app/app.component.css | 6 + website/src/app/app.component.html | 24 + website/src/app/app.component.spec.ts | 35 + website/src/app/app.component.ts | 46 + website/src/app/app.module.ts | 17 + website/src/app/classes/_classes.module.ts | 10 + website/src/app/classes/pagelink.ts | 3 + website/src/app/modules/_core/_core.scss | 11 + .../_bg-container.component-theme.scss | 60 + .../bg-container/bg-container.component.css | 24 + .../bg-container/bg-container.component.html | 9 + .../bg-container.component.spec.ts | 24 + .../bg-container/bg-container.component.ts | 18 + .../breakable-styles.directive.spec.ts | 8 + .../breakable-styles.directive.ts | 91 + .../column-layout/column-layout.component.css | 15 + .../column-layout.component.html | 1 + .../column-layout.component.spec.ts | 24 + .../column-layout/column-layout.component.ts | 12 + website/src/app/modules/_core/core.module.ts | 54 + .../_full-page-header.component-theme.scss | 60 + .../full-page-header.component.css | 26 + .../full-page-header.component.html | 21 + .../full-page-header.component.spec.ts | 24 + .../full-page-header.component.ts | 28 + .../_page-header.component-theme.scss | 59 + .../page-header/page-header.component.css | 13 + .../page-header/page-header.component.html | 6 + .../page-header/page-header.component.spec.ts | 24 + .../page-header/page-header.component.ts | 15 + .../question-panel.component.css | 25 + .../question-panel.component.html | 9 + .../question-panel.component.spec.ts | 24 + .../question-panel.component.ts | 16 + .../modules/_core/safe-pipe/safe.pipe.spec.ts | 8 + .../app/modules/_core/safe-pipe/safe.pipe.ts | 50 + .../section/_section.component-theme.scss | 92 + .../_core/section/section.component.css | 56 + .../_core/section/section.component.html | 7 + .../_core/section/section.component.spec.ts | 24 + .../_core/section/section.component.ts | 55 + .../sub-section/sub-section.component.css | 7 + .../sub-section/sub-section.component.html | 5 + .../sub-section/sub-section.component.spec.ts | 24 + .../sub-section/sub-section.component.ts | 19 + .../app/modules/site-menus/_site-menus.scss | 8 + .../site-menus/site-footer/_site-footer.scss | 5 + .../site-footer/site-footer.module.ts | 18 + .../_site-footer.component-theme.scss | 28 + .../site-footer/site-footer.component.css | 23 + .../site-footer/site-footer.component.html | 5 + .../site-footer/site-footer.component.scss | 0 .../site-footer/site-footer.component.spec.ts | 24 + .../site-footer/site-footer.component.ts | 12 + .../site-menus/site-header/_site-header.scss | 13 + .../_dark-mode-toggle.component-theme.scss | 26 + .../dark-mode-toggle.component.css | 5 + .../dark-mode-toggle.component.html | 4 + .../dark-mode-toggle.component.spec.ts | 24 + .../dark-mode-toggle.component.ts | 24 + .../_hamburger-menu.component-theme.scss | 35 + .../hamburger-menu.component.css | 48 + .../hamburger-menu.component.html | 31 + .../hamburger-menu.component.spec.ts | 24 + .../hamburger-menu.component.ts | 46 + .../_horizontal-menu.component-theme.scss | 28 + .../horizontal-menu.component.css | 26 + .../horizontal-menu.component.html | 24 + .../horizontal-menu.component.spec.ts | 24 + .../horizontal-menu.component.ts | 15 + .../_logo-text-button.component-theme.scss | 67 + .../logo-text-button.component.css | 27 + .../logo-text-button.component.html | 24 + .../logo-text-button.component.spec.ts | 24 + .../logo-text-button.component.ts | 20 + .../site-header/site-header.module.ts | 32 + .../site-header/site-header.component.css | 19 + .../site-header/site-header.component.html | 4 + .../site-header/site-header.component.spec.ts | 24 + .../site-header/site-header.component.ts | 26 + .../_text-button.component-theme.scss | 61 + .../text-button/text-button.component.css | 20 + .../text-button/text-button.component.html | 6 + .../text-button/text-button.component.spec.ts | 24 + .../text-button/text-button.component.ts | 21 + .../modules/site-menus/site-menus.module.ts | 11 + website/src/app/pages/_pages.scss | 5 + website/src/app/pages/home/_home-page.scss | 5 + .../src/app/pages/home/home-page.module.ts | 14 + .../home/home/_home-page.component-theme.scss | 26 + .../pages/home/home/home-page.component.css | 0 .../pages/home/home/home-page.component.html | 33 + .../home/home/home-page.component.spec.ts | 24 + .../pages/home/home/home-page.component.ts | 13 + website/src/app/pages/pages.module.ts | 22 + website/src/app/services/_services.module.ts | 19 + .../breakpoint-manager.service.spec.ts | 16 + .../services/breakpoint-manager.service.ts | 65 + .../app/services/css-length.service.spec.ts | 16 + .../src/app/services/css-length.service.ts | 25 + .../services/style-manager.service.spec.ts | 16 + .../src/app/services/style-manager.service.ts | 49 + .../services/theme-manager.service.spec.ts | 16 + .../src/app/services/theme-manager.service.ts | 24 + website/src/app/settings/_settings.module.ts | 12 + website/src/app/settings/breakpoints.ts | 34 + website/src/assets/.gitkeep | 0 website/src/assets/images/gui.png | Bin 0 -> 46456 bytes website/src/environments/environment.prod.ts | 3 + website/src/environments/environment.ts | 16 + website/src/favicon.ico | Bin 0 -> 15086 bytes website/src/index.html | 22 + website/src/main.ts | 12 + website/src/polyfills.ts | 53 + website/src/styles.scss | 3 + website/src/styles/_general-css-theme.scss | 92 + website/src/styles/_general-css.scss | 207 + website/src/styles/_modules-theme.scss | 9 + website/src/styles/_shared-palettes.scss | 297 + website/src/styles/_utility.scss | 5 + website/src/styles/_variables.scss | 46 + website/src/styles/themes/dark.scss | 40 + website/src/styles/themes/light.scss | 23 + website/src/test.ts | 26 + website/tsconfig.app.json | 15 + website/tsconfig.json | 64 + website/tsconfig.spec.json | 18 + 140 files changed, 25104 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/gh-pages.yml create mode 100644 website/.browserslistrc create mode 100644 website/.editorconfig create mode 100644 website/.gitignore create mode 100644 website/.prettierrc create mode 100644 website/README.md create mode 100644 website/angular.json create mode 100644 website/karma.conf.js create mode 100644 website/package-lock.json create mode 100644 website/package.json create mode 100644 website/src/_settings.ts create mode 100644 website/src/app/app-routing.module.ts create mode 100644 website/src/app/app.component.css create mode 100644 website/src/app/app.component.html create mode 100644 website/src/app/app.component.spec.ts create mode 100644 website/src/app/app.component.ts create mode 100644 website/src/app/app.module.ts create mode 100644 website/src/app/classes/_classes.module.ts create mode 100644 website/src/app/classes/pagelink.ts create mode 100644 website/src/app/modules/_core/_core.scss create mode 100644 website/src/app/modules/_core/bg-container/_bg-container.component-theme.scss create mode 100644 website/src/app/modules/_core/bg-container/bg-container.component.css create mode 100644 website/src/app/modules/_core/bg-container/bg-container.component.html create mode 100644 website/src/app/modules/_core/bg-container/bg-container.component.spec.ts create mode 100644 website/src/app/modules/_core/bg-container/bg-container.component.ts create mode 100644 website/src/app/modules/_core/breakable-styles/breakable-styles.directive.spec.ts create mode 100644 website/src/app/modules/_core/breakable-styles/breakable-styles.directive.ts create mode 100644 website/src/app/modules/_core/column-layout/column-layout.component.css create mode 100644 website/src/app/modules/_core/column-layout/column-layout.component.html create mode 100644 website/src/app/modules/_core/column-layout/column-layout.component.spec.ts create mode 100644 website/src/app/modules/_core/column-layout/column-layout.component.ts create mode 100644 website/src/app/modules/_core/core.module.ts create mode 100644 website/src/app/modules/_core/full-page-header/_full-page-header.component-theme.scss create mode 100644 website/src/app/modules/_core/full-page-header/full-page-header.component.css create mode 100644 website/src/app/modules/_core/full-page-header/full-page-header.component.html create mode 100644 website/src/app/modules/_core/full-page-header/full-page-header.component.spec.ts create mode 100644 website/src/app/modules/_core/full-page-header/full-page-header.component.ts create mode 100644 website/src/app/modules/_core/page-header/_page-header.component-theme.scss create mode 100644 website/src/app/modules/_core/page-header/page-header.component.css create mode 100644 website/src/app/modules/_core/page-header/page-header.component.html create mode 100644 website/src/app/modules/_core/page-header/page-header.component.spec.ts create mode 100644 website/src/app/modules/_core/page-header/page-header.component.ts create mode 100644 website/src/app/modules/_core/question-panel/question-panel.component.css create mode 100644 website/src/app/modules/_core/question-panel/question-panel.component.html create mode 100644 website/src/app/modules/_core/question-panel/question-panel.component.spec.ts create mode 100644 website/src/app/modules/_core/question-panel/question-panel.component.ts create mode 100644 website/src/app/modules/_core/safe-pipe/safe.pipe.spec.ts create mode 100644 website/src/app/modules/_core/safe-pipe/safe.pipe.ts create mode 100644 website/src/app/modules/_core/section/_section.component-theme.scss create mode 100644 website/src/app/modules/_core/section/section.component.css create mode 100644 website/src/app/modules/_core/section/section.component.html create mode 100644 website/src/app/modules/_core/section/section.component.spec.ts create mode 100644 website/src/app/modules/_core/section/section.component.ts create mode 100644 website/src/app/modules/_core/sub-section/sub-section.component.css create mode 100644 website/src/app/modules/_core/sub-section/sub-section.component.html create mode 100644 website/src/app/modules/_core/sub-section/sub-section.component.spec.ts create mode 100644 website/src/app/modules/_core/sub-section/sub-section.component.ts create mode 100644 website/src/app/modules/site-menus/_site-menus.scss create mode 100644 website/src/app/modules/site-menus/site-footer/_site-footer.scss create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer.module.ts create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer/_site-footer.component-theme.scss create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.css create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.html create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.scss create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts create mode 100644 website/src/app/modules/site-menus/site-header/_site-header.scss create mode 100644 website/src/app/modules/site-menus/site-header/dark-mode-toggle/_dark-mode-toggle.component-theme.scss create mode 100644 website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.css create mode 100644 website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.html create mode 100644 website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.ts create mode 100644 website/src/app/modules/site-menus/site-header/hamburger-menu/_hamburger-menu.component-theme.scss create mode 100644 website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css create mode 100644 website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.html create mode 100644 website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.ts create mode 100644 website/src/app/modules/site-menus/site-header/horizontal-menu/_horizontal-menu.component-theme.scss create mode 100644 website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.css create mode 100644 website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.html create mode 100644 website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.ts create mode 100644 website/src/app/modules/site-menus/site-header/logo-text-button/_logo-text-button.component-theme.scss create mode 100644 website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css create mode 100644 website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html create mode 100644 website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.ts create mode 100644 website/src/app/modules/site-menus/site-header/site-header.module.ts create mode 100644 website/src/app/modules/site-menus/site-header/site-header/site-header.component.css create mode 100644 website/src/app/modules/site-menus/site-header/site-header/site-header.component.html create mode 100644 website/src/app/modules/site-menus/site-header/site-header/site-header.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-header/site-header/site-header.component.ts create mode 100644 website/src/app/modules/site-menus/site-header/text-button/_text-button.component-theme.scss create mode 100644 website/src/app/modules/site-menus/site-header/text-button/text-button.component.css create mode 100644 website/src/app/modules/site-menus/site-header/text-button/text-button.component.html create mode 100644 website/src/app/modules/site-menus/site-header/text-button/text-button.component.spec.ts create mode 100644 website/src/app/modules/site-menus/site-header/text-button/text-button.component.ts create mode 100644 website/src/app/modules/site-menus/site-menus.module.ts create mode 100644 website/src/app/pages/_pages.scss create mode 100644 website/src/app/pages/home/_home-page.scss create mode 100644 website/src/app/pages/home/home-page.module.ts create mode 100644 website/src/app/pages/home/home/_home-page.component-theme.scss create mode 100644 website/src/app/pages/home/home/home-page.component.css create mode 100644 website/src/app/pages/home/home/home-page.component.html create mode 100644 website/src/app/pages/home/home/home-page.component.spec.ts create mode 100644 website/src/app/pages/home/home/home-page.component.ts create mode 100644 website/src/app/pages/pages.module.ts create mode 100644 website/src/app/services/_services.module.ts create mode 100644 website/src/app/services/breakpoint-manager.service.spec.ts create mode 100644 website/src/app/services/breakpoint-manager.service.ts create mode 100644 website/src/app/services/css-length.service.spec.ts create mode 100644 website/src/app/services/css-length.service.ts create mode 100644 website/src/app/services/style-manager.service.spec.ts create mode 100644 website/src/app/services/style-manager.service.ts create mode 100644 website/src/app/services/theme-manager.service.spec.ts create mode 100644 website/src/app/services/theme-manager.service.ts create mode 100644 website/src/app/settings/_settings.module.ts create mode 100644 website/src/app/settings/breakpoints.ts create mode 100644 website/src/assets/.gitkeep create mode 100644 website/src/assets/images/gui.png create mode 100644 website/src/environments/environment.prod.ts create mode 100644 website/src/environments/environment.ts create mode 100644 website/src/favicon.ico create mode 100644 website/src/index.html create mode 100644 website/src/main.ts create mode 100644 website/src/polyfills.ts create mode 100644 website/src/styles.scss create mode 100644 website/src/styles/_general-css-theme.scss create mode 100644 website/src/styles/_general-css.scss create mode 100644 website/src/styles/_modules-theme.scss create mode 100644 website/src/styles/_shared-palettes.scss create mode 100644 website/src/styles/_utility.scss create mode 100644 website/src/styles/_variables.scss create mode 100644 website/src/styles/themes/dark.scss create mode 100644 website/src/styles/themes/light.scss create mode 100644 website/src/test.ts create mode 100644 website/tsconfig.app.json create mode 100644 website/tsconfig.json create mode 100644 website/tsconfig.spec.json diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml new file mode 100644 index 00000000..8085beef --- /dev/null +++ b/.github/workflows/gh-pages.yml @@ -0,0 +1,34 @@ +name: Deploy to GitHub Pages + +on: + push: + branches: + - main + - feat/_add-banner + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v2 # If you're using actions/checkout@v2 you must set persist-credentials to false in most cases for the deployment to work correctly. + with: + persist-credentials: false + - name: Use Node.js (Latest) + uses: actions/setup-node@v2 + with: + node-version: "14" + check-latest: true + - name: Build + run: | + cd website + npm install -g @angular/cli + npm install + npm run build + cp dist/index.html dist/404.html + - name: Deploy + uses: JamesIves/github-pages-deploy-action@v4.2.5 + with: + branch: gh-pages # The branch the action should deploy to. + folder: website/dist # The folder the action should deploy. + token: ${{ secrets.ACCESS_TOKEN }} diff --git a/.gitignore b/.gitignore index 78c0d103..325ce744 100644 --- a/.gitignore +++ b/.gitignore @@ -16,4 +16,8 @@ data_*/ # Stub project bin/ -obj/ \ No newline at end of file +obj/ + +dist/ + +.vscode/ \ No newline at end of file diff --git a/website/.browserslistrc b/website/.browserslistrc new file mode 100644 index 00000000..4f9ac269 --- /dev/null +++ b/website/.browserslistrc @@ -0,0 +1,16 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions +Firefox ESR diff --git a/website/.editorconfig b/website/.editorconfig new file mode 100644 index 00000000..59d9a3a3 --- /dev/null +++ b/website/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see https://editorconfig.org +root = true + +[*] +charset = utf-8 +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.ts] +quote_type = single + +[*.md] +max_line_length = off +trim_trailing_whitespace = false diff --git a/website/.gitignore b/website/.gitignore new file mode 100644 index 00000000..0711527e --- /dev/null +++ b/website/.gitignore @@ -0,0 +1,42 @@ +# See http://help.github.com/ignore-files/ for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/website/.prettierrc b/website/.prettierrc new file mode 100644 index 00000000..47bd8784 --- /dev/null +++ b/website/.prettierrc @@ -0,0 +1,7 @@ +{ + "singleQuote": true, + "trailingComma": "all", + "tabWidth": 2, + "semi": true, + "printWidth": 120 +} \ No newline at end of file diff --git a/website/README.md b/website/README.md new file mode 100644 index 00000000..f902af65 --- /dev/null +++ b/website/README.md @@ -0,0 +1,27 @@ +# WatWebsite + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.0.3. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/website/angular.json b/website/angular.json new file mode 100644 index 00000000..118de46f --- /dev/null +++ b/website/angular.json @@ -0,0 +1,125 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "wat-website": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "scss" + } + }, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/wat-website", + "index": "src/index.html", + "main": "src/main.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.app.json", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss", + { + "inject": false, + "input": "src/styles/themes/dark.scss", + "bundleName": "dark" + }, + { + "inject": false, + "input": "src/styles/themes/light.scss", + "bundleName": "light" + } + ], + "stylePreprocessorOptions": { + "includePaths": [ + "src/", + "src/styles", + "src/components", + "src/pages" + ] + }, + "scripts": [] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kb", + "maximumError": "1mb" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "2kb", + "maximumError": "4kb" + } + ], + "fileReplacements": [ + { + "replace": "src/environments/environment.ts", + "with": "src/environments/environment.prod.ts" + } + ], + "outputHashing": "all" + }, + "development": { + "buildOptimizer": false, + "optimization": false, + "vendorChunk": true, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "configurations": { + "production": { + "browserTarget": "wat-website:build:production" + }, + "development": { + "browserTarget": "wat-website:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "wat-website:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "src/test.ts", + "polyfills": "src/polyfills.ts", + "tsConfig": "tsconfig.spec.json", + "karmaConfig": "karma.conf.js", + "inlineStyleLanguage": "scss", + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.scss" + ], + "scripts": [] + } + } + } + } + } +} diff --git a/website/karma.conf.js b/website/karma.conf.js new file mode 100644 index 00000000..067d11c1 --- /dev/null +++ b/website/karma.conf.js @@ -0,0 +1,44 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + jasmine: { + // you can add configuration options for Jasmine here + // the possible options are listed at https://jasmine.github.io/api/edge/Configuration.html + // for example, you can disable the random execution with `random: false` + // or set a specific seed with `seed: 4321` + }, + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + jasmineHtmlReporter: { + suppressAll: true // removes the duplicated traces + }, + coverageReporter: { + dir: require('path').join(__dirname, './coverage/wat-website'), + subdir: '.', + reporters: [ + { type: 'html' }, + { type: 'text-summary' } + ] + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/website/package-lock.json b/website/package-lock.json new file mode 100644 index 00000000..949ecc09 --- /dev/null +++ b/website/package-lock.json @@ -0,0 +1,21196 @@ +{ + "name": "wat-website", + "version": "0.0.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "wat-website", + "version": "0.0.0", + "dependencies": { + "@angular/animations": "^14.0.0", + "@angular/cdk": "^14.1.2", + "@angular/common": "^14.0.0", + "@angular/compiler": "^14.0.0", + "@angular/core": "^14.0.0", + "@angular/forms": "^14.0.0", + "@angular/material": "^14.1.2", + "@angular/platform-browser": "^14.0.0", + "@angular/platform-browser-dynamic": "^14.0.0", + "@angular/router": "^14.0.0", + "@visurel/iconify-angular": "^11.0.0", + "ngx-cookie-service": "^14.0.1", + "rxjs": "~7.5.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^14.0.3", + "@angular/cli": "~14.0.3", + "@angular/compiler-cli": "^14.0.0", + "@iconify/icons-simple-icons": "^1.2.21", + "@types/jasmine": "~4.0.0", + "jasmine-core": "~4.1.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "prettier": "^2.7.1", + "typescript": "~4.7.2" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.2.tgz", + "integrity": "sha512-OR/P0kC1TUayerB+oNsczZ7tP7qK/y+rSg4P0hMv4bU+SSdBd3woG4ILzwWXb8tAb9b9zvWpzxpxG99h1bUGlA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.1.2", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/architect/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/build-angular": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.2.tgz", + "integrity": "sha512-x0XS4rKefEWAr8G5vzA3FGCicLnrMGIZgv5gAkcoUbXWfowKxtjGWTWEtsj8GsG2+U4+HVQ4z/vd3TQOnVMoiA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1401.2", + "@angular-devkit/build-webpack": "0.1401.2", + "@angular-devkit/core": "14.1.2", + "@babel/core": "7.18.6", + "@babel/generator": "7.18.7", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.6", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.6", + "@babel/preset-env": "7.18.6", + "@babel/runtime": "7.18.6", + "@babel/template": "7.18.6", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "14.1.2", + "ansi-colors": "4.1.3", + "babel-loader": "8.2.5", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.9.1", + "cacache": "16.1.1", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.1", + "esbuild-wasm": "0.14.49", + "glob": "8.0.3", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.1.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.0.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.6.1", + "minimatch": "5.1.0", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.14", + "postcss-import": "14.1.0", + "postcss-loader": "7.0.1", + "postcss-preset-env": "7.7.2", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.53.0", + "sass-loader": "13.0.2", + "semver": "7.3.7", + "source-map-loader": "4.0.0", + "source-map-support": "0.5.21", + "stylus": "0.58.1", + "stylus-loader": "7.0.0", + "terser": "5.14.2", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.4.0", + "webpack": "5.73.0", + "webpack-dev-middleware": "5.3.3", + "webpack-dev-server": "4.9.3", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.14.49" + }, + "peerDependencies": { + "@angular/compiler-cli": "^14.0.0", + "@angular/localize": "^14.0.0", + "@angular/service-worker": "^14.0.0", + "karma": "^6.3.0", + "ng-packagr": "^14.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.6.2 <4.8" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "karma": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "protractor": { + "optional": true + }, + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/rxjs/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.2.tgz", + "integrity": "sha512-vsudoMtno3XYbhQZi1jPsFw8Vi6JYkhEqwP4cs/E6gAEwHSQ94l3A9KqKvk+w4EFfiZSY6Wtp/vSNjwJavC+sQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1401.2", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/build-webpack/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/core": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.2.tgz", + "integrity": "sha512-fIfymD1erjoj1eVh7pa/dvOtUhSd7sEOGuWEJ81HJqdzwZbPWweRu3Nh/9kj/ttUy8xawWfdJHLwyG2KnRu0DA==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.1.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/core/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/core/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular-devkit/schematics": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.0.7.tgz", + "integrity": "sha512-nJUJXCBQr7rmVn6IXFAXMCWAB1w6JQmFGuFVW0G3GH/A0e+A3ttzJc6qVLYluqaFoafw394cZu24YJo55E/+Zg==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.0.7", + "jsonc-parser": "3.0.0", + "magic-string": "0.26.1", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", + "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.0.0", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics/node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/@angular-devkit/schematics/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/schematics/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular/animations": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.2.tgz", + "integrity": "sha512-MwsoAQP2MpxxjX4Jf3SNWEL/gggzT3nRyQR63Z/Z2yNKIzAA62QndDAn6C0aKOiZDOyDhH6LXGn6hAH7fTDsfA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "14.1.2" + } + }, + "node_modules/@angular/cdk": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.1.2.tgz", + "integrity": "sha512-hJMhQmWWXTgwUa51OvEUgSATduEILCmGXpbsvC+REMMOo9rTd3u+cfrJW9OKl7Weq86VhKQ0WSfbn3MVyhUVBg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^5.0.0" + }, + "peerDependencies": { + "@angular/common": "^14.0.0 || ^15.0.0", + "@angular/core": "^14.0.0 || ^15.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cdk/node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "optional": true + }, + "node_modules/@angular/cli": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.0.7.tgz", + "integrity": "sha512-tABt1EDwBHm0ngsutdkXXWgPgHzapGLC7rSPHXStMc24ngViFZpXGzBCpompjHvXNt6bjklmJmuRvjS6+ktBZA==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1400.7", + "@angular-devkit/core": "14.0.7", + "@angular-devkit/schematics": "14.0.7", + "@schematics/angular": "14.0.7", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.4", + "ini": "3.0.0", + "inquirer": "8.2.4", + "jsonc-parser": "3.0.0", + "npm-package-arg": "9.0.2", + "npm-pick-manifest": "7.0.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "13.3.0", + "resolve": "1.22.0", + "semver": "7.3.7", + "symbol-observable": "4.0.0", + "uuid": "8.3.2", + "yargs": "17.4.1" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { + "version": "0.1400.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1400.7.tgz", + "integrity": "sha512-8dv/Ql86dHajsHYjjr5jvpiV7uXWbt7Mz4K/rGiOi+zzDNKPcZcuCejulWhOySDcCPjT/an47Qcwr+awL4Wr4g==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.0.7", + "rxjs": "6.6.7" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/@angular-devkit/core": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", + "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.0.0", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular/cli/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@angular/cli/node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/@angular/cli/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@angular/cli/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular/cli/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@angular/common": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.2.tgz", + "integrity": "sha512-ukj/BAF3cH8IDrrMt7MLjosKst005YGD0EpLNpdTNdHN8NrF3OrEYyR7YR7obrucjJ8fowsz9V7a8OrNrHaS4w==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "14.1.2", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.2.tgz", + "integrity": "sha512-H0W4kTM7gUizWe5oFgixbnnS6U4pBt7qcmVCe5mdfzuUwoDzp8u/cOUErxzM0gZiCFVT/KBPXgc7TeZ1oNtgHg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/core": "14.1.2" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.2.tgz", + "integrity": "sha512-L1gB0ig2T0xz+4KaZCuf07tUitKT8gEqYQCd8evPeomMVgZAZcaCZa5O1FmNjGv7mDb0PrDJ1q0/VqTfet8onw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/main-ngcc.js" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/compiler": "14.1.2", + "typescript": ">=4.6.2 <4.8" + } + }, + "node_modules/@angular/core": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.2.tgz", + "integrity": "sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.11.4" + } + }, + "node_modules/@angular/forms": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.2.tgz", + "integrity": "sha512-9qXbYVo3mgz7SiSZzt5y/SonccASLKr8HSLlTGwnXKHlBAWA4tgdAR5Dqs+rKpoJI8VRF29Cu76fqytl60tCVA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "14.1.2", + "@angular/core": "14.1.2", + "@angular/platform-browser": "14.1.2", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/material": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.1.2.tgz", + "integrity": "sha512-riDaeOFF+fzjOxeWlqtVAT7lHlqoyzxE24Z7r7qyYriU+EndfEfOv9XQFup5BkqvDvzN9My+1vI562caWM3nfQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^14.0.0 || ^15.0.0", + "@angular/cdk": "14.1.2", + "@angular/common": "^14.0.0 || ^15.0.0", + "@angular/core": "^14.0.0 || ^15.0.0", + "@angular/forms": "^14.0.0 || ^15.0.0", + "@angular/platform-browser": "^14.0.0 || ^15.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.2.tgz", + "integrity": "sha512-rxkAEeacnAkWKoyjteldy5/ECOo5wyq9qJwFSXyX8bZJWh9e4d/FzZfTl4Ctk5+Cqm+2GmhBwAYaaIxpo9EgbA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/animations": "14.1.2", + "@angular/common": "14.1.2", + "@angular/core": "14.1.2" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/platform-browser-dynamic": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.2.tgz", + "integrity": "sha512-+xzFB1WwjMWaRafk41PEJcwLuzKyZ3SeMlEX2lsrRPySX446YGqdyEyvvpzmbSLwOlcERxTT6Q1j8QYgFKjDSg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "14.1.2", + "@angular/compiler": "14.1.2", + "@angular/core": "14.1.2", + "@angular/platform-browser": "14.1.2" + } + }, + "node_modules/@angular/router": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.2.tgz", + "integrity": "sha512-YOHAteYHgM6qX0XaD+D+vMLClff2F7yqff8oVyXyPsvL686GV11ZNJFoBt/qDe8WJiSQ295z6RxFOYfNeFrfhQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0" + }, + "peerDependencies": { + "@angular/common": "14.1.2", + "@angular/core": "14.1.2", + "@angular/platform-browser": "14.1.2", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.18.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", + "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", + "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", + "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", + "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", + "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", + "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", + "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.18.9", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.11", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", + "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", + "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", + "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", + "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "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.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", + "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "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-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", + "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", + "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "dev": true, + "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-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz", + "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-polyfill-corejs2": "^0.3.1", + "babel-plugin-polyfill-corejs3": "^0.5.2", + "babel-plugin-polyfill-regenerator": "^0.3.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", + "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "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-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz", + "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.6", + "@babel/plugin-transform-classes": "^7.18.6", + "@babel/plugin-transform-computed-properties": "^7.18.6", + "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.6", + "@babel/plugin-transform-function-name": "^7.18.6", + "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.6", + "@babel/plugin-transform-typeof-symbol": "^7.18.6", + "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.6", + "babel-plugin-polyfill-corejs2": "^0.3.1", + "babel-plugin-polyfill-corejs3": "^0.5.2", + "babel-plugin-polyfill-regenerator": "^0.3.1", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", + "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", + "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.11", + "@babel/types": "^7.18.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", + "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@csstools/postcss-cascade-layers": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", + "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@iconify/icons-simple-icons": { + "version": "1.2.21", + "resolved": "https://registry.npmjs.org/@iconify/icons-simple-icons/-/icons-simple-icons-1.2.21.tgz", + "integrity": "sha512-Me/koT6Y4APFAWHNH4gPzUTog5cO+SVcvB7muG0j3brGOTH+51L6hFAoL74k4T2Uvq+DA7xKsDUxDlKAzqGkEw==", + "dev": true, + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-1.1.0.tgz", + "integrity": "sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@ngtools/webpack": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.2.tgz", + "integrity": "sha512-ghKdIQFLFw9Nid4qCPk0YbZ8ed5tSfoupULDFFmKJNg/aIQAckY6iuLCxjK3oqCU9lg71ikuq8zQS/WjeRjqGw==", + "dev": true, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^14.0.0", + "typescript": ">=4.6.2 <4.8", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.1.tgz", + "integrity": "sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/git": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.1.tgz", + "integrity": "sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A==", + "dev": true, + "dependencies": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "dependencies": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "installed-package-contents": "index.js" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/@npmcli/move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", + "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", + "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "dev": true, + "dependencies": { + "infer-owner": "^1.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-3.0.3.tgz", + "integrity": "sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q==", + "dev": true, + "dependencies": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^8.4.1", + "read-package-json-fast": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/@schematics/angular": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.0.7.tgz", + "integrity": "sha512-I0v1gNFpm9ReL/hUzwjjOa+hk0qvlXv/vjITAWnlUV5dba6FZxzwsrTGsGO6t5XMNsm6QtwpDYDRdy9uy/n/1g==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "14.0.7", + "@angular-devkit/schematics": "14.0.7", + "jsonc-parser": "3.0.0" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", + "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "dev": true, + "dependencies": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.0.0", + "rxjs": "6.6.7", + "source-map": "0.7.3" + }, + "engines": { + "node": "^14.15.0 || >=16.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@schematics/angular/node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "node_modules/@schematics/angular/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/@schematics/angular/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@schematics/angular/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", + "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "node_modules/@types/eslint": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", + "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.30", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", + "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/jasmine": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", + "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", + "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "dependencies": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@visurel/iconify-angular": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@visurel/iconify-angular/-/iconify-angular-11.0.0.tgz", + "integrity": "sha512-VaF0Zg0em3an3BnylxquJQATh7/Z34KG76dd85hvWXrm/FIv6q5yB8GAndUuTwTOU3CIRswsv6Lt15pdzk//xA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=5.0.0", + "@angular/core": ">=5.0.0" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/agentkeepalive/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-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==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "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": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "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/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", + "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "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==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001375", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz", + "integrity": "sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "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" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.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==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/core-js-compat": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "dev": true, + "dependencies": { + "browserslist": "^4.21.3", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.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==", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + } + }, + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-blank-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "dev": true, + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "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==", + "dev": true, + "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/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cssdb": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", + "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "node_modules/date-format": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.13.tgz", + "integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "dev": true, + "dependencies": { + "clone": "^1.0.2" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "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==", + "dev": true, + "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/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "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/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==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.218", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.218.tgz", + "integrity": "sha512-INDylKH//YIf2w67D+IjkfVnGVrZ/D94DAU/FPPm6T4jEPbEDQvo9r2wTj0ncFdtJH8+V8BggZTaN8Rzk5wkgw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/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==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/engine.io": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", + "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", + "dev": true, + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "dependencies": { + "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz", + "integrity": "sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "esbuild-android-64": "0.14.49", + "esbuild-android-arm64": "0.14.49", + "esbuild-darwin-64": "0.14.49", + "esbuild-darwin-arm64": "0.14.49", + "esbuild-freebsd-64": "0.14.49", + "esbuild-freebsd-arm64": "0.14.49", + "esbuild-linux-32": "0.14.49", + "esbuild-linux-64": "0.14.49", + "esbuild-linux-arm": "0.14.49", + "esbuild-linux-arm64": "0.14.49", + "esbuild-linux-mips64le": "0.14.49", + "esbuild-linux-ppc64le": "0.14.49", + "esbuild-linux-riscv64": "0.14.49", + "esbuild-linux-s390x": "0.14.49", + "esbuild-netbsd-64": "0.14.49", + "esbuild-openbsd-64": "0.14.49", + "esbuild-sunos-64": "0.14.49", + "esbuild-windows-32": "0.14.49", + "esbuild-windows-64": "0.14.49", + "esbuild-windows-arm64": "0.14.49" + } + }, + "node_modules/esbuild-android-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz", + "integrity": "sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-android-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz", + "integrity": "sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz", + "integrity": "sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-darwin-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz", + "integrity": "sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz", + "integrity": "sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-freebsd-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz", + "integrity": "sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-32": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz", + "integrity": "sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", + "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz", + "integrity": "sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz", + "integrity": "sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-mips64le": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz", + "integrity": "sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-ppc64le": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz", + "integrity": "sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-riscv64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz", + "integrity": "sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-linux-s390x": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz", + "integrity": "sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-netbsd-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz", + "integrity": "sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-openbsd-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz", + "integrity": "sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-sunos-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz", + "integrity": "sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz", + "integrity": "sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-32": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz", + "integrity": "sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz", + "integrity": "sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/esbuild-windows-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz", + "integrity": "sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=4.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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "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==", + "dev": true, + "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.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "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/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "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/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/fast-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==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/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==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/finalhandler/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flatted": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "dev": true, + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "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/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "node_modules/hosted-git-info": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", + "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", + "dev": true, + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.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==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "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/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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "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/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", + "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "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==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jasmine-core": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", + "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", + "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] + }, + "node_modules/karma": { + "version": "6.3.20", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz", + "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==", + "dev": true, + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz", + "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/karma-coverage/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/karma-jasmine": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.0.1.tgz", + "integrity": "sha512-FkL1Kk+JAKmim8VWU8RXKZBpl0lLI7J8LijM0/q7oP7emfB6QMZV1Az+JgqGKSLpF0tYaav+KUVFQroZUxQTHA==", + "dev": true, + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "peerDependencies": { + "jasmine-core": ">=3.8", + "karma": ">=0.9", + "karma-jasmine": ">=1.1" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/karma/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/karma/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/karma/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", + "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/less/node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true, + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/log4js": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz", + "integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==", + "dev": true, + "dependencies": { + "date-format": "^4.0.13", + "debug": "^4.3.4", + "flatted": "^3.2.6", + "rfdc": "^1.3.0", + "streamroller": "^3.1.2" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.2.tgz", + "integrity": "sha512-VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/magic-string": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", + "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/make-fetch-happen/node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", + "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "dev": true, + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "dev": true, + "dependencies": { + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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==", + "dev": true + }, + "node_modules/minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/needle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", + "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } + }, + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/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==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ngx-cookie-service": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-14.0.1.tgz", + "integrity": "sha512-PHjpA/bpp1ZgvQ2AWdXA6oxPQgE9k0WljQ7tvUH/u0Acl6p6akzF8kWlQiWxkgR3hBs7xB3paIsTk6GKdtakMg==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": "^14.0.0", + "@angular/core": "^14.0.0" + } + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "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==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/node-gyp/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-package-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.0.tgz", + "integrity": "sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "dependencies": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "node_modules/npm-install-checks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", + "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "dev": true, + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "node_modules/npm-package-arg": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz", + "integrity": "sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g==", + "dev": true, + "dependencies": { + "hosted-git-info": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-packlist": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", + "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", + "npm-normalize-package-bin": "^1.0.1" + }, + "bin": { + "npm-packlist": "bin/index.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", + "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", + "dev": true, + "dependencies": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz", + "integrity": "sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm-registry-fetch/node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz", + "integrity": "sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-registry-fetch/node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", + "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "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/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pacote": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.3.0.tgz", + "integrity": "sha512-auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw==", + "dev": true, + "dependencies": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^3.0.1", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "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-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "dependencies": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" + }, + "optionalDependencies": { + "nice-napi": "^1.0.2" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.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==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-custom-properties": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", + "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.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==", + "dev": true, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dev": true, + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-loader": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", + "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.7" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "dev": true, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nesting": { + "version": "10.1.10", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", + "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", + "dev": true, + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-opacity-percentage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", + "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", + "dev": true, + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "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==", + "dev": true, + "peerDependencies": { + "postcss": "^8" + } + }, + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-preset-env": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", + "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", + "dev": true, + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.0.4", + "@csstools/postcss-color-function": "^1.1.0", + "@csstools/postcss-font-format-keywords": "^1.0.0", + "@csstools/postcss-hwb-function": "^1.0.1", + "@csstools/postcss-ic-unit": "^1.0.0", + "@csstools/postcss-is-pseudo-class": "^2.0.6", + "@csstools/postcss-normalize-display-values": "^1.0.0", + "@csstools/postcss-oklab-function": "^1.1.0", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.1", + "@csstools/postcss-unset-value": "^1.0.1", + "autoprefixer": "^10.4.7", + "browserslist": "^4.21.0", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^6.6.3", + "postcss-attribute-case-insensitive": "^5.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.3", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.0", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.8", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.4", + "postcss-double-position-gradients": "^3.1.1", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.3", + "postcss-image-set-function": "^4.0.6", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.0", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.9", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.3", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.4", + "postcss-pseudo-class-any-link": "^7.1.5", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "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==", + "dev": true, + "peerDependencies": { + "postcss": "^8.0.3" + } + }, + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "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/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-package-json": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", + "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", + "dev": true, + "dependencies": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "dependencies": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "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==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", + "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "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==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", + "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", + "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "dev": true, + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/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==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "node_modules/selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/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==", + "dev": true + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "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==", + "dev": true + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", + "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.0", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", + "dev": true + }, + "node_modules/socket.io-parser": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz", + "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==", + "dev": true, + "dependencies": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/socks": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", + "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "dev": true, + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", + "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "dev": true, + "dependencies": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" + } + }, + "node_modules/source-map-loader/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==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/streamroller": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.2.tgz", + "integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==", + "dev": true, + "dependencies": { + "date-format": "^4.0.13", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/stylus": { + "version": "0.58.1", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.58.1.tgz", + "integrity": "sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w==", + "dev": true, + "dependencies": { + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "bin": { + "stylus": "bin/stylus" + }, + "engines": { + "node": "*" + } + }, + "node_modules/stylus-loader": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", + "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "klona": "^2.0.5", + "normalize-path": "^3.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "stylus": ">=0.52.4", + "webpack": "^5.0.0" + } + }, + "node_modules/stylus/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/stylus/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/stylus/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "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.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.4.tgz", + "integrity": "sha512-SmnkUhBxLDcBfTIeaq+ZqJXLVEyXxSaNcCeSezECdKjfkMrTTnPvapBILylYwyEvHFZAn2cJ8dtiXel5XnfOfQ==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/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==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "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==", + "dev": true + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "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/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "node_modules/typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "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==", + "dev": true, + "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.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.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==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "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==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webpack": { + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "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.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.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-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "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/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", + "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "dev": true, + "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.1", + "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", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "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-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.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==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "dependencies": { + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "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/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/zone.js": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", + "integrity": "sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA==", + "dependencies": { + "tslib": "^2.3.0" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@angular-devkit/architect": { + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1401.2.tgz", + "integrity": "sha512-OR/P0kC1TUayerB+oNsczZ7tP7qK/y+rSg4P0hMv4bU+SSdBd3woG4ILzwWXb8tAb9b9zvWpzxpxG99h1bUGlA==", + "dev": true, + "requires": { + "@angular-devkit/core": "14.1.2", + "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/build-angular": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-14.1.2.tgz", + "integrity": "sha512-x0XS4rKefEWAr8G5vzA3FGCicLnrMGIZgv5gAkcoUbXWfowKxtjGWTWEtsj8GsG2+U4+HVQ4z/vd3TQOnVMoiA==", + "dev": true, + "requires": { + "@ampproject/remapping": "2.2.0", + "@angular-devkit/architect": "0.1401.2", + "@angular-devkit/build-webpack": "0.1401.2", + "@angular-devkit/core": "14.1.2", + "@babel/core": "7.18.6", + "@babel/generator": "7.18.7", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.18.6", + "@babel/plugin-transform-async-to-generator": "7.18.6", + "@babel/plugin-transform-runtime": "7.18.6", + "@babel/preset-env": "7.18.6", + "@babel/runtime": "7.18.6", + "@babel/template": "7.18.6", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "14.1.2", + "ansi-colors": "4.1.3", + "babel-loader": "8.2.5", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "^4.9.1", + "cacache": "16.1.1", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.1", + "esbuild": "0.14.49", + "esbuild-wasm": "0.14.49", + "glob": "8.0.3", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.1.0", + "karma-source-map-support": "1.4.0", + "less": "4.1.3", + "less-loader": "11.0.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.0", + "mini-css-extract-plugin": "2.6.1", + "minimatch": "5.1.0", + "open": "8.4.0", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "6.0.1", + "piscina": "3.2.0", + "postcss": "8.4.14", + "postcss-import": "14.1.0", + "postcss-loader": "7.0.1", + "postcss-preset-env": "7.7.2", + "regenerator-runtime": "0.13.9", + "resolve-url-loader": "5.0.0", + "rxjs": "6.6.7", + "sass": "1.53.0", + "sass-loader": "13.0.2", + "semver": "7.3.7", + "source-map-loader": "4.0.0", + "source-map-support": "0.5.21", + "stylus": "0.58.1", + "stylus-loader": "7.0.0", + "terser": "5.14.2", + "text-table": "0.2.0", + "tree-kill": "1.2.2", + "tslib": "2.4.0", + "webpack": "5.73.0", + "webpack-dev-middleware": "5.3.3", + "webpack-dev-server": "4.9.3", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + } + } + }, + "@angular-devkit/build-webpack": { + "version": "0.1401.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1401.2.tgz", + "integrity": "sha512-vsudoMtno3XYbhQZi1jPsFw8Vi6JYkhEqwP4cs/E6gAEwHSQ94l3A9KqKvk+w4EFfiZSY6Wtp/vSNjwJavC+sQ==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1401.2", + "rxjs": "6.6.7" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/core": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.2.tgz", + "integrity": "sha512-fIfymD1erjoj1eVh7pa/dvOtUhSd7sEOGuWEJ81HJqdzwZbPWweRu3Nh/9kj/ttUy8xawWfdJHLwyG2KnRu0DA==", + "dev": true, + "requires": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.1.0", + "rxjs": "6.6.7", + "source-map": "0.7.4" + }, + "dependencies": { + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular-devkit/schematics": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.0.7.tgz", + "integrity": "sha512-nJUJXCBQr7rmVn6IXFAXMCWAB1w6JQmFGuFVW0G3GH/A0e+A3ttzJc6qVLYluqaFoafw394cZu24YJo55E/+Zg==", + "dev": true, + "requires": { + "@angular-devkit/core": "14.0.7", + "jsonc-parser": "3.0.0", + "magic-string": "0.26.1", + "ora": "5.4.1", + "rxjs": "6.6.7" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", + "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "dev": true, + "requires": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.0.0", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular/animations": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-14.1.2.tgz", + "integrity": "sha512-MwsoAQP2MpxxjX4Jf3SNWEL/gggzT3nRyQR63Z/Z2yNKIzAA62QndDAn6C0aKOiZDOyDhH6LXGn6hAH7fTDsfA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/cdk": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-14.1.2.tgz", + "integrity": "sha512-hJMhQmWWXTgwUa51OvEUgSATduEILCmGXpbsvC+REMMOo9rTd3u+cfrJW9OKl7Weq86VhKQ0WSfbn3MVyhUVBg==", + "requires": { + "parse5": "^5.0.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "optional": true + } + } + }, + "@angular/cli": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-14.0.7.tgz", + "integrity": "sha512-tABt1EDwBHm0ngsutdkXXWgPgHzapGLC7rSPHXStMc24ngViFZpXGzBCpompjHvXNt6bjklmJmuRvjS6+ktBZA==", + "dev": true, + "requires": { + "@angular-devkit/architect": "0.1400.7", + "@angular-devkit/core": "14.0.7", + "@angular-devkit/schematics": "14.0.7", + "@schematics/angular": "14.0.7", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.1", + "debug": "4.3.4", + "ini": "3.0.0", + "inquirer": "8.2.4", + "jsonc-parser": "3.0.0", + "npm-package-arg": "9.0.2", + "npm-pick-manifest": "7.0.1", + "open": "8.4.0", + "ora": "5.4.1", + "pacote": "13.3.0", + "resolve": "1.22.0", + "semver": "7.3.7", + "symbol-observable": "4.0.0", + "uuid": "8.3.2", + "yargs": "17.4.1" + }, + "dependencies": { + "@angular-devkit/architect": { + "version": "0.1400.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1400.7.tgz", + "integrity": "sha512-8dv/Ql86dHajsHYjjr5jvpiV7uXWbt7Mz4K/rGiOi+zzDNKPcZcuCejulWhOySDcCPjT/an47Qcwr+awL4Wr4g==", + "dev": true, + "requires": { + "@angular-devkit/core": "14.0.7", + "rxjs": "6.6.7" + } + }, + "@angular-devkit/core": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", + "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "dev": true, + "requires": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.0.0", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@angular/common": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-14.1.2.tgz", + "integrity": "sha512-ukj/BAF3cH8IDrrMt7MLjosKst005YGD0EpLNpdTNdHN8NrF3OrEYyR7YR7obrucjJ8fowsz9V7a8OrNrHaS4w==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-14.1.2.tgz", + "integrity": "sha512-H0W4kTM7gUizWe5oFgixbnnS6U4pBt7qcmVCe5mdfzuUwoDzp8u/cOUErxzM0gZiCFVT/KBPXgc7TeZ1oNtgHg==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/compiler-cli": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-14.1.2.tgz", + "integrity": "sha512-L1gB0ig2T0xz+4KaZCuf07tUitKT8gEqYQCd8evPeomMVgZAZcaCZa5O1FmNjGv7mDb0PrDJ1q0/VqTfet8onw==", + "dev": true, + "requires": { + "@babel/core": "^7.17.2", + "chokidar": "^3.0.0", + "convert-source-map": "^1.5.1", + "dependency-graph": "^0.11.0", + "magic-string": "^0.26.0", + "reflect-metadata": "^0.1.2", + "semver": "^7.0.0", + "sourcemap-codec": "^1.4.8", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + } + }, + "@angular/core": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-14.1.2.tgz", + "integrity": "sha512-7DkeMYxXaWiUN0SztsD/dUn8SYo7305sM9HtX9RCGG/pweOoIIdcRhTxyiatyVGzTuulwMs/Y/rD1Q+GsDCnow==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/forms": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-14.1.2.tgz", + "integrity": "sha512-9qXbYVo3mgz7SiSZzt5y/SonccASLKr8HSLlTGwnXKHlBAWA4tgdAR5Dqs+rKpoJI8VRF29Cu76fqytl60tCVA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/material": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-14.1.2.tgz", + "integrity": "sha512-riDaeOFF+fzjOxeWlqtVAT7lHlqoyzxE24Z7r7qyYriU+EndfEfOv9XQFup5BkqvDvzN9My+1vI562caWM3nfQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-14.1.2.tgz", + "integrity": "sha512-rxkAEeacnAkWKoyjteldy5/ECOo5wyq9qJwFSXyX8bZJWh9e4d/FzZfTl4Ctk5+Cqm+2GmhBwAYaaIxpo9EgbA==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/platform-browser-dynamic": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-14.1.2.tgz", + "integrity": "sha512-+xzFB1WwjMWaRafk41PEJcwLuzKyZ3SeMlEX2lsrRPySX446YGqdyEyvvpzmbSLwOlcERxTT6Q1j8QYgFKjDSg==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@angular/router": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-14.1.2.tgz", + "integrity": "sha512-YOHAteYHgM6qX0XaD+D+vMLClff2F7yqff8oVyXyPsvL686GV11ZNJFoBt/qDe8WJiSQ295z6RxFOYfNeFrfhQ==", + "requires": { + "tslib": "^2.3.0" + } + }, + "@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.18.8.tgz", + "integrity": "sha512-HSmX4WZPPK3FUxYp7g2T6EyO8j96HlZJlxmKPSh6KAcqwyDrfx7hKjXpAW/0FhFfTJsR0Yt4lAjLI2coMptIHQ==", + "dev": true + }, + "@babel/core": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.6.tgz", + "integrity": "sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helpers": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.6", + "@babel/types": "^7.18.6", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.18.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.7.tgz", + "integrity": "sha512-shck+7VLlY72a2w9c3zYWuE1pwOKEiQHV7GTUbSnhyl5eu3i04t30tBY82ZRWrDfo3gkakCFtevExnxbkf2a3A==", + "dev": true, + "requires": { + "@babel/types": "^7.18.7", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz", + "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.9.tgz", + "integrity": "sha512-tzLCyVmqUiFlcFoAPLA/gL9TeYrF61VLNtb+hvkuVaB5SUjW7jcfrglBIX1vUIoT7CLP3bBlIMeyEsIl2eFQNg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.9.tgz", + "integrity": "sha512-WvypNAYaVh23QcjpMR24CwZY2Nz6hqdOcFdPbNpV56hL5H6KiFheO7Xm1aPdlLQ7d5emYZX7VZwPp9x3z+2opw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.18.6.tgz", + "integrity": "sha512-7LcpH1wnQLGrI+4v+nPp+zUvIkF9x0ddv1Hkdue10tg3gmRnLy97DXh4STiOf1qeIInyD69Qv5kKSZzKD8B/7A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.1.0" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.2.tgz", + "integrity": "sha512-r9QJJ+uDWrd+94BSPcP6/de67ygLtvVy6cK4luE6MOuDsZIdoaPBnfSpbO/+LTifjPckbKXRuI9BB/Z2/y3iTg==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz", + "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.18.9.tgz", + "integrity": "sha512-fJgWlZt7nxGksJS9a0XdSaI4XvpExnNIgRP+rVefWh5U7BL8pPuir6SJUmFKRfjWQ51OtWSzwOxhaH/EBWWc0A==", + "dev": true, + "requires": { + "@babel/template": "^7.18.6", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz", + "integrity": "sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.9.tgz", + "integrity": "sha512-KYNqY0ICwfv19b31XzvmI/mfcylOzbLtowkw+mfvGPAQ3kfCnMLYbED3YecL5tPd8nAYFQFAd6JHp2LxZk/J1g==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.9.tgz", + "integrity": "sha512-aBXPT3bmtLryXaoJLyYPXPlSD4p1ld9aYeR+sJNOZjJJGiOpb+fKfh3NkcCu7J54nUJwCERPBExCCpyCOHnu/w==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-replace-supers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz", + "integrity": "sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-member-expression-to-functions": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.18.9.tgz", + "integrity": "sha512-imytd2gHi3cJPsybLRbmFrF7u5BIEuI2cNheyKi3/iOBC63kNn3q8Crn2xVuESli0aM4KYsyEqKyS7lFL8YVtw==", + "dev": true, + "requires": { + "@babel/types": "^7.18.9" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.18.11.tgz", + "integrity": "sha512-oBUlbv+rjZLh2Ks9SKi4aL7eKaAXBWleHzU89mP0G6BMUlRxSckk9tSIkgDGydhgFxHuGSlBQZfnaD47oBEB7w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.18.9", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.18.11", + "@babel/types": "^7.18.10" + }, + "dependencies": { + "@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + } + } + } + }, + "@babel/helpers": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.9.tgz", + "integrity": "sha512-Jf5a+rbrLoR4eNdUmnFu8cN5eNJT6qdTdOg5IHIzq87WwyRw9PwguLFOWYgktN/60IP4fgDUawJvs7PjQIzELQ==", + "dev": true, + "requires": { + "@babel/template": "^7.18.6", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.11.tgz", + "integrity": "sha512-9JKn5vN+hDt0Hdqn1PiJ2guflwP+B6Ga8qbDuoF0PzzVhrzsKIJo8yGqVk6CmMHiMei9w1C1Bp9IMJSIK+HPIQ==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "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.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz", + "integrity": "sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-proposal-optional-chaining": "^7.18.9" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.18.6.tgz", + "integrity": "sha512-WAz4R9bvozx4qwf74M+sfqPMKfSqwM0phxPTR6iJIi8robgzXwkEgmeJG1gEKhm6sDqT/U9aV3lfcqybIpev8w==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz", + "integrity": "sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz", + "integrity": "sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.9.tgz", + "integrity": "sha512-kDDHQ5rflIeY5xl69CEqGEZ0KY369ehsCIEbTGb4siHG5BE9sga/T0r0OUwyZNLMmZE79E1kbsqAjwFCW4ds6Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.8", + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.18.8" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz", + "integrity": "sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz", + "integrity": "sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@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==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.18.6.tgz", + "integrity": "sha512-/DU3RXad9+bZwrgWJQKbr39gYbJpLJHezqEzRzi/BHRlJ9zsQb4CK2CA/5apllXNomwA1qHwzvHl+AdEmC5krQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz", + "integrity": "sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz", + "integrity": "sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-remap-async-to-generator": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.9.tgz", + "integrity": "sha512-5sDIJRV1KtQVEbt/EIBwGy4T01uYIo4KRB3VUqzkhrAIOGx7AoctL9+Ux88btY0zXdDyPJ9mW+bg+v+XEkGmtw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.9.tgz", + "integrity": "sha512-EkRQxsxoytpTlKJmSPYrsOMjCILacAjtSVkd4gChEe2kXjFCun3yohhW5I7plXJhCemM0gKsaGMcO8tinvCA5g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-replace-supers": "^7.18.9", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz", + "integrity": "sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.9.tgz", + "integrity": "sha512-p5VCYNddPLkZTq4XymQIaIfZNJwT9YsjkPOhkVEqt6QIpQFZVM9IltqqYpOEkJoN1DPznmxUDyZ5CTZs/ZCuHA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz", + "integrity": "sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.6.tgz", + "integrity": "sha512-Pra5aXsmTsOnjM3IajS8rTaLCy++nGM4v3YR4esk5PCsyg9z8NA5oQLwxzMUtDBd8F+UmVza3VxoAaWCbzH1rg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.9.tgz", + "integrity": "sha512-zY/VSIbbqtoRoJKo2cDTewL364jSlZGvn0LKOf9ntbfxOvjfmyrdtEEOAdswOswhZEb8UH3jDkCKHd1sPgsS0A==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-validator-identifier": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.18.6.tgz", + "integrity": "sha512-UmEOGF8XgaIqD74bC8g7iV3RYj8lMf0Bw7NJzvnS9qQhM4mg+1WHKotUIdjxgD2RGrgFLZZPCFPFj3P/kVDYhg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.18.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz", + "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz", + "integrity": "sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.6.tgz", + "integrity": "sha512-8uRHk9ZmRSnWqUgyae249EJZ94b0yAGLBIqzZzl+0iEdbno55Pmlt/32JZsHwXD9k/uZj18Aqqk35wBX4CBTXA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "babel-plugin-polyfill-corejs2": "^0.3.1", + "babel-plugin-polyfill-corejs3": "^0.5.2", + "babel-plugin-polyfill-regenerator": "^0.3.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.18.9.tgz", + "integrity": "sha512-39Q814wyoOPtIB/qGopNIL9xDChOE1pNU0ZY5dO0owhiVt/5kFm4li+/bBtwc7QotG0u5EPzqhZdjMtmqBqyQA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/helper-skip-transparent-expression-wrappers": "^7.18.9" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz", + "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.9" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/preset-env": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.6.tgz", + "integrity": "sha512-WrthhuIIYKrEFAwttYzgRNQ5hULGmwTj+D6l7Zdfsv5M7IWV/OZbUfbeL++Qrzx1nVJwWROIFhCHRYQV4xbPNw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.18.6", + "@babel/helper-compilation-targets": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-validator-option": "^7.18.6", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-async-generator-functions": "^7.18.6", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.18.6", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.6", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.18.6", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.18.6", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.18.6", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.18.6", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.18.6", + "@babel/plugin-transform-async-to-generator": "^7.18.6", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.18.6", + "@babel/plugin-transform-classes": "^7.18.6", + "@babel/plugin-transform-computed-properties": "^7.18.6", + "@babel/plugin-transform-destructuring": "^7.18.6", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.6", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.18.6", + "@babel/plugin-transform-function-name": "^7.18.6", + "@babel/plugin-transform-literals": "^7.18.6", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.18.6", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/plugin-transform-modules-systemjs": "^7.18.6", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.18.6", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.18.6", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.18.6", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.18.6", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.6", + "@babel/plugin-transform-typeof-symbol": "^7.18.6", + "@babel/plugin-transform-unicode-escapes": "^7.18.6", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.6", + "babel-plugin-polyfill-corejs2": "^0.3.1", + "babel-plugin-polyfill-corejs3": "^0.5.2", + "babel-plugin-polyfill-regenerator": "^0.3.1", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz", + "integrity": "sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.6.tgz", + "integrity": "sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.6", + "@babel/types": "^7.18.6" + } + }, + "@babel/traverse": { + "version": "7.18.11", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.11.tgz", + "integrity": "sha512-TG9PiM2R/cWCAy6BPJKeHzNbu4lPzOSZpeMfeNErskGpTJx6trEvFaVCbDvpcxwy49BKWmEPwiW8mrysNiDvIQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.18.10", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.18.11", + "@babel/types": "^7.18.10", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "dependencies": { + "@babel/generator": { + "version": "7.18.12", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.12.tgz", + "integrity": "sha512-dfQ8ebCN98SvyL7IxNMCUtZQSq5R7kxgN+r8qYTGDmmSion1hX2C0zq2yo1bsCDhXixokv1SAWTZUMYbO/V5zg==", + "dev": true, + "requires": { + "@babel/types": "^7.18.10", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/types": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz", + "integrity": "sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true + }, + "@csstools/postcss-cascade-layers": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.0.5.tgz", + "integrity": "sha512-Id/9wBT7FkgFzdEpiEWrsVd4ltDxN0rI0QS0SChbeQiSuux3z21SJCRLu6h2cvCEUmaRi+VD0mHFj+GJD4GFnw==", + "dev": true, + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "dev": true, + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "dev": true, + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz", + "integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==", + "dev": true, + "requires": {} + }, + "@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==", + "dev": true + }, + "@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "@iconify/icons-simple-icons": { + "version": "1.2.21", + "resolved": "https://registry.npmjs.org/@iconify/icons-simple-icons/-/icons-simple-icons-1.2.21.tgz", + "integrity": "sha512-Me/koT6Y4APFAWHNH4gPzUTog5cO+SVcvB7muG0j3brGOTH+51L6hFAoL74k4T2Uvq+DA7xKsDUxDlKAzqGkEw==", + "dev": true, + "requires": { + "@iconify/types": "*" + } + }, + "@iconify/types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@iconify/types/-/types-1.1.0.tgz", + "integrity": "sha512-Jh0llaK2LRXQoYsorIH8maClebsnzTcve+7U3rQUSnC11X4jtPnFuyatqFLvMxZ8MLG8dB4zfHsbPfuvxluONw==", + "dev": true + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "@ngtools/webpack": { + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.1.2.tgz", + "integrity": "sha512-ghKdIQFLFw9Nid4qCPk0YbZ8ed5tSfoupULDFFmKJNg/aIQAckY6iuLCxjK3oqCU9lg71ikuq8zQS/WjeRjqGw==", + "dev": true, + "requires": {} + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@npmcli/fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.1.tgz", + "integrity": "sha512-1Q0uzx6c/NVNGszePbr5Gc2riSU1zLpNlo/1YWntH+eaPmMgBssAW0qXofCVkpdj3ce4swZtlDYQu+NKiYcptg==", + "dev": true, + "requires": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" + } + }, + "@npmcli/git": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-3.0.1.tgz", + "integrity": "sha512-UU85F/T+F1oVn3IsB/L6k9zXIMpXBuUBE25QDH0SsURwT6IOBqkC7M16uqo2vVZIyji3X1K4XH9luip7YekH1A==", + "dev": true, + "requires": { + "@npmcli/promise-spawn": "^3.0.0", + "lru-cache": "^7.4.4", + "mkdirp": "^1.0.4", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "@npmcli/installed-package-contents": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-1.0.7.tgz", + "integrity": "sha512-9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==", + "dev": true, + "requires": { + "npm-bundled": "^1.1.1", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "@npmcli/move-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.0.tgz", + "integrity": "sha512-UR6D5f4KEGWJV6BGPH3Qb2EtgH+t+1XQ1Tt85c7qicN6cezzuHPdZwwAxqZr4JLtnQu0LZsTza/5gmNmSl8XLg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "@npmcli/node-gyp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz", + "integrity": "sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==", + "dev": true + }, + "@npmcli/promise-spawn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz", + "integrity": "sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==", + "dev": true, + "requires": { + "infer-owner": "^1.0.4" + } + }, + "@npmcli/run-script": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-3.0.3.tgz", + "integrity": "sha512-ZXL6qgC5NjwfZJ2nET+ZSLEz/PJgJ/5CU90C2S66dZY4Jw73DasS4ZCXuy/KHWYP0imjJ4VtA+Gebb5BxxKp9Q==", + "dev": true, + "requires": { + "@npmcli/node-gyp": "^2.0.0", + "@npmcli/promise-spawn": "^3.0.0", + "node-gyp": "^8.4.1", + "read-package-json-fast": "^2.0.3" + } + }, + "@schematics/angular": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-14.0.7.tgz", + "integrity": "sha512-I0v1gNFpm9ReL/hUzwjjOa+hk0qvlXv/vjITAWnlUV5dba6FZxzwsrTGsGO6t5XMNsm6QtwpDYDRdy9uy/n/1g==", + "dev": true, + "requires": { + "@angular-devkit/core": "14.0.7", + "@angular-devkit/schematics": "14.0.7", + "jsonc-parser": "3.0.0" + }, + "dependencies": { + "@angular-devkit/core": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.0.7.tgz", + "integrity": "sha512-XBqK2OMVKkV1Ltkh4aBsoHoDJQlins5a6qa/ZMjW4reYx90qLERs8ZfeWlRUWhvn2/ohx4aPq77jwSR5avp/Cw==", + "dev": true, + "requires": { + "ajv": "8.11.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.0.0", + "rxjs": "6.6.7", + "source-map": "0.7.3" + } + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "dev": true + }, + "rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + } + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/component-emitter": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", + "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==", + "dev": true + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "@types/cors": { + "version": "2.8.12", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", + "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", + "dev": true + }, + "@types/eslint": { + "version": "8.4.5", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.5.tgz", + "integrity": "sha512-dhsC09y1gpJWnK+Ff4SGvCuSnk9DaU0BJZSzOwa6GVSg65XtTugLBITDAAzRU5duGBoXBHpdR/9jHGxJjNflJQ==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.30", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.30.tgz", + "integrity": "sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/jasmine": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.0.3.tgz", + "integrity": "sha512-Opp1LvvEuZdk8fSSvchK2mZwhVrsNT0JgJE9Di6MjnaIpmEXM8TLCPPrVtNTYh8+5MPdY8j9bAHMu2SSfwpZJg==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/mime": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", + "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==", + "dev": true + }, + "@types/node": { + "version": "18.7.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.7.2.tgz", + "integrity": "sha512-ce7MIiaYWCFv6A83oEultwhBXb22fxwNOQf5DIxWA4WXvDQ7K+L0fbWl/YOfCzlR5B/uFkSnVBhPcOfOECcWvA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==", + "dev": true, + "requires": { + "@types/mime": "*", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@visurel/iconify-angular": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@visurel/iconify-angular/-/iconify-angular-11.0.0.tgz", + "integrity": "sha512-VaF0Zg0em3an3BnylxquJQATh7/Z34KG76dd85hvWXrm/FIv6q5yB8GAndUuTwTOU3CIRswsv6Lt15pdzk//xA==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@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==", + "dev": true + }, + "@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "agentkeepalive": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.2.1.tgz", + "integrity": "sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "depd": "^1.1.2", + "humanize-ms": "^1.2.1" + }, + "dependencies": { + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-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==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.8.tgz", + "integrity": "sha512-75Jr6Q/XpTqEf6D2ltS5uMewJIx5irCU1oBYJrWjFenq/m12WRRrz6g15L1EIoYvPLXTbEry7rDOwrcYNj77xw==", + "dev": true, + "requires": { + "browserslist": "^4.21.3", + "caniuse-lite": "^1.0.30001373", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + } + } + }, + "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==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.2.tgz", + "integrity": "sha512-LPnodUl3lS0/4wN3Rb+m+UK8s7lj2jcLRrjho4gLw+OJs+I4bvGXshINesY5xx/apM+biTnQ9reDI8yj+0M5+Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.2", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.3.tgz", + "integrity": "sha512-zKsXDh0XjnrUEW0mxIHLfjBfnXSMr5Q/goMe/fxpQnLm07mcOZiIZHBNWCMx60HmdvjxfXcalac0tfFg0wqxyw==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.2", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true + }, + "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==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "bonjour-service": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.13.tgz", + "integrity": "sha512-LWKRU/7EqDUC9CTAQtuZl5HzBALoCYwtLhffW3et7vZMwv3bWLpJf8bRYlMD5OCcDpTfnPgNCV4yo9ZIaJGMiA==", + "dev": true, + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "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==", + "dev": true + }, + "builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "requires": { + "semver": "^7.0.0" + } + }, + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "cacache": { + "version": "16.1.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.1.tgz", + "integrity": "sha512-VDKN+LHyCQXaaYZ7rA/qtkURU+/yYhviUdvqEv2LT6QPZU8jpyzEkEVAcKlKLt5dJ5BRp11ym8lo3NKLluEPLg==", + "dev": true, + "requires": { + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^1.1.1" + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001375", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001375.tgz", + "integrity": "sha512-kWIMkNzLYxSvnjy0hL8w1NOaWNr2rn39RTAVyIwcw8juu60bZDWiF1/loOYANzjtJmy6qPgNmn38ro5Pygagdw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.7.0.tgz", + "integrity": "sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==", + "dev": true + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "requires": { + "is-what": "^3.14.1" + } + }, + "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==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "core-js-compat": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.24.1.tgz", + "integrity": "sha512-XhdNAGeRnTpp8xbD+sR/HFDK9CbeeeqXT6TuofXh3urqEevzkWmLRgrVoykodsw8okqo2pu1BOmuCKrHx63zdw==", + "dev": true, + "requires": { + "browserslist": "^4.21.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "requires": { + "object-assign": "^4", + "vary": "^1" + } + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "css": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/css/-/css-3.0.0.tgz", + "integrity": "sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "source-map": "^0.6.1", + "source-map-resolve": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "css-loader": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.1.tgz", + "integrity": "sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.7", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.5" + } + }, + "css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "dev": true, + "requires": {} + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssdb": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-6.6.3.tgz", + "integrity": "sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true + }, + "date-format": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.13.tgz", + "integrity": "sha512-bnYCwf8Emc3pTD8pXnre+wfnjGtfi5ncMDKy7+cWZXbmRAsdWkOQHrfC1yz/KiwP5thDp2kCHWYWKBX4HP1hoQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "dev": true + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "dev": true + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "dns-packet": { + "version": "5.4.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz", + "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "requires": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + } + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + } + }, + "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==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.218", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.218.tgz", + "integrity": "sha512-INDylKH//YIf2w67D+IjkfVnGVrZ/D94DAU/FPPm6T4jEPbEDQvo9r2wTj0ncFdtJH8+V8BggZTaN8Rzk5wkgw==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "requires": { + "iconv-lite": "^0.6.2" + }, + "dependencies": { + "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==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "engine.io": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.2.0.tgz", + "integrity": "sha512-4KzwW3F3bk+KlzSOY57fj/Jx6LyRQ1nbcyIadehl+AnXjKT7gDO0ORdRi/84ixvMKTym6ZKuxvbzN62HDDU1Lg==", + "dev": true, + "requires": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.2.3" + } + }, + "engine.io-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.4.tgz", + "integrity": "sha512-+nVFp+5z1E3HcToEnO7ZIj3g+3k9389DvWtvJZz0T6/eOCPIyyxehFcedoYrZQrp0LgQbD9pPXhpMBKMd5QURg==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz", + "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", + "dev": true + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true + }, + "err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "dev": true, + "optional": true, + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "esbuild": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.49.tgz", + "integrity": "sha512-/TlVHhOaq7Yz8N1OJrjqM3Auzo5wjvHFLk+T8pIue+fhnhIMpfAzsG6PLVMbFveVxqD2WOp3QHei+52IMUNmCw==", + "dev": true, + "optional": true, + "requires": { + "esbuild-android-64": "0.14.49", + "esbuild-android-arm64": "0.14.49", + "esbuild-darwin-64": "0.14.49", + "esbuild-darwin-arm64": "0.14.49", + "esbuild-freebsd-64": "0.14.49", + "esbuild-freebsd-arm64": "0.14.49", + "esbuild-linux-32": "0.14.49", + "esbuild-linux-64": "0.14.49", + "esbuild-linux-arm": "0.14.49", + "esbuild-linux-arm64": "0.14.49", + "esbuild-linux-mips64le": "0.14.49", + "esbuild-linux-ppc64le": "0.14.49", + "esbuild-linux-riscv64": "0.14.49", + "esbuild-linux-s390x": "0.14.49", + "esbuild-netbsd-64": "0.14.49", + "esbuild-openbsd-64": "0.14.49", + "esbuild-sunos-64": "0.14.49", + "esbuild-windows-32": "0.14.49", + "esbuild-windows-64": "0.14.49", + "esbuild-windows-arm64": "0.14.49" + } + }, + "esbuild-android-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.49.tgz", + "integrity": "sha512-vYsdOTD+yi+kquhBiFWl3tyxnj2qZJsl4tAqwhT90ktUdnyTizgle7TjNx6Ar1bN7wcwWqZ9QInfdk2WVagSww==", + "dev": true, + "optional": true + }, + "esbuild-android-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.49.tgz", + "integrity": "sha512-g2HGr/hjOXCgSsvQZ1nK4nW/ei8JUx04Li74qub9qWrStlysaVmadRyTVuW32FGIpLQyc5sUjjZopj49eGGM2g==", + "dev": true, + "optional": true + }, + "esbuild-darwin-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.49.tgz", + "integrity": "sha512-3rvqnBCtX9ywso5fCHixt2GBCUsogNp9DjGmvbBohh31Ces34BVzFltMSxJpacNki96+WIcX5s/vum+ckXiLYg==", + "dev": true, + "optional": true + }, + "esbuild-darwin-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.49.tgz", + "integrity": "sha512-XMaqDxO846srnGlUSJnwbijV29MTKUATmOLyQSfswbK/2X5Uv28M9tTLUJcKKxzoo9lnkYPsx2o8EJcTYwCs/A==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.49.tgz", + "integrity": "sha512-NJ5Q6AjV879mOHFri+5lZLTp5XsO2hQ+KSJYLbfY9DgCu8s6/Zl2prWXVANYTeCDLlrIlNNYw8y34xqyLDKOmQ==", + "dev": true, + "optional": true + }, + "esbuild-freebsd-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.49.tgz", + "integrity": "sha512-lFLtgXnAc3eXYqj5koPlBZvEbBSOSUbWO3gyY/0+4lBdRqELyz4bAuamHvmvHW5swJYL7kngzIZw6kdu25KGOA==", + "dev": true, + "optional": true + }, + "esbuild-linux-32": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.49.tgz", + "integrity": "sha512-zTTH4gr2Kb8u4QcOpTDVn7Z8q7QEIvFl/+vHrI3cF6XOJS7iEI1FWslTo3uofB2+mn6sIJEQD9PrNZKoAAMDiA==", + "dev": true, + "optional": true + }, + "esbuild-linux-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.49.tgz", + "integrity": "sha512-hYmzRIDzFfLrB5c1SknkxzM8LdEUOusp6M2TnuQZJLRtxTgyPnZZVtyMeCLki0wKgYPXkFsAVhi8vzo2mBNeTg==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.49.tgz", + "integrity": "sha512-iE3e+ZVv1Qz1Sy0gifIsarJMQ89Rpm9mtLSRtG3AH0FPgAzQ5Z5oU6vYzhc/3gSPi2UxdCOfRhw2onXuFw/0lg==", + "dev": true, + "optional": true + }, + "esbuild-linux-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.49.tgz", + "integrity": "sha512-KLQ+WpeuY+7bxukxLz5VgkAAVQxUv67Ft4DmHIPIW+2w3ObBPQhqNoeQUHxopoW/aiOn3m99NSmSV+bs4BSsdA==", + "dev": true, + "optional": true + }, + "esbuild-linux-mips64le": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.49.tgz", + "integrity": "sha512-n+rGODfm8RSum5pFIqFQVQpYBw+AztL8s6o9kfx7tjfK0yIGF6tm5HlG6aRjodiiKkH2xAiIM+U4xtQVZYU4rA==", + "dev": true, + "optional": true + }, + "esbuild-linux-ppc64le": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.49.tgz", + "integrity": "sha512-WP9zR4HX6iCBmMFH+XHHng2LmdoIeUmBpL4aL2TR8ruzXyT4dWrJ5BSbT8iNo6THN8lod6GOmYDLq/dgZLalGw==", + "dev": true, + "optional": true + }, + "esbuild-linux-riscv64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.49.tgz", + "integrity": "sha512-h66ORBz+Dg+1KgLvzTVQEA1LX4XBd1SK0Fgbhhw4akpG/YkN8pS6OzYI/7SGENiN6ao5hETRDSkVcvU9NRtkMQ==", + "dev": true, + "optional": true + }, + "esbuild-linux-s390x": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.49.tgz", + "integrity": "sha512-DhrUoFVWD+XmKO1y7e4kNCqQHPs6twz6VV6Uezl/XHYGzM60rBewBF5jlZjG0nCk5W/Xy6y1xWeopkrhFFM0sQ==", + "dev": true, + "optional": true + }, + "esbuild-netbsd-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.49.tgz", + "integrity": "sha512-BXaUwFOfCy2T+hABtiPUIpWjAeWK9P8O41gR4Pg73hpzoygVGnj0nI3YK4SJhe52ELgtdgWP/ckIkbn2XaTxjQ==", + "dev": true, + "optional": true + }, + "esbuild-openbsd-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.49.tgz", + "integrity": "sha512-lP06UQeLDGmVPw9Rg437Btu6J9/BmyhdoefnQ4gDEJTtJvKtQaUcOQrhjTq455ouZN4EHFH1h28WOJVANK41kA==", + "dev": true, + "optional": true + }, + "esbuild-sunos-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.49.tgz", + "integrity": "sha512-4c8Zowp+V3zIWje329BeLbGh6XI9c/rqARNaj5yPHdC61pHI9UNdDxT3rePPJeWcEZVKjkiAS6AP6kiITp7FSw==", + "dev": true, + "optional": true + }, + "esbuild-wasm": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.14.49.tgz", + "integrity": "sha512-5ddzZv8M3WI1fWZ5rEfK5cSA9swlWJcceKgqjKLLERC7FnlNW50kF7hxhpkyC0Z/4w7Xeyt3yUJ9QWNMDXLk2Q==", + "dev": true + }, + "esbuild-windows-32": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.49.tgz", + "integrity": "sha512-q7Rb+J9yHTeKr9QTPDYkqfkEj8/kcKz9lOabDuvEXpXuIcosWCJgo5Z7h/L4r7rbtTH4a8U2FGKb6s1eeOHmJA==", + "dev": true, + "optional": true + }, + "esbuild-windows-64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.49.tgz", + "integrity": "sha512-+Cme7Ongv0UIUTniPqfTX6mJ8Deo7VXw9xN0yJEN1lQMHDppTNmKwAM3oGbD/Vqff+07K2gN0WfNkMohmG+dVw==", + "dev": true, + "optional": true + }, + "esbuild-windows-arm64": { + "version": "0.14.49", + "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.49.tgz", + "integrity": "sha512-v+HYNAXzuANrCbbLFJ5nmO3m5y2PGZWLe3uloAkLt87aXiO2mZr3BTmacZdjwNkNEHuH3bNtN8cak+mzVjVPfA==", + "dev": true, + "optional": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "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" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "fast-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==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "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==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flatted": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.6.tgz", + "integrity": "sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "requires": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + } + }, + "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==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz", + "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true + }, + "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==", + "dev": true + }, + "glob": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.0.3.tgz", + "integrity": "sha512-ull455NHSHI/Y1FqGaaYFaLGkNMMJbavMrEGFXG/PGrg6y7sutWHUHrz6gy6WEBH6akM1M414dWKCNs+IhKdiQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "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==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.2.tgz", + "integrity": "sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ==", + "dev": true, + "requires": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "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==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", + "dev": true, + "requires": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" + } + }, + "hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", + "dev": true + }, + "hosted-git-info": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-5.1.0.tgz", + "integrity": "sha512-Ek+QmMEqZF8XrbFdwoDjSbm7rT23pCgEMOJmz6GPk/s4yH//RQfNPArhIxbguNxROq/+5lNBwCDHMhA903Kx1Q==", + "dev": true, + "requires": { + "lru-cache": "^7.5.1" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "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" + } + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "http-cache-semantics": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz", + "integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==", + "dev": true + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "dependencies": { + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dev": true, + "requires": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@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" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "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==", + "dev": true + }, + "humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "ignore-walk": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-5.0.1.tgz", + "integrity": "sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==", + "dev": true, + "requires": { + "minimatch": "^5.0.1" + } + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", + "dev": true, + "optional": true + }, + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-3.0.0.tgz", + "integrity": "sha512-TxYQaeNW/N8ymDvwAxPyRbhMBtnEwuvaTYpOQkFx1nSeusgezHniEc/l35Vo4iCq/mMiTJbpD7oYxN98hFlfmw==", + "dev": true + }, + "inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", + "dev": true + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz", + "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, + "is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-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==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz", + "integrity": "sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A==", + "dev": true, + "requires": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "istanbul-lib-report": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", + "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^3.0.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "istanbul-reports": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.5.tgz", + "integrity": "sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==", + "dev": true, + "requires": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + } + }, + "jasmine-core": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.1.1.tgz", + "integrity": "sha512-lmUfT5XcK9KKvt3lLYzn93hc4MGzlUBowExFVgzbSW0ZCrdeyS574dfsyfRhxbg81Wj4gk+RxUiTnj7KBfDA1g==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonc-parser": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.1.0.tgz", + "integrity": "sha512-DRf0QjnNeCUds3xTjKlQQ3DpJD51GvDjJfnxUVWg6PZTo2otSm+slzNAxU/35hF8/oJIKoG9slq30JYOsF2azg==", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true + }, + "karma": { + "version": "6.3.20", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.3.20.tgz", + "integrity": "sha512-HRNQhMuKOwKpjYlWiJP0DUrJOh+QjaI/DTaD8b9rEm4Il3tJ8MijutVZH4ts10LuUFst/CedwTS6vieCN8yTSw==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.4.1", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "requires": { + "minimist": "^1.2.6" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, + "karma-chrome-launcher": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz", + "integrity": "sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==", + "dev": true, + "requires": { + "which": "^1.2.1" + } + }, + "karma-coverage": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.0.tgz", + "integrity": "sha512-gPVdoZBNDZ08UCzdMHHhEImKrw1+PAOQOIiffv1YsvxFhBjqvo/SVXNk4tqn1SYqX0BJZT6S/59zgxiBe+9OuA==", + "dev": true, + "requires": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "karma-jasmine": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.0.1.tgz", + "integrity": "sha512-FkL1Kk+JAKmim8VWU8RXKZBpl0lLI7J8LijM0/q7oP7emfB6QMZV1Az+JgqGKSLpF0tYaav+KUVFQroZUxQTHA==", + "dev": true, + "requires": { + "jasmine-core": "^4.1.0" + } + }, + "karma-jasmine-html-reporter": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.7.0.tgz", + "integrity": "sha512-pzum1TL7j90DTE86eFt48/s12hqwQuiD+e5aXx2Dc9wDEn2LfGq6RoAxEZZjFiN0RDSCOnosEKRZWxbQ+iMpQQ==", + "dev": true, + "requires": {} + }, + "karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "requires": { + "source-map-support": "^0.5.5" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "parse-node-version": "^1.0.1", + "source-map": "~0.6.0", + "tslib": "^2.3.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "less-loader": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.0.0.tgz", + "integrity": "sha512-9+LOWWjuoectIEx3zrfN83NAGxSUB5pWEabbbidVQVgZhN+wN68pOvuyirVlH1IK4VT1f3TmlyvAnCXh8O5KEw==", + "dev": true, + "requires": { + "klona": "^2.0.4" + } + }, + "license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "requires": { + "webpack-sources": "^3.0.0" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "loader-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.0.tgz", + "integrity": "sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==", + "dev": true + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log4js": { + "version": "6.6.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.6.1.tgz", + "integrity": "sha512-J8VYFH2UQq/xucdNu71io4Fo+purYYudyErgBbswWKO0MC6QVOERRomt5su/z6d3RJSmLyTGmXl3Q/XjKCf+/A==", + "dev": true, + "requires": { + "date-format": "^4.0.13", + "debug": "^4.3.4", + "flatted": "^3.2.6", + "rfdc": "^1.3.0", + "streamroller": "^3.1.2" + } + }, + "lru-cache": { + "version": "7.13.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.13.2.tgz", + "integrity": "sha512-VJL3nIpA79TodY/ctmZEfhASgqekbT574/c4j3jn4bKXbSCnTTCH/KltZyvL2GlV+tGSMtsWyem8DCX7qKTMBA==", + "dev": true + }, + "magic-string": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.26.1.tgz", + "integrity": "sha512-ndThHmvgtieXe8J/VGPjG+Apu7v7ItcD5mhEIvOscWjPF/ccOiLxHaSuCAS2G+3x4GKsAbT8u7zdyamupui8Tg==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "dev": true, + "requires": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "dependencies": { + "@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "dev": true, + "requires": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "dev": true, + "requires": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "dev": true, + "requires": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + } + } + }, + "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==", + "dev": true + }, + "memfs": { + "version": "3.4.7", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.7.tgz", + "integrity": "sha512-ygaiUSNalBX85388uskeCyhSAoOSgzBbtVCr9jA2RROssFL9Q19/ZXFqS+2Th2sr1ewNIWgFdLzLC3Yl1Zv+lw==", + "dev": true, + "requires": { + "fs-monkey": "^1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "dev": true + }, + "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==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.6.1.tgz", + "integrity": "sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==", + "dev": true, + "requires": { + "schema-utils": "^4.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "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==", + "dev": true + }, + "minimatch": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz", + "integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "minipass": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.4.tgz", + "integrity": "sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "dev": true, + "requires": { + "encoding": "^0.1.12", + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "requires": { + "jsonparse": "^1.3.1", + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", + "dev": true + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "needle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.1.0.tgz", + "integrity": "sha512-gCE9weDhjVGCRqS8dwDR/D3GTAeyXLXuqp7I8EzH6DllZGXSUyxuqqLh+YX9rMAWaaTFyVAg6rHGL25dqvczKw==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "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==", + "dev": true, + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "ngx-cookie-service": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/ngx-cookie-service/-/ngx-cookie-service-14.0.1.tgz", + "integrity": "sha512-PHjpA/bpp1ZgvQ2AWdXA6oxPQgE9k0WljQ7tvUH/u0Acl6p6akzF8kWlQiWxkgR3hBs7xB3paIsTk6GKdtakMg==", + "requires": { + "tslib": "^2.0.0" + } + }, + "nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "optional": true, + "requires": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "dev": true, + "requires": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "node-gyp-build": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.5.0.tgz", + "integrity": "sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==", + "dev": true, + "optional": true + }, + "node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true + }, + "nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-4.0.0.tgz", + "integrity": "sha512-m+GL22VXJKkKbw62ZaBBjv8u6IE3UI4Mh5QakIqs3fWiKe0Xyi6L97hakwZK41/LD4R/2ly71Bayx0NLMwLA/g==", + "dev": true, + "requires": { + "hosted-git-info": "^5.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "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==", + "dev": true + }, + "npm-bundled": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.2.tgz", + "integrity": "sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ==", + "dev": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-install-checks": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-5.0.0.tgz", + "integrity": "sha512-65lUsMI8ztHCxFz5ckCEC44DRvEGdZX5usQFriauxHEwt7upv1FKaQEmAtU0YnOAdwuNWCmk64xYiQABNrEyLA==", + "dev": true, + "requires": { + "semver": "^7.1.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "dev": true + }, + "npm-package-arg": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.2.tgz", + "integrity": "sha512-v/miORuX8cndiOheW8p2moNuPJ7QhcFh9WGlTorruG8hXSA23vMTEp5hTCmDxic0nD8KHhj/NQgFuySD3GYY3g==", + "dev": true, + "requires": { + "hosted-git-info": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^4.0.0" + } + }, + "npm-packlist": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-5.1.1.tgz", + "integrity": "sha512-UfpSvQ5YKwctmodvPPkK6Fwk603aoVsf8AEbmVKAEECrfvL8SSe1A2YIwrJ6xmTHAITKPwwZsWo7WwEbNk0kxw==", + "dev": true, + "requires": { + "glob": "^8.0.1", + "ignore-walk": "^5.0.1", + "npm-bundled": "^1.1.2", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.1.tgz", + "integrity": "sha512-IA8+tuv8KujbsbLQvselW2XQgmXWS47t3CB0ZrzsRZ82DbDfkcFunOaPm4X7qNuhMfq+FmV7hQT4iFVpHqV7mg==", + "dev": true, + "requires": { + "npm-install-checks": "^5.0.0", + "npm-normalize-package-bin": "^1.0.1", + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" + } + }, + "npm-registry-fetch": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.3.0.tgz", + "integrity": "sha512-10LJQ/1+VhKrZjIuY9I/+gQTvumqqlgnsCufoXETHAPFTS3+M+Z5CFhZRDHGavmJ6rOye3UvNga88vl8n1r6gg==", + "dev": true, + "requires": { + "make-fetch-happen": "^10.0.6", + "minipass": "^3.1.6", + "minipass-fetch": "^2.0.3", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^9.0.1", + "proc-log": "^2.0.0" + }, + "dependencies": { + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "make-fetch-happen": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.0.tgz", + "integrity": "sha512-OnEfCLofQVJ5zgKwGk55GaqosqKjaR6khQlJY3dBAA+hM25Bc5CmX5rKUfVut+rYA3uidA7zb7AvcglU87rPRg==", + "dev": true, + "requires": { + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + } + }, + "minipass-fetch": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.0.tgz", + "integrity": "sha512-H9U4UVBGXEyyWJnqYDCLp1PwD8XIkJ4akNHp1aGVI+2Ym7wQMlxDKi4IB4JbmyU+pl9pEs/cVrK6cOuvmbK4Sg==", + "dev": true, + "requires": { + "encoding": "^0.1.13", + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + } + }, + "socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "requires": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.3.tgz", + "integrity": "sha512-ZFJnX3zltyjcYJL0RoCJuzb+11zWGyaDbjgxZbdV7rFEcHQuYxrZqhow67aA7xpes6LhojyFDaBKAFfogQrikA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "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==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "dependencies": { + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "pacote": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-13.3.0.tgz", + "integrity": "sha512-auhJAUlfC2TALo6I0s1vFoPvVFgWGx+uz/PnIojTTgkGwlK3Np8sGJ0ghfFhiuzJXTZoTycMLk8uLskdntPbDw==", + "dev": true, + "requires": { + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", + "@npmcli/promise-spawn": "^3.0.0", + "@npmcli/run-script": "^3.0.1", + "cacache": "^16.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "infer-owner": "^1.0.4", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", + "npm-packlist": "^5.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.1", + "proc-log": "^2.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^5.0.0", + "read-package-json-fast": "^2.0.3", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "@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" + } + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", + "dev": true + }, + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "parse5-html-rewriting-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", + "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "dev": true, + "requires": { + "parse5": "^6.0.1", + "parse5-sax-parser": "^6.0.1" + } + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parse5-sax-parser": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", + "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", + "dev": true, + "requires": { + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0", + "nice-napi": "^1.0.2" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "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==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-properties": { + "version": "12.1.8", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.8.tgz", + "integrity": "sha512-8rbj8kVu00RQh2fQF81oBqtduiANu4MIxhyf0HbbStgPtnFlWn0yiaYTpLHrPnJbffVY1s9apWsIoVZcc68FxA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9" + } + }, + "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==", + "dev": true, + "requires": {} + }, + "postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "dev": true, + "requires": {} + }, + "postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-import": { + "version": "14.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", + "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + } + }, + "postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "dev": true, + "requires": {} + }, + "postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dev": true, + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-loader": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.0.1.tgz", + "integrity": "sha512-VRviFEyYlLjctSM93gAZtcJJ/iSkPZ79zWbN/1fSH+NisBByEiVLqpdVDrPLVSi8DX0oJo12kL/GppTBdKVXiQ==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.7" + } + }, + "postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "dev": true, + "requires": {} + }, + "postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "dev": true, + "requires": {} + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nesting": { + "version": "10.1.10", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.1.10.tgz", + "integrity": "sha512-lqd7LXCq0gWc0wKXtoKDru5wEUNjm3OryLVNRZ8OnW8km6fSNUuFrjEhU3nklxXE2jvd4qrox566acgh+xQt8w==", + "dev": true, + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-opacity-percentage": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.2.tgz", + "integrity": "sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==", + "dev": true + }, + "postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "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==", + "dev": true, + "requires": {} + }, + "postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-preset-env": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.7.2.tgz", + "integrity": "sha512-1q0ih7EDsZmCb/FMDRvosna7Gsbdx8CvYO5hYT120hcp2ZAuOHpSzibujZ4JpIUcAC02PG6b+eftxqjTFh5BNA==", + "dev": true, + "requires": { + "@csstools/postcss-cascade-layers": "^1.0.4", + "@csstools/postcss-color-function": "^1.1.0", + "@csstools/postcss-font-format-keywords": "^1.0.0", + "@csstools/postcss-hwb-function": "^1.0.1", + "@csstools/postcss-ic-unit": "^1.0.0", + "@csstools/postcss-is-pseudo-class": "^2.0.6", + "@csstools/postcss-normalize-display-values": "^1.0.0", + "@csstools/postcss-oklab-function": "^1.1.0", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.1", + "@csstools/postcss-unset-value": "^1.0.1", + "autoprefixer": "^10.4.7", + "browserslist": "^4.21.0", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^6.6.3", + "postcss-attribute-case-insensitive": "^5.0.1", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.3", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.0", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.8", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.4", + "postcss-double-position-gradients": "^3.1.1", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.3", + "postcss-image-set-function": "^4.0.6", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.0", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.1.9", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.3", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.4", + "postcss-pseudo-class-any-link": "^7.1.5", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "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==", + "dev": true, + "requires": {} + }, + "postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.10" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prettier": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "proc-log": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-2.0.1.tgz", + "integrity": "sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==", + "dev": true + }, + "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==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "requires": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + } + }, + "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==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "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==", + "dev": true + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "requires": { + "pify": "^2.3.0" + } + }, + "read-package-json": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-5.0.1.tgz", + "integrity": "sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==", + "dev": true, + "requires": { + "glob": "^8.0.1", + "json-parse-even-better-errors": "^2.3.1", + "normalize-package-data": "^4.0.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "read-package-json-fast": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz", + "integrity": "sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==", + "dev": true, + "requires": { + "json-parse-even-better-errors": "^2.3.0", + "npm-normalize-package-bin": "^1.0.1" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "reflect-metadata": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", + "dev": true + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexpu-core": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.1.0.tgz", + "integrity": "sha512-bb6hk+xWd2PEOkj5It46A16zFMs2mv86Iwpdu94la4S3sJ7C973h2dHpYKwIBGaWSO7cIRJ+UX0IeMaWcO4qwA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "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==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + }, + "resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", + "source-map": "0.6.1" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.6.tgz", + "integrity": "sha512-dnyv2/YsXhnm461G+R/Pe5bWP41Nm6LBXEYWI6eiFP4fiwx6WRI/CD0zbdVAudd9xwLEF2IDcKXLHit0FYjUzw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "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==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.53.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz", + "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.0.2.tgz", + "integrity": "sha512-BbiqbVmbfJaWVeOOAu2o7DhYWtcNmTfvroVgFXa6k2hHheMxNAeDHLNoDy/Q5aoaVlz0LH+MbMktKwm9vN/j8Q==", + "dev": true, + "requires": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + } + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true + }, + "selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dev": true, + "requires": { + "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" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "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==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true + }, + "smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true + }, + "socket.io": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.5.1.tgz", + "integrity": "sha512-0y9pnIso5a9i+lJmsCdtmTTgJFFSvNQKDnPQRz28mGNnxbmqYg2QPtJTLFxhymFZhAIn50eHAKzJeiNaKr+yUQ==", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.2.0", + "socket.io-adapter": "~2.4.0", + "socket.io-parser": "~4.0.4" + } + }, + "socket.io-adapter": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.4.0.tgz", + "integrity": "sha512-W4N+o69rkMEGVuk2D/cvca3uYsvGlMwsySWV447y99gUPghxq42BxqLNMndb+a1mm/5/7NeXVQS7RLa2XyXvYg==", + "dev": true + }, + "socket.io-parser": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.5.tgz", + "integrity": "sha512-sNjbT9dX63nqUFIOv95tTVm6elyIU4RvB1m8dOeZt+IgWwcWklFDOdmGcfo3zSiRsnR/3pJkjY5lfoGqEe4Eig==", + "dev": true, + "requires": { + "@types/component-emitter": "^1.2.10", + "component-emitter": "~1.3.0", + "debug": "~4.3.1" + } + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "socks": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.0.tgz", + "integrity": "sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==", + "dev": true, + "requires": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + } + }, + "socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "dev": true, + "requires": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + } + }, + "source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.0.tgz", + "integrity": "sha512-i3KVgM3+QPAHNbGavK+VBq03YoJl24m9JWNbLgsjTj8aJzXG9M61bantBTNBt7CNwY2FYf+RJRYJ3pzalKjIrw==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "source-map-resolve": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", + "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0" + } + }, + "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==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "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==", + "dev": true, + "requires": { + "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" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", + "dev": true, + "requires": { + "minipass": "^3.1.1" + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true + }, + "streamroller": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.2.tgz", + "integrity": "sha512-wZswqzbgGGsXYIrBYhOE0yP+nQ6XRk7xDcYwuQAGTYXdyAUmvgVFE0YU1g5pvQT0m7GBaQfYcSnlHbapuK0H0A==", + "dev": true, + "requires": { + "date-format": "^4.0.13", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "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==", + "dev": true + }, + "stylus": { + "version": "0.58.1", + "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.58.1.tgz", + "integrity": "sha512-AYiCHm5ogczdCPMfe9aeQa4NklB2gcf4D/IhzYPddJjTgPc+k4D/EVE0yfQbZD43MHP3lPy+8NZ9fcFxkrgs/w==", + "dev": true, + "requires": { + "css": "^3.0.0", + "debug": "^4.3.2", + "glob": "^7.1.6", + "sax": "~1.2.4", + "source-map": "^0.7.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "stylus-loader": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-7.0.0.tgz", + "integrity": "sha512-WTbtLrNfOfLgzTaR9Lj/BPhQroKk/LC1hfTXSUbrxmxgfUo3Y3LpmKRVA2R1XbjvTAvOfaian9vOyfv1z99E+A==", + "dev": true, + "requires": { + "fast-glob": "^3.2.11", + "klona": "^2.0.5", + "normalize-path": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "dev": true + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tar": { + "version": "6.1.11", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", + "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^3.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + } + }, + "terser": { + "version": "5.14.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.14.2.tgz", + "integrity": "sha512-oL0rGeM/WFQCUd0y2QrWxYnq7tfSuKBiqTjRPWrRgB46WD/kiwHwF8T23z78H6Q6kGCuuHcPB+KULHRdxvVGQA==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "terser-webpack-plugin": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.4.tgz", + "integrity": "sha512-SmnkUhBxLDcBfTIeaq+ZqJXLVEyXxSaNcCeSezECdKjfkMrTTnPvapBILylYwyEvHFZAn2cJ8dtiXel5XnfOfQ==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.14", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "terser": "^5.14.1" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "requires": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "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" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "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==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", + "dev": true + }, + "typescript": { + "version": "4.7.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", + "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", + "dev": true + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.5.tgz", + "integrity": "sha512-dteFFpCyvuDdr9S/ff1ISkKt/9YZxKjI9WlRR99c180GaztJtRa/fn18FdxGVKVsnPY7/a/FDN68mcvUmP4U7Q==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "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==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz", + "integrity": "sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==", + "dev": true, + "requires": { + "builtins": "^5.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true + }, + "void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true + }, + "watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "5.73.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.73.0.tgz", + "integrity": "sha512-svjudQRPPa0YiOYa2lM/Gacw0r6PvxptHj4FuEKQ2kX05ZLkjbVc5MnPs6its5j7IZljnIqSVo/OsY2X0IpHGA==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "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.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.9.3", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.3.tgz", + "integrity": "sha512-3qp/eoboZG5/6QgiZ3llN8TUzkSpYg1Ko9khWX1h40MIEUNS2mDoIa8aXsPfskER+GbTvs/IJZ1QTBBhhuetSw==", + "dev": true, + "requires": { + "@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.1", + "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", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "dependencies": { + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + }, + "ws": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.8.1.tgz", + "integrity": "sha512-bGy2JzvzkPowEJV++hF07hAD6niYSr0JzBNo/J29WsB57A2r7Wlc1UFcTR9IzrPvuNVO4B8LGqF8qcpsVOhJCA==", + "dev": true, + "requires": {} + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "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==", + "dev": true + }, + "webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", + "dev": true, + "requires": { + "typed-assert": "^1.0.8" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "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==", + "dev": true + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "requires": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "requires": {} + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", + "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true + }, + "zone.js": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.11.8.tgz", + "integrity": "sha512-82bctBg2hKcEJ21humWIkXRlLBBmrc3nN7DFh5LGGhcyycO2S7FN8NmdvlcKaGFDNVL4/9kFLmwmInTavdJERA==", + "requires": { + "tslib": "^2.3.0" + } + } + } +} diff --git a/website/package.json b/website/package.json new file mode 100644 index 00000000..35353dc3 --- /dev/null +++ b/website/package.json @@ -0,0 +1,44 @@ +{ + "name": "wat-website", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/animations": "^14.0.0", + "@angular/cdk": "^14.1.2", + "@angular/common": "^14.0.0", + "@angular/compiler": "^14.0.0", + "@angular/core": "^14.0.0", + "@angular/forms": "^14.0.0", + "@angular/material": "^14.1.2", + "@angular/platform-browser": "^14.0.0", + "@angular/platform-browser-dynamic": "^14.0.0", + "@angular/router": "^14.0.0", + "@visurel/iconify-angular": "^11.0.0", + "ngx-cookie-service": "^14.0.1", + "rxjs": "~7.5.0", + "tslib": "^2.3.0", + "zone.js": "~0.11.4" + }, + "devDependencies": { + "@angular-devkit/build-angular": "^14.0.3", + "@angular/cli": "~14.0.3", + "@angular/compiler-cli": "^14.0.0", + "@iconify/icons-simple-icons": "^1.2.21", + "@types/jasmine": "~4.0.0", + "jasmine-core": "~4.1.0", + "karma": "~6.3.0", + "karma-chrome-launcher": "~3.1.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.0.0", + "karma-jasmine-html-reporter": "~1.7.0", + "prettier": "^2.7.1", + "typescript": "~4.7.2" + } +} diff --git a/website/src/_settings.ts b/website/src/_settings.ts new file mode 100644 index 00000000..37f3c109 --- /dev/null +++ b/website/src/_settings.ts @@ -0,0 +1,34 @@ +import { Injectable } from '@angular/core'; +import github from '@iconify/icons-simple-icons/github'; +import kofi from '@iconify/icons-simple-icons/ko-fi'; +import { PageLink } from '@src/app/classes/pagelink'; + +// Settings for the entire site. +// Edit these if you need to make minor tweaks + +@Injectable({ + providedIn: 'root', +}) +export class SettingsService { + public General = new (class { + // Currently available pages on the navigation menus + + // Note that removing a link does not mean the page is gone -- it only means + // you won't see it on the navigational menu. You can still access the page + // using it's URL. + + // Format: new PageLink("Link Name", "url_relative_to_the_site"); + public pageLinks: PageLink[] = [ + // new PageLink('Home', 'home'), + ]; + + // Social media links + public kofiLink: string = 'https://ko-fi.com/Q5Q51D9K5'; + public githubLink: string = 'https://github.com/AlexDarigan/WAT'; + + public icons = { + github, + kofi, + }; + })(); +} diff --git a/website/src/app/app-routing.module.ts b/website/src/app/app-routing.module.ts new file mode 100644 index 00000000..02972627 --- /dev/null +++ b/website/src/app/app-routing.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { } diff --git a/website/src/app/app.component.css b/website/src/app/app.component.css new file mode 100644 index 00000000..cbc5517f --- /dev/null +++ b/website/src/app/app.component.css @@ -0,0 +1,6 @@ +div.outlet-container { + display:flex; + flex-flow: column; + position: relative; + flex: 1; +} \ No newline at end of file diff --git a/website/src/app/app.component.html b/website/src/app/app.component.html new file mode 100644 index 00000000..fbe77166 --- /dev/null +++ b/website/src/app/app.component.html @@ -0,0 +1,24 @@ +

+ +
+
+
+
+ +
+ +
+
+
\ No newline at end of file diff --git a/website/src/app/app.component.spec.ts b/website/src/app/app.component.spec.ts new file mode 100644 index 00000000..f6e7024b --- /dev/null +++ b/website/src/app/app.component.spec.ts @@ -0,0 +1,35 @@ +import { TestBed } from '@angular/core/testing'; +import { RouterTestingModule } from '@angular/router/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [ + RouterTestingModule + ], + declarations: [ + AppComponent + ], + }).compileComponents(); + }); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'wat-website'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.componentInstance; + expect(app.title).toEqual('wat-website'); + }); + + it('should render title', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.nativeElement as HTMLElement; + expect(compiled.querySelector('.content span')?.textContent).toContain('wat-website app is running!'); + }); +}); diff --git a/website/src/app/app.component.ts b/website/src/app/app.component.ts new file mode 100644 index 00000000..7b3e0312 --- /dev/null +++ b/website/src/app/app.component.ts @@ -0,0 +1,46 @@ +import { Component, ElementRef, OnDestroy } from '@angular/core'; +import { SettingsService } from '@src/_settings'; +import { IconService } from '@visurel/iconify-angular'; +import { Subject } from 'rxjs'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'], +}) +export class AppComponent implements OnDestroy { + title = 'cogs'; + showSidebars = false; + + onDestroy$ = new Subject(); + + constructor(private elementRef: ElementRef, iconService: IconService, settings: SettingsService) { + iconService.registerAll(settings.General.icons); + this.updateStyleVars(); + } + + ngOnDestroy(): void { + this.onDestroy$.next(); + this.onDestroy$.complete(); + } + + updateStyleVars() { + if (this.showSidebars) { + this.elementRef.nativeElement.style.setProperty('--main-width', `min(80%, 1080px)`); + this.elementRef.nativeElement.style.setProperty('--content-width', `100%`); + } else { + this.elementRef.nativeElement.style.setProperty('--main-width', `unset`); + this.elementRef.nativeElement.style.setProperty('--content-width', `unset`); + } + } + + getOutletContainerStyle() { + if (this.showSidebars) + return { + 'flex-basis': 'var(--main-width)', + }; + return { + width: '100%', + }; + } +} diff --git a/website/src/app/app.module.ts b/website/src/app/app.module.ts new file mode 100644 index 00000000..7ddc89ed --- /dev/null +++ b/website/src/app/app.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { BrowserModule } from '@angular/platform-browser'; + +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { AppRoutingModule } from './app-routing.module'; +import { AppComponent } from './app.component'; +import { SiteMenusModule } from './modules/site-menus/site-menus.module'; +import { CoreModule } from './modules/_core/core.module'; +import { PagesModule } from './pages/pages.module'; + +@NgModule({ + declarations: [AppComponent], + imports: [BrowserModule, AppRoutingModule, BrowserAnimationsModule, CoreModule, SiteMenusModule, PagesModule], + providers: [], + bootstrap: [AppComponent], +}) +export class AppModule {} diff --git a/website/src/app/classes/_classes.module.ts b/website/src/app/classes/_classes.module.ts new file mode 100644 index 00000000..d211afd0 --- /dev/null +++ b/website/src/app/classes/_classes.module.ts @@ -0,0 +1,10 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +export * from './pagelink'; + +@NgModule({ + declarations: [], + imports: [CommonModule], +}) +export class ClassesModule {} \ No newline at end of file diff --git a/website/src/app/classes/pagelink.ts b/website/src/app/classes/pagelink.ts new file mode 100644 index 00000000..c907505a --- /dev/null +++ b/website/src/app/classes/pagelink.ts @@ -0,0 +1,3 @@ +export class PageLink { + constructor(public name: string, public link: string) {} +} \ No newline at end of file diff --git a/website/src/app/modules/_core/_core.scss b/website/src/app/modules/_core/_core.scss new file mode 100644 index 00000000..cfdac16a --- /dev/null +++ b/website/src/app/modules/_core/_core.scss @@ -0,0 +1,11 @@ +@use './bg-container/bg-container.component-theme' as bg-container; +@use './full-page-header/full-page-header.component-theme' as full-page-header; +@use './page-header/page-header.component-theme' as page-header; +@use './section/section.component-theme' as section; + +@mixin theme($theme) { + @include bg-container.theme($theme); + @include full-page-header.theme($theme); + @include page-header.theme($theme); + @include section.theme($theme); +} \ No newline at end of file diff --git a/website/src/app/modules/_core/bg-container/_bg-container.component-theme.scss b/website/src/app/modules/_core/bg-container/_bg-container.component-theme.scss new file mode 100644 index 00000000..95420f0d --- /dev/null +++ b/website/src/app/modules/_core/bg-container/_bg-container.component-theme.scss @@ -0,0 +1,60 @@ +@use 'sass:map'; +@use 'sass:color'; +@use '@angular/material' as mat; + +@mixin styles($color, $contrast) { + &.app-bg-container.bg { + background-color: $color; + color: $contrast; + } +} + +@mixin palette-styles($palette) { + @include styles( + mat.get-color-from-palette($palette, 500), + mat.get-color-from-palette($palette, 500-contrast) + ) +} + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + $warn: map.get($config, warn); + $background: map.get($config, background); + $foreground: map.get($config, foreground); + + .blank { + @include styles( + mat.get-color-from-palette($background, background), + mat.get-color-from-palette($foreground, text) + ) + } + + .primary { + @include palette-styles($primary); + } + + .accent { + @include palette-styles($accent); + } + + .warn { + @include palette-styles($warn); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/_core/bg-container/bg-container.component.css b/website/src/app/modules/_core/bg-container/bg-container.component.css new file mode 100644 index 00000000..21e8f1fa --- /dev/null +++ b/website/src/app/modules/_core/bg-container/bg-container.component.css @@ -0,0 +1,24 @@ +:host { + flex: 1 1 auto; +} + +.bg { + display: flex; + flex-direction: column; + align-items: center; + box-sizing: border-box; + padding: var(--content-padding); + z-index: 1; +} + +.content { + height: 100%; + display: block; + margin: auto; + width: 100%; + max-width: var(--content-width); +} + +.full-page { + min-height: 100vh; +} \ No newline at end of file diff --git a/website/src/app/modules/_core/bg-container/bg-container.component.html b/website/src/app/modules/_core/bg-container/bg-container.component.html new file mode 100644 index 00000000..bd8df36b --- /dev/null +++ b/website/src/app/modules/_core/bg-container/bg-container.component.html @@ -0,0 +1,9 @@ +
+
+ +
+ +
+
\ No newline at end of file diff --git a/website/src/app/modules/_core/bg-container/bg-container.component.spec.ts b/website/src/app/modules/_core/bg-container/bg-container.component.spec.ts new file mode 100644 index 00000000..16d896be --- /dev/null +++ b/website/src/app/modules/_core/bg-container/bg-container.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BgContainerComponent } from './bg-container.component'; + +describe('BgContainerComponent', () => { + let component: BgContainerComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [BgContainerComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(BgContainerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/bg-container/bg-container.component.ts b/website/src/app/modules/_core/bg-container/bg-container.component.ts new file mode 100644 index 00000000..7cfa128c --- /dev/null +++ b/website/src/app/modules/_core/bg-container/bg-container.component.ts @@ -0,0 +1,18 @@ +import { Attribute, Component, Input, OnInit, Optional } from '@angular/core'; + +@Component({ + selector: 'app-bg-container', + templateUrl: './bg-container.component.html', + styleUrls: ['./bg-container.component.css'], +}) +export class BgContainerComponent implements OnInit { + @Input() color: string = 'blank'; + + fullPage: boolean; + + constructor(@Optional() @Attribute('full-page') fullPage: any) { + this.fullPage = fullPage != undefined; + } + + ngOnInit(): void {} +} diff --git a/website/src/app/modules/_core/breakable-styles/breakable-styles.directive.spec.ts b/website/src/app/modules/_core/breakable-styles/breakable-styles.directive.spec.ts new file mode 100644 index 00000000..8058826a --- /dev/null +++ b/website/src/app/modules/_core/breakable-styles/breakable-styles.directive.spec.ts @@ -0,0 +1,8 @@ +import { BreakableStylesDirective } from './breakable-styles.directive'; + +describe('DynamicStyleDirective', () => { + it('should create an instance', () => { + // const directive = new BreakStyleDirective(); + // expect(directive).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/breakable-styles/breakable-styles.directive.ts b/website/src/app/modules/_core/breakable-styles/breakable-styles.directive.ts new file mode 100644 index 00000000..219965f8 --- /dev/null +++ b/website/src/app/modules/_core/breakable-styles/breakable-styles.directive.ts @@ -0,0 +1,91 @@ +import { AfterViewInit, Directive, ElementRef, Input, OnDestroy } from '@angular/core'; +import { DomSanitizer } from '@angular/platform-browser'; + +@Directive({ + selector: '[breakable-styles]', +}) +export class BreakableStylesDirective implements AfterViewInit, OnDestroy { + @Input() style: string = ''; + @Input('prebreak-style') preBreakStyle: string = ''; + @Input('break-style') breakStyle: string = ''; + @Input('break-on') breakOn: string = ''; + + isBreaking: boolean = false; + + resizeObserver?: ResizeObserver; + + constructor(private el: ElementRef, private doms: DomSanitizer) {} + + ngOnDestroy(): void { + this.resizeObserver?.disconnect(); + } + + ngAfterViewInit(): void { + const args = this.breakOn.split(' '); + if (args.length < 3) return; + const type = args[0]; + const operator = args[1]; + const targetValue = this.getValueFromString(args[2]); + + this.updateStyle(); + + switch (type) { + case 'bottom': + case 'left': + case 'top': + case 'right': + case 'width': + case 'height': + case 'x': + case 'y': + this.resizeObserver = new ResizeObserver((entries, observer) => { + for (const entry of entries) { + const comparedToValue = entry.contentRect[type]; + this.isBreaking = this.compareValues(comparedToValue, targetValue, operator); + + this.updateStyle(); + } + }); + + this.resizeObserver.observe(this.el.nativeElement); + + return; + default: + return; + } + } + + getValueFromString(value: string) { + if (value === 'true') return true; + if (value === 'false') return false; + return Number(value); + } + + compareValues(valueOne: any, valueTwo: any, operator: string) { + switch (operator) { + case '>': + return valueOne > valueTwo; + case '>=': + return valueOne >= valueTwo; + case '<': + return valueOne < valueTwo; + case '<=': + return valueOne <= valueTwo; + case '==': + return valueOne == valueTwo; + case '!=': + return valueOne != valueTwo; + case '===': + return valueOne === valueTwo; + case '!==': + return valueOne !== valueTwo; + default: + return false; + } + } + + updateStyle() { + const styleText = this.style + (this.isBreaking ? this.breakStyle : this.preBreakStyle); + this.el.nativeElement.style.cssText = styleText; + } +} diff --git a/website/src/app/modules/_core/column-layout/column-layout.component.css b/website/src/app/modules/_core/column-layout/column-layout.component.css new file mode 100644 index 00000000..26ccab64 --- /dev/null +++ b/website/src/app/modules/_core/column-layout/column-layout.component.css @@ -0,0 +1,15 @@ +:host { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 32px; +} + +@media only screen and (max-width: 1080px) { + :host { + grid-template-columns: repeat(1, 1fr); + } +} + +:host > * { + display: block; +} \ No newline at end of file diff --git a/website/src/app/modules/_core/column-layout/column-layout.component.html b/website/src/app/modules/_core/column-layout/column-layout.component.html new file mode 100644 index 00000000..95a0b70b --- /dev/null +++ b/website/src/app/modules/_core/column-layout/column-layout.component.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/website/src/app/modules/_core/column-layout/column-layout.component.spec.ts b/website/src/app/modules/_core/column-layout/column-layout.component.spec.ts new file mode 100644 index 00000000..e663a44b --- /dev/null +++ b/website/src/app/modules/_core/column-layout/column-layout.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ColumnLayoutComponent } from './column-layout.component'; + +describe('ColumnLayoutComponent', () => { + let component: ColumnLayoutComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ColumnLayoutComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(ColumnLayoutComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/column-layout/column-layout.component.ts b/website/src/app/modules/_core/column-layout/column-layout.component.ts new file mode 100644 index 00000000..0c20a83a --- /dev/null +++ b/website/src/app/modules/_core/column-layout/column-layout.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-column-layout', + templateUrl: './column-layout.component.html', + styleUrls: ['./column-layout.component.css'], +}) +export class ColumnLayoutComponent implements OnInit { + constructor() {} + + ngOnInit(): void {} +} diff --git a/website/src/app/modules/_core/core.module.ts b/website/src/app/modules/_core/core.module.ts new file mode 100644 index 00000000..a83fe703 --- /dev/null +++ b/website/src/app/modules/_core/core.module.ts @@ -0,0 +1,54 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { BgContainerComponent } from './bg-container/bg-container.component'; +import { ColumnLayoutComponent } from './column-layout/column-layout.component'; +import { FullPageHeaderComponent } from './full-page-header/full-page-header.component'; +import { PageHeaderComponent } from './page-header/page-header.component'; +import { QuestionPanelComponent } from './question-panel/question-panel.component'; +import { SectionComponent } from './section/section.component'; +import { SubSectionComponent } from './sub-section/sub-section.component'; +import { MatDividerModule } from '@angular/material/divider'; +import { MatButtonToggleModule } from '@angular/material/button-toggle'; +import { MatButtonModule } from '@angular/material/button'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { BreakableStylesDirective } from './breakable-styles/breakable-styles.directive'; +import { SafePipe } from './safe-pipe/safe.pipe'; +import { IconModule } from '@visurel/iconify-angular'; + +export { SafePipe }; + +@NgModule({ + declarations: [ + BgContainerComponent, + ColumnLayoutComponent, + FullPageHeaderComponent, + PageHeaderComponent, + QuestionPanelComponent, + SectionComponent, + SubSectionComponent, + BreakableStylesDirective, + SafePipe, + ], + imports: [ + CommonModule, + MatDividerModule, + MatButtonToggleModule, + MatButtonModule, + MatDividerModule, + MatExpansionModule, + IconModule, + ], + exports: [ + MatButtonModule, + BgContainerComponent, + ColumnLayoutComponent, + FullPageHeaderComponent, + PageHeaderComponent, + QuestionPanelComponent, + SectionComponent, + SubSectionComponent, + BreakableStylesDirective, + SafePipe, + ], +}) +export class CoreModule {} diff --git a/website/src/app/modules/_core/full-page-header/_full-page-header.component-theme.scss b/website/src/app/modules/_core/full-page-header/_full-page-header.component-theme.scss new file mode 100644 index 00000000..2acd6f75 --- /dev/null +++ b/website/src/app/modules/_core/full-page-header/_full-page-header.component-theme.scss @@ -0,0 +1,60 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin styles($color, $contrast-color) { + &.app-full-page-header.bg { + --background-color: #{$color}; + background-color: var(--background-color); + } + + &.app-full-page-header.scroll-icon { + color: $contrast-color; + } +} + +@mixin palette-styles($palette) { + @include styles(mat.get-color-from-palette($palette, 500), mat.get-color-from-palette($palette, 500-contrast)) +} + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + $warn: map.get($config, warn); + $background: map.get($config, background); + $foreground: map.get($config, foreground); + + .blank { + @include styles( + mat.get-color-from-palette($background, background), + mat.get-color-from-palette($foreground, text) + ); + } + + .primary { + @include palette-styles($primary); + } + + .accent { + @include palette-styles($accent); + } + + .warn { + @include palette-styles($warn); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/_core/full-page-header/full-page-header.component.css b/website/src/app/modules/_core/full-page-header/full-page-header.component.css new file mode 100644 index 00000000..5d8d6d70 --- /dev/null +++ b/website/src/app/modules/_core/full-page-header/full-page-header.component.css @@ -0,0 +1,26 @@ +.bg { + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + box-sizing: border-box; + min-height: calc(100vh - var(--site-header-height)); /* Accounting for header */ + padding: var(--content-padding); + background-size: cover; + background-position: center; +} + +.content { + display: block; + margin-left: auto; + margin-right: auto; + width: var(--content-width); +} + +.scroll-button { + position: absolute; + left: calc(50% - 21px); + bottom: 10%; + filter: drop-shadow(0 0 1rem black); +} \ No newline at end of file diff --git a/website/src/app/modules/_core/full-page-header/full-page-header.component.html b/website/src/app/modules/_core/full-page-header/full-page-header.component.html new file mode 100644 index 00000000..36e6c047 --- /dev/null +++ b/website/src/app/modules/_core/full-page-header/full-page-header.component.html @@ -0,0 +1,21 @@ +
+
+ +
+ +
+
\ No newline at end of file diff --git a/website/src/app/modules/_core/full-page-header/full-page-header.component.spec.ts b/website/src/app/modules/_core/full-page-header/full-page-header.component.spec.ts new file mode 100644 index 00000000..08f93066 --- /dev/null +++ b/website/src/app/modules/_core/full-page-header/full-page-header.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FullPageHeaderComponent } from './full-page-header.component'; + +describe('FullPageHeaderComponent', () => { + let component: FullPageHeaderComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [FullPageHeaderComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(FullPageHeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/full-page-header/full-page-header.component.ts b/website/src/app/modules/_core/full-page-header/full-page-header.component.ts new file mode 100644 index 00000000..96b980f0 --- /dev/null +++ b/website/src/app/modules/_core/full-page-header/full-page-header.component.ts @@ -0,0 +1,28 @@ +import { Component, Input, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-full-page-header', + templateUrl: './full-page-header.component.html', + styleUrls: ['./full-page-header.component.css'], +}) +export class FullPageHeaderComponent implements OnInit { + @Input() bgImage: string = ''; + @Input() color: string = 'primary'; + @Input() gradient: string = ''; + @Input() bgRepeatMode: string = ''; + @Input() bgPosition: string = ''; + + constructor() {} + + ngOnInit(): void {} + + getBgStyle(): Object { + let gradient = this.gradient; + if (gradient == '') gradient = 'var(--background-color), #00000000'; + return { + 'background-image': 'linear-gradient(to bottom, ' + gradient + '), url(' + this.bgImage + ')', + ...(this.bgRepeatMode !== '' && { 'background-repeat': this.bgRepeatMode, 'background-size': 'auto' }), + ...(this.bgPosition !== '' && { 'background-position': this.bgPosition }), + }; + } +} diff --git a/website/src/app/modules/_core/page-header/_page-header.component-theme.scss b/website/src/app/modules/_core/page-header/_page-header.component-theme.scss new file mode 100644 index 00000000..8f33f25a --- /dev/null +++ b/website/src/app/modules/_core/page-header/_page-header.component-theme.scss @@ -0,0 +1,59 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin styles($background, $color) { + &.app-page-header.bg { + background-color: $background; + color: $color; + } +} + +@mixin palette-styles($palette) { + @include styles( + mat.get-color-from-palette($palette, 500), + mat.get-color-from-palette($palette, 500-contrast) + ) +} + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + $warn: map.get($config, warn); + $foreground: map.get($config, foreground); + $background: map.get($config, background); + + .blank { + @include styles( + mat.get-color-from-palette($background, background), + mat.get-color-from-palette($foreground, text) + ); + } + + .primary { + @include palette-styles($primary); + } + + .accent { + @include palette-styles($accent); + } + + .warn { + @include palette-styles($warn); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/_core/page-header/page-header.component.css b/website/src/app/modules/_core/page-header/page-header.component.css new file mode 100644 index 00000000..e606ee3a --- /dev/null +++ b/website/src/app/modules/_core/page-header/page-header.component.css @@ -0,0 +1,13 @@ +:host { + overflow: visible; +} + +.bg { + padding: var(--content-padding); +} + +.content { + display: block; + margin: auto; + max-width: var(--content-width); +} \ No newline at end of file diff --git a/website/src/app/modules/_core/page-header/page-header.component.html b/website/src/app/modules/_core/page-header/page-header.component.html new file mode 100644 index 00000000..b2f0588f --- /dev/null +++ b/website/src/app/modules/_core/page-header/page-header.component.html @@ -0,0 +1,6 @@ +
+
+

{{title}}

+ +
+
\ No newline at end of file diff --git a/website/src/app/modules/_core/page-header/page-header.component.spec.ts b/website/src/app/modules/_core/page-header/page-header.component.spec.ts new file mode 100644 index 00000000..44bb66f5 --- /dev/null +++ b/website/src/app/modules/_core/page-header/page-header.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PageHeaderComponent } from './page-header.component'; + +describe('PageHeaderComponent', () => { + let component: PageHeaderComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [PageHeaderComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(PageHeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/page-header/page-header.component.ts b/website/src/app/modules/_core/page-header/page-header.component.ts new file mode 100644 index 00000000..484d198b --- /dev/null +++ b/website/src/app/modules/_core/page-header/page-header.component.ts @@ -0,0 +1,15 @@ +import { Component, Input, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-page-header', + templateUrl: './page-header.component.html', + styleUrls: ['./page-header.component.css'], +}) +export class PageHeaderComponent implements OnInit { + @Input() title: string = ''; + @Input() color: string = 'primary'; + + constructor() {} + + ngOnInit(): void {} +} diff --git a/website/src/app/modules/_core/question-panel/question-panel.component.css b/website/src/app/modules/_core/question-panel/question-panel.component.css new file mode 100644 index 00000000..13efbd00 --- /dev/null +++ b/website/src/app/modules/_core/question-panel/question-panel.component.css @@ -0,0 +1,25 @@ +.header { + height: fit-content; +} + +.title { + margin-top: 1em; + margin-bottom: 1em; + display: flex; + align-items: center; + justify-content: left; +} + +.expansion-panel { + border-radius: inherit !important; +} + +:host:first-of-type { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} + +:host:last-of-type { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; +} \ No newline at end of file diff --git a/website/src/app/modules/_core/question-panel/question-panel.component.html b/website/src/app/modules/_core/question-panel/question-panel.component.html new file mode 100644 index 00000000..5704856c --- /dev/null +++ b/website/src/app/modules/_core/question-panel/question-panel.component.html @@ -0,0 +1,9 @@ + + + + + {{title}} + + + + \ No newline at end of file diff --git a/website/src/app/modules/_core/question-panel/question-panel.component.spec.ts b/website/src/app/modules/_core/question-panel/question-panel.component.spec.ts new file mode 100644 index 00000000..9f414806 --- /dev/null +++ b/website/src/app/modules/_core/question-panel/question-panel.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { QuestionPanelComponent } from './question-panel.component'; + +describe('QuestionPanelComponent', () => { + let component: QuestionPanelComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [QuestionPanelComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(QuestionPanelComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/question-panel/question-panel.component.ts b/website/src/app/modules/_core/question-panel/question-panel.component.ts new file mode 100644 index 00000000..89148e1c --- /dev/null +++ b/website/src/app/modules/_core/question-panel/question-panel.component.ts @@ -0,0 +1,16 @@ +import { Component, HostBinding, Input, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-question-panel', + templateUrl: './question-panel.component.html', + styleUrls: ['./question-panel.component.css'], +}) +export class QuestionPanelComponent implements OnInit { + constructor() {} + + @HostBinding('class.mat-expansion-panel') isExpansionPanel: any; + @Input() iconifyIcon: string = ''; + @Input() title: string = ''; + + ngOnInit(): void {} +} diff --git a/website/src/app/modules/_core/safe-pipe/safe.pipe.spec.ts b/website/src/app/modules/_core/safe-pipe/safe.pipe.spec.ts new file mode 100644 index 00000000..d1e38f77 --- /dev/null +++ b/website/src/app/modules/_core/safe-pipe/safe.pipe.spec.ts @@ -0,0 +1,8 @@ +import { SafePipe } from './safe.pipe'; + +describe('SafePipe', () => { + // it('create an instance', () => { + // const pipe = new SafePipe(); + // expect(pipe).toBeTruthy(); + // }); +}); diff --git a/website/src/app/modules/_core/safe-pipe/safe.pipe.ts b/website/src/app/modules/_core/safe-pipe/safe.pipe.ts new file mode 100644 index 00000000..caa501b3 --- /dev/null +++ b/website/src/app/modules/_core/safe-pipe/safe.pipe.ts @@ -0,0 +1,50 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser'; + +export const SafePipeType = { + Html: 'html', + Style: 'style', + Script: 'script', + Url: 'url', + ResourceUrl: 'resourceUrl', +} as const; +export type SafePipeType = typeof SafePipeType[keyof typeof SafePipeType]; + +/** + * Sanitize HTML + */ +@Pipe({ + name: 'safe', +}) +export class SafePipe implements PipeTransform { + /** + * Pipe Constructor + * + * @param _sanitizer: DomSanitezer + */ + // tslint:disable-next-line + constructor(protected _sanitizer: DomSanitizer) {} + + /** + * Transform + * + * @param value: string + * @param type: string + */ + transform(value: string, type: SafePipeType): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl { + switch (type) { + case SafePipeType.Html: + return this._sanitizer.bypassSecurityTrustHtml(value); + case SafePipeType.Style: + return this._sanitizer.bypassSecurityTrustStyle(value); + case SafePipeType.Script: + return this._sanitizer.bypassSecurityTrustScript(value); + case SafePipeType.Url: + return this._sanitizer.bypassSecurityTrustUrl(value); + case SafePipeType.ResourceUrl: + return this._sanitizer.bypassSecurityTrustResourceUrl(value); + default: + return this._sanitizer.bypassSecurityTrustHtml(value); + } + } +} diff --git a/website/src/app/modules/_core/section/_section.component-theme.scss b/website/src/app/modules/_core/section/_section.component-theme.scss new file mode 100644 index 00000000..def542a1 --- /dev/null +++ b/website/src/app/modules/_core/section/_section.component-theme.scss @@ -0,0 +1,92 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin styles($background, $color) { + &.app-section.bg { + --background-color: #{$background}; + --transparent-background-color: #{rgba($background, 0.7)}; + background-color: var(--background-color); + color: $color; + } +} + +@mixin level-palette-styles($palette, $level) { + @include styles( + mat.get-color-from-palette($palette, $level), + mat.get-color-from-palette($palette, #{$level}-contrast) + ) +} + +@mixin palette-styles($palette) { + @include level-palette-styles($palette, 500); +} + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + $warn: map.get($config, warn); + $background: map.get($config, background); + $foreground: map.get($config, foreground); + $foreground-accent: map.get($config, foreground-accent); + + .blank { + @include styles( + mat.get-color-from-palette($background, background), + mat.get-color-from-palette($foreground, text) + ) + } + + $levels: (50, 100, 200, 300, 400, 500, 600, 700, 800, 900); + + @each $level in $levels { + .primary-#{$level} { + @include level-palette-styles($primary, $level); + } + + .accent-#{$level} { + @include level-palette-styles($accent, $level); + } + + .foreground-accent-#{$level} { + @include level-palette-styles($foreground-accent, $level); + } + + .warn-#{$level} { + @include level-palette-styles($warn, $level); + } + } + + .primary { + @include palette-styles($primary) + } + + .accent { + @include palette-styles($accent) + } + + .foreground-accent { + @include palette-styles($foreground-accent); + } + + .warn { + @include palette-styles($warn) + } +} + +@mixin typography($config) { + .app-section.bg { + font-family: mat.font-family($config); + } +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/_core/section/section.component.css b/website/src/app/modules/_core/section/section.component.css new file mode 100644 index 00000000..9c0ed071 --- /dev/null +++ b/website/src/app/modules/_core/section/section.component.css @@ -0,0 +1,56 @@ +:host { + display: block; + overflow: hidden; +} + +.main-bg { + height: 100%; + position: relative; + display: -webkit-box; + display: -webkit-flex; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -webkit-align-items: center; + -ms-flex-align: center; + align-items: center; + box-sizing: border-box; + padding: var(--content-padding); + padding-top: var(--dog-ear-padding); + padding-bottom: var(--dog-ear-padding); + background-size: cover; + background-position: center; +} + +.dog-ear { + border-top-left-radius: var(--dog-ear); +} + +.full-page { + min-height: 100vh; +} + +.main-bg.full-width { + display: flex; + align-items: center; + justify-content: center; +} + +.main-bg.full-width .content { + width: 100%; +} + +div.last { + height: 0px; +} + +.bottom { + position: absolute; + height: 128px; + width: 100%; +} + +.content { + margin: auto; + max-width: var(--content-width); +} \ No newline at end of file diff --git a/website/src/app/modules/_core/section/section.component.html b/website/src/app/modules/_core/section/section.component.html new file mode 100644 index 00000000..df3201d5 --- /dev/null +++ b/website/src/app/modules/_core/section/section.component.html @@ -0,0 +1,7 @@ +
+
+

{{title}}

+ +
+
+
\ No newline at end of file diff --git a/website/src/app/modules/_core/section/section.component.spec.ts b/website/src/app/modules/_core/section/section.component.spec.ts new file mode 100644 index 00000000..10660275 --- /dev/null +++ b/website/src/app/modules/_core/section/section.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SectionComponent } from './section.component'; + +describe('SectionComponent', () => { + let component: SectionComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SectionComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SectionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/section/section.component.ts b/website/src/app/modules/_core/section/section.component.ts new file mode 100644 index 00000000..345ae27d --- /dev/null +++ b/website/src/app/modules/_core/section/section.component.ts @@ -0,0 +1,55 @@ +import { Component, OnInit, Input, Attribute, Optional, ElementRef } from '@angular/core'; + +@Component({ + selector: 'app-section', + templateUrl: './section.component.html', + styleUrls: ['./section.component.css'], +}) +export class SectionComponent implements OnInit { + @Input() title: string = ''; + @Input() color: string = 'blank'; + @Input() bgImage: string = ''; + @Input() bgRepeatMode: string = ''; + @Input() bgPosition: string = ''; + + last: boolean; + dogEar: boolean; + fullPage: boolean; + fullWidth: boolean; + shadow: boolean; + + constructor( + private elementRef: ElementRef, + @Optional() @Attribute('last') last: any, + @Optional() @Attribute('dog-ear') dogEar: any, + @Optional() @Attribute('full-page') fullPage: any, + @Optional() @Attribute('full-width') fullWidth: any, + @Optional() @Attribute('shadow') shadow: any, + ) { + this.last = last != undefined; + this.dogEar = dogEar != undefined; + this.fullPage = fullPage != undefined; + this.fullWidth = fullWidth != undefined; + this.shadow = shadow != undefined; + } + + ngOnInit(): void { + // Avoids race condition of last being added after construction (ie. when using ngIf, etc.). + this.last = this.elementRef.nativeElement.hasAttribute('last'); + this.dogEar = this.elementRef.nativeElement.hasAttribute('dog-ear'); + this.fullPage = this.elementRef.nativeElement.hasAttribute('full-page'); + this.fullWidth = this.elementRef.nativeElement.hasAttribute('full-width'); + this.shadow = this.elementRef.nativeElement.hasAttribute('shadow'); + } + + //transparent-background-color + getBgStyle(): Object { + return { + ...(this.bgImage && { + 'background-image': 'linear-gradient(var(--background-color), #00000000), url(' + this.bgImage + ')', + }), + ...(this.bgRepeatMode !== '' && { 'background-repeat': this.bgRepeatMode, 'background-size': 'auto' }), + ...(this.bgPosition !== '' && { 'background-position': this.bgPosition }), + }; + } +} diff --git a/website/src/app/modules/_core/sub-section/sub-section.component.css b/website/src/app/modules/_core/sub-section/sub-section.component.css new file mode 100644 index 00000000..3866e6e3 --- /dev/null +++ b/website/src/app/modules/_core/sub-section/sub-section.component.css @@ -0,0 +1,7 @@ +:host > div { + margin-bottom: 4em; +} + +:host > div.last { + margin-bottom: 0em; +} \ No newline at end of file diff --git a/website/src/app/modules/_core/sub-section/sub-section.component.html b/website/src/app/modules/_core/sub-section/sub-section.component.html new file mode 100644 index 00000000..af83eb72 --- /dev/null +++ b/website/src/app/modules/_core/sub-section/sub-section.component.html @@ -0,0 +1,5 @@ +
+ + + +
\ No newline at end of file diff --git a/website/src/app/modules/_core/sub-section/sub-section.component.spec.ts b/website/src/app/modules/_core/sub-section/sub-section.component.spec.ts new file mode 100644 index 00000000..4461e264 --- /dev/null +++ b/website/src/app/modules/_core/sub-section/sub-section.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SubSectionComponent } from './sub-section.component'; + +describe('SubSectionComponent', () => { + let component: SubSectionComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SubSectionComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SubSectionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/_core/sub-section/sub-section.component.ts b/website/src/app/modules/_core/sub-section/sub-section.component.ts new file mode 100644 index 00000000..95524379 --- /dev/null +++ b/website/src/app/modules/_core/sub-section/sub-section.component.ts @@ -0,0 +1,19 @@ +import { Attribute, Component, ElementRef, OnInit, Optional } from '@angular/core'; + +@Component({ + selector: 'app-sub-section', + templateUrl: './sub-section.component.html', + styleUrls: ['./sub-section.component.css'], +}) +export class SubSectionComponent implements OnInit { + last: boolean; + + constructor(private elementRef: ElementRef, @Optional() @Attribute('last') lastAttr: any) { + this.last = lastAttr != undefined; + } + + ngOnInit(): void { + // Avoids race condition of last being added after construction (ie. when using ngIf, etc.). + this.last = this.elementRef.nativeElement.hasAttribute('last'); + } +} diff --git a/website/src/app/modules/site-menus/_site-menus.scss b/website/src/app/modules/site-menus/_site-menus.scss new file mode 100644 index 00000000..be077b26 --- /dev/null +++ b/website/src/app/modules/site-menus/_site-menus.scss @@ -0,0 +1,8 @@ + +@use './site-footer/site-footer' as site-footer; +@use './site-header/site-header' as site-header; + +@mixin theme($theme) { + @include site-footer.theme($theme); + @include site-header.theme($theme); +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-footer/_site-footer.scss b/website/src/app/modules/site-menus/site-footer/_site-footer.scss new file mode 100644 index 00000000..6e70b6d0 --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/_site-footer.scss @@ -0,0 +1,5 @@ +@use './site-footer/site-footer.component-theme' as site-footer; + +@mixin theme($theme) { + @include site-footer.theme($theme); +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-footer/site-footer.module.ts b/website/src/app/modules/site-menus/site-footer/site-footer.module.ts new file mode 100644 index 00000000..b1ba1e3f --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/site-footer.module.ts @@ -0,0 +1,18 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { SiteFooterComponent } from './site-footer/site-footer.component'; + + + +@NgModule({ + declarations: [ + SiteFooterComponent + ], + imports: [ + CommonModule + ], + exports: [ + SiteFooterComponent + ] +}) +export class SiteFooterModule { } diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/_site-footer.component-theme.scss b/website/src/app/modules/site-menus/site-footer/site-footer/_site-footer.component-theme.scss new file mode 100644 index 00000000..03482ae8 --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/site-footer/_site-footer.component-theme.scss @@ -0,0 +1,28 @@ +@use 'sass:map'; +@use 'sass:color'; +@use '@angular/material' as mat; + +@mixin color($config) { + $accent: map.get($config, accent); + + .app-site-footer.bg { + background-color: mat.get-color-from-palette($accent, 800); + color: mat.get-color-from-palette($accent, 400); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.css b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.css new file mode 100644 index 00000000..f73da5c8 --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.css @@ -0,0 +1,23 @@ +:host { + flex: 0 1 auto; + position: relative; +} + +.bg { + align-items: center; + width: 100%; + height: fit-content; + padding-top: 20px; + padding-bottom: 20px; + box-shadow: 0px 0px 32px 0px rgba(0,0,0,127); +} + +.content { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + margin: auto; + height: 100%; + width: 80%; +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.html b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.html new file mode 100644 index 00000000..7c0927c2 --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.html @@ -0,0 +1,5 @@ + \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.scss b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.spec.ts b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.spec.ts new file mode 100644 index 00000000..3ce374c6 --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SiteFooterComponent } from './site-footer.component'; + +describe('SiteFooterComponent', () => { + let component: SiteFooterComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SiteFooterComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SiteFooterComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts new file mode 100644 index 00000000..ea3d2ffd --- /dev/null +++ b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts @@ -0,0 +1,12 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-site-footer', + templateUrl: './site-footer.component.html', + styleUrls: ['./site-footer.component.css'], +}) +export class SiteFooterComponent implements OnInit { + constructor() {} + + ngOnInit(): void {} +} diff --git a/website/src/app/modules/site-menus/site-header/_site-header.scss b/website/src/app/modules/site-menus/site-header/_site-header.scss new file mode 100644 index 00000000..a52514d6 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/_site-header.scss @@ -0,0 +1,13 @@ +@use './logo-text-button/logo-text-button.component-theme' as logo-button; +@use './hamburger-menu/hamburger-menu.component-theme' as hamburger-menu; +@use './horizontal-menu/horizontal-menu.component-theme' as horz-menu; +@use './dark-mode-toggle/dark-mode-toggle.component-theme' as dark-mode-toggle; +@use './text-button/text-button.component-theme' as text-button; + +@mixin theme($theme) { + @include text-button.theme($theme); + @include logo-button.theme($theme); + @include hamburger-menu.theme($theme); + @include horz-menu.theme($theme); + @include dark-mode-toggle.theme($theme); +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/dark-mode-toggle/_dark-mode-toggle.component-theme.scss b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/_dark-mode-toggle.component-theme.scss new file mode 100644 index 00000000..1289a8fb --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/_dark-mode-toggle.component-theme.scss @@ -0,0 +1,26 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin color($config) { + $primary: map.get($config, primary); + + .app-dark-mode-toggle.icon { + color: mat.get-color-from-palette($primary, 500-contrast); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.css b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.css new file mode 100644 index 00000000..5261505c --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.css @@ -0,0 +1,5 @@ +:host { + display: flex; + align-items: center; + justify-content: center; +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.html b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.html new file mode 100644 index 00000000..b2bb2f14 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.html @@ -0,0 +1,4 @@ + +bedtime \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.spec.ts b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.spec.ts new file mode 100644 index 00000000..e97d99d2 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DarkModeToggleComponent } from './dark-mode-toggle.component'; + +describe('DarkModeToggleComponent', () => { + let component: DarkModeToggleComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [DarkModeToggleComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(DarkModeToggleComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.ts b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.ts new file mode 100644 index 00000000..a7bcfc57 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/dark-mode-toggle/dark-mode-toggle.component.ts @@ -0,0 +1,24 @@ +import { OverlayContainer } from '@angular/cdk/overlay'; +import { Component, HostBinding, OnInit } from '@angular/core'; +import { MatSlideToggleChange } from '@angular/material/slide-toggle'; +import { ThemeManagerService } from '@app/services/theme-manager.service'; + +@Component({ + selector: 'app-dark-mode-toggle', + templateUrl: './dark-mode-toggle.component.html', + styleUrls: ['./dark-mode-toggle.component.css'], +}) +export class DarkModeToggleComponent implements OnInit { + constructor(private themeManager: ThemeManagerService) { + this.isDark = this.themeManager.currentTheme == 'dark'; + } + + isDark: boolean = false; + + ngOnInit(): void {} + + onChange($event: MatSlideToggleChange) { + this.isDark = $event.checked; + this.themeManager.currentTheme = this.isDark ? 'dark' : 'light'; + } +} diff --git a/website/src/app/modules/site-menus/site-header/hamburger-menu/_hamburger-menu.component-theme.scss b/website/src/app/modules/site-menus/site-header/hamburger-menu/_hamburger-menu.component-theme.scss new file mode 100644 index 00000000..30e50079 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/hamburger-menu/_hamburger-menu.component-theme.scss @@ -0,0 +1,35 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + + .app-hamburger-menu.bg { + background-color: mat.get-color-from-palette($primary, 500); + } + + .app-hamburger-menu.hamburger-icon { + color: mat.get-color-from-palette($primary, 500-contrast); + } + + .app-hamburger-menu.dropdown-bg { + background-color: mat.get-color-from-palette($accent, 700); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css new file mode 100644 index 00000000..85ed8816 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css @@ -0,0 +1,48 @@ +.bg { + z-index: 200; + width: 100%; + height: 100%; +} + +.content { + display: flex; + align-items: center; + justify-content: left; + margin: auto; + height: 100%; + padding-left: 20px; +} + +.dropdown-bg { + position: fixed; + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; + z-index: 10; +} + +.dropdown-content { + align-items: left; + justify-content: top; + flex-direction: column; + width: 100%; + padding-left: 20px; + margin-top: 4.5em; + margin-left: auto; + margin-right: auto; +} + +.content > * { + padding-right: 20px; +} + +app-cogs-logo-text-button { + z-index: 10; +} + +.hamburger-icon { + position: relative; + top: -2px; + z-index: 10; +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.html b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.html new file mode 100644 index 00000000..7051fcf3 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.html @@ -0,0 +1,31 @@ +
+
+ + +
+ +
+ +
+
\ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.spec.ts b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.spec.ts new file mode 100644 index 00000000..71831bb9 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HamburgerMenuComponent } from './hamburger-menu.component'; + +describe('HamburgerMenuComponent', () => { + let component: HamburgerMenuComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [HamburgerMenuComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(HamburgerMenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.ts b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.ts new file mode 100644 index 00000000..1fde565d --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.ts @@ -0,0 +1,46 @@ +import { animate, query, stagger, state, style, transition, trigger, group } from '@angular/animations'; +import { Component, Input } from '@angular/core'; +import { PageLink } from '@src/app/classes/pagelink'; + +@Component({ + selector: 'app-hamburger-menu', + templateUrl: './hamburger-menu.component.html', + styleUrls: ['./hamburger-menu.component.css'], + animations: [ + trigger('openClose', [ + // ... + state( + 'open', + style({ + opacity: 1, + }), + ), + state( + 'closed', + style({ + opacity: 0, + pointerEvents: 'none', + }), + ), + transition('open => closed', [animate('100ms ease-in')]), + transition('closed => open', [ + group([ + animate('200ms ease-out'), + query('.dropdown-content>*', [ + style({ opacity: 0, transform: 'translateX(-100px)' }), + stagger(10, [animate('500ms cubic-bezier(0.35, 0, 0.25, 1)', style({ opacity: 1, transform: 'none' }))]), + ]), + ]), + ]), + ]), + ], +}) +export class HamburgerMenuComponent { + @Input() pageLinks: PageLink[] = []; + + expanded: boolean = false; + + get openCloseTrigger() { + return this.expanded ? 'open' : 'closed'; + } +} diff --git a/website/src/app/modules/site-menus/site-header/horizontal-menu/_horizontal-menu.component-theme.scss b/website/src/app/modules/site-menus/site-header/horizontal-menu/_horizontal-menu.component-theme.scss new file mode 100644 index 00000000..d0942917 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/horizontal-menu/_horizontal-menu.component-theme.scss @@ -0,0 +1,28 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + + .app-horizontal-menu.bg { + background-color: mat.get-color-from-palette($primary, 500); + outline: solid 1px mat.get-color-from-palette($primary, 500); + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.css b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.css new file mode 100644 index 00000000..23bd44d0 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.css @@ -0,0 +1,26 @@ +.bg { + align-items: center; + width: 100%; + height: 100%; +} + +.content { + display: flex; + align-items: center; + justify-content: left; + margin: auto; + height: 100%; + width: var(--main-width); +} + +.content > * { + padding-right: 1.25em; +} + +.cogs-title { + float: left; + margin-top: auto; + margin-bottom: auto; + height: 100%; + vertical-align: middle; +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.html b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.html new file mode 100644 index 00000000..ed1e04eb --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.html @@ -0,0 +1,24 @@ +
+
+
+
+ + {{pageLink.name}} +
+ +
+ +
+
\ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.spec.ts b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.spec.ts new file mode 100644 index 00000000..ae815769 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HorizontalMenuComponent } from './horizontal-menu.component'; + +describe('HorizontalMenuComponent', () => { + let component: HorizontalMenuComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [HorizontalMenuComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(HorizontalMenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.ts b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.ts new file mode 100644 index 00000000..b3a0e500 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/horizontal-menu/horizontal-menu.component.ts @@ -0,0 +1,15 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { PageLink } from '@src/app/classes/pagelink'; + +@Component({ + selector: 'app-horizontal-menu', + templateUrl: './horizontal-menu.component.html', + styleUrls: ['./horizontal-menu.component.css'], +}) +export class HorizontalMenuComponent implements OnInit { + @Input() pageLinks: PageLink[] = []; + + constructor() {} + + ngOnInit(): void {} +} diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/_logo-text-button.component-theme.scss b/website/src/app/modules/site-menus/site-header/logo-text-button/_logo-text-button.component-theme.scss new file mode 100644 index 00000000..6da78a30 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/_logo-text-button.component-theme.scss @@ -0,0 +1,67 @@ +@use 'sass:map'; +@use 'sass:color'; +@use '@angular/material' as mat; +@use 'styles/variables' as variables; + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + + .app-logo-text-button.button { + color: mat.get-color-from-palette($primary, 500-contrast); + + &:hover { + color: darken(mat.get-color-from-palette($primary, 500-contrast), 20%); + cursor: pointer; + transition: 0.1s; + } + + &:active { + color: darken(mat.get-color-from-palette($primary, 500-contrast), 30%); + } + } + + .app-logo-text-button.button { + font-size: 1em; + } + + // Technicaly recoloration of icon doesn't work right now + // because we have to use a element to recolor + // + // See https://css-tricks.com/change-color-of-svg-on-hover/ + .app-logo-text-button.icon { + height: 2.5em; + & * { + fill: mat.get-color-from-palette($accent, 500); + } + + &.hover { + & * { + fill: darken(mat.get-color-from-palette($accent, 500), 10%); + transition: 0.1s; + } + } + + &.active { + & * { + fill: darken(mat.get-color-from-palette($accent, 500), 20%); + } + } + } +} + +@mixin typography($config) { + +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css new file mode 100644 index 00000000..fcf7b716 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css @@ -0,0 +1,27 @@ +:host { + background-color: transparent; +} + +.icon { + float: left; + margin-right: 6px; +} + +.button { + position: relative; + display: flex; + flex: row; + justify-content: left; + background-color: transparent; + border: 0px; + align-items: center; +} + +.button > * { + pointer-events: none; +} + +.logo-title { + margin-top: auto; + margin-bottom: auto; +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html new file mode 100644 index 00000000..96209bf8 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html @@ -0,0 +1,24 @@ + \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.spec.ts b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.spec.ts new file mode 100644 index 00000000..96271a06 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { LogoTextButtonComponent } from './logo-text-button.component'; + +describe('LogoTextButtonComponent', () => { + let component: LogoTextButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [LogoTextButtonComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(LogoTextButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.ts b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.ts new file mode 100644 index 00000000..57e7438f --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.ts @@ -0,0 +1,20 @@ +import { Component, OnInit } from '@angular/core'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-logo-text-button', + templateUrl: './logo-text-button.component.html', + styleUrls: ['./logo-text-button.component.css'], +}) +export class LogoTextButtonComponent implements OnInit { + hover: boolean = false; + active: boolean = false; + + constructor(private router: Router) {} + + ngOnInit(): void {} + + onClick() { + this.router.navigateByUrl('home'); + } +} diff --git a/website/src/app/modules/site-menus/site-header/site-header.module.ts b/website/src/app/modules/site-menus/site-header/site-header.module.ts new file mode 100644 index 00000000..6ddcb1aa --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/site-header.module.ts @@ -0,0 +1,32 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { SiteHeaderComponent } from './site-header/site-header.component'; +import { DarkModeToggleComponent } from './dark-mode-toggle/dark-mode-toggle.component'; +import { HamburgerMenuComponent } from './hamburger-menu/hamburger-menu.component'; +import { HorizontalMenuComponent } from './horizontal-menu/horizontal-menu.component'; +import { LogoTextButtonComponent } from './logo-text-button/logo-text-button.component'; +import { TextButtonComponent } from './text-button/text-button.component'; +import { MatSlideToggleModule } from '@angular/material/slide-toggle'; +import { MatIconModule } from '@angular/material/icon'; + + + +@NgModule({ + declarations: [ + SiteHeaderComponent, + DarkModeToggleComponent, + HamburgerMenuComponent, + HorizontalMenuComponent, + LogoTextButtonComponent, + TextButtonComponent + ], + imports: [ + CommonModule, + MatSlideToggleModule, + MatIconModule, + ], + exports: [ + SiteHeaderComponent + ] +}) +export class SiteHeaderModule { } diff --git a/website/src/app/modules/site-menus/site-header/site-header/site-header.component.css b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.css new file mode 100644 index 00000000..f436b9f8 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.css @@ -0,0 +1,19 @@ +:host { + height: var(--site-header-height); + position: fixed; + top: 0px; + width: 100%; + z-index: 100; + flex: 0 1 auto; +} + +.container { + width: 100%; + height: 100%; + transition: 0.3s; +} + +.detached { + transition: 0.3s; + box-shadow: 0px 0px 32px 0px rgba(0,0,0,127); +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/site-header/site-header.component.html b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.html new file mode 100644 index 00000000..bf64b656 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.html @@ -0,0 +1,4 @@ +
+ + +
\ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/site-header/site-header.component.spec.ts b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.spec.ts new file mode 100644 index 00000000..8a62e244 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SiteHeaderComponent } from './site-header.component'; + +describe('SiteHeaderComponent', () => { + let component: SiteHeaderComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SiteHeaderComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(SiteHeaderComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-header/site-header/site-header.component.ts b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.ts new file mode 100644 index 00000000..8f2ac334 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/site-header/site-header.component.ts @@ -0,0 +1,26 @@ +import { Component, HostListener, OnInit } from '@angular/core'; +import { BreakpointManagerService } from '@app/services/breakpoint-manager.service'; +import { SettingsService } from '@src/_settings'; + +@Component({ + selector: 'app-site-header', + templateUrl: './site-header.component.html', + styleUrls: ['./site-header.component.css'], +}) +export class SiteHeaderComponent implements OnInit { + scrolled: boolean = false; + + constructor(public breakpointManager: BreakpointManagerService, public settings: SettingsService) {} + + ngOnInit(): void {} + + @HostListener('window:scroll', ['$event']) // for window scroll events + onScroll() { + this.scrolled = window.pageYOffset != 0; + } + + readProperty(): string { + let bodyStyles = window.getComputedStyle(document.body); + return bodyStyles.getPropertyValue('--screen-type'); + } +} diff --git a/website/src/app/modules/site-menus/site-header/text-button/_text-button.component-theme.scss b/website/src/app/modules/site-menus/site-header/text-button/_text-button.component-theme.scss new file mode 100644 index 00000000..cc255e99 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/text-button/_text-button.component-theme.scss @@ -0,0 +1,61 @@ +@use 'sass:map'; +@use 'sass:color'; +@use '@angular/material' as mat; + +@mixin styles($color) { + &.app-text-button.button { + color: $color; + + &:hover { + color: darken($color, 20%); + transition: 0.2s; + cursor: pointer; + } + + &:active { + color: darken($color, 30%); + } + } +} + +@mixin palette-styles($palette) { + @include styles( + mat.get-color-from-palette($palette, 500-contrast) + ); +} + +@mixin color($config) { + $primary: map.get($config, primary); + $accent: map.get($config, accent); + $warn: map.get($config, warn); + + .primary { + @include palette-styles($primary); + } + + .accent { + @include palette-styles($accent); + } + + .warn { + @include palette-styles($warn); + } +} + +@mixin typography($config) { + .app-text-button.button { + @include mat.typography-level($config, button); + } +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/text-button/text-button.component.css b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.css new file mode 100644 index 00000000..a746367a --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.css @@ -0,0 +1,20 @@ +.button { + border: none; + background-color: transparent; + text-align: center; + text-decoration: none; + display: inline-block; + white-space: nowrap; + height: 2.5em; + font-size: 1.2em; + width: 100%; + display: flex; + align-items: center; + justify-content: center; + outline: 0px; +} + +.text { + margin: auto; + margin-left: 0px; +} \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/text-button/text-button.component.html b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.html new file mode 100644 index 00000000..b6f7b7c5 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.html @@ -0,0 +1,6 @@ + \ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-header/text-button/text-button.component.spec.ts b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.spec.ts new file mode 100644 index 00000000..2f4c88e4 --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { TextButtonComponent } from './text-button.component'; + +describe('TextButtonComponent', () => { + let component: TextButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [TextButtonComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(TextButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/modules/site-menus/site-header/text-button/text-button.component.ts b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.ts new file mode 100644 index 00000000..05b0921b --- /dev/null +++ b/website/src/app/modules/site-menus/site-header/text-button/text-button.component.ts @@ -0,0 +1,21 @@ +import { Component, EventEmitter, Input, Output } from '@angular/core'; +import { Router } from '@angular/router'; + +@Component({ + selector: 'app-text-button', + templateUrl: './text-button.component.html', + styleUrls: ['./text-button.component.css'], +}) +export class TextButtonComponent { + @Output() click = new EventEmitter(); + + @Input() link: string = ''; + @Input() color: string = 'primary'; + + constructor(private router: Router) {} + + onClick() { + if (this.link) this.router.navigateByUrl(this.link); + this.click.emit(); + } +} diff --git a/website/src/app/modules/site-menus/site-menus.module.ts b/website/src/app/modules/site-menus/site-menus.module.ts new file mode 100644 index 00000000..703bc69a --- /dev/null +++ b/website/src/app/modules/site-menus/site-menus.module.ts @@ -0,0 +1,11 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { SiteFooterModule } from './site-footer/site-footer.module'; +import { SiteHeaderModule } from './site-header/site-header.module'; + +@NgModule({ + declarations: [], + imports: [CommonModule, SiteHeaderModule, SiteFooterModule], + exports: [SiteHeaderModule, SiteFooterModule], +}) +export class SiteMenusModule {} diff --git a/website/src/app/pages/_pages.scss b/website/src/app/pages/_pages.scss new file mode 100644 index 00000000..fc428f8a --- /dev/null +++ b/website/src/app/pages/_pages.scss @@ -0,0 +1,5 @@ +@use './home/home-page' as home; + +@mixin theme($theme) { + @include home.theme($theme); +} \ No newline at end of file diff --git a/website/src/app/pages/home/_home-page.scss b/website/src/app/pages/home/_home-page.scss new file mode 100644 index 00000000..d79e0d91 --- /dev/null +++ b/website/src/app/pages/home/_home-page.scss @@ -0,0 +1,5 @@ +@use './home/home-page.component-theme' as home; + +@mixin theme($theme) { + @include home.theme($theme); +} \ No newline at end of file diff --git a/website/src/app/pages/home/home-page.module.ts b/website/src/app/pages/home/home-page.module.ts new file mode 100644 index 00000000..b90af30a --- /dev/null +++ b/website/src/app/pages/home/home-page.module.ts @@ -0,0 +1,14 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { MatExpansionModule } from '@angular/material/expansion'; +import { Route, RouterModule } from '@angular/router'; +import { CoreModule } from '@src/app/modules/_core/core.module'; +import { HomePageComponent } from './home/home-page.component'; + +const ROUTES: Route[] = [{ path: '**', component: HomePageComponent }]; + +@NgModule({ + declarations: [HomePageComponent], + imports: [RouterModule.forChild(ROUTES), CommonModule, CoreModule, MatExpansionModule], +}) +export class HomePageModule {} diff --git a/website/src/app/pages/home/home/_home-page.component-theme.scss b/website/src/app/pages/home/home/_home-page.component-theme.scss new file mode 100644 index 00000000..2dd33ad0 --- /dev/null +++ b/website/src/app/pages/home/home/_home-page.component-theme.scss @@ -0,0 +1,26 @@ +@use 'sass:map'; +@use 'sass:color'; +@use '@angular/material' as mat; + +@mixin color($config) { + $primary: map.get($config, primary); + + .app-home-page.header { + color: mat.get-color-from-palette($primary, 500-contrast) + } +} + +@mixin typography($config) { +} + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + @if $color-config != null { + @include color($color-config); + } + + $typography-config: mat.get-typography-config($theme); + @if $typography-config != null { + @include typography($typography-config); + } +} \ No newline at end of file diff --git a/website/src/app/pages/home/home/home-page.component.css b/website/src/app/pages/home/home/home-page.component.css new file mode 100644 index 00000000..e69de29b diff --git a/website/src/app/pages/home/home/home-page.component.html b/website/src/app/pages/home/home/home-page.component.html new file mode 100644 index 00000000..637fe54a --- /dev/null +++ b/website/src/app/pages/home/home/home-page.component.html @@ -0,0 +1,33 @@ + +

Godot unit testing
for GDScript and C#

+
+ + Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum + + + +
+

Let's meet up!

+

+ Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum +

+
+
+ Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum +
+
+
+ + + +

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum ipsum Lorem ipsum Lorem ipsum ipsum Lorem ipsum Lorem ipsum ipsum Lorem ipsum Lorem ipsum

+
+ +

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum

+
+ +

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum

+
+
+
+
\ No newline at end of file diff --git a/website/src/app/pages/home/home/home-page.component.spec.ts b/website/src/app/pages/home/home/home-page.component.spec.ts new file mode 100644 index 00000000..9c182166 --- /dev/null +++ b/website/src/app/pages/home/home/home-page.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomePageComponent } from './home-page.component'; + +describe('HomeComponent', () => { + let component: HomePageComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [HomePageComponent], + }).compileComponents(); + }); + + beforeEach(() => { + fixture = TestBed.createComponent(HomePageComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/website/src/app/pages/home/home/home-page.component.ts b/website/src/app/pages/home/home/home-page.component.ts new file mode 100644 index 00000000..bca42212 --- /dev/null +++ b/website/src/app/pages/home/home/home-page.component.ts @@ -0,0 +1,13 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-home-page', + templateUrl: './home-page.component.html', + styleUrls: ['./home-page.component.css'], + host: { + class: 'page', + }, +}) +export class HomePageComponent implements OnInit { + ngOnInit(): void {} +} diff --git a/website/src/app/pages/pages.module.ts b/website/src/app/pages/pages.module.ts new file mode 100644 index 00000000..3e324b95 --- /dev/null +++ b/website/src/app/pages/pages.module.ts @@ -0,0 +1,22 @@ +import { NgModule } from '@angular/core'; + +import { Route, RouterModule } from '@angular/router'; + +const routes: Route[] = [ + { path: 'home', loadChildren: () => import('./home/home-page.module').then((m) => m.HomePageModule) }, + + { path: '', redirectTo: '/home', pathMatch: 'full' }, + { path: '**', redirectTo: '/home', pathMatch: 'full' }, +]; + +@NgModule({ + declarations: [], + imports: [ + RouterModule.forRoot(routes, { + scrollPositionRestoration: 'enabled', + anchorScrolling: 'enabled', + }), + ], + exports: [RouterModule], +}) +export class PagesModule {} diff --git a/website/src/app/services/_services.module.ts b/website/src/app/services/_services.module.ts new file mode 100644 index 00000000..08b97195 --- /dev/null +++ b/website/src/app/services/_services.module.ts @@ -0,0 +1,19 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; + +import { MatDialogModule } from '@angular/material/dialog'; +import { MatSnackBarModule } from '@angular/material/snack-bar'; +import { BreakpointManagerService } from './breakpoint-manager.service'; +import { StyleManagerService } from './style-manager.service'; +import { ThemeManagerService } from './theme-manager.service'; + +export { BreakpointManagerService }; +export { StyleManagerService }; +export { ThemeManagerService }; + +@NgModule({ + declarations: [], + imports: [CommonModule, MatSnackBarModule, MatDialogModule], + providers: [], +}) +export class ServicesModule {} diff --git a/website/src/app/services/breakpoint-manager.service.spec.ts b/website/src/app/services/breakpoint-manager.service.spec.ts new file mode 100644 index 00000000..3036b98a --- /dev/null +++ b/website/src/app/services/breakpoint-manager.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { BreakpointManagerService } from './breakpoint-manager.service'; + +describe('BreakpointManagerService', () => { + let service: BreakpointManagerService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(BreakpointManagerService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/website/src/app/services/breakpoint-manager.service.ts b/website/src/app/services/breakpoint-manager.service.ts new file mode 100644 index 00000000..0804308c --- /dev/null +++ b/website/src/app/services/breakpoint-manager.service.ts @@ -0,0 +1,65 @@ +import { BreakpointObserver, BreakpointState } from '@angular/cdk/layout'; +import { Injectable, OnDestroy } from '@angular/core'; +import { Breakpoint, BreakpointsData } from '@app/settings/_settings.module'; +import { Subject } from 'rxjs'; +import { takeUntil } from 'rxjs/operators'; + +@Injectable({ + providedIn: 'root', +}) +export class BreakpointManagerService implements OnDestroy { + get currentBreakpoint(): Breakpoint { + for (let i = 0; i < this.breakpointsMatched.length - 1; i++) { + if (this.breakpointsMatched[i]) return BreakpointsData[i].name; + } + return BreakpointsData[BreakpointsData.length - 1].name; + } + + private breakpointsMatched: boolean[] = []; + protected onDestroy$ = new Subject(); + + constructor(private breakpointObserver: BreakpointObserver) { + for (let i = 0; i < BreakpointsData.length - 1; i++) { + this.breakpointObserver + .observe(`(max-width: ${BreakpointsData[i].maxWidth})`) + .pipe(takeUntil(this.onDestroy$)) + .subscribe((state: BreakpointState) => { + this.breakpointsMatched[i] = state.matches; + }); + } + // Last element is the default and will always be matched. + this.breakpointsMatched.push(true); + } + + matchedBreakpointOrBelow(breakpoint: Breakpoint) { + const index = BreakpointsData.findIndex((x) => x.name === breakpoint); + return this.breakpointsMatched[index]; + } + + matchedBreakpointRange(start: Breakpoint, end: Breakpoint) { + let startIndex = BreakpointsData.findIndex((x) => x.name === start); + let endIndex = BreakpointsData.findIndex((x) => x.name === end); + if (startIndex > endIndex) { + // Swap if they are mismatched + let temp = start; + start = end; + end = temp; + } + return this.matchedBreakpointOrAbove(start) && this.matchedBreakpointOrBelow(end); + } + + matchedBreakpointOrAbove(breakpoint: Breakpoint, key: string = '') { + const index = BreakpointsData.findIndex((x) => x.name === breakpoint); + // Make sure previous breakpoint hasne't triggered, because that would mean we're + // currently matching with something below this breakpoint. + if (index > 0 && this.breakpointsMatched[index - 1]) return false; + // Because the last element is always true, we know there must be a breakpoint above + // that has been triggered. + return true; + } + + ngOnDestroy(): void { + this.onDestroy$.next(); + this.onDestroy$.complete(); + } +} diff --git a/website/src/app/services/css-length.service.spec.ts b/website/src/app/services/css-length.service.spec.ts new file mode 100644 index 00000000..b1894b68 --- /dev/null +++ b/website/src/app/services/css-length.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { CssLengthService } from './css-length.service'; + +describe('CssLengthService', () => { + let service: CssLengthService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(CssLengthService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/website/src/app/services/css-length.service.ts b/website/src/app/services/css-length.service.ts new file mode 100644 index 00000000..aeaa8a0b --- /dev/null +++ b/website/src/app/services/css-length.service.ts @@ -0,0 +1,25 @@ +import { Injectable } from '@angular/core'; +import convertLength from 'convert-css-length'; + +const convertCss = convertLength('16px'); + +@Injectable({ + providedIn: 'root', +}) +export class CssLengthService { + constructor() {} + + convert(lengthOne: string, type: 'px' | 'em' | 'rem', fontSize: string = ''): string { + if (fontSize) return convertCss(lengthOne, type, fontSize); + return convertCss(lengthOne, type); + } + + toNumber(length: string): number { + return parseInt(length.replace(/[^0-9.]/g, '')); + } + + convertToNumber(lengthOne: string, type: 'px' | 'em' | 'rem', fontSize: string = ''): number { + if (fontSize) return this.toNumber(convertCss(lengthOne, type, fontSize)); + return this.toNumber(convertCss(lengthOne, type)); + } +} diff --git a/website/src/app/services/style-manager.service.spec.ts b/website/src/app/services/style-manager.service.spec.ts new file mode 100644 index 00000000..0104650a --- /dev/null +++ b/website/src/app/services/style-manager.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { StyleManagerService } from './style-manager.service'; + +describe('StyleManagerService', () => { + let service: StyleManagerService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(StyleManagerService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/website/src/app/services/style-manager.service.ts b/website/src/app/services/style-manager.service.ts new file mode 100644 index 00000000..c506c1ff --- /dev/null +++ b/website/src/app/services/style-manager.service.ts @@ -0,0 +1,49 @@ +/** + * Copied from https://github.com/angular/material.angular.io/blob/master/src/app/shared/style-manager/style-manager.ts + */ + +import { Injectable } from '@angular/core'; + +@Injectable({ + // declares that this service should be created + // by the root application injector. + providedIn: 'root', +}) +export class StyleManagerService { + /** + * Set the stylesheet with the specified key. + */ + setStyle(key: string, href: string) { + getLinkElementForKey(key).setAttribute('href', href); + } + + /** + * Remove the stylesheet with the specified key. + */ + removeStyle(key: string) { + const existingLinkElement = getExistingLinkElementByKey(key); + if (existingLinkElement) { + document.head.removeChild(existingLinkElement); + } + } +} + +function getLinkElementForKey(key: string) { + return getExistingLinkElementByKey(key) || createLinkElementWithKey(key); +} + +function getExistingLinkElementByKey(key: string) { + return document.head.querySelector(`link[rel="stylesheet"].${getClassNameForKey(key)}`); +} + +function createLinkElementWithKey(key: string) { + const linkEl = document.createElement('link'); + linkEl.setAttribute('rel', 'stylesheet'); + linkEl.classList.add(getClassNameForKey(key)); + document.head.appendChild(linkEl); + return linkEl; +} + +function getClassNameForKey(key: string) { + return `style-manager-${key}`; +} diff --git a/website/src/app/services/theme-manager.service.spec.ts b/website/src/app/services/theme-manager.service.spec.ts new file mode 100644 index 00000000..1f246e08 --- /dev/null +++ b/website/src/app/services/theme-manager.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ThemeManagerService } from './theme-manager.service'; + +describe('ThemeManagerService', () => { + let service: ThemeManagerService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ThemeManagerService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/website/src/app/services/theme-manager.service.ts b/website/src/app/services/theme-manager.service.ts new file mode 100644 index 00000000..a8e9faa1 --- /dev/null +++ b/website/src/app/services/theme-manager.service.ts @@ -0,0 +1,24 @@ +import { Injectable } from '@angular/core'; +import { CookieService } from 'ngx-cookie-service'; +import { StyleManagerService } from './style-manager.service'; + +@Injectable({ + providedIn: 'root', +}) +export class ThemeManagerService { + private _currentTheme: string = 'light'; + + constructor(private styleManagerService: StyleManagerService, private cookieService: CookieService) { + this.currentTheme = cookieService.check('theme') ? cookieService.get('theme') : 'light'; + } + + set currentTheme(theme: string) { + this._currentTheme = theme; + this.cookieService.set('theme', this._currentTheme); + this.styleManagerService.setStyle('theme', this._currentTheme + '.css'); + } + + get currentTheme() { + return this._currentTheme; + } +} diff --git a/website/src/app/settings/_settings.module.ts b/website/src/app/settings/_settings.module.ts new file mode 100644 index 00000000..34793b57 --- /dev/null +++ b/website/src/app/settings/_settings.module.ts @@ -0,0 +1,12 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { ClassesModule } from '../classes/_classes.module'; + +export * from './breakpoints'; + +@NgModule({ + declarations: [], + imports: [CommonModule, ClassesModule], + providers: [], +}) +export class SettingsModule {} diff --git a/website/src/app/settings/breakpoints.ts b/website/src/app/settings/breakpoints.ts new file mode 100644 index 00000000..90f80400 --- /dev/null +++ b/website/src/app/settings/breakpoints.ts @@ -0,0 +1,34 @@ +export const Breakpoint = { + Mobile: 'MOBILE', + MediumMobile: 'MEDIUM_MOBILE', + TinyMobile: 'TINY_MOBILE', + SmallDesktop: 'SMALL_DESKTOP', + Desktop: 'DESKTOP', +} as const; +export type Breakpoint = typeof Breakpoint[keyof typeof Breakpoint]; + +export const BreakpointsData: { + maxWidth: string; + name: Breakpoint; +}[] = [ + { + name: Breakpoint.TinyMobile, + maxWidth: '400px', + }, + { + name: Breakpoint.MediumMobile, + maxWidth: '700px', + }, + { + name: Breakpoint.Mobile, + maxWidth: '1180px', + }, + { + name: Breakpoint.SmallDesktop, + maxWidth: '1280px', + }, + { + name: Breakpoint.Desktop, + maxWidth: '', + }, +]; diff --git a/website/src/assets/.gitkeep b/website/src/assets/.gitkeep new file mode 100644 index 00000000..e69de29b diff --git a/website/src/assets/images/gui.png b/website/src/assets/images/gui.png new file mode 100644 index 0000000000000000000000000000000000000000..76477dc59fd99566fb6ea765edb4f4a371cb70a6 GIT binary patch literal 46456 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 + + + + WAT + + + + + + + + + + + + + diff --git a/website/src/main.ts b/website/src/main.ts new file mode 100644 index 00000000..c7b673cf --- /dev/null +++ b/website/src/main.ts @@ -0,0 +1,12 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/website/src/polyfills.ts b/website/src/polyfills.ts new file mode 100644 index 00000000..429bb9ef --- /dev/null +++ b/website/src/polyfills.ts @@ -0,0 +1,53 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes recent versions of Safari, Chrome (including + * Opera), Edge on the desktop, and iOS and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js'; // Included with Angular CLI. + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/website/src/styles.scss b/website/src/styles.scss new file mode 100644 index 00000000..e292ab4a --- /dev/null +++ b/website/src/styles.scss @@ -0,0 +1,3 @@ +// Base scss file that imports other scss files +@import './styles/utility'; +@import './styles/general-css'; \ No newline at end of file diff --git a/website/src/styles/_general-css-theme.scss b/website/src/styles/_general-css-theme.scss new file mode 100644 index 00000000..8ba06371 --- /dev/null +++ b/website/src/styles/_general-css-theme.scss @@ -0,0 +1,92 @@ +@use 'sass:map'; +@use '@angular/material' as mat; + +@mixin theme($theme) { + $color-config: mat.get-color-config($theme); + + $primary: map.get($color-config, primary); + $accent: map.get($color-config, accent); + $warn: map.get($color-config, warn); + $background: map.get($color-config, background); + $foreground: map.get($color-config, foreground); + + // Fix calendar height being too short + .mat-calendar { + height: 23.2em !important; + } + + a:link { + color: mat.get-color-from-palette($primary, 100); + } + + a:visited { + color: mat.get-color-from-palette($primary, 100); + } + + a:hover { + color: mat.get-color-from-palette($primary, 50); + } + + a:active { + color: mat.get-color-from-palette($primary, 100); + } + + @include colorStyles(disabled, mat.get-color-from-palette($foreground, disabled-button)); + @include colorStyles(faded, mat.get-color-from-palette($foreground, disabled-text)); + @include colorStyles(foreground, mat.get-color-from-palette($foreground, text)); + @include colorStyles(background, mat.get-color-from-palette($background, background)); + @include colorStyles(card, mat.get-color-from-palette($background, card)); + @include colorStyles(divider, mat.get-color-from-palette($foreground, divider)); + @include colorStyles(primary, mat.get-color-from-palette($primary, 500)); + @include colorStyles(accent, mat.get-color-from-palette($accent, 500)); + @include colorStyles(warn, mat.get-color-from-palette($warn, 500)); + + b { + color: mat.get-color-from-palette($accent, 500); + } + + // Loading styles for skeletons + .loading { + color: transparent; + background: linear-gradient( + 100deg, + mat.get-color-from-palette($background, loading) 30%, + mat.get-color-from-palette($background, loading-mid) 50%, + mat.get-color-from-palette($background, loading) 70%); + background-size: 400%; + animation: loading 1.2s ease-in-out infinite; + } + + @keyframes loading { + 0% { + background-position: 100% 50%; + } + 100% { + background-position: 0 50%; + } + } +} + +@mixin colorStyles($selectorName, $color) { + .background-color-#{$selectorName} { + background-color: $color; + } + .text-#{$selectorName}, + .color-#{$selectorName} { + // Force color change in button. This is used primarily for buttons in table headers, + // because by default they have a disabled text color. + &.mat-button, + &.mat-stroked-button, + &.mat-flat-button, + &.mat-raised-button { + color: $color; + } + color: $color; + } + .outline-color-#{$selectorName} { + outline-color: $color; + } + .border-color-#{$selectorName} { + border-color: $color; + } +} \ No newline at end of file diff --git a/website/src/styles/_general-css.scss b/website/src/styles/_general-css.scss new file mode 100644 index 00000000..1546a393 --- /dev/null +++ b/website/src/styles/_general-css.scss @@ -0,0 +1,207 @@ +@import 'variables'; + +html, +body { + height: 100%; + margin: 0; + padding: 0; +} + +/* use viewport-relative units to cover page fully */ +body { + height: 100%; + width: 100%; +} + +button { + padding: 0.0625em 0.375em; + background: inherit; + border: none; + font: inherit; + color: inherit; +} + +.page { + flex: 1 1 auto; + display:flex; + flex-flow: column; +} + +b { + font-weight: 900; +} + +ic-icon { + display: flex; + align-items: center; + flex: 0; +} + +.mat-override-custom { + &.mat-h2, + &.mat-title, + &.mat-typography h2 { + margin-bottom: 0.5em; + } + + + .mat-tooltip { + font-size: 0.8em; + } + + .mat-button-toggle-button { + display: flex; + align-items: center; + justify-content: center; + } + + .mat-button-wrapper { + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + gap: 0.5em; + padding: 0; + } + + .mat-input-padding { + padding-bottom: 1.25em; + } + + .mat-input-margin { + margin-bottom: 1.25em; + } + + // Class that removes bottom padding of a mat-form-field + .no-padding .mat-form-field-wrapper { + padding-bottom: 0em; + } + + .mat-tab-label { + min-width: 6em; + height: 3em; + padding: 0 1.5em; + } + + .mat-menu-panel { + min-width: 7em; + } + + .mat-badge-medium .mat-badge-content { + height: 1.375em; + width: 1.375em; + line-height: 1.375em; + } + .mat-badge-medium.mat-badge-after .mat-badge-content { + right: -1.375em; + } + .mat-badge-medium.mat-badge-above .mat-badge-content { + top: -0.6875em; + } + + .mat-menu-item { + padding: 0 1em; + height: 2.625em; + line-height: 2.625em; + } + + .mat-button, + .mat-flat-button, + .mat-flat-button, + .mat-stroked-button { + line-height: 2.125em; + padding: 0 1em; + min-width: 4em; + } + + .mat-icon-button { + width: 2.125em; + height: 2.125em; + + display: flex; + align-items: center; + justify-content: center; + + &.mat-icon { + line-height: 1em; + } + } + + .material-icons { + font-size: 1.5em; + &.mat-icon { + line-height: 1em; + height: 1em; + width: 1em; + } + } + + // Make s take up space + .mat-form-field { + .mat-form-field-wrapper { + padding-bottom: 0; + + .mat-form-field-underline { + position: initial; + display: block; + margin-top: -1px; + } + + .mat-form-field-subscript-wrapper, + .mat-form-field-ripple { + position: initial; + display: table; + } + + .mat-form-field-subscript-wrapper { + min-height: calc(1em + 1px); + } + } + } + + // Custom mat-tab-group fade transition + .mat-tab-body { + animation: fade-out 0.5s; + opacity: 0; + } + .mat-tab-body.mat-tab-body-active { + animation: fade-in 0.5s; + opacity: 1; + } + + @keyframes fade-in { + 0% { + opacity: 0; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + + @keyframes fade-out { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 0; + } + } + + th.mat-header-cell:first-of-type, td.mat-cell:first-of-type, td.mat-footer-cell:first-of-type { + padding-left: 1.5em; + } + + tr.mat-header-row { + height: 3.5em; + } + + tr.mat-row, tr.mat-footer-row { + height: 3em; + } +} \ No newline at end of file diff --git a/website/src/styles/_modules-theme.scss b/website/src/styles/_modules-theme.scss new file mode 100644 index 00000000..53cf212c --- /dev/null +++ b/website/src/styles/_modules-theme.scss @@ -0,0 +1,9 @@ +@use '../app/modules/_core/core' as core; +@use '../app/modules/site-menus/site-menus' as site-menus; +@use '../app/pages/pages' as pages; + +@mixin theme($theme) { + @include core.theme($theme); + @include site-menus.theme($theme); + @include pages.theme($theme); +} \ No newline at end of file diff --git a/website/src/styles/_shared-palettes.scss b/website/src/styles/_shared-palettes.scss new file mode 100644 index 00000000..c6d1fbdd --- /dev/null +++ b/website/src/styles/_shared-palettes.scss @@ -0,0 +1,297 @@ +@use "sass:map" as map; +@use '@angular/material' as mat; + +// Custom functions to define a basic palette. The define-palette function +// provided by angular material has changed, so now we can't use it +// to make our custom palettes that don't contain number levels (ie. 400, 200, 900, etc.). +@function define-basic-palette($base-palette) { + $result: $base-palette; + + // For each hue in the palette, add a "-contrast" color to the map. + @each $hue, $color in $base-palette { + $result: map.merge($result, ( + '#{$hue}-contrast': get-contrast-color-from-palette($base-palette, $hue) + )); + } + + @return $result; +} + +@function get-contrast-color-from-palette($palette, $hue) { + @return map.get(map.get($palette, contrast), $hue); +} + +// General Dark/Light Themining // + +$dark-primary-text: rgba(black, 0.87); +$dark-secondary-text: rgba(black, 0.54); +$dark-disabled-text: rgba(black, 0.38); +$dark-dividers: rgba(black, 0.12); +$dark-focused: rgba(black, 0.12); + +$light-primary-text: white; +$light-secondary-text: rgba(white, 0.7); +$light-disabled-text: rgba(white, 0.5); +$light-dividers: rgba(white, 0.12); +$light-focused: rgba(white, 0.12); + +$grey-palette: ( + 50: #fafafa, + 100: #f5f5f5, + 200: #eeeeee, + 300: #e0e0e0, + 400: #bdbdbd, + 500: #9e9e9e, + 600: #757575, + 700: #616161, + 800: #424242, + 900: #212121, + A100: #ffffff, + A200: #eeeeee, + A400: #bdbdbd, + A700: #616161, + contrast: ( + 50: $dark-primary-text, + 100: $dark-primary-text, + 200: $dark-primary-text, + 300: $dark-primary-text, + 400: $dark-primary-text, + 500: $dark-primary-text, + 600: $light-primary-text, + 700: $light-primary-text, + 800: $light-primary-text, + 900: $light-primary-text, + A100: $dark-primary-text, + A200: $dark-primary-text, + A400: $dark-primary-text, + A700: $light-primary-text, + ) +); + +// Background palette for light themes. +$light-theme-background-palette: ( + status-bar: map.get($grey-palette, 300), + app-bar: map.get($grey-palette, 100), + background: map.get($grey-palette, 50), + hover: rgba(black, 0.04), + card: white, + dialog: white, + disabled-button: rgba(black, 0.12), + raised-button: white, + focused-button: $dark-focused, + selected-button: map.get($grey-palette, 300), + selected-disabled-button: map.get($grey-palette, 400), + disabled-button-toggle: map.get($grey-palette, 200), + unselected-chip: map.get($grey-palette, 300), + disabled-list-option: map.get($grey-palette, 200), + tooltip: map.get($grey-palette, 700), + + loading: map.get($grey-palette, 300), + loading-mid: map.get($grey-palette, 200), +); + +// Foreground palette for light themes. +$light-theme-foreground-palette: ( + base: black, + divider: $dark-dividers, + dividers: $dark-dividers, + disabled: $dark-disabled-text, + disabled-button: rgba(black, 0.26), + disabled-text: $dark-disabled-text, + elevation: black, + hint-text: $dark-disabled-text, + secondary-text: $dark-secondary-text, + icon: rgba(black, 0.54), + icons: rgba(black, 0.54), + text: rgba(black, 0.87), + slider-min: rgba(black, 0.87), + slider-off: rgba(black, 0.26), + slider-off-active: rgba(black, 0.38), +); + +// Background palette for dark themes. +$dark-theme-background-palette: ( + status-bar: black, + app-bar: map.get($grey-palette, 900), + background: #303030, + hover: rgba(white, 0.04), + card: map.get($grey-palette, 800), + dialog: map.get($grey-palette, 800), + disabled-button: rgba(white, 0.12), + raised-button: map.get($grey-palette, 800), + focused-button: $light-focused, + selected-button: map.get($grey-palette, 900), + selected-disabled-button: map.get($grey-palette, 800), + disabled-button-toggle: black, + unselected-chip: map.get($grey-palette, 700), + disabled-list-option: black, + tooltip: map.get($grey-palette, 700), + + loading: map.get($grey-palette, 800), + loading-mid: map.get($grey-palette, 700), +); + +// Foreground palette for dark themes. +$dark-theme-foreground-palette: ( + base: white, + divider: $light-dividers, + dividers: $light-dividers, + disabled: $light-disabled-text, + disabled-button: rgba(white, 0.3), + disabled-text: $light-disabled-text, + elevation: black, + hint-text: $light-disabled-text, + secondary-text: $light-secondary-text, + icon: white, + icons: white, + text: white, + slider-min: white, + slider-off: rgba(white, 0.3), + slider-off-active: rgba(white, 0.3), +); + +// Creates a theme, with optional arguement for foreground and background +@function create-complete-theme($theme) { + @if not map.get($theme, color) { + @return $theme; + } + $color: map.get($theme, color); + @return map.merge($theme, $color); +} + + + +// COGS Themining // + +$site-grey: mat.define-palette(( + 50: #FFFFFF, + 100: #FFFFFF, + 200: #D7D5D5, + 300: #D7D5D5, + 400: #9F9A99, + 500: #817c7b, + 600: #726D6D, + 700: #726D6D, + 800: #3A3737, + 900: #3A3737, + contrast: ( + 50: $dark-primary-text, + 100: $dark-primary-text, + 200: $dark-primary-text, + 300: $dark-primary-text, + 400: $light-primary-text, + 500: $light-primary-text, + 600: $light-primary-text, + 700: $light-primary-text, + 800: $light-primary-text, + 900: $light-primary-text, + ) +)); + +$site-grey-reverse: mat.define-palette(( + 900: #9F9A99, + 800: #726D6D, + 700: #5c5858, + 600: #5c5858, + 500: #524e4e, + 400: #524e4e, + 300: #423e3e, + 200: #423e3e, + 100: #3A3737, + 50: #3A3737, + contrast: ( + 900: $dark-primary-text, + 800: $dark-primary-text, + 700: $dark-primary-text, + 600: $dark-primary-text, + 500: $light-primary-text, + 400: $light-primary-text, + 300: $light-primary-text, + 200: $light-primary-text, + 100: $light-primary-text, + 50: $light-primary-text, + ) +)); + +// 0B273A +$site-deep-blue: mat.define-palette(( + 50: #2e5250, + 100: #1d3f47, + 200: #0B273A, + 300: #0B273A, + 400: #0B273A, // START + 500: #0B273A, + 600: #0B273A, + 700: #0B273A, + 800: #0B273A, + 900: #66001A, + contrast: ( + 50: $light-primary-text, + 100: $light-primary-text, + 200: $light-primary-text, + 300: $light-primary-text, + 400: $light-primary-text, + 500: $light-primary-text, + 600: $light-primary-text, + 700: $light-primary-text, + 800: $light-primary-text, + 900: $light-primary-text, + ) +)); + +// A8CE38 +$site-lime: mat.define-palette(( + 50: #bcd64a, + 100: #bcd64a, + 200: #A8CE38, + 300: #A8CE38, + 400: #A8CE38, // START + 500: #A8CE38, + 600: #82a83c, + 700: #82a83c, + 800: #577a3f, + 900: #577a3f, + contrast: ( + 50: $dark-primary-text, + 100: $dark-primary-text, + 200: $light-primary-text, + 300: $light-primary-text, + 400: $light-primary-text, + 500: $light-primary-text, + 600: $light-primary-text, + 700: $light-primary-text, + 800: $light-primary-text, + 900: $light-primary-text, + ) +)); + +$misc: define-basic-palette(( + discord: #5865F2, + form: #7248b9, + contrast: ( + 500: $dark-primary-text, + discord: $light-primary-text, + form: $light-primary-text, + ), + light: $light-primary-text, + dark: $dark-primary-text +)); + +$site-typography: mat.define-typography-config( + $font-family: 'Urbanist', + $display-4: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.75em, $line-height: 1em, $font-weight: 900), + $display-3: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.5em, $line-height: 1em, $font-weight: 900), + $display-2: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.25em, $line-height: 1em, $font-weight: 900), + $display-1: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2em, $line-height: 1em, $font-weight: 900), + $headline: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2em, $line-height: 1em, $font-weight: 800), + $title: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1.5em, $line-height: 1em, $font-weight: 800), + $subheading-2: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1em, $line-height: 1em, $font-weight: 700), + $subheading-1: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1em, $line-height: 1em, $font-weight: 700), + $body-1: mat.define-typography-level($font-family: 'Urbanist', $font-size: 1em, $line-height: 1.5em, $font-weight: 600), + $body-2: mat.define-typography-level($font-family: 'Urbanist', $font-size: 1em, $line-height: 1.5em, $font-weight: 600), + $caption: mat.define-typography-level($font-family: 'Urbanist', $font-size: 1em, $line-height: 1.5em, $font-weight: 500), + $button: mat.define-typography-level($font-family: 'Urbanist', $font-size: 1em, $line-height: 1.5em, $font-weight: 800), + $input: mat.define-typography-level($font-family: 'Urbanist', $font-size: 1em, $line-height: 1em, $font-weight: 600) +); + +@include mat.core($site-typography); \ No newline at end of file diff --git a/website/src/styles/_utility.scss b/website/src/styles/_utility.scss new file mode 100644 index 00000000..c1162a94 --- /dev/null +++ b/website/src/styles/_utility.scss @@ -0,0 +1,5 @@ +$browser-context: 16; + +@function em($pixels, $context: $browser-context) { + @return #{$pixels/$context}em; +} \ No newline at end of file diff --git a/website/src/styles/_variables.scss b/website/src/styles/_variables.scss new file mode 100644 index 00000000..d516060d --- /dev/null +++ b/website/src/styles/_variables.scss @@ -0,0 +1,46 @@ +:root { + --site-header-height: 4em; + --content-padding: 4em; + --dog-ear: 4em; + --dog-ear-padding: 4em; + --content-width: min(80%, 1080px); + --main-width: var(--content-width); + --markdown-content-width: 1080px; +} + +$small-desktop-width: 1280px; +$mobile-width: 1180px; +$medium-mobile-width: 700px; +$tiny-mobile-width: 400px; + +@media screen and (max-width: $small-desktop-width) { + :root { + font-size: 90% + } +} + +/* Mobile values */ +@media screen and (max-width: $mobile-width) { + :root { + font-size: 100%; + --content-width: 100%; + --markdown-content-width: 100%; + --content-padding: 2em; + --dog-ear-padding: 2.625em; + --dog-ear: 2em; + } +} + +@media screen and (max-width: $medium-mobile-width) { + :root { + font-size: 90%; + } +} + +/* Tiny mobile values */ +@media screen and (max-width: $tiny-mobile-width) { + :root { + --content-padding: 1em; + font-size: 80%; + } +} \ No newline at end of file diff --git a/website/src/styles/themes/dark.scss b/website/src/styles/themes/dark.scss new file mode 100644 index 00000000..4d266114 --- /dev/null +++ b/website/src/styles/themes/dark.scss @@ -0,0 +1,40 @@ +@use 'sass:map'; +@use '@angular/material' as mat; +@use '../modules-theme' as modules; +@use '../general-css-theme' as general-css; +@import '../shared-palettes'; + +$site-theme-dark: create-complete-theme(( + color: ( + primary: $site-deep-blue, + accent: $site-lime, + foreground-accent: $site-grey-reverse, + warn: mat.define-palette(mat.$red-palette), + misc: $misc, + is-dark: true, + foreground: $dark-theme-foreground-palette, + background: $dark-theme-background-palette, + ), + typography: $site-typography, +)); + +// $site-theme-dark-bright-color: ( +// primary: $bright-red, +// accent: $cogs-grey, +// warn: mat.define-palette(mat.$red-palette), +// misc: $misc, +// is-dark: true, +// foreground: $dark-theme-foreground-palette, +// background: $dark-theme-background-palette, +// ); + + +@include modules.theme($site-theme-dark); +@include general-css.theme($site-theme-dark); +@include mat.all-component-themes($site-theme-dark); + +// Darkmode form fields are unreadable using the regular cogs-red color for primary. +// Therefore we use cogs-bright-red to make it readable, and we have to manually +// override the form-field's colors. +// @include mat.form-field-color($site-theme-dark-bright-color); +// @include mat.option-color($site-theme-dark-bright-color); \ No newline at end of file diff --git a/website/src/styles/themes/light.scss b/website/src/styles/themes/light.scss new file mode 100644 index 00000000..5983f1e3 --- /dev/null +++ b/website/src/styles/themes/light.scss @@ -0,0 +1,23 @@ +@use 'sass:map'; +@use '@angular/material' as mat; +@use '../modules-theme' as modules; +@use '../general-css-theme' as general-css; +@import '../shared-palettes'; + +$site-theme: create-complete-theme(( + color: ( + primary: $site-deep-blue, + accent: $site-lime, + foreground-accent: $site-grey, + warn: mat.define-palette(mat.$red-palette), + misc: $misc, + is-dark: false, + foreground: $light-theme-foreground-palette, + background: $light-theme-background-palette, + ), + typography: $site-typography, +)); + +@include modules.theme($site-theme); +@include general-css.theme($site-theme); +@include mat.all-component-themes($site-theme); \ No newline at end of file diff --git a/website/src/test.ts b/website/src/test.ts new file mode 100644 index 00000000..c04c8760 --- /dev/null +++ b/website/src/test.ts @@ -0,0 +1,26 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: { + context(path: string, deep?: boolean, filter?: RegExp): { + (id: string): T; + keys(): string[]; + }; +}; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting(), +); + +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().forEach(context); diff --git a/website/tsconfig.app.json b/website/tsconfig.app.json new file mode 100644 index 00000000..82d91dc4 --- /dev/null +++ b/website/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "files": [ + "src/main.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.d.ts" + ] +} diff --git a/website/tsconfig.json b/website/tsconfig.json new file mode 100644 index 00000000..81183e5f --- /dev/null +++ b/website/tsconfig.json @@ -0,0 +1,64 @@ +{ + "compileOnSave": false, + "compilerOptions": { + "allowJs": true, + "baseUrl": ".", + "paths": { + "@src/*": [ + "src/*" + ], + "@app/*": [ + "src/app/*" + ], + "@components/*": [ + "src/app/components/*" + ], + "@modules/*": [ + "src/app/modules/*" + ], + "@pages/*": [ + "src/app/pages/*" + ], + "@services/*": [ + "src/app/services/*" + ], + "@utils/*": [ + "src/app/utils/*" + ], + "@assets/*": [ + "src/assets/*" + ], + "@directives/*": [ + "src/app/directives/*" + ] + }, + "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitAny": false, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "sourceMap": true, + "declaration": false, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "importHelpers": true, + "target": "es2020", + "module": "es2020", + "lib": [ + "ESNext.BigInt", + "es2018", + "dom", + "dom.iterable", + "esnext.asynciterable" + ], + "allowSyntheticDefaultImports": true + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "strictTemplates": true + } +} \ No newline at end of file diff --git a/website/tsconfig.spec.json b/website/tsconfig.spec.json new file mode 100644 index 00000000..092345b0 --- /dev/null +++ b/website/tsconfig.spec.json @@ -0,0 +1,18 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "files": [ + "src/test.ts", + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} From cffe973ec7c5afdadcbad20017148f8cfd182ea6 Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 07:40:26 -0400 Subject: [PATCH 05/20] Fix dist --- website/angular.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/angular.json b/website/angular.json index 118de46f..3df8f944 100644 --- a/website/angular.json +++ b/website/angular.json @@ -17,7 +17,7 @@ "build": { "builder": "@angular-devkit/build-angular:browser", "options": { - "outputPath": "dist/wat-website", + "outputPath": "dist", "index": "src/index.html", "main": "src/main.ts", "polyfills": "src/polyfills.ts", From 1e6adb83cf2ca49a195b5d24d75e47c4bf717bcc Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 07:51:43 -0400 Subject: [PATCH 06/20] Change basehref for produciton --- website/angular.json | 1 + 1 file changed, 1 insertion(+) diff --git a/website/angular.json b/website/angular.json index 3df8f944..edfe66ac 100644 --- a/website/angular.json +++ b/website/angular.json @@ -52,6 +52,7 @@ }, "configurations": { "production": { + "baseHref": "/WAT/", "budgets": [ { "type": "initial", From 0ddcd42431ff8b49332b0daec7a4bf7cd17d3ff2 Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 08:10:18 -0400 Subject: [PATCH 07/20] Change FAQ format --- website/package-lock.json | 19 +++++++++++++ website/package.json | 1 + website/src/_settings.ts | 2 ++ .../full-page-header.component.css | 2 +- .../question-panel.component.css | 1 + .../_core/section/section.component.html | 2 +- .../pages/home/home/home-page.component.html | 28 +++++++++++-------- website/src/styles/_shared-palettes.scss | 10 +++---- 8 files changed, 46 insertions(+), 19 deletions(-) diff --git a/website/package-lock.json b/website/package-lock.json index 949ecc09..160e40e6 100644 --- a/website/package-lock.json +++ b/website/package-lock.json @@ -28,6 +28,7 @@ "@angular-devkit/build-angular": "^14.0.3", "@angular/cli": "~14.0.3", "@angular/compiler-cli": "^14.0.0", + "@iconify/icons-bi": "^1.2.7", "@iconify/icons-simple-icons": "^1.2.21", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.1.0", @@ -2658,6 +2659,15 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, + "node_modules/@iconify/icons-bi": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@iconify/icons-bi/-/icons-bi-1.2.7.tgz", + "integrity": "sha512-UwJRr8XeLMJHurGvIg02i+znNBFhDoUBhC4OIczdp7IeJt5J/1zx65w4jZSxql2dC81u9SrE4I24IlG0XdzmoQ==", + "dev": true, + "dependencies": { + "@iconify/types": "*" + } + }, "node_modules/@iconify/icons-simple-icons": { "version": "1.2.21", "resolved": "https://registry.npmjs.org/@iconify/icons-simple-icons/-/icons-simple-icons-1.2.21.tgz", @@ -14088,6 +14098,15 @@ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, + "@iconify/icons-bi": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@iconify/icons-bi/-/icons-bi-1.2.7.tgz", + "integrity": "sha512-UwJRr8XeLMJHurGvIg02i+znNBFhDoUBhC4OIczdp7IeJt5J/1zx65w4jZSxql2dC81u9SrE4I24IlG0XdzmoQ==", + "dev": true, + "requires": { + "@iconify/types": "*" + } + }, "@iconify/icons-simple-icons": { "version": "1.2.21", "resolved": "https://registry.npmjs.org/@iconify/icons-simple-icons/-/icons-simple-icons-1.2.21.tgz", diff --git a/website/package.json b/website/package.json index 35353dc3..bef191d5 100644 --- a/website/package.json +++ b/website/package.json @@ -30,6 +30,7 @@ "@angular-devkit/build-angular": "^14.0.3", "@angular/cli": "~14.0.3", "@angular/compiler-cli": "^14.0.0", + "@iconify/icons-bi": "^1.2.7", "@iconify/icons-simple-icons": "^1.2.21", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.1.0", diff --git a/website/src/_settings.ts b/website/src/_settings.ts index 37f3c109..280fb5ee 100644 --- a/website/src/_settings.ts +++ b/website/src/_settings.ts @@ -1,4 +1,5 @@ import { Injectable } from '@angular/core'; +import arrowDownCircleFill from '@iconify/icons-bi/arrow-down-circle-fill'; import github from '@iconify/icons-simple-icons/github'; import kofi from '@iconify/icons-simple-icons/ko-fi'; import { PageLink } from '@src/app/classes/pagelink'; @@ -29,6 +30,7 @@ export class SettingsService { public icons = { github, kofi, + arrowDownCircleFill, }; })(); } diff --git a/website/src/app/modules/_core/full-page-header/full-page-header.component.css b/website/src/app/modules/_core/full-page-header/full-page-header.component.css index 5d8d6d70..77d3919f 100644 --- a/website/src/app/modules/_core/full-page-header/full-page-header.component.css +++ b/website/src/app/modules/_core/full-page-header/full-page-header.component.css @@ -21,6 +21,6 @@ .scroll-button { position: absolute; left: calc(50% - 21px); - bottom: 10%; + bottom: 20%; filter: drop-shadow(0 0 1rem black); } \ No newline at end of file diff --git a/website/src/app/modules/_core/question-panel/question-panel.component.css b/website/src/app/modules/_core/question-panel/question-panel.component.css index 13efbd00..e4aa602b 100644 --- a/website/src/app/modules/_core/question-panel/question-panel.component.css +++ b/website/src/app/modules/_core/question-panel/question-panel.component.css @@ -8,6 +8,7 @@ display: flex; align-items: center; justify-content: left; + font-size: 1.25em; } .expansion-panel { diff --git a/website/src/app/modules/_core/section/section.component.html b/website/src/app/modules/_core/section/section.component.html index df3201d5..c522061d 100644 --- a/website/src/app/modules/_core/section/section.component.html +++ b/website/src/app/modules/_core/section/section.component.html @@ -1,6 +1,6 @@
-

{{title}}

+

{{title}}

diff --git a/website/src/app/pages/home/home/home-page.component.html b/website/src/app/pages/home/home/home-page.component.html index 637fe54a..a21710d4 100644 --- a/website/src/app/pages/home/home/home-page.component.html +++ b/website/src/app/pages/home/home/home-page.component.html @@ -7,7 +7,7 @@

Godot unit testing
for GD
-

Let's meet up!

+

Let's meet up!

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum

@@ -18,16 +18,20 @@

Let's meet up!

- - -

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum ipsum Lorem ipsum Lorem ipsum ipsum Lorem ipsum Lorem ipsum ipsum Lorem ipsum Lorem ipsum

-
- -

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum

-
- -

Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum Lorem ipsum

-
-
+ + + +

Yes! WAT comes out of the box with GDScript support.

+
+ +

Yes! With the mono version, WAT comes with C# wrappers that let you test

+
+
+ + +

See the Continuous Integration section of the README.

+
+
+
\ No newline at end of file diff --git a/website/src/styles/_shared-palettes.scss b/website/src/styles/_shared-palettes.scss index c6d1fbdd..d01b0277 100644 --- a/website/src/styles/_shared-palettes.scss +++ b/website/src/styles/_shared-palettes.scss @@ -279,11 +279,11 @@ $misc: define-basic-palette(( $site-typography: mat.define-typography-config( $font-family: 'Urbanist', - $display-4: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.75em, $line-height: 1em, $font-weight: 900), - $display-3: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.5em, $line-height: 1em, $font-weight: 900), - $display-2: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.25em, $line-height: 1em, $font-weight: 900), - $display-1: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2em, $line-height: 1em, $font-weight: 900), - $headline: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2em, $line-height: 1em, $font-weight: 800), + $display-4: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.5em, $line-height: 1em, $font-weight: 900), + $display-3: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2.25em, $line-height: 1em, $font-weight: 900), + $display-2: mat.define-typography-level($font-family: 'Varela Round', $font-size: 2em, $line-height: 1em, $font-weight: 900), + $display-1: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1.8em, $line-height: 1em, $font-weight: 900), + $headline: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1.75em, $line-height: 1em, $font-weight: 800), $title: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1.5em, $line-height: 1em, $font-weight: 800), $subheading-2: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1em, $line-height: 1em, $font-weight: 700), $subheading-1: mat.define-typography-level($font-family: 'Varela Round', $font-size: 1em, $line-height: 1em, $font-weight: 700), From d5053e0d4133e7c6551673d0cc14d4aae620134e Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 16:57:26 -0400 Subject: [PATCH 08/20] Finish site --- StubProj/.gdignore | 0 images/banner.png.import | 35 ++++ website/.gdignore | 0 .../full-page-header.component.html | 4 +- .../site-footer/site-footer.module.ts | 18 +-- .../_site-footer.component-theme.scss | 6 +- .../site-footer/site-footer.component.html | 17 ++ .../site-footer/site-footer.component.ts | 3 +- .../logo-text-button.component.css | 10 +- .../logo-text-button.component.html | 2 +- .../logo-text-button.component.ts | 8 +- .../src/app/pages/home/home-page.module.ts | 13 +- .../pages/home/home/home-page.component.css | 13 ++ .../pages/home/home/home-page.component.html | 149 ++++++++++++++++-- .../pages/home/home/home-page.component.ts | 3 + website/src/assets/images/ci-gh-light.png | Bin 0 -> 121206 bytes website/src/assets/images/cli.png | Bin 0 -> 253826 bytes website/src/assets/images/csharp-tests.png | Bin 0 -> 54256 bytes website/src/assets/images/features.png | Bin 0 -> 222611 bytes website/src/assets/images/gdscript-tests.png | Bin 0 -> 76190 bytes website/src/styles/_general-css-theme.scss | 41 +++-- website/src/styles/_shared-palettes.scss | 21 +-- website/src/styles/_variables.scss | 8 +- website/src/styles/themes/dark.scss | 1 + website/src/styles/themes/light.scss | 1 + 25 files changed, 292 insertions(+), 61 deletions(-) create mode 100644 StubProj/.gdignore create mode 100644 images/banner.png.import create mode 100644 website/.gdignore create mode 100644 website/src/assets/images/ci-gh-light.png create mode 100644 website/src/assets/images/cli.png create mode 100644 website/src/assets/images/csharp-tests.png create mode 100644 website/src/assets/images/features.png create mode 100644 website/src/assets/images/gdscript-tests.png diff --git a/StubProj/.gdignore b/StubProj/.gdignore new file mode 100644 index 00000000..e69de29b diff --git a/images/banner.png.import b/images/banner.png.import new file mode 100644 index 00000000..c96498fd --- /dev/null +++ b/images/banner.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/banner.png-495447ee2000b5377e44fe44842d6fba.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://images/banner.png" +dest_files=[ "res://.import/banner.png-495447ee2000b5377e44fe44842d6fba.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/website/.gdignore b/website/.gdignore new file mode 100644 index 00000000..e69de29b diff --git a/website/src/app/modules/_core/full-page-header/full-page-header.component.html b/website/src/app/modules/_core/full-page-header/full-page-header.component.html index 36e6c047..00d4c6cd 100644 --- a/website/src/app/modules/_core/full-page-header/full-page-header.component.html +++ b/website/src/app/modules/_core/full-page-header/full-page-header.component.html @@ -2,7 +2,7 @@
- + -->
\ No newline at end of file diff --git a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts index ea3d2ffd..19b0cb45 100644 --- a/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts +++ b/website/src/app/modules/site-menus/site-footer/site-footer/site-footer.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import { SettingsService } from '@src/_settings'; @Component({ selector: 'app-site-footer', @@ -6,7 +7,7 @@ import { Component, OnInit } from '@angular/core'; styleUrls: ['./site-footer.component.css'], }) export class SiteFooterComponent implements OnInit { - constructor() {} + constructor(public settings: SettingsService) {} ngOnInit(): void {} } diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css index fcf7b716..1e194130 100644 --- a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.css @@ -15,6 +15,14 @@ background-color: transparent; border: 0px; align-items: center; + opacity: 0; + visibility: hidden; + transition-duration: 0.2s; +} + +.button.detached { + visibility: visible; + opacity: 1; } .button > * { @@ -24,4 +32,4 @@ .logo-title { margin-top: auto; margin-bottom: auto; -} \ No newline at end of file +} diff --git a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html index 96209bf8..580ff61b 100644 --- a/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html +++ b/website/src/app/modules/site-menus/site-header/logo-text-button/logo-text-button.component.html @@ -1,4 +1,4 @@ - \ No newline at end of file From 3ac2ab7f60c69ea7accc5be27b020b7ac91d68ca Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:15:24 -0400 Subject: [PATCH 12/20] Remove development bits in prep for merge --- .github/workflows/gh-pages.yml | 1 - README.md | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 8085beef..40333b53 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -4,7 +4,6 @@ on: push: branches: - main - - feat/_add-banner jobs: build: diff --git a/README.md b/README.md index a2d25590..527fb05b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -[![WAT Banner](images/banner.png)](https://atlinx.github.io/WAT/) +[![WAT Banner](images/banner.png)](https://alexdarigan.github.io/WAT/) -# WAT +# [WAT](https://alexdarigan.github.io/WAT/) ![3.3.2](https://github.com/CodeDarigan/WAT-GDScript/workflows/%20%20Godot%203.3.2%20%20/badge.svg) [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/Q5Q51D9K5) A Godot unit-testing framework for GDScript and C#. It includes an inspector window for manually running tests, and a command-line interface for easy automated testing. From 6582c3b76f14337a06e49c2af7be2b2237b820f2 Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:23:27 -0400 Subject: [PATCH 13/20] Fix scale + change subtitle font family --- .../pages/home/home/_home-page.component-theme.scss | 9 ++++++++- .../src/app/pages/home/home/home-page.component.html | 2 +- website/src/styles/_variables.scss | 11 +++++++---- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/website/src/app/pages/home/home/_home-page.component-theme.scss b/website/src/app/pages/home/home/_home-page.component-theme.scss index 2dd33ad0..522c2c90 100644 --- a/website/src/app/pages/home/home/_home-page.component-theme.scss +++ b/website/src/app/pages/home/home/_home-page.component-theme.scss @@ -6,7 +6,14 @@ $primary: map.get($config, primary); .app-home-page.header { - color: mat.get-color-from-palette($primary, 500-contrast) + color: mat.get-color-from-palette($primary, 500-contrast); + &.subtitle { + font-family: 'Urbanist'; + font-weight: 300; + b { + font-weight: 600; + } + } } } diff --git a/website/src/app/pages/home/home/home-page.component.html b/website/src/app/pages/home/home/home-page.component.html index 5ec350e6..d8b00ab8 100644 --- a/website/src/app/pages/home/home/home-page.component.html +++ b/website/src/app/pages/home/home/home-page.component.html @@ -37,7 +37,7 @@

WAT

-

Godot unit testing framework

diff --git a/website/src/styles/_variables.scss b/website/src/styles/_variables.scss index dba15940..86e93ff7 100644 --- a/website/src/styles/_variables.scss +++ b/website/src/styles/_variables.scss @@ -1,3 +1,5 @@ +$font-scale: 0.9; + :root { --site-header-height: 4em; --content-padding: 4em; @@ -6,6 +8,7 @@ --content-width: min(80%, 1480px); --main-width: var(--content-width); --markdown-content-width: 1480px; + font-size: 100% * $font-scale; } $small-desktop-width: 1280px; @@ -15,14 +18,14 @@ $tiny-mobile-width: 400px; @media screen and (max-width: $small-desktop-width) { :root { - font-size: 90% + font-size: 90% * $font-scale } } /* Mobile values */ @media screen and (max-width: $mobile-width) { :root { - font-size: 100%; + font-size: 100% * $font-scale; --content-width: 100%; --markdown-content-width: 100%; --content-padding: 3em; @@ -33,7 +36,7 @@ $tiny-mobile-width: 400px; @media screen and (max-width: $medium-mobile-width) { :root { - font-size: 90%; + font-size: 90% * $font-scale; } } @@ -41,6 +44,6 @@ $tiny-mobile-width: 400px; @media screen and (max-width: $tiny-mobile-width) { :root { --content-padding: 2em; - font-size: 80%; + font-size: 80% * $font-scale; } } \ No newline at end of file From 3b655d4fff5d490381492c0fb1d6c265b3528ada Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:28:22 -0400 Subject: [PATCH 14/20] Lower max width --- website/src/styles/_variables.scss | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/website/src/styles/_variables.scss b/website/src/styles/_variables.scss index 86e93ff7..dab67ecf 100644 --- a/website/src/styles/_variables.scss +++ b/website/src/styles/_variables.scss @@ -5,9 +5,9 @@ $font-scale: 0.9; --content-padding: 4em; --dog-ear: 4em; --dog-ear-padding: 4em; - --content-width: min(80%, 1480px); + --content-width: min(80%, 1280px); --main-width: var(--content-width); - --markdown-content-width: 1480px; + --markdown-content-width: 1280px; font-size: 100% * $font-scale; } From dcda8569192b5a374f1eedf6a287715a13ebc280 Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:30:01 -0400 Subject: [PATCH 15/20] Fix hamburger icon alignment --- .../site-header/hamburger-menu/hamburger-menu.component.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css index 85ed8816..5060b258 100644 --- a/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css +++ b/website/src/app/modules/site-menus/site-header/hamburger-menu/hamburger-menu.component.css @@ -43,6 +43,6 @@ app-cogs-logo-text-button { .hamburger-icon { position: relative; - top: -2px; + top: 2px; z-index: 10; } \ No newline at end of file From bb0695ab4130b70cd08c85fca56f0ef5a46cb31b Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:32:20 -0400 Subject: [PATCH 16/20] Trigger page rebuild --- .github/workflows/gh-pages.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 40333b53..8085beef 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -4,6 +4,7 @@ on: push: branches: - main + - feat/_add-banner jobs: build: From cacff37e45663f49d9f238d323d8f3f874ef990c Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:32:51 -0400 Subject: [PATCH 17/20] Remove dev branch on gh-pages workflow --- .github/workflows/gh-pages.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/gh-pages.yml b/.github/workflows/gh-pages.yml index 8085beef..40333b53 100644 --- a/.github/workflows/gh-pages.yml +++ b/.github/workflows/gh-pages.yml @@ -4,7 +4,6 @@ on: push: branches: - main - - feat/_add-banner jobs: build: From 386fe3eeb85d2131c831ca7cb05193482ea5c28b Mon Sep 17 00:00:00 2001 From: Atlinx Date: Sat, 13 Aug 2022 17:38:53 -0400 Subject: [PATCH 18/20] Update banner --- images/banner.png | Bin 110158 -> 103491 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/images/banner.png b/images/banner.png index 27b3cf33d63bacab2a633584aaf0544b04271151..c1113c73b9e4bb3446dcba3b456a04f359cb3230 100644 GIT binary patch delta 86300 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

Kz_u9k49T4O$r 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

#N)c^hn(l0>upshoAosLVe6RpMI)&m z*Bjd8F4#nU#y@RmyC8E@*~?q6tU0fi+!uQ+GGqM|tQ?Qe!mYEPdVR^!_sfmb@KJ=l z%7=}5FB1VZi!_#wbBA`CfH8{PVF*UYGh)cCGK22CX6FD8nzSdv%G3dsQg}h?#sq?Y z->|XOt#jgh%mX;#O{YHlD4xVbm;7f59aF@jZ(&jYVm}9Gx%l;K zj0oyK(v2F0C=aFM__VFtAWc1w8==dqRZCtNHs96Rux?3CxkPB~gIo}AG*;knZQ7@a zMJ1O6Ofk6PBFC(W6PMZ5r~$U+bv^4M0n;u~*D}(C43Nv0b$WWg-)<0kFq0(R(gOj% z^LQ?^>q!1w3TCR|eCVynQNwDYw43ImIUe40eBCTg^h$Lw${zn!1NlvR1uy^9VIWN^ zgDigaS1c(nonI>E^TPTDUN^uSUjx`1uq!L3UJ(iaf|S*SKfIK*7-8n< zkW`Sh3%Tt-(Z>8|{BNllBUNQGPMV4R*Vc~m))+D88dU$pbtt!u=C#o8IX6X=>ehF^ zZrLp_1if%BU4DL}K)`tmtHVL9Krh*{|3-T^1#FpoTo=@U-7LcgqErv3cin+6XD}fy z-6^!PrroTKqTmXzKm+_rl%rL%Z=_Ge%9s)!bngB1*Q316F2y`F?jYf8BPml~Y!+cb z$v@UDxwg0yk2jy`FwQ9Fxw;zGLx|b)b8SN=d*GgjjdE*-s~#fNhS+SUy`^9C?Wj~p z&fb)LV1Oz)UK&%%?Y5dPR1XYqR1@2&T>Q`~9gE$pi?)sPo7sH|q>YqWy?lqKf8NjF z=+Ce$J-#BK&M3?S23p{WSpu@3Zn#qZh34En8B*)}D6CgFa?W)B5p%?sfq2oAA?S_d zRZwe7^-iPj{rhFgny#q3Dw;D*O8FLVC}6ncAp(@Z2P0sD3H{2VA_6`rVp z8`P_MAZUn~1HMKT`RwB5(?=vpdzUPz?Fy|V*!h~V>dFW}{iR5)L*2TOyM?^0DqUwr zU`TgJ{aQCH@_736G_9g{$Nl~bKBA>v$^(G>vfacPTzScED|Y%2-l=6kZiy?qB%rFC zV~f@H212D@*9#P^xHW!%bZ$a$_=I*mRFKcn^VM*TaEBO!FQbk!S&c4<*=+r$@a{e{ zuaYq zmb`1KKpVC!E!}me{`)x-sk~CtMT_d8Ucv%D@EcKkaOYd3_be$`dC8}R^NRdA%TL*T zwn!gFo3zu)+*E6=6B-<~s6>;YdpxgM$inGSFMdnYvsip+DqWyGU9fv^62TfMsNy-s ztom)b;Z9SQpJKdOEMF#y!MxWwANpy6*P(hIA%kUay> z!w4EdOgR}I7&{A&i?@T5+RQ4n2ChUSGNC%iCbGesw6J`BE~kq%XiN*`K^8Xd6=yiK zpt;{7`U$U64kOP&=teYRU^ypYVG*ng90xVkRFI|B-H>^N|7f2Wm{0)KZL)%7NX{lJa%yl%SBTkK;_ z#*{YO)2~CEOWs`O*Q~9ul^X2#0(%EzH!dB^1Tf_dqr~9EZRM3&S0lGe&xkRJT0yfRy)%x#a#(6Ckz+s2glu=Z6x2MpV5vF!wE_DxCorI8#K4^L-y_@jk zJ^k4^7m!5zhewN0n3q_4x;8{uI}_X@;mAMXCX1HO6jI_lR4;Szk!!NJaW&Y)bTF!p{NollYB^!fnmv8%0BQS^)xiBa(TXT-byp!4$)YoEn-9aZkKH+$DY z1MQD%5IggxA8$I)*9IO{tE`p|m05A^?3M`<3>#Wsx_ib>rC2(@srE4d24PKAroTX@ zhc3cQq0bZh9Cn_}D4(w@1#{izzl}GKyYxvbD%%L@$TjgebT_oOWk{pP63N}!|2?QK zdO66j8u=kiPsW3v_r7z6Lu3_CX5H&ooBkfst!=reX-sNg=c-~o8^+p#l@X0vyMlS39W`~$Q>$7}#@{3}=1e2!sdt<` zfg0T9J~{l@oSK!L_kJC|DkmBoeuc?QIk%bifYYMZ=@t%&vCb-G*O_d*8#B~TS$n^@ zn?k&Y4A^w}QtAs*!Wjv6ON#j3@*dD(q)s~Lo(y#d$utZJ+(D`Yjx$2xS|~P_=en?P zZLD5)ku6o1H2nrE=w`qx@^(~;W3PcAxxKEY8MXm0-(+)+ySo|B2ScG8=V)F{ZF=&1tuzkTmg)a7o^UDzHTwZy# zcen5Vnv)o@?a@sp`Nv8=4qHY*a6_d4eYdn$C&_~?B5meTHglJ-q@EYoB1@OK{QQ2~< zJ??&=T6C0SrpQ6VScI-yK$7I(?qW)MmQZI(2u9@NloPBuxB|$`aB)&(pGbioUpJP# zar#im5CT zdwx#*ijTM^F5X@&D`+oZyL4(r{%RdYA+`HZ`Bf<3hbz}6E#5h?JC{9cHDdTxti6j` z?9A!zIFh}ZO*vbfo8}80d08pEWY@S;T)IucA`4z03H-|KnV#Ie=`H@;Izm`lHA;K_ zd6>zG7MVz{N8Lf-@IMc>haH^d*>&kda=hnA>WQLhhU4e)jxU6la`>kHyrSDxAprcC zEv0|>pdIGsOfx4#t%sLuTK3W{dVqsTaL0@o^(?YjI~sOqWI6I()T!n$C@o{Q6EC)n85L{s#~&Q~1qz(01J(R{=J z0_q$hx7Rs!z4t?g&*q%|B$pQd6;N;;{_GS!MyNT$UX69OCULm{_o2%hT?w;Qy{$R! za!Kp;wM7h3^@RFWNYK6boFf!Z<|$6z8&ow#hk}GgHI1r1W|Yp=A=3PzBS!6CObI0x zgf&ZUhMbzNNBqlvL3`G8-)k>NJ5{-R=N!f{75gpZ^2DkiFmjLWF)VMhJz9?lCQ$H$ znqJ;T-%lX*vfB)##m1yzzx#vM`5d33fFx!EZy)%jM48kb1ZYBzM{ zr8t6wV=xs2OmD5!#UP-q>+4skw zU@h3*BT;l}Gd5dpfwDLoxxpTh+J}CWWp!uK^&kA5iRtSbMl6-che&+ZBkh=|H|V8Q zg6dXz{8pex#K2C%kQu#j*PGVwoK!{s!P9-PDj!8zejfDnLpMVd9y%rx?GY^tc`DWF zK=ArhZ)3rGt}V*fB&s?ftzDt5J!sace(tnXpiGTZ;$5HDd=4}uH@IzU75?N80P@@+ ziTqTp^^<5ojsr?@$%QeErDZ&4KX@I@`Y2;BB_9NSH+pQqVe+j}RKmUrs6YS}n?UckL1m2K zfbbEYjVza~E_}TlaEo@R8vt=LCAnViIeKqsv65|arNdMcH^_-gJtmow?%ovMI=DmW zcFISbGsw?U54ODun5W(Uf_(WDR{|cZ1EfP6jQcflE%pN%t}k2mxR&vZFg%|!!HD4~ zTPyoTNiJwv$~2>{Rt@LV+|gFMV8i@jKllnukOmZXE*ALKcEsb_67&kg2y%RaHOTVZ z6N2x+br8TSeWVL!$ebSWP9(Na zvQKp}*|!GS)v6xEA{{XAv}uNv$Iwp|HPwtfm9=+(*aa&EF#4M53|TSI@I(3CJ51!) zPGWeVIs*v$7aCWu=N@y}dAgj<*9TK7%)P|h{CWCQ%4u6hCUeGav+Ggp-4la~3}{F+ zC8B`rTwESZNM#$ng{QXKK);h0oS*p#*T~7$I1!XsvT>^KX7=UWbQI@q<{u^{%}|Fr*GqNmV+KMc8=P3iiHM*z zGq`PqG{g#gSL%`I>z>U?Am)U|zO@9(82ijCDKwge<=O|$)sG0zTKeLy%N%@Tq{xXl zA#f{iAbE8SK*J^jh});ns!WZYnz4|87Pksn#U&$PUYDqbAx_j3Xq-9Kg$Bx;OPxs_ zxX2$&n*I3H`H;ARKp%Bhj1o3y^1P`{KE)jPRzv%zGs7mlWsnnVj9jI_yVWB%^dJmx z`OLjVwbQl^b*8~xbKEP%_r3J8dHwQx2Tg*q5(6;K#ytIS=Cl)Yr$RRP%-LYe5HT_F z6331<2FT;C_$0(f__E`k$QcYl#BpcX8AL-~T(YCzu}yk754{c^Nbz_unF`*j@x)3o zh3c8K5zScpNc~T(H-aTB=Esm_Zr6UPk14^xy{P11qToWjJ92XK#*+$Wtwh5vv+ZfG#xch1*LTNzc&A^8@ zCO$KVmr^3i9l7M!NFq7eh1_KOx$au8!3No2@2guapRjj)5&(mf?g77|_iSFLh>eKs zPHv6{y$PxKS1DEL!1SlUFvIQG6UT=9xzz_UrYkZrb}|imlg5A%h(rNzQO2tUGx&Qw zz_upzAeq)bBOm_xa8Y?@dbfOYQ}d~A8P+$xiYw(tQL2}%9&&g^IbY71r=a6>-CCDT zL3-sxT9LYSe|WmCYDen|qS8)*BdD_ZNN!=L=4XYvgvbYMnt@w@n9y%))+>k3K=yfQ z^;<23v+&}i#Xb_9N?DW}Yh~Mfz(fBgJ~~5(yp0=q6oa7UuTo=qq_X{8rY;02|E}zl z&~O8MxauWM(xs-UYj^FbnzcGLIq#Z_Ib@zwT~o-~4KBI9kFrScL=Q*~ih=itSXU)` zSAVFZH!!wf4WX8?nExA5TuL$RpV@yyg;kDqKx-$naP7wixy&mAt+kr zClTL34fpLa7P*ctN(HuFjli=N{n^JG3uNU@9A;TTg`D0mM*^Z6v z<&GNUn|?vcrRfjemc4QA-7NB`O$%_DTAgl~Y?D1)qno*hKmL5A@<^q})4D&N1G1Vw z-2J>NH4yDLS%9Y`H555kC8qFERG-LY^fsj4VbrM0$G}dm#Y!bp)G%~qtT%U<*yv4_cdPj1WhxEsD!Ex+wdv$v3s z)#;dIbb&J4zl>lNEADo7;?P%h)Q8%%ob9fd_fmGYxy!K`^cBluaaeuDIKUmZU2P&& z@xTLBM7e4nor+s|_~gl_M}5Er#FJ7MoYD!l69r>tvMG}Arom9Uq)=~fZm#=obbJa= zKIm`~JIcr+?)Rcq4D17E{HYT--JtL50QC-$(Kk@n8MAz5+NzVA!S~&Do}ZxAo_p42 zgJ6tjq!3lSzL3&7XG?N;$7kCDG@&XhXCdd0ytP|C zsm+8?a_+c*e~dT|*E$}a(vQY+Gjh0Mdc2g~yhQYI1z9j1;Nn{zLjpMfC*ASzi3D2yF<<&|V_x3NK z^Qz@7=TF$hbWf{a83`FwNE$`7W(6KiuaO#;RY#U6i@tQ1SMVdheS6+oFOR7wvsaZUH;}p^Hg+|P7LvVsja5_ zX=mwUG1Q@|eLVGMyV9)^p1MB3x5&K5!Ji!Nwapzw6Q*h~ug&Z|m%F%fAM>GH$GUWd z?#` z_{n2KI`*w6|2$T~KpTX&4yLCn<`ZzZDvHw5HO}Gd4vsZGcNdk9NYXZ1(SdKf870SV zF)){BD(kCs2bR7p1>muC_1)(l236`VV%&BswW^xq815FQO*6gRxf=~9IHppURSk-% zH;N3B)*;^@i<4#cuB0#IYUh9{SV}e|^TBld>$FX)1j}EOjFx%5#LS-#yh*EiThXlA zbs5v|n|F#mMLMg{vo1@+&fC)`Q%;X-b5fkha@|@0i9x~s$Tcc1+B57*4%5Lst~|Z#IB@efq3|x`;}K4e@$AcP|8xE)fgil+ff^ z*KQf?sS3$z2kPraqtC;{%UIHUSN2+}!h}Z#DX4c{IMy;1_qYi7Bh(A94>;H7*V%`D2ZPQ9l3 zJ5)udWxy=S@z$z{S)C=y3j@~`;Xcp{a2dHE;3CVG9Ad^l>AVp8!tc1(rNhH|E*X9= zH3O=?*z~g#m}?&ZYPt4rm1{~*@LbdGJI`?0t5^R7ucR=P6kFMXSVeyEX z=-tLQ=l@zviIKuRF^}gG61-Y8Rub(~s^4%p1!#G%rBBzxMtAh>xyn$vW%UOk_rdE362>1?RS(tr#f29snQ-pVDBFSFN;Tssjxda4;n8pIj z&6A_w;PX!+6mKAe7#!490%<bz+U-;^F!Rak z@@}&?pVz9BFiK*bT!ERBCG)-L9o8!qej|Ar^LWJ^L8V_7DQs*C6rEm zVHJ-NRcim@366@6uF~`X9F+7jKf7d+rU!KOpnJJ0RE1amX*2b(O`%MaLX=p#r$tpJ z$Be?o5Wc!vfgS{EM&g79q68{MO}KC(2xv`>wRB9&U-{}xMp1G@DneXWKOz}!Imd2NF?JE>+N2U zVtB|++*Vq5YSk?U82%LeV%EMP>rA7|sbaOHzA>CH^fIBTJIIjwKsrG&QCf>ij9$0x zFJHCTx$_eb{J-_*Ot&K#_LG$H7Z3T>x9;rwFdOM4>lWsA=UNI-1rPtzM_RO#o@1r?+6XHIfr6tD z6^FU87gt6cIy%<#tt6*n%@i}LdF*3|#QN{gSAPg}s!!dk%do_Lv+i7f_<)X)Vr-(u z)~NBhMsGwvzsJ;-fk%!GF{Xaa9md8C*%UO#QPQ9?tzeib-BzSv7t%PungnQMMvcQ}fhACp;PHX+QjB0wZGobSFrlTiji1pMUEB~POjf?_7TkFx(2e9r# zTwT_II0kQD&A4r`&z}84lr~ZK<;hsyCqut;9X7*8XyvG+2s#nbd^htCzwv;{nHI2( zD_c@y!|n_q)6*&$IV@yN1QAE*VI>p_0dy|J!l7b!M@jJ5+>;7OFs#1?NTH5>3C8`H zMA=l5V-YW%o1SE`0t|W%zm$;LzKnEQVorE@+N^7!3yfdU*K8b)t_^@S?-x1QYGQki zY{=oZ<#N62;+Q@;GUaZ0Om1rsgAd)V*Sg`~v0j~TKEf+L*ZRS=)(@On=jCzt%-IqX zB}dV)6juGxW)UB}4CtwF5huUy!OXj4zSptmfpcS@?>u8{!dcjpZV?s~gBGN$XS%8B zPR@5!(w;8uR7%-fd}1-4KWL6K@Ya>KPvs!Kd%`|*M7p=@__i^Hh_C!CDRYN8O_Y0Y zzg4aDXaW3u^l4lF4<)HAb04V+)I)8>&%0t%K?kr}fxy(M+mEm5{)s?aV*m8nFLRmF z76%mjT_k8#Chr<~LGsEEQHxdNf>n{s;x*UD{=*;3KbKdmeyifjT7|zd>)fluPZ!KU zHW--k_#2@kGh$!lEq8kRtq)TZY5W!|e(T?OJ{sHCc6^L8?AfgKsX&gbFM2kaazOZz zc=5#U=b_u~N(rT;yBTUk*1|TG z(8$FEWfZLJsux?A&$xc{0v|<%?mrN+)Cm}20Wux?Mq4G({<>7XtzDL2SZgy5?i+v`JFE{{Y15)a6UJbQ5SU@q7Nj;k z^mzKec zF9~r(`6JWDwn1D$FiGP9Yrv)z^j5kmw6?lb9Gk4-U%fkL(M2?<#)MHx1vl$rMq~pb9ox~vA38E&iWxha8iS(}kuuuMKadwz)#4{&p zPClkTmHZ%Ef4%KIhdQ`9cV>QM@q7kszCuh%*0w>r!8ri9YadL@^D7W9ie+R23;F(X zA)bL0BaDnvu0lh*)WS&v*^urdL#$4fGHTa8m*l@>a+kIzo)Q{H;<*axal50SZf;(f zWn<#n401&w&E(c)DyBIBJMS3q;U!nLKpuf1c^|8HKDKImu|o8D{1_e1>pIra7I zaGWLJ-7>X(u#rmn^4!?o1JKLPdVkjY7%=ffI;|p{Sbhxh#Z~OJrWrZ$vGY+eD*KAl zbqQ1w8Qw=;FnH;txi0vK(CKe4Y@lRUSf7yn#W)61LvtXjPURX^y6 z6ef*E@!{i27917)*-d_Izn`S?uVy^i8Jc0VYhZl@o{&#`VzpQT_;v>J$7Wp{UN$Vu zjC(Kj^gEB}{1{Kl7$tU&uKDSzqx&VTq)^daa=ZdPsf`YGb5+|*LXj60AqNcvd%%_L8_u_^ar?4R;F;FlORGJu(@_W% zDp-?6O7$l5b06R^qk>Ap#%wfx+oSywIGu{VNJxan$sEu~nBy|;>|q)~+X<&^0) zAmy3?xjOVl_t#8Akq6hTtr=U{Jd0|nA6iW>-!zv@S-T^sA|1P+e7;4w7ty;g7K;KE zmml=;KqxR{wngCu-bU|PQt z5^2r=fv{n<_GLJJFO0rGSi&5JdJhf&r4eWro7*N zM;&CYXtt2XuBEx3ewEl}#(ps+Vp&}1K&^H~V{;3)p@6WhXx%RJDG5}4-~pVqCk%vQ zpo_h>M?(X{8+TfrgbC@*D{Yv^AD&1z3hdolbq=u)$yDogPI25l1#<`{Xk>w3EV1I~ z%}sYbXdf(f2M@=NrG3el*2n4tfgCR7n@z)L(OK~Mx;8iV=G4C7rR$mRQ2Hmp+_$1x zNI7(eF4HTiYtEjYc1HK^4FeH!v#Q^W1<+CQ=IfYn!I=jkiu#WTQdN1y~zhL>KGNb z0ZC#S>VP{efvFpzL2VXz9bSK^O5d}bIu;0<)QL~l+;v4T=An^QAm)^gj@Q)DM_Onn z*kP_|ChW+!sAcrXMg2jygTs~cV`&`dlPOT^D1~>z1Lp z<^mh5)8DwW&;P}uud zn{z>N6xIAJR-THB)vv4H^g`nF+T2a>DW?gK#(_c_g^E`Yp+bKn2ghgl=$k(J<*rUX zYYMbClojhf^ZjSXR2A;7k@t@t$MCtHpi&>M-u?k)p<~w<@Rjye?m9eQrP`0J`lwl# zIRqF=S^b9ZCkh>+wTVl0cOTgeY`U-0!}onFiv6QeH)&DX zwQlVLKJ3>qLv!MzY?`#=L=^a`o-h;gQ>`w@BR{T17fEP$r(ac(9bZu; z^68aRAfj`mX*WGQ0exDPQakhaFcZnhpd`KqAy&}&*^1jq zdW9ZT$ZF@KrMV*^TU0)m#ZBnqEjnD)jU<_iz7E~}F-T2nrIVYKN`OPs{u-!wb)o{S zOeGkgLafUU2gS!Q-bZ;q`PK6T zTUQP49y>6L9B@tBpLA!qPvhLMZuPs&w=0^j@nM_w7Sn?9DeM|-(ti{z-g6v7-B4ZC zY}{A9gN~n5PYo`Wp_;DG6xy8CO7SYS5%7jiRRG;6*DkK)@76~xw`8@=;Qy-kvi7+^ zK#4t~o?M`<7GP=@+2u`brXeGdYi8cQ`icu5K*IP&-3MP`{Tli5*43V zk~$GgD-oqU} ze2YG#1u=LYD|XOOrz?XO*Szt>74ybf&>>5%)?+4~)1lBDtGYqGv9WoMlr*Tn|pC`B%@#6OUO*2>G6c)@Z=NmUg>>J zNxUYnR~fR3r$NmS z`zwf5C7cgi3j_EtttI{7u(@8y+MsVj=g*D4I!A6>D-aX85ZJr81=e~U z22x03q)YsS8@l5=*{eD&4u8xWFuNk`Wo+U}j9u0%M9h$^%G3l>0l^|n0jXmt!JduMGM~7X&U4u{`%!b<*S~F=GZsS*nrkg5 zfRAFPn&)mnd_rDIWK_M+uw?L;96gRqCNfaaqHi2Le@#7SZSd*K{<& z`2zK6nkSt+d}tij_2^LWDDTVddNCE!0@6(F0|vNQ*TfAA zmV~Ry9+dQt=h9qG6e%SM2eK!o-l!d+EB+Ey#LUC~(2*UJV7mU;>xh?5%}Nrnai!1v zHcK#iZQq(h?kM=chFa4kG{X`yUMBYKc74B%!CNKIy>+y$`S|f(hHYTWeJQ0JMqADY zPX4!ZdJ~-wR!hc!D-^@Voi3amNXU(R_j$}3CRvBB?x<~%d6eF4vqdRYT^Nm0C60DP zyn{RF7rO!prkWbbmC=aKGd=}`5`vDzr1P8yo41vY9EHhfCnGcmUYhyavy>I4AlgkdgHc*wwVb zQv5LpMB)>Iw0jd4TZ?OYc;>S4bqUZ8y2$ch~CVbCRDca|Fr@JUd zeCzoX+$wTwFmOL{7L+E}-E4Pffy?beINXBp1)T zfU{l_VysVO6wx#oi(JqkV<8>mH)x_}SpQhjfB0y%PO>w;g29Y?j~P*69Z*CWx@D`H z_$Flgvz#3s4{R06|B8!#p0#ai{?lGeZqUan%o!fR-2Q;%T-!!a;6a(;DwmItDeVnD zgavlVQ>n)Jh^GdO5Om+|he;}sKwwrlW92LnzMh4+q~ z&$f<1ggIy|{q7VFtS`W)A_x5vOGlJo2hmy1SmOMM{6GAgKd%sR>2H~ToUEt)&M2KJ zhwSobI-)ujI?mFIY#6HqRyW6e8WA1;{dFJz_mM=&-VF7qY*A(Mhl=p4slrQV5RDdP z4F}8^{JQ4Tu4)F!*1!5^lKcJG-y-A^u2NQI}WOumEc{n`Z>ljmDiG*1WC2Q z$yiohFs(stG#WpN8wQE&?jBkKsNnzs_KsG^5t{tT(0h#Zg!aDInYiFOcf82?zV*M~ z7%`ZbhR>o~_J_+Pyif|Mk;_(Kd>L9TL?NQpO45`;qu18O@NJg#?H>m2--hwQG}>%i zL?ffydu5-8?i!|HjZfwbKbk*R0+rMAVT7%e5@{f_1JE+|cldHHmeO0s`d?b%9PJZN z_KwRkUW!mIZD8!N_R0S(jqPj^BeQlyZG`SDyP=YV3Ew!-CWO`nNyzt*-f%gP2iIXZ zkuW~Ov}En{Un;+^FPRt@`)M*-c81Z}xi`1uD98R5_CNBEP|i26-p`n8HTGg4XG_NU zjYqdM8ErvE6E$=9A$texwcn*HDyvmG-EeSJ`Nl-J=I;4DP|36Xe+9&J@@@9t#Z2HV z%(X6brS$~9_^=|-CQTs z??0Qdyq2P_=AoMOOMx~)-?8u_KFz~I_oEW<I2*gt+6(*KT#t&q z?@adA8fk{#7$)`Tn$=G&?~{*fxfUNARQX$kr$xB;7#)$OuC0$E(}7Sjq3*rH`hMbq zb?Q$AAyU9XhXaC;y$Qc-oKUItlMw@4|K$RFae?9HIQ~!9xM(JTF*5%-wBB?5?LPi_ z{_}5ygErHD=$QY0DNO`g;R#@^gGNL?%zIGe~3^Fk9+wn+erDVp9WcM~DE6_GWDvBIFz%!jVySyq&+M$$dT^Ry<0EQ=yW;BhHanHUV)RffsfeboY(j20|8dR= z?CLP)3{m5BC3)5nYyL7w{kr|~Wx=?R;KiNN=yo9Tm=0OOnNNVPq{R{(4}(0hiEre@ ztqi5LSYV7L7JPybWi@&wkOBq<+X=E$3CiR(8+Anq@(KnWS{B)`&D91ccF))Bn+^k*H+=9qmHwaH<2Y3z zL03Lm;Z^E@({KvykJ#FM;Js#yHQ*WEOmet%e-ij$bHq?K-hUL6TYk$`Lv^*VRWK=z zGPJ6)THh*&Taoc3=T5jvcn!N}F7QL`_V>Sk_)|xSzbsii(|c*IGd^DNd~+ylzN$e# zb3vRRinMv2@V#i~tW!AUxx)H|Ov0m9n~G=_GZbIBV1~CefszlH`c0`m?#gdjK}(~c zYMla5!~c)5HxFp?=-P*AX|=5jwzg~{)S{rWiO3F#bpa6s0cBs5EwUTgx7=C;t85Cg z2_Y(*?6U7fMTi(k1cVquh!7z_AOS)WNJ#R#(e`<@Pv7_Z<_{n@aL>${Gjq>5YVY|gi` znOn-^Du?h&C7ntceTgC6MBo}baQ0vYI5_!D!AuAvK$#r8A)L`mbLL8A2aO3 zbG@IQS3OnNh#5UI&B84dtLIvTaZVsp-sHB9;Fot7K1$U^R^Nx_4aioZ`hW|g zsQmsW7Xq$wlFgpAzg5kiwY@d)wvhPM%X%xcL24Z?-+M$5m#U~(g1cmRexSjKp{IPO zxOV|<&>rwyEj}{LzSX6glcgnIBSqt_w?&6?h>!e~TwutNY|Xs9*U|L;Hd24rBE`Ob zcAmYZTqb>yebVP$m4cN8>0)ykFxUFNKS$bkGPW< zfD5Z^#@fC*w%W(LX2@?eQ_!8Gu&2M{wNpn-&+$s@)6&0^6&z0k=0e-b@P_z7$C1Fj z6+VCb&n_3Shf?=GKMnSyOpoI~8bmR%j26;%0Ds2%+h_e*c&X%3^Zk{+BIBb+<@}(x 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
WEMS-!rAPi^9U8~UTORkV8Jwxp$LaM(y!Tl3W7 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
dLmTU&vgH?FI-|CqEjEL^4If!V5_7~qdNQnV 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 Date: Sat, 13 Aug 2022 17:42:23 -0400 Subject: [PATCH 19/20] Remove banner --- images/banner.png | Bin 103491 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 images/banner.png diff --git a/images/banner.png b/images/banner.png deleted file mode 100644 index c1113c73b9e4bb3446dcba3b456a04f359cb3230..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103491 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 Date: Sat, 13 Aug 2022 17:42:50 -0400 Subject: [PATCH 20/20] Re-add updated banner --- images/banner.png | Bin 0 -> 103491 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 images/banner.png diff --git a/images/banner.png b/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..c1113c73b9e4bb3446dcba3b456a04f359cb3230 GIT binary patch literal 103491 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