diff --git a/.github/workflows/build-development.yml b/.github/workflows/build-development.yml index da02205d..cbb43b00 100644 --- a/.github/workflows/build-development.yml +++ b/.github/workflows/build-development.yml @@ -18,23 +18,30 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup NodeJS - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 + cache: npm - name: Initialize the project - run: npm run init - - name: Set app version to DEV version - run: npm run set-version DEV + run: npm run ci - name: Lint Angular project run: npm run lint + - name: Set app version to DEV version + run: npm run set-version DEV + - name: Set flavour to DEV + run: npm run set-flavour DEV + - name: Set build id + run: npm run set-build-id - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: 1.70.0 default: true override: true - name: Install Protoc uses: arduino/setup-protoc@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Configure Rust cache uses: Swatinem/rust-cache@v2 with: diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index ca5dd48a..74985b0f 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -22,19 +22,26 @@ jobs: id: get-package-version uses: stevenbenitez/get-package-version-action@v1 - name: Setup NodeJS - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 + cache: npm - name: Initialize the project - run: npm run init + run: npm run ci + - name: Set flavour to STANDALONE + run: npm run set-flavour STANDALONE + - name: Set build id + run: npm run set-build-id - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: 1.70.0 default: true override: true - name: Install Protoc uses: arduino/setup-protoc@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Configure Rust cache uses: Swatinem/rust-cache@v2 with: @@ -58,7 +65,7 @@ jobs: TAURI_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }} TAURI_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }} with: - tagName: oyasumi-v${{ steps.get-package-version.outputs.version }} + tagName: oyasumivr-v${{ steps.get-package-version.outputs.version }} releaseName: OyasumiVR v${{ steps.get-package-version.outputs.version }} releaseBody: ${{ steps.changelog_reader.outputs.changes }} releaseDraft: false diff --git a/.github/workflows/build-steam-release.yml b/.github/workflows/build-steam-release.yml new file mode 100644 index 00000000..5528a38c --- /dev/null +++ b/.github/workflows/build-steam-release.yml @@ -0,0 +1,84 @@ +name: 'Steam Release Build' +on: + push: + branches: + - master + - main + +jobs: + build-steam-release: + concurrency: + group: ${{ github.workflow }}-${{ github.ref }}-steam + cancel-in-progress: true + strategy: + fail-fast: false + matrix: + platform: [ windows-latest ] + runs-on: ${{ matrix.platform }} + steps: + - uses: actions/checkout@v2 + - name: Get Package Version + id: get-package-version + uses: stevenbenitez/get-package-version-action@v1 + - name: Setup NodeJS + uses: actions/setup-node@v3 + with: + node-version: 16 + cache: npm + - name: Initialize the project + run: npm run ci + - name: Install Rust stable toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: 1.70.0 + default: true + override: true + - name: Install Protoc + uses: arduino/setup-protoc@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + - name: Configure Rust cache + uses: Swatinem/rust-cache@v2 + with: + workspaces: | + src-shared-rust + src-elevated-sidecar + src-core + - name: Install development Tauri CLI + run: cargo install --git https://github.com/tauri-apps/tauri --branch 1.x tauri-cli + - name: Get Changelog Entry + id: changelog_reader + uses: mindsers/changelog-reader-action@v2 + with: + validation_level: warn + version: ${{ steps.get-package-version.outputs.version }} + path: ./CHANGELOG.md + - name: Prepare Steamworks SDK + env: + STEAM_CONFIG_VDF: ${{ secrets.STEAM_CONFIG_VDF }} + STEAM_APP_ID: '2538150' + APP_VERSION: v${{ steps.get-package-version.outputs.version }} + shell: bash + run: chmod +x ./scripts/steam/1-prepare-steam-sdk.sh && ./scripts/steam/1-prepare-steam-sdk.sh + - name: Set build id + run: npm run set-build-id + - name: Set flavour to STEAM + run: npm run set-flavour STEAM + - name: Build OyasumiVR (STEAM Flavour) + run: cargo-tauri build -b none + - name: Copy STEAM build + shell: bash + run: chmod +x ./scripts/steam/2-move-build-steam.sh && ./scripts/steam/2-move-build-steam.sh + - name: Set flavour to STEAM_CN + run: npm run set-flavour STEAM_CN + - name: Build OyasumiVR (STEAM_CN Flavour) + run: cargo-tauri build -b none + - name: Copy STEAM_CN build + shell: bash + run: chmod +x ./scripts/steam/3-move-build-steam-cn.sh && ./scripts/steam/3-move-build-steam-cn.sh + - name: Deploy to Steam + env: + STEAM_BUILD_USER: ${{ secrets.STEAM_BUILD_USER }} + STEAM_APP_ID: '2538150' + shell: bash + run: chmod +x ./scripts/steam/4-steam-deploy.sh && ./scripts/steam/4-steam-deploy.sh diff --git a/.github/workflows/pr-and-feature-check.yml b/.github/workflows/pr-and-feature-check.yml index 7fd59771..f2088070 100644 --- a/.github/workflows/pr-and-feature-check.yml +++ b/.github/workflows/pr-and-feature-check.yml @@ -3,7 +3,8 @@ on: pull_request: push: branches: - - feature/* + - 'feature/*' + - '!feature/steam-release' jobs: check-pr-or-feature: @@ -19,23 +20,30 @@ jobs: steps: - uses: actions/checkout@v2 - name: Setup NodeJS - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: 16 + cache: npm - name: Initialize the project - run: npm run init + run: npm run ci - name: Lint Angular project run: npm run lint - name: Set app version to DEV version run: npm run set-version DEV + - name: Set flavour to DEV + run: npm run set-flavour DEV + - name: Set build id + run: npm run set-build-id - name: Install Rust stable toolchain uses: actions-rs/toolchain@v1 with: - toolchain: stable + toolchain: 1.70.0 default: true override: true - name: Install Protoc uses: arduino/setup-protoc@v2 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} - name: Configure Rust cache uses: Swatinem/rust-cache@v2 with: @@ -44,7 +52,7 @@ jobs: src-elevated-sidecar src-core - name: Install development Tauri CLI - run: cargo install --git https://github.com/Raphiiko/tauri --branch 1.x tauri-cli + run: cargo install --git https://github.com/tauri-apps/tauri --branch 1.x tauri-cli - name: Test if OyasumiVR compiles uses: tauri-apps/tauri-action@v0 env: diff --git a/.gitignore b/.gitignore index f7f71d1c..8cce669e 100644 --- a/.gitignore +++ b/.gitignore @@ -51,3 +51,7 @@ Thumbs.db # Oyasumi specific src-ui/assets/preload-assets.json src-ui/assets/splashscreen/splash-blurhash.css + +# Steam +/SteamSDK/ +/steamsdk.zip diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b162f13..b617d31d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,35 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.9.0] + +### Added + +- Allow limiting sleep detection to certain hours of the day. +- Automation toggle for sleep detection (by [góngo](https://github.com/TheMrGong)) +- OSC address for toggling the sleep detection automation. +- Spanish language support (Community contribution by [aacal666](https://twitter.com/aacalde666)) +- Indonesian language support (Community contribution by [a9ito](https://twitter.com/a9ito)) +- Support for a release on [Steam](https://store.steampowered.com/) +- VR Manifest for registering OyasumiVR with SteamVR. +- Sleeping animations preset for GoGo Loco 1.8.0+ +- Cute drawings (by [Jun](https://twitter.com/JunHakase)) to the sleep toggle card in the overview + +### Changed + +- Added missing translations for Traditional and Simplified Chinese. (By [狐 Kon](https://github.com/XoF-eLtTiL)) + +### Fixed + +- Fixed issues with detection and installation of missing .NET runtimes +- Fixed Japanese date formatting +- Fixed Japanese font rendering in overlay +- Upgraded various dependencies + +### Removed + +- Custom VRCFury installation prefabs for GoGo Loco. (You can now use GoGo Loco's own installation prefabs from GoGo Loco 1.8.0 onwards!) + ## [1.8.0] ### Added diff --git a/README.md b/README.md index 3488e6dc..c4a49fd0 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@
If you want to come chat, join our Discord Server!
- booth.pmのストアページには、日本語の説明文が掲載されています。中文的說明手冊在這裡。 + booth.pmのストアページには、日本語の説明文が掲載されています。中文的說明手冊在這裡

@@ -29,11 +29,14 @@ ## Download & Install + + Grab our latest installer from whichever place you prefer: - Our [releases page](https://github.com/Raphiiko/Oyasumi/releases) - Our page on [BOOTH.pm](https://raphiiko.booth.pm/items/4216880) - Our page on [Gumroad](https://raphiiko.gumroad.com/l/oyasumi?layout=profile) +- (Coming Soon!) [Steam](https://store.steampowered.com/app/2538150/OyasumiVR__VR_Sleeping_Utilities/) Just run the installer and you should be good to go! @@ -56,8 +59,7 @@ OyasumiVR can **detect when you are asleep**, and help you in various ways such @@ -157,7 +159,7 @@ OyasumiVR can **detect when you are asleep**, and help you in various ways such
EX version also supported!
  • - GoGo Loco v1.7.1+ by franada + GoGo Loco v1.7.1+ by franada

  • @@ -263,7 +265,9 @@ OyasumiVR currently supports the following languages: - Korean\* (한국어) (Community contribution by [Soumt](https://github.com/soumt-r)) - Traditional Chinese\* (繁體中文) (Community contribution by [狐 Kon](https://github.com/XoF-eLtTiL)) - Simplified Chinese\* (简体中文) (Community contribution by [狐 Kon](https://github.com/XoF-eLtTiL)) -- French (Français)\* (Community contribution by [neuroblack](https://github.com/neuroblack)) +- French (Français)\* (Community contribution by [neuroblack](https://github.com/neuroblack)) (**Looking for additional maintainer!**) +- Spanish (Español)\* (Community contribution by [aacal666](https://twitter.com/aacalde666)) +- Indonesian (Bahasa Indonesia)\* (Community contribution by [a9ito](https://twitter.com/a9ito)) _(\*) This is a community supported language, which means translations might not always be 100% complete with each and every update._ @@ -329,6 +333,11 @@ OyasumiVR isn't endorsed by VRChat and doesn't reflect the views or opinions of The OyasumiVR developer and any of this project's contributors are not responsible for any problems caused by OyasumiVR (to your VRChat account or otherwise). Use at your own risk. +## Support +If you are having trouble with OyasumiVR, say you have a bug, or a feature request, you can join our [Discord server](https://discord.gg/7MqdPJhYxC). + +Alternatively, you can reach out to me directly on [Twitter at @Raphiiko](https://twitter.com/Raphiiko). I'll try to get back to you as soon as possible! + ## License -OyasumiVR is available under the [MIT](https://github.com/Raphiiko/Oyasumi/blob/develop/LICENSE.md) license. +OyasumiVR is available under the [MIT](https://github.com/Raphiiko/OyasumiVR/blob/develop/LICENSE.md) license. diff --git a/README_TW.md b/README_TW.md new file mode 100644 index 00000000..1d18bec6 --- /dev/null +++ b/README_TW.md @@ -0,0 +1,335 @@ +

    + +

    + +

    + :zzz: 一個在虛擬實境中協助入睡的實用程式 :zzz: +

    + +

    + 最新版本 + 正式版建置狀態 + 開發版建置狀態 + 授權條款 +
    + Discord 徽章 + Booth.pm 頁面 + Gumroad 頁面 +
    + 如果你想來聊聊天,加入我們的 Discord 伺服器! +
    +
    + +

    + +## 下載與安裝 + +從你喜歡的地方取得我們的最新安裝程式: + +- 我們的 [發布頁面](https://github.com/Raphiiko/Oyasumi/releases) +- 我們在 [BOOTH.pm 上的頁面](https://raphiiko.booth.pm/items/4216880) +- 我們在 [Gumroad 上的頁面](https://raphiiko.gumroad.com/l/oyasumi?layout=profile) + +執行安裝程式,你就可以開始使用了! + +## 什麼是 OyasumiVR? + +OyasumiVR 是一個桌面應用程式,包含各種工具和自動化功能,**協助你在虛擬實境頭戴裝置上入睡**。其中大部分的工具是專為在社交虛擬實境平台 [VRChat](https://vrchat.com) 中使用而開發的。 + +OyasumiVR 可以**自動偵測你何時入睡**,並以多種方式協助你,例如: +- :battery: 在夜間節省電力和電池 +- :low_brightness: 調暗你的頭戴式顯示器亮度 +- :sparkles: 根據你的睡姿觸發頭像動畫 +- :envelope_with_arrow: 自動處理好友邀請 +- :hammer_and_wrench: 自動化各種 SteamVR 設定 + +...還有更多!請查看即將推出的「功能」部分,深入了解 OyasumiVR 所提供的功能。 + +## 功能 + +### 💤 入睡偵測 +
    - OyasumiVR can detect automatically when you are asleep, based on your movement! -
    Simply calibrate once, enable the automation, and you're set. + OyasumiVR can detect automatically when you are asleep, based on your movement! Simply calibrate once, enable the automation, and you're set.

    If automatic detection is not what you're looking for, there's various alternative automations you can use, that are based on:

    @@ -133,7 +135,7 @@ OyasumiVR can **detect when you are asleep**, and help you in various ways such
    MSI Afterburner
    - If you want more control over your GPU than just setting the power limit, you can have OyasumiVR automatically activate the profiles you've set up in [MSI Afterburner](https://www.msi.com/Landing/afterburner/). + If you want more control over your GPU than just setting the power limit, you can have OyasumiVR automatically activate the profiles you've set up in MSI Afterburner. Tweak your over- or underclocks, power limits and more, and have OyasumiVR call for them when you go to sleep, or wake up!
    + + + + +
    + OyasumiVR 可以根據你的動作自動偵測你何時入睡!只需進行一次校準,啟用自動化功能,即可使用。 +

    + 如果自動偵測不適合你,還有其他替代的自動化功能,可以基於以下因素進行: +

    +
      +
    • 時間表
    • +
    • 控制器和追蹤器的電池電量
    • +
    • 控制器和追蹤器的電源狀態
    • +
    • SteamVR 狀態
    • +
    +
    + +### 📲 SteamVR 疊層畫面 + + + + + +
    + OyasumiVR 配備了自己的 SteamVR 疊層畫面,允許你在虛擬實境中控制部分功能! +

    + 默認情況下,你只需在右手控制器上快速按下 A 鈕,它就會在你面前彈出。 +
    + +### 🔋 電源自動化 + + + + + + + + + + + + + +
    + 控制器和追蹤器 +
    + 入睡時自動關閉控制器和/或追蹤器,並節省電池!早上醒來時,你會發現它們還有一些電量! +
    +
    + 此外,你還可以在將控制器和/或追蹤器放在充電器上時自動關閉它們。這對於熱插拔控制器非常有用! +
    + Windows 電源策略 +
    + 入睡時自動設置 Windows 的電源策略,並在醒來時恢復到更高性能的策略! +
    + 基地台 +
    + 讓 OyasumiVR 與 SteamVR 一起自動開關基地台。這有點像 SteamVR 自己的基地台電源管理,但**與任何 HMD 相容**!只要你的 PC 支援藍牙,並且處於基地台的範圍內,就可以使用。 +

    + 目前僅支援 V2 Lighthouse 基地台。 +
    + +### 🔌 GPU 自動化 + + + + + + + + + +
    + GPU 功率限制 +
    + 入睡時自動限制 GPU 的功率,並在醒來時恢復其全功率!只需設置所需的瓦特限制,OyasumiVR 會在需要時設置它們。 +

    + 僅 Nvidia GPU 可用此功能。AMD 用戶可以使用 MSI Afterburner 自動化功能代替。 +
    + MSI Afterburner +
    + 如果你想對 GPU 進行更多控制,而不僅僅是設置功率限制,你可以讓 OyasumiVR 自動啟用你在 MSI Afterburner 中設置的配置文件。 + 調整超頻或降頻、功率限制等,讓 OyasumiVR 在入睡或醒來時呼叫它們! +
    + +### 💫 VRChat 自動化 + + + + + + + + + + + + + + + + + + +
    + 🌜 入睡動畫 +
    + OyasumiVR 可以偵測你睡覺時的姿勢,並在你的角色上觸發相應的動畫或姿勢。 +

    + 內建了熱門動力學資產的預設值,包括: +

    + +
    + 或者使用內建的 OSC 腳本編輯器觸發你自己的動畫! +
    + + + +
    + 📧 自動接受邀請請求 +
    + 自動接受在你入睡時來自特定朋友的邀請請求!你可以將想要接受請求的朋友添加到白名單中,也可以將特定朋友添加到黑名單,不允許自動接受他們的請求。 +
    + 🔵 狀態自動化 +
    + 根據你所在世界中的玩家數量自動更改你的狀態: +

    + 當你獨自睡覺時,將狀態設置為藍色,這樣你的朋友可以加入你,而當有足夠多的人在附近時,將狀態設置為橙色! +
    + 🔧 OSC 自動化 +
    + 當入睡模式啟用或禁用時,你可以向 VRChat 發送特定的 OSC 訊息。你可以使用內建的 OSC 腳本編輯器編寫要發送的確切訊息。 +

    + 這是一個更高級的功能,可用於在你的角色上觸發某些功能。例如:在入睡模式啟用時,顯示你的臉上的睡意表情! +
    + +### ⛔ 關機序列 + + + + + +
    + 是否曾經想在 VR 中入睡,但不想整晚待在 VR 中?關機序列可以幫你解決這個問題! +

    + 當你入睡一段時間後,關機序列可以自動觸發。根據你配置的動作,它會執行以下任務之一: +

    +
      +
    • 關閉控制器和/或追蹤器
    • +
    • 關閉基地台
    • +
    • 退出 SteamVR (以及其中運行的任何遊戲或疊加畫面)
    • +
    • 關閉 Windows
    • +
    +
    + 現在,你可以在 VR 中安心入睡,知道在你入睡後,一切都會自動關機! +
    + +### 🔅 亮度自動化 + + + + + +
    + 在進入睡眠和醒來時,自動調整虛擬實境頭盔的亮度。OyasumiVR 可以平滑地過渡亮度,讓您在入睡時逐漸降低亮度,在醒來時逐漸恢復亮度。 +

    + 這不僅有助於您在虛擬實境中入睡,還可以避免在醒來時眼睛受到強烈的亮度刺激。 +
    如果您使用 Valve Index 頭盔,您還可以調整液晶螢幕的背光(或稱「顯示亮度」)! +
    + +### 👓 解析度自動化 + + + + + +
    + 在進入睡眠和醒來時,自動調整 SteamVR 渲染解析度!讓 OyasumiVR 在您不需要時降低渲染解析度,有助於減輕硬體負擔。 +
    + +### 🔳 Chaperone 自動化 + + + + + +
    + 在進入睡眠時,自動調整 SteamVR Chaperone 的淡入淡出距離。如果您的遊玩區域較小,您可以使用此功能確保在入睡時 Chaperone 保持隱藏,在醒來時重新啟用! +
    + +## 翻譯與本地化 + +目前 OyasumiVR 支援以下語言: +- 英文 +- 荷蘭文 (Nederlands) +- 日文 (日本語)(外包 + 社群貢獻由 [なき](https://twitter.com/NoYu_idea) 提供) +- 韓文\* (한국어)(社群貢獻由 [Soumt](https://github.com/soumt-r) 提供) +- 繁體中文\*(社群貢獻由 [狐 Kon](https://github.com/XoF-eLtTiL) 提供) +- 簡體中文\*(社群貢獻由 [狐 Kon](https://github.com/XoF-eLtTiL) 提供) +- 法文 (Français)\*(社群貢獻由 [neuroblack](https://github.com/neuroblack) 提供)(**尋找額外的維護者!**) +- 西班牙文 (Español)\*(社群貢獻由 [aacal666](https://twitter.com/aacalde666) 提供) + +_(\*) 這是社群支援的語言,這意味著翻譯可能不會在每次更新中都完全完成。_ + +### 協助翻譯 + +OyasumiVR 能夠支援這麼多語言,得益於我們出色的志願者。我個人認為多虧了他們的努力,更多的人能夠使用 OyasumiVR,這實在是太棒了。 + +如果您想支援我們,無論是通過貢獻遺漏的翻譯,還是添加全新的語言,請查閱 [關於添加翻譯的 wiki 頁面](https://github.com/Raphiiko/Oyasumi/wiki/Adding-Translations) 以獲取入門指南!如果您需要更多資訊,請隨時加入我們的 [Discord](https://discord.gg/7MqdPJhYxC) 提問! + +## 支援的硬體 + +### 電池自動化 + +目前,OyasumiVR 支援使用其電池自動化關閉以下所有支援的 SteamVR 設備: + +1. 支援報告電池水平和充電狀態 +2. 支援通過 SteamVR 關閉的設備。 + +這包括但不限於以下設備: + +- HTC Vive 控制器/Wands +- Index 控制器/Knuckles +- Vive 定位器 (1.0/2.0/3.0) +- Tundra 定位器\* + +這意味著任何 Oculus 控制器可能無法正常工作,而 SlimeVR 定位器則不受支援,除非他們在其 [OpenVR 驅動程式](https://github.com/SlimeVR/SlimeVR-OpenVR-Driver) 中實現了此功能。 + +_(\*) Tundra 定位器的電池水平和充電狀態報告非常延遲。這意味著電池自動化仍將運作,但將非 + +常延遲(雙位數分鐘),除非 Tundra 在其定位器韌體中修復此問題。_ + +### GPU 自動化 + +支援由 MSI Afterburner 支援的任何 NVIDIA 或 AMD 圖形卡,可以通過 OyasumiVR 啟動您在 MSI Afterburner 中設置的配置文件,以實現自動化。 + +僅支援使用 NVIDIA 卡直接控制顯示卡的功率限制。AMD 用戶將需要使用 MSI Afterburner 配置文件自動化,以便能夠使用 OyasumiVR 控制其功率限制。 + +### 亮度自動化 + +僅支援 Valve Index 頭盔的顯示亮度(即「LCD 背光」)控制。 + +所有頭盔都支援圖像亮度控制。 + +## 使用的技術 + +OyasumiVR 是使用以下技術構建的: + +- [Angular](https://angular.io/)(TypeScript,主要 UI) +- [Tauri](https://tauri.app/)(Rust,桌面框架) +- [SvelteKit](https://kit.svelte.dev/)(TypeScript,覆蓋層 UI) +- [.NET](https://dotnet.microsoft.com/en-us/)(C#,覆蓋層) + +## 開發 + +請參閱我們的 [開發入門頁面](https://github.com/Raphiiko/OyasumiVR/wiki/Starting-Development)。 + +## VRChat + +OyasumiVR 的某些功能要求您使用 VRChat 帳戶登入才能使用(例如狀態自動化)。 + +這僅對依賴此功能的功能是必需的。您可以在不提供憑證的情況下使用不依賴於此的功能。您的登錄憑證永遠不會儲存在任何地方,只會發送到 VRChat 的伺服器進行驗證。 + +OyasumiVR 不受 VRChat 贊助,也不反映 VRChat 或任何官方參與 VRChat 生產或管理的人士的觀點或意見。VRChat 是 VRChat Inc. 的商標。VRChat © VRChat Inc. + +OyasumiVR 的開發者和項目貢獻者對 OyasumiVR 導致的任何問題(對您的 VRChat 帳戶或其他方面的問題)不承擔任何責任。請自行承擔風險。 +## 支援 + +如果你在使用 OyasumiVR 遇到問題,或者有任何疑問,歡迎到 Discord 伺服器尋求幫助!我們的社群非常樂意提供協助。 + +或者,您也可以直接在 [Twitter 上 @Raphiiko](https://twitter.com/Raphiiko) 聯絡我。我會盡快給您回復! + +## 授權條款 + +OyasumiVR 是使用 [MIT 授權](https://github.com/Raphiiko/Oyasumi/blob/develop/LICENSE)進行發布。這意味著你可以自由地使用、修改和分發它,只要你遵從授權條款。 diff --git a/Readme_TW.md b/Readme_TW.md deleted file mode 100644 index bc538279..00000000 --- a/Readme_TW.md +++ /dev/null @@ -1,200 +0,0 @@ -

    - - -
    -
    - :zzz: 一個用於在虛擬現實中幫助睡眠的工具集合。:zzz: -

    - -

    - 最新版本 - 正式版建構狀態 - 開發版建構狀態 - 許可證 -
    - Discord 徽章 - Booth.pm 頁面 - Gumroad 頁面 -

    - -

    - Oyasumi是一個用於在虛擬現實(VRChat)中幫助睡眠的開源工具。 -
    - Oyasumiは虛擬現實中幫助睡眠的開源工具軟體。 -
    - 您可以在 [booth.pm的商店頁面](https://raphiiko.booth.pm/items/4216880) 上找到日本語的說明。 -

    - -

    - 如果您想交流,歡迎加入我們的 Discord 伺服器! -

    - -## 入門 - -在 [Releases](https://github.com/Raphiiko/Oyasumi/releases) 頁面上獲取最新的安裝程式。 - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    概觀

    睡眠動畫

    GPU 功率限制

    MSI Afterburner 自動化

    睡眠檢測

    狀態自動化

    解析度自動化

    自動接受邀請請求

    電池自動化

    亮度自動化

    -

    - -## 功能 - - - - -
    - -- :electric_plug: GPU 自動化: - - 當您入睡或醒來時: - - 啟動您的 [MSI Afterburner](https://www.msi.com/Landing/afterburner/graphics-cards) 配置檔(NVIDIA/AMD) - - 調整功率限制(NVIDIA) -- :battery: 電池自動化: - - 在您入睡時自動關閉追踪器和/或控制器: - - 這樣您早上起床時仍然有一些電力! - - 將它們放在充電器上時 -- :large_blue_circle: VRChat 狀態自動化 - - 根據您所在世界的玩家數量自動更改您的狀態: -
    _當您獨自入睡時切換到藍色,這樣您的朋友就可以加入您,而當周圍有足夠多的人時切換到橙色!_ -- :wrench: 一鍵關閉所有追踪器和/或控制器。 -- :email: 自動接受 VRChat 的邀請請求 - - 在您入睡時自動讓朋友進來! - - 使用黑名單或白名單配置要接受的邀請請求。 -- :low_brightness: 自動平滑調節顯示亮度(Valve Index) - - 允許您在入睡時逐漸降低頭戴式顯示器的亮度 -- :eyeglasses: 自動調節 SteamVR 的渲染解析度 - - 允許您在入睡時降低頭戴式顯示器的渲染解析度 -- :calling: [預設的表情選單](https://github.com/Raphiiko/Oyasumi/wiki/Oyasumi-Expression-Menu),可在 VRChat 內直接控制某些功能 -- :dizzy: 自動睡眠動畫和姿勢檢測 - - 根據您的睡姿自動切換您的角色睡眠動畫。 - - 使用附帶的 OSC 腳本編輯器觸發您自己的動畫。 - - 為常用的移動方式資源提供預設值,包括: - - [ごろ寝システム v2.2 - 2.3](https://minminmart.booth.pm/items/2886739) by [みんみんみーん](https://twitter.com/minminmeeean) -
    (Sleep System v2.2 - 2.3 by minminmiin) -
    (也支援 [EX 版本](https://booth.pm/en/items/4233545)!) - - [GoGo Loco v1.7.1+](https://booth.pm/en/items/3290806) by [franada](https://twitter.com/franada) -
    (對於 1.6.2 - 1.7.0,也可提供半功能性的解決方案) -- :zzz: 自動啟動/停用睡眠模式,觸發自動化 - - 检测入睡: - - 当Oyasumi根据您的运动猜测您正在入睡时 - - 当控制器或追踪器电池电量低于阈值时 - - 当关闭控制器时 - - 根据时间表 - - 检测醒来: - - 当打开控制器或追踪器时 - - 根据时间表 - - 当SteamVR停止时 -- 🗺️ 多语言支持 - - 英语 - - 荷兰语(Nederlands) - - 日语(日本語)(外包 + 社区贡献者:[なき](https://twitter.com/NoYu_idea)) - - 韩语\*(한국어)(社区贡献者:[Soumt](https://github.com/soumt-r)) - - 繁体中文\*(繁體中文)(社区贡献者:[狐 Kon](https://github.com/XoF-eLtTiL)) - - 简体中文\*(简体中文)(社区贡献者:[狐 Kon](https://github.com/XoF-eLtTiL)) - - 法语(Français)\*(社区贡献者:[neuroblack](https://github.com/neuroblack)) - -如果您希望帮助添加更多语言和/或缺失的翻译,请查看 [添加翻译的 wiki 页面](https://github.com/Raphiiko/Oyasumi/wiki/Adding-Translations) 以获取开始的说明! - -_(\*) 该语言的支持是社区贡献的,因此翻译可能无法与每个更新完全覆盖。_ - -### 使用的工具 - -Oyasumi使用 [Angular](https://angular.io/) 和 [Tauri](https://tauri.app/) 构建。 - -## 支持的设备 - -### 电池自动化 - -目前,Oyasumi支持所有支持以下功能的SteamVR设备: - -1. 支持报告电池电量和充电状态 -2. 支持通过SteamVR关闭 - -这包括但不限于以下设备: - -- HTC Vive 控制器/手柄 -- Index 控制器/手柄 -- Vive 追踪器(1.0/2.0/3.0) -- Tundra 追踪器\* - -这意味着任何Oculus控制器都不太可能工作,除非SlimeVR在其 [OpenVR 驱动程序](https://github.com/SlimeVR/SlimeVR-OpenVR-Driver) 中实现了这个功能。 - -_(\*) Tundra 追踪器的电池电量和充电状态报告非常延迟。这意味着尽管自动化仍然有效,但它们将非常延迟(分钟级别),除非Tundra在其追踪器固件中修复此问题。 (https://forum.tundra-labs.com/t/firmware-issues/746)_ - -### GPU 自动化 - -任何受 MSI Afterburner 支持的 NVIDIA 或 AMD 显卡都可以通过 Oyasumi 激活您在 MSI Afterburner 中设置的配置文件。 - -直接使用 Oyasumi 控制显卡的功率限制仅支持 NVIDIA 显卡。AMD 用户将需要使用 MSI Afterburner 配置文件自动化来控制功率限制。 - -### 显示亮度自动化 - -目前,这些自动化仅在 Valve Index 上受支持。 - -支持通过调整图像亮度来支持更多头显是 [计划中的未来发布功能](https://github.com/Raphiiko/Oyasumi/issues/14)。 - -## 开发 - -### 先决条件 - -#### Rust & Tauri -开始 Oyasumi 的开发之前,请首先遵循 Tauri 的 [先决条件](https://tauri.app/v1/guides/getting-started/prerequisites)。 - -这包括安装 VS C++ 构建工具、WebView2 和 Rust。 - -#### Clang -接下来,您需要[安装 clang](https://rust-lang.github.io/rust-bindgen/requirements.html#windows)。这是生成与 OpenVR 的绑定所必需的。 - -根据链接的指南,确保: -1. 安装 Clang(例如,通过 `winget install LLVM.LLVM`) -2. 将 `LIBCLANG_PATH` 环境变量设置为 LLVM 安装的 `bin` 目录。 - -#### NodeJS -接下来,安装 [NodeJS](https://nodejs.org/en/download/)。这是构建 UI 和覆盖层的 Web 前端所必需的。 - -### 设置项目 - -一旦您设置了这些依赖项,您可以按照以下步骤继续: - -1. 在您的计算机上克隆 Oyasumi:`git clone https://github.com/Raphiiko/OyasumiVR.git` -2. 进入新项目目录:`cd OyasumiVR` -3. 从 NPM 安装主 UI 的依赖项:`npm install` -4. 至少运行一次 `npm run build`。 - -一旦这一步顺利完成,您可以运行 `npm run dev` 在本地运行 Oyasumi 并开始开发! - -## VRChat - -Oyasumi 的某些功能需要您使用 VRChat 帐户登录才能正常工作(例如状态自动化)。 - -只有依赖此功能的功能需要进行身份验证。您可以在不提供凭据的情况下使用不依赖此功能的功能。 -您的登录凭据永远不会被存储在任何地方,只会发送到 VRChat 的服务器进行身份验证。 - -Oyasumi 不被 VRChat 支持,不代表 VRChat 或其开发人员的官方产品。在使用 Oyasumi 时,请遵守 VRChat 的使用条款和条件。如果您遇到与 VRChat 相关的问题,请联系 VRChat 的支持团队。 diff --git a/config/config.vdf b/config/config.vdf new file mode 100644 index 00000000..e69de29b diff --git a/docs/i18n_template_download.html b/docs/i18n_template_download.html index 4fbb2b59..d1e281a9 100644 --- a/docs/i18n_template_download.html +++ b/docs/i18n_template_download.html @@ -7,10 +7,14 @@ content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" /> - Oyasumi Language Template Downloader + OyasumiVR Language Template Downloader + + + + -

    Oyasumi Language Template Downloader

    +

    OyasumiVR Language Template Downloader

    Option A: Add missing translations for an already supported language

    diff --git a/package-lock.json b/package-lock.json index 37597429..6aa38a99 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,23 +1,23 @@ { "name": "oyasumi", - "version": "0.0.0", + "version": "1.9.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "oyasumi", - "version": "0.0.0", + "version": "1.9.0", "hasInstallScript": true, "license": "MIT", "dependencies": { - "@angular/animations": "^16.0.0", - "@angular/common": "^16.0.0", - "@angular/compiler": "^16.0.0", - "@angular/core": "^16.0.0", - "@angular/forms": "^16.0.0", - "@angular/platform-browser": "^16.0.0", - "@angular/platform-browser-dynamic": "^16.0.0", - "@angular/router": "^16.0.0", + "@angular/animations": "^16.1.8", + "@angular/common": "^16.1.8", + "@angular/compiler": "^16.1.8", + "@angular/core": "^16.1.8", + "@angular/forms": "^16.1.8", + "@angular/platform-browser": "^16.1.8", + "@angular/platform-browser-dynamic": "^16.1.8", + "@angular/router": "^16.1.8", "@fontsource/fira-code": "^4.5.12", "@fontsource/noto-sans-jp": "^4.5.12", "@fontsource/noto-sans-kr": "^4.5.12", @@ -58,14 +58,14 @@ "zone.js": "^0.13.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^16.0.0", - "@angular-eslint/builder": "16.0.1", - "@angular-eslint/eslint-plugin": "16.0.1", - "@angular-eslint/eslint-plugin-template": "16.0.1", - "@angular-eslint/schematics": "16.0.1", - "@angular-eslint/template-parser": "16.0.1", - "@angular/cli": "^16.0.0", - "@angular/compiler-cli": "^16.0.0", + "@angular-devkit/build-angular": "^16.1.8", + "@angular-eslint/builder": "^16.0.1", + "@angular-eslint/eslint-plugin": "^16.0.1", + "@angular-eslint/eslint-plugin-template": "^16.0.1", + "@angular-eslint/schematics": "^16.0.1", + "@angular-eslint/template-parser": "^16.0.1", + "@angular/cli": "^16.1.8", + "@angular/compiler-cli": "^16.1.8", "@protobuf-ts/plugin": "^2.9.0", "@tauri-apps/cli": "^1.4.0", "@types/lodash": "^4.14.188", @@ -114,13 +114,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1600.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.0.tgz", - "integrity": "sha512-nYRcqAxZnndhAEpSpJ1U2TScs2huu674OKrsEyJTqLEANEyCPBnusAmS9HcGzMBgePAwNElqOKrr5/f1DbYq1A==", + "version": "0.1601.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.8.tgz", + "integrity": "sha512-kOXVGwsQnZvtz2UZNefcEy64Jiwq0eSoQUeozvDXOaYRJABLjPKI2YaarvKC9/Z1SGLuje0o/eRJO4T8aRk9rQ==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-devkit/core": "16.0.0", + "@angular-devkit/core": "16.1.8", "rxjs": "7.8.1" }, "engines": { @@ -130,41 +129,40 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.0.tgz", - "integrity": "sha512-OvDQAbrV3cUMfHws30MnDURsXselZ0GWhSxZjOdcD3cF64Nsq5ywftHOT+QC3YdDghwI8gMADN9et+aVDscBzQ==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.1.8.tgz", + "integrity": "sha512-iyElPBQdcJq2plw5YqSz4mzNUfSRXI3ISFTEwPtimzPOorsj/OxB3Z6kJ8fDUsBAJ5OKR7xL7VnQJJ3S+05RhQ==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1600.0", - "@angular-devkit/build-webpack": "0.1600.0", - "@angular-devkit/core": "16.0.0", - "@babel/core": "7.21.4", - "@babel/generator": "7.21.4", - "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/helper-split-export-declaration": "7.18.6", + "@angular-devkit/architect": "0.1601.8", + "@angular-devkit/build-webpack": "0.1601.8", + "@angular-devkit/core": "16.1.8", + "@babel/core": "7.22.5", + "@babel/generator": "7.22.7", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.22.5", "@babel/plugin-proposal-async-generator-functions": "7.20.7", - "@babel/plugin-transform-async-to-generator": "7.20.7", - "@babel/plugin-transform-runtime": "7.21.4", - "@babel/preset-env": "7.21.4", - "@babel/runtime": "7.21.0", - "@babel/template": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.22.5", + "@babel/plugin-transform-runtime": "7.22.5", + "@babel/preset-env": "7.22.5", + "@babel/runtime": "7.22.5", + "@babel/template": "7.22.5", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "16.0.0", + "@ngtools/webpack": "16.1.8", "@vitejs/plugin-basic-ssl": "1.0.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.14", "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "4.21.5", - "cacache": "17.0.6", + "browserslist": "^4.21.5", + "cacache": "17.1.3", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", - "critters": "0.0.16", - "css-loader": "6.7.3", - "esbuild-wasm": "0.17.18", - "glob": "8.1.0", + "critters": "0.0.20", + "css-loader": "6.8.1", + "esbuild-wasm": "0.17.19", + "fast-glob": "3.2.12", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", @@ -174,30 +172,31 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", "magic-string": "0.30.0", - "mini-css-extract-plugin": "2.7.5", + "mini-css-extract-plugin": "2.7.6", "mrmime": "1.0.1", "open": "8.4.2", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "2.3.1", "piscina": "3.2.0", - "postcss": "8.4.23", - "postcss-loader": "7.2.4", + "postcss": "8.4.24", + "postcss-loader": "7.3.2", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.62.1", - "sass-loader": "13.2.2", - "semver": "7.4.0", + "sass": "1.63.2", + "sass-loader": "13.3.1", + "semver": "7.5.3", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "terser": "5.17.1", + "terser": "5.17.7", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.5.0", - "vite": "4.3.1", - "webpack": "5.80.0", - "webpack-dev-middleware": "6.0.2", - "webpack-dev-server": "4.13.2", - "webpack-merge": "5.8.0", + "tslib": "2.5.3", + "vite": "4.3.9", + "webpack": "5.86.0", + "webpack-dev-middleware": "6.1.1", + "webpack-dev-server": "4.15.0", + "webpack-merge": "5.9.0", "webpack-subresource-integrity": "5.1.0" }, "engines": { @@ -206,7 +205,7 @@ "yarn": ">= 1.13.0" }, "optionalDependencies": { - "esbuild": "0.17.18" + "esbuild": "0.17.19" }, "peerDependencies": { "@angular/compiler-cli": "^16.0.0", @@ -219,7 +218,7 @@ "ng-packagr": "^16.0.0", "protractor": "^7.0.0", "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=4.9.3 <5.1" + "typescript": ">=4.9.3 <5.2" }, "peerDependenciesMeta": { "@angular/localize": { @@ -251,36 +250,6 @@ } } }, - "node_modules/@angular-devkit/build-angular/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, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "license": "ISC", - "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/@angular-devkit/build-angular/node_modules/loader-utils": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", @@ -291,27 +260,40 @@ "node": ">= 12.13.0" } }, - "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/@angular-devkit/build-angular/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, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { "node": ">=10" } }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1600.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.0.tgz", - "integrity": "sha512-ZlNNMtAzgMCsaN5crkqtgeYxWEyZ78/ePfrJTB3+Hb6LS+hsRf4WAYubHWRWReSx87ppluRrgNZLy0K9ooWy1w==", + "version": "0.1601.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1601.8.tgz", + "integrity": "sha512-LUMA3xNnN4IY/FPaqyF6rzba+QVxl3vA+v0l71CBIKNU+Qee6D9xe8KG0Bn7relqDhWZOSHY0nhhO2mBoz4iQg==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-devkit/architect": "0.1600.0", + "@angular-devkit/architect": "0.1601.8", "rxjs": "7.8.1" }, "engines": { @@ -325,11 +307,10 @@ } }, "node_modules/@angular-devkit/core": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.0.tgz", - "integrity": "sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.8.tgz", + "integrity": "sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "8.12.0", "ajv-formats": "2.1.1", @@ -356,7 +337,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -372,26 +352,24 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/@angular-devkit/core/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, - "license": "BSD-3-Clause", "engines": { "node": ">= 8" } }, "node_modules/@angular-devkit/schematics": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.3.tgz", - "integrity": "sha512-hWEuQnfQOgcSs4YX6iF4QR/34ROeSPaMi7lQOYg33hStg+pnk/JDdIU0f2nrIIz3t0jqAj+5VXVLBJvOCd84vg==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.8.tgz", + "integrity": "sha512-6LyzMdFJs337RTxxkI2U1Ndw0CW5mMX/aXWl8d7cW2odiSrAg8IdlMqpc+AM8+CPfsB0FtS1aWkEZqJLT0jHOg==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.1.3", + "@angular-devkit/core": "16.1.8", "jsonc-parser": "3.2.0", "magic-string": "0.30.0", "ora": "5.4.1", @@ -403,72 +381,14 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz", - "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/schematics/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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/@angular-devkit/schematics/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/@angular-devkit/schematics/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/@angular-eslint/builder": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz", - "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.1.0.tgz", + "integrity": "sha512-KIkE2SI1twFKoCiF/k2VR3ojOcc7TD1xPyY4kbUrx/Gxp+XEzar7O29I/ztzL4eHPBM+Uh3/NwS/jvjjBxjgAg==", "dev": true, - "license": "MIT", "dependencies": { - "@nx/devkit": "16.0.2", - "nx": "16.0.2" + "@nx/devkit": "16.5.1", + "nx": "16.5.1" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -483,14 +403,13 @@ "license": "MIT" }, "node_modules/@angular-eslint/eslint-plugin": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz", - "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.1.0.tgz", + "integrity": "sha512-BFzzJJlgQgWc8avdSBkaDWAzNSUqcwWy0L1iZSBdXGoIOxj72kLbwe99emb8M+rUfCveljQkeM2pcYu8XLbJIA==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-eslint/utils": "16.0.1", - "@typescript-eslint/utils": "5.59.2" + "@angular-eslint/utils": "16.1.0", + "@typescript-eslint/utils": "5.62.0" }, "peerDependencies": { "eslint": "^7.20.0 || ^8.0.0", @@ -498,17 +417,16 @@ } }, "node_modules/@angular-eslint/eslint-plugin-template": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz", - "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.1.0.tgz", + "integrity": "sha512-wQHWR5vqWGgO7mqoG5ixXeplIlz/OmxBJE9QMLPTZE8GdaTx8+F/5J37OWh84zCpD3mOa/FHYZxBDm2MfUmA1Q==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "16.0.1", - "@angular-eslint/utils": "16.0.1", - "@typescript-eslint/type-utils": "5.59.2", - "@typescript-eslint/utils": "5.59.2", - "aria-query": "5.1.3", + "@angular-eslint/bundled-angular-compiler": "16.1.0", + "@angular-eslint/utils": "16.1.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "aria-query": "5.3.0", "axobject-query": "3.1.1" }, "peerDependencies": { @@ -516,184 +434,457 @@ "typescript": "*" } }, - "node_modules/@angular-eslint/schematics": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz", - "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==", + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.1.0.tgz", + "integrity": "sha512-5EFAWXuFJADr3imo/ZYshY8s0K7U7wyysnE2LXnpT9PAi5rmkzt70UNZNRuamCbXr4tdIiu+fXWOj7tUuJKnnw==", + "dev": true + }, + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-eslint/eslint-plugin": "16.0.1", - "@angular-eslint/eslint-plugin-template": "16.0.1", - "@nx/devkit": "16.0.2", - "ignore": "5.2.4", - "nx": "16.0.2", - "strip-json-comments": "3.1.1", - "tmp": "0.2.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, - "peerDependencies": { - "@angular/cli": ">= 16.0.0 < 17.0.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@angular-eslint/template-parser": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz", - "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==", + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "16.0.1", - "eslint-scope": "^7.0.0" + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.20.0 || ^8.0.0", - "typescript": "*" + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/eslint" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@angular-eslint/utils": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz", - "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==", + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, - "license": "MIT", "dependencies": { - "@angular-eslint/bundled-angular-compiler": "16.0.1", - "@typescript-eslint/utils": "5.59.2" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, - "peerDependencies": { - "eslint": "^7.20.0 || ^8.0.0", - "typescript": "*" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@angular/animations": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.0.tgz", - "integrity": "sha512-Xx4Ffdo3sweg24MDVAXbDfxqkNPEuRgqOC1+f9171kf+w7cBEr4Bmy37DP7YkJceaU0xJH9imcx4708KeIjqkQ==", - "license": "MIT", + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, "dependencies": { - "tslib": "^2.3.0" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": "^16.14.0 || >=18.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@angular/core": "16.0.0" + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@angular/cli": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.3.tgz", - "integrity": "sha512-D0gU12z/N2oJ+s6pggAnWYrTUZ+2duGb3Y5oUyClsubz7JWpAwHjSZpb8exPUrgYhr+qIEMGO685y1JazJQ2tA==", + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1601.3", - "@angular-devkit/core": "16.1.3", - "@angular-devkit/schematics": "16.1.3", - "@schematics/angular": "16.1.3", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "4.1.1", - "inquirer": "8.2.4", - "jsonc-parser": "3.2.0", - "npm-package-arg": "10.1.0", - "npm-pick-manifest": "8.0.1", - "open": "8.4.2", - "ora": "5.4.1", - "pacote": "15.2.0", - "resolve": "1.22.2", - "semver": "7.5.3", - "symbol-observable": "4.0.0", - "yargs": "17.7.2" - }, - "bin": { - "ng": "bin/ng.js" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/architect": { - "version": "0.1601.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.3.tgz", - "integrity": "sha512-HvW51cCEoIYe2mYqcmnm2RZiMMFbFn7iIdsjbCJe7etFhcG+Y3hGDZMh4IFSiQiss+pwPSYOvQY2zwGrndMgLw==", + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.1.3", - "rxjs": "7.8.1" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@angular/cli/node_modules/@angular-devkit/core": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz", - "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==", + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "peerDependencies": { - "chokidar": "^3.5.2" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependenciesMeta": { - "chokidar": { + "typescript": { "optional": true } } }, - "node_modules/@angular/cli/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@angular/cli/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/@angular-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/schematics": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.1.0.tgz", + "integrity": "sha512-L1tmP3R2krHyveaRXAvn/SeDoBFNpS1VtPPrzZm1NYr1qPcAxf3NtG2nnoyVFu6WZGt59ZGHNQ/dZxnXvm0UGg==", + "dev": true, + "dependencies": { + "@angular-eslint/eslint-plugin": "16.1.0", + "@angular-eslint/eslint-plugin-template": "16.1.0", + "@nx/devkit": "16.5.1", + "ignore": "5.2.4", + "nx": "16.5.1", + "strip-json-comments": "3.1.1", + "tmp": "0.2.1" + }, + "peerDependencies": { + "@angular/cli": ">= 16.0.0 < 17.0.0" + } + }, + "node_modules/@angular-eslint/template-parser": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz", + "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.0.1", + "eslint-scope": "^7.0.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@angular-eslint/utils": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.1.0.tgz", + "integrity": "sha512-u5XscYUq1F/7RuwyVIV2a280QL27lyQz434VYR+Np/oO21NGj5jxoRKb55xhXT9EFVs5Sy4JYeEUp6S75J/cUw==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.1.0", + "@typescript-eslint/utils": "5.62.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.1.0.tgz", + "integrity": "sha512-5EFAWXuFJADr3imo/ZYshY8s0K7U7wyysnE2LXnpT9PAi5rmkzt70UNZNRuamCbXr4tdIiu+fXWOj7tUuJKnnw==", "dev": true }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@angular-eslint/utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@angular/animations": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.1.8.tgz", + "integrity": "sha512-aIAf8EAZomgXMF6AP0wTPAc04Cvw+nL9nkEVwQNVxMByZpcbnnqHWHokLD8es8DzlwDT+EIZS4wZMBA4XUmPyA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.1.8" + } + }, + "node_modules/@angular/cli": { + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.8.tgz", + "integrity": "sha512-amOIHMq8EvixhnI+do5Bcy6IZSFAJx0njhhLM4ltDuNUczH8VH0hNegZKxhb8K87AMO8jITFM+NLrzccyghsDQ==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1601.8", + "@angular-devkit/core": "16.1.8", + "@angular-devkit/schematics": "16.1.8", + "@schematics/angular": "16.1.8", + "@yarnpkg/lockfile": "1.1.0", + "ansi-colors": "4.1.3", + "ini": "4.1.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "pacote": "15.2.0", + "resolve": "1.22.2", + "semver": "7.5.3", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, "node_modules/@angular/cli/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -721,20 +912,10 @@ "node": ">=10" } }, - "node_modules/@angular/cli/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/@angular/common": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.0.tgz", - "integrity": "sha512-at3/xCevf2t9swX2P7K7gaSBuQPy7ZJsf37qQkYIuczzfij69r7s9NjYeA74/q3EWG9Yl2DCrhYoCW7ViXQINQ==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.1.8.tgz", + "integrity": "sha512-Zm+Ysxdf74VwG3mbAqs2v1QFUR+h9RyJBXF5VFABEpgFw7NUOBKrayjJmKjgZ0TBAmL2+nXehJgcPph3zNp3sg==", "dependencies": { "tslib": "^2.3.0" }, @@ -742,15 +923,14 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.0.0", + "@angular/core": "16.1.8", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.0.tgz", - "integrity": "sha512-xtg+KRvSeB9DUzMDtvlaRGKv+Y0MERsz+JOoqV9H4606ThNz5h8ih6fEhVKYqG100o7GhdJaVFO+vlr2/edUHA==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.1.8.tgz", + "integrity": "sha512-jF2zk3LjrcI/xpjJG6yoLiL2t2l5227i8SjhRUawAL1sy0xtb/PiSLjCNhuSgyixbB/8az/YezZe11MSg48FDg==", "dependencies": { "tslib": "^2.3.0" }, @@ -758,7 +938,7 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.0.0" + "@angular/core": "16.1.8" }, "peerDependenciesMeta": { "@angular/core": { @@ -767,13 +947,12 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.0.tgz", - "integrity": "sha512-oyJzxiTHxziv7mD0QuA7K6tpDoL6YNGPkquKjeJjNVZvUrodGsvJ8xHO4ydmjK3nMu2ET1YarsdI8bRp4vp/7w==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.1.8.tgz", + "integrity": "sha512-Whk3RBnEYwN0c6Mo7hU6JDpHSyKONmIQEN8ViHJXwmyHK8w+/Z27iBw10QiyWUMtYb4tIM1xSLhRFAwH/3WnPQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/core": "7.19.3", + "@babel/core": "7.22.5", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", @@ -791,56 +970,14 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/compiler": "16.0.0", - "typescript": ">=4.9.3 <5.1" - } - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "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/@angular/compiler-cli/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, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@angular/compiler": "16.1.8", + "typescript": ">=4.9.3 <5.2" } }, "node_modules/@angular/core": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.0.tgz", - "integrity": "sha512-scppDxtXubum6ZiGu3ogmReBtMuA5XXk5FL3YKLb3c9O7q9Z5PC8KNQ6SsaOwEb6oW+0BWXMV698p/zmd0J4tA==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.1.8.tgz", + "integrity": "sha512-XtOpY9HA85hPGrPwe1rgE8NJ3bFWbuJFx4SUlzB66k9B5jo8bD2Dxl/0id55RFS5gmvCe/Qhh0zoGyMpkWjMHA==", "dependencies": { "tslib": "^2.3.0" }, @@ -853,10 +990,9 @@ } }, "node_modules/@angular/forms": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.0.tgz", - "integrity": "sha512-avpreXyDYWf44RNM5hfi5cTXXiNwcajBURP5rLap8RPMSUi2ePlJsmi0O+3+GduNZFbtnRXIpKTj3W+GeNa0PA==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.8.tgz", + "integrity": "sha512-V36q42ExvL93T7oYvRf4Z2z2V/kOm0wgaFgkNSiBHgIpuwvrAZ9nRZBui5Fqdnep3xKYd980vAaTtACA1blv3Q==", "dependencies": { "tslib": "^2.3.0" }, @@ -864,17 +1000,16 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.0.0", - "@angular/core": "16.0.0", - "@angular/platform-browser": "16.0.0", + "@angular/common": "16.1.8", + "@angular/core": "16.1.8", + "@angular/platform-browser": "16.1.8", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/platform-browser": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.0.tgz", - "integrity": "sha512-6LpgLfEnumKMKM/S9joWrVSm4MdFuIjddFmlSG7zGcRqwM0N8doH/YkuwTK8/t9q8wI/yztp6qM2pg25Pgv1XA==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.1.8.tgz", + "integrity": "sha512-wfUCVU7DLMHy5Rw7LY8KSTuLk0ff2bWElT6WSAKXXFEPjQiWuXbbIe+gglJX5HFQQHoyVwNbsSDIIgEp535Kvw==", "dependencies": { "tslib": "^2.3.0" }, @@ -882,9 +1017,9 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/animations": "16.0.0", - "@angular/common": "16.0.0", - "@angular/core": "16.0.0" + "@angular/animations": "16.1.8", + "@angular/common": "16.1.8", + "@angular/core": "16.1.8" }, "peerDependenciesMeta": { "@angular/animations": { @@ -893,10 +1028,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.0.tgz", - "integrity": "sha512-xUR36r+7hFQjAb0RA0VFfWrCLj2VnWg0xJgPe4FQmwaEWjKMc011tkJXs0PApaiTxvE0W08nadSDTu5jfsBrFw==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.1.8.tgz", + "integrity": "sha512-mhQH78Zn/oFe+U8DmVvPJ0/7neDlnKcgktQ7f1vFNibRLqkmHW/o1vZ0B7CAmO+yzGbB8mt+RBCFAfA7g3oRDg==", "dependencies": { "tslib": "^2.3.0" }, @@ -904,17 +1038,16 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.0.0", - "@angular/compiler": "16.0.0", - "@angular/core": "16.0.0", - "@angular/platform-browser": "16.0.0" + "@angular/common": "16.1.8", + "@angular/compiler": "16.1.8", + "@angular/core": "16.1.8", + "@angular/platform-browser": "16.1.8" } }, "node_modules/@angular/router": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.0.tgz", - "integrity": "sha512-+5gjJwFx3AFGv7OnY53pfUzaPbWe5gOVQWXAnlUuk6tsQmWJBMehuCQ5ZO5cxViQDZkyvNALzoUeU6aKWmNqmg==", - "license": "MIT", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.1.8.tgz", + "integrity": "sha512-p11Mz0qQbl26fcEEQ9LEUZhKrca9kqSwMWgxBRMWZl0AgtbWQadiVdjiQY0rvpohI7qSO8m3s7CFIQLKIOEvYQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -922,9 +1055,9 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.0.0", - "@angular/core": "16.0.0", - "@angular/platform-browser": "16.0.0", + "@angular/common": "16.1.8", + "@angular/core": "16.1.8", + "@angular/platform-browser": "16.1.8", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -948,31 +1081,30 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -988,23 +1120,21 @@ } }, "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==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -1014,42 +1144,40 @@ } }, "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz", - "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.5", + "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", + "browserslist": "^4.21.9", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1069,11 +1197,10 @@ } }, "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==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -1086,9 +1213,9 @@ "license": "ISC" }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", + "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", @@ -1096,10 +1223,10 @@ "@babel/helper-function-name": "^7.22.5", "@babel/helper-member-expression-to-functions": "^7.22.5", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1108,22 +1235,10 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { "@babel/types": "^7.22.5" @@ -1133,24 +1248,23 @@ } }, "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "engines": { "node": ">=6.9.0" @@ -1159,54 +1273,29 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", "dev": true, - "license": "MIT", "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, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/helper-environment-visitor": { @@ -1231,24 +1320,22 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-function-name/node_modules/@babel/template": { + "node_modules/@babel/helper-hoist-variables": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/helper-hoist-variables": { + "node_modules/@babel/helper-member-expression-to-functions": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", + "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", "dev": true, "dependencies": { "@babel/types": "^7.22.5" @@ -1257,10 +1344,10 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-member-expression-to-functions": { + "node_modules/@babel/helper-module-imports": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "dependencies": { "@babel/types": "^7.22.5" @@ -1269,34 +1356,32 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.21.4" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "node_modules/@babel/helper-module-transforms/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1324,15 +1409,14 @@ } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-wrap-function": "^7.22.9" }, "engines": { "node": ">=6.9.0" @@ -1341,57 +1425,30 @@ "@babel/core": "^7.0.0" } }, - "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", "dev": true, "dependencies": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" + "@babel/helper-optimise-call-expression": "^7.22.5" }, "engines": { "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers/node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1410,13 +1467,12 @@ } }, "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1450,28 +1506,13 @@ } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", + "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", "dev": true, "dependencies": { "@babel/helper-function-name": "^7.22.5", "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function/node_modules/@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", "@babel/types": "^7.22.5" }, "engines": { @@ -1479,15 +1520,14 @@ } }, "node_modules/@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1560,273 +1600,63 @@ "has-flag": "^3.0.0" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", - "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.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", - "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", - "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", - "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9", - "@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, - "license": "MIT", - "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.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@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, - "license": "MIT", - "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, - "license": "MIT", - "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, - "license": "MIT", - "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.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@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, - "license": "MIT", - "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, - "license": "MIT", - "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": ">=4" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "node_modules/@babel/parser": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=6.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==", + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz", + "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz", + "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.13.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==", + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { "node": ">=6.9.0" @@ -1836,17 +1666,10 @@ } }, "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, "engines": { "node": ">=6.9.0" }, @@ -1859,7 +1682,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, - "license": "MIT", "dependencies": { "@babel/helper-create-regexp-features-plugin": "^7.18.6", "@babel/helper-plugin-utils": "^7.18.6" @@ -1876,7 +1698,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1889,7 +1710,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -1902,7 +1722,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -1918,7 +1737,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1931,7 +1749,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.3" }, @@ -1940,13 +1757,27 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -1955,12 +1786,23 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1973,7 +1815,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -1986,7 +1827,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -1999,7 +1839,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -2012,7 +1851,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -2025,7 +1863,6 @@ "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, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -2038,22 +1875,230 @@ "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, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" + "@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-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "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-arrow-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", + "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" + }, + "engines": { + "node": ">=6.9.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==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2062,14 +2107,14 @@ "@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==", + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2078,14 +2123,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", - "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2094,16 +2138,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2112,14 +2154,14 @@ "@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==", + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2128,14 +2170,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2144,21 +2186,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes": { + "node_modules/@babel/plugin-transform-for-of": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", - "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2167,39 +2201,46 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { + "node_modules/@babel/plugin-transform-function-name": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", + "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-split-export-declaration": { + "node_modules/@babel/plugin-transform-json-strings": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", - "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2208,14 +2249,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -2224,15 +2265,13 @@ "@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==", + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2241,14 +2280,14 @@ "@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==", + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2257,15 +2296,15 @@ "@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==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2274,14 +2313,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", - "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2290,14 +2331,13 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-function-name": { + "node_modules/@babel/plugin-transform-modules-umd": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz", - "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { @@ -2307,30 +2347,29 @@ "@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==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.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==", + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2339,15 +2378,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2356,16 +2394,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", - "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { "node": ">=6.9.0" @@ -2374,17 +2410,17 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2393,15 +2429,14 @@ "@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==", + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2410,30 +2445,31 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "node_modules/@babel/plugin-transform-optional-catch-binding": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.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==", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", + "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { "node": ">=6.9.0" @@ -2442,15 +2478,13 @@ "@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==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2459,15 +2493,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-optional-chaining": { + "node_modules/@babel/plugin-transform-private-methods": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", - "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2476,14 +2509,16 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { "node": ">=6.9.0" @@ -2493,13 +2528,12 @@ } }, "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2509,13 +2543,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", - "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.1" }, "engines": { @@ -2526,13 +2559,12 @@ } }, "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2542,17 +2574,16 @@ } }, "node_modules/@babel/plugin-transform-runtime": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", - "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", + "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", "semver": "^6.3.0" }, "engines": { @@ -2563,23 +2594,21 @@ } }, "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==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2589,14 +2618,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2606,13 +2634,42 @@ } }, "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2621,14 +2678,13 @@ "@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==", + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2637,14 +2693,14 @@ "@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==", + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2653,14 +2709,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", - "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -2669,57 +2725,43 @@ "@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==", + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" }, "engines": { "node": ">=6.9.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0" } }, "node_modules/@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@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.20.0", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@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", @@ -2729,44 +2771,61 @@ "@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.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.21.0", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.21.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", "semver": "^6.3.0" }, "engines": { @@ -2777,21 +2836,19 @@ } }, "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==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "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==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", + "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", @@ -2800,22 +2857,20 @@ "esutils": "^2.0.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" } }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "dev": true, - "license": "MIT", "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -2823,138 +2878,433 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "node_modules/@babel/template": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.7", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", + "@babel/types": "^7.22.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "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, + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "cpu": [ + "ppc64" + ], "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "cpu": [ + "riscv64" + ], "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "cpu": [ + "s390x" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/traverse/node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "node_modules/@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "node_modules/@babel/types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", - "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5", - "to-fast-properties": "^2.0.0" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=6.9.0" + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT", "optional": true, - "peer": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">=0.1.90" + "node": ">=12" } }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "cpu": [ + "x64" + ], "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { "node": ">=12" } }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", + "cpu": [ + "arm64" + ], "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "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==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=10.0.0" + "node": ">=12" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", - "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "win32" @@ -3385,15 +3735,13 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/@ngtools/webpack": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.0.tgz", - "integrity": "sha512-I5zjGtJu2wwIdM+OFUHXezmwTJ0wpParVJgCxR0cLd0CIbpRYSjOSZQN/nR9ZnTKAI5uFZ3MM2p/VRQGUUHUcw==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.1.8.tgz", + "integrity": "sha512-co2SC1a822655Ek2f6fkMFsswHeCm2obNceb0kftLSpqomCgPAC3T447pB3TE1Iw+BEMFdjrAgIrp3nyYWwHsQ==", "dev": true, - "license": "MIT", "engines": { "node": "^16.14.0 || >=18.10.0", "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", @@ -3401,7 +3749,7 @@ }, "peerDependencies": { "@angular/compiler-cli": "^16.0.0", - "typescript": ">=4.9.3 <5.1", + "typescript": ">=4.9.3 <5.2", "webpack": "^5.54.0" } }, @@ -3556,39 +3904,36 @@ } }, "node_modules/@nrwl/devkit": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz", - "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==", "dev": true, - "license": "MIT", "dependencies": { - "@nx/devkit": "16.0.2" + "@nx/devkit": "16.5.1" } }, "node_modules/@nrwl/tao": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz", - "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz", + "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==", "dev": true, - "license": "MIT", "dependencies": { - "nx": "16.0.2" + "nx": "16.5.1" }, "bin": { "tao": "index.js" } }, "node_modules/@nx/devkit": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz", - "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==", "dev": true, - "license": "MIT", "dependencies": { - "@nrwl/devkit": "16.0.2", + "@nrwl/devkit": "16.5.1", "ejs": "^3.1.7", "ignore": "^5.0.4", - "semver": "7.3.4", + "semver": "7.5.3", "tmp": "~0.2.1", "tslib": "^2.3.0" }, @@ -3601,7 +3946,6 @@ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -3610,11 +3954,10 @@ } }, "node_modules/@nx/devkit/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -3626,9 +3969,9 @@ } }, "node_modules/@nx/nx-darwin-arm64": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz", - "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz", + "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==", "cpu": [ "arm64" ], @@ -3642,9 +3985,9 @@ } }, "node_modules/@nx/nx-darwin-x64": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz", - "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz", + "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==", "cpu": [ "x64" ], @@ -3657,10 +4000,26 @@ "node": ">= 10" } }, + "node_modules/@nx/nx-freebsd-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz", + "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, "node_modules/@nx/nx-linux-arm-gnueabihf": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz", - "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz", + "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==", "cpu": [ "arm" ], @@ -3674,9 +4033,9 @@ } }, "node_modules/@nx/nx-linux-arm64-gnu": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz", - "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz", + "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==", "cpu": [ "arm64" ], @@ -3690,9 +4049,9 @@ } }, "node_modules/@nx/nx-linux-arm64-musl": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz", - "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz", + "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==", "cpu": [ "arm64" ], @@ -3706,9 +4065,9 @@ } }, "node_modules/@nx/nx-linux-x64-gnu": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz", - "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz", + "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==", "cpu": [ "x64" ], @@ -3722,9 +4081,9 @@ } }, "node_modules/@nx/nx-linux-x64-musl": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz", - "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz", + "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==", "cpu": [ "x64" ], @@ -3738,9 +4097,9 @@ } }, "node_modules/@nx/nx-win32-arm64-msvc": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz", - "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz", + "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==", "cpu": [ "arm64" ], @@ -3754,9 +4113,9 @@ } }, "node_modules/@nx/nx-win32-x64-msvc": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz", - "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz", + "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==", "cpu": [ "x64" ], @@ -3775,7 +4134,6 @@ "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "node-addon-api": "^3.2.1", "node-gyp-build": "^4.3.0" @@ -3960,13 +4318,13 @@ "peer": true }, "node_modules/@schematics/angular": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.3.tgz", - "integrity": "sha512-bNSxCLf6f+/dsQ1k3PhcZhrC/qgJSCpM6h3m6ATpjR+tYW/v7WR1OyE5r3DQmDe7NJSazBvpbrRtg8xjRsMzvw==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.8.tgz", + "integrity": "sha512-gTHy1A/E9BCr0sj3VCr6eBYkgVkO96QWiZcFumedGnvstvp5wiCoIoJPLLfYaxVt1vt08xmnmS3OZ3r0qCLdpA==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.1.3", - "@angular-devkit/schematics": "16.1.3", + "@angular-devkit/core": "16.1.8", + "@angular-devkit/schematics": "16.1.8", "jsonc-parser": "3.2.0" }, "engines": { @@ -3975,63 +4333,6 @@ "yarn": ">= 1.13.0" } }, - "node_modules/@schematics/angular/node_modules/@angular-devkit/core": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz", - "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^16.14.0 || >=18.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@schematics/angular/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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/@schematics/angular/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/@schematics/angular/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/@sigstore/protobuf-specs": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", @@ -4274,34 +4575,6 @@ "node": ">= 10" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true, - "peer": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "peer": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "peer": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "peer": true - }, "node_modules/@tufjs/canonical-json": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", @@ -4353,7 +4626,6 @@ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, - "license": "MIT", "dependencies": { "@types/connect": "*", "@types/node": "*" @@ -4364,7 +4636,6 @@ "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4374,7 +4645,6 @@ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4384,7 +4654,6 @@ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", "dev": true, - "license": "MIT", "dependencies": { "@types/express-serve-static-core": "*", "@types/node": "*" @@ -4442,7 +4711,6 @@ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/body-parser": "*", "@types/express-serve-static-core": "^4.17.33", @@ -4451,11 +4719,10 @@ } }, "node_modules/@types/express-serve-static-core": { - "version": "4.17.34", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", - "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*", "@types/qs": "*", @@ -4463,12 +4730,17 @@ "@types/send": "*" } }, + "node_modules/@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "dev": true + }, "node_modules/@types/http-proxy": { "version": "1.17.11", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4503,8 +4775,7 @@ "version": "1.3.2", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/@types/node": { "version": "18.16.3", @@ -4516,22 +4787,19 @@ "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, - "license": "MIT" + "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, - "license": "MIT" + "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, - "license": "MIT" + "dev": true }, "node_modules/@types/semver": { "version": "7.3.13", @@ -4545,7 +4813,6 @@ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/mime": "^1", "@types/node": "*" @@ -4556,18 +4823,17 @@ "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, - "license": "MIT", "dependencies": { "@types/express": "*" } }, "node_modules/@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", "dev": true, - "license": "MIT", "dependencies": { + "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } @@ -4587,7 +4853,6 @@ "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -4617,11 +4882,10 @@ "license": "MIT" }, "node_modules/@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dev": true, - "license": "MIT", "dependencies": { "@types/node": "*" } @@ -5001,11 +5265,10 @@ "license": "BSD-2-Clause" }, "node_modules/@yarnpkg/parsers": { - "version": "3.0.0-rc.43", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz", - "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==", + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "js-yaml": "^3.10.0", "tslib": "^2.4.0" @@ -5019,7 +5282,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -5029,7 +5291,6 @@ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -5043,7 +5304,6 @@ "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -5091,10 +5351,9 @@ } }, "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==", - "license": "MIT", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "peerDependencies": { "acorn": "^8" } @@ -5109,16 +5368,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/adjust-sourcemap-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", @@ -5285,7 +5534,6 @@ "engines": [ "node >= 0.8.0" ], - "license": "Apache-2.0", "bin": { "ansi-html": "bin/ansi-html" } @@ -5347,13 +5595,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "peer": true - }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -5362,13 +5603,12 @@ "license": "Python-2.0" }, "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "node_modules/array-buffer-byte-length": { @@ -5395,11 +5635,10 @@ } }, "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, - "license": "MIT" + "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/array-union": { "version": "2.1.0", @@ -5439,15 +5678,13 @@ "version": "3.2.4", "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/autoprefixer": { "version": "10.4.14", @@ -5551,55 +5788,51 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", "dev": true, - "license": "MIT", "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.4.2" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/balanced-match": { @@ -5646,8 +5879,7 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/big.js": { "version": "5.2.2", @@ -5751,7 +5983,6 @@ "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", "dev": true, - "license": "MIT", "dependencies": { "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", @@ -5759,19 +5990,11 @@ "multicast-dns": "^7.2.5" } }, - "node_modules/bonjour-service/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, - "license": "MIT" - }, "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, - "license": "ISC" + "dev": true }, "node_modules/brace-expansion": { "version": "1.1.11", @@ -5798,9 +6021,9 @@ } }, "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "funding": [ { "type": "opencollective", @@ -5809,14 +6032,17 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" }, "bin": { "browserslist": "cli.js" @@ -5876,11 +6102,10 @@ } }, "node_modules/cacache": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz", - "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==", + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz", + "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==", "dev": true, - "license": "ISC", "dependencies": { "@npmcli/fs": "^3.1.0", "fs-minipass": "^3.0.0", @@ -5891,7 +6116,6 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", "ssri": "^10.0.0", "tar": "^6.1.11", "unique-filename": "^3.0.0" @@ -6007,9 +6231,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001482", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz", - "integrity": "sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==", + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==", "funding": [ { "type": "opencollective", @@ -6023,8 +6247,7 @@ "type": "github", "url": "https://github.com/sponsors/ai" } - ], - "license": "CC-BY-4.0" + ] }, "node_modules/chalk": { "version": "4.1.2", @@ -6180,7 +6403,6 @@ "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -6253,15 +6475,13 @@ "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/combined-stream": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dev": true, - "license": "MIT", "dependencies": { "delayed-stream": "~1.0.0" }, @@ -6287,7 +6507,6 @@ "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, - "license": "MIT", "dependencies": { "mime-db": ">= 1.43.0 < 2" }, @@ -6300,7 +6519,6 @@ "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", @@ -6319,7 +6537,6 @@ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -6329,7 +6546,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -6338,15 +6554,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/compression/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, - "license": "MIT" + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", @@ -6378,7 +6592,6 @@ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8" } @@ -6415,7 +6628,6 @@ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "license": "MIT", "dependencies": { "safe-buffer": "5.2.1" }, @@ -6453,8 +6665,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/copy-anything": { "version": "2.0.6", @@ -6541,13 +6752,12 @@ } }, "node_modules/core-js-compat": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz", - "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==", + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", + "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", "dev": true, - "license": "MIT", "dependencies": { - "browserslist": "^4.21.5" + "browserslist": "^4.21.9" }, "funding": { "type": "opencollective", @@ -6558,8 +6768,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/cors": { "version": "2.8.5", @@ -6578,11 +6787,10 @@ } }, "node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", "dev": true, - "license": "MIT", "dependencies": { "import-fresh": "^3.2.1", "js-yaml": "^4.1.0", @@ -6596,42 +6804,18 @@ "url": "https://github.com/sponsors/d-fischer" } }, - "node_modules/cosmiconfig-typescript-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", - "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@types/node": "*", - "cosmiconfig": ">=7", - "ts-node": ">=10", - "typescript": ">=3" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "peer": true - }, "node_modules/critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", + "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", "dev": true, - "license": "Apache-2.0", "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", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", "pretty-bytes": "^5.3.0" } }, @@ -6667,16 +6851,15 @@ } }, "node_modules/css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", "dev": true, - "license": "MIT", "dependencies": { "icss-utils": "^5.1.0", - "postcss": "^8.4.19", + "postcss": "^8.4.21", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-local-by-default": "^4.0.3", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", @@ -6694,16 +6877,15 @@ } }, "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==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", "nth-check": "^2.0.1" }, "funding": { @@ -6715,7 +6897,6 @@ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">= 6" }, @@ -6728,7 +6909,6 @@ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true, - "license": "MIT", "bin": { "cssesc": "bin/cssesc" }, @@ -6843,7 +7023,6 @@ "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "execa": "^5.0.0" }, @@ -6851,63 +7030,6 @@ "node": ">= 10" } }, - "node_modules/default-gateway/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/default-gateway/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, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/default-gateway/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, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-gateway/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, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -6953,7 +7075,6 @@ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } @@ -6974,6 +7095,15 @@ "node": ">= 0.8" } }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -6999,8 +7129,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/di": { "version": "0.0.1", @@ -7011,16 +7140,6 @@ "optional": true, "peer": true }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -7038,15 +7157,13 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/dns-packet": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", "dev": true, - "license": "MIT", "dependencies": { "@leichtgewicht/ip-codec": "^2.0.1" }, @@ -7083,30 +7200,19 @@ } }, "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==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, - "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" }, "funding": { "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, "node_modules/domelementtype": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", @@ -7117,17 +7223,15 @@ "type": "github", "url": "https://github.com/sponsors/fb55" } - ], - "license": "BSD-2-Clause" + ] }, "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "domelementtype": "^2.2.0" + "domelementtype": "^2.3.0" }, "engines": { "node": ">= 4" @@ -7137,15 +7241,14 @@ } }, "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, "funding": { "url": "https://github.com/fb55/domutils?sponsor=1" @@ -7156,7 +7259,6 @@ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=10" } @@ -7165,8 +7267,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/eastasianwidth": { "version": "0.2.0", @@ -7187,7 +7288,6 @@ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, - "license": "Apache-2.0", "dependencies": { "jake": "^10.8.5" }, @@ -7199,10 +7299,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.382", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.382.tgz", - "integrity": "sha512-czMavlW52VIPgutbVL9JnZIZuFijzsG1ww/1z2Otu1r1q+9Qe2bTsH3My3sZarlvwyqHM6+mnZfEnt2Vr4dsIg==", - "license": "ISC" + "version": "1.4.485", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.485.tgz", + "integrity": "sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==" }, "node_modules/emoji-regex": { "version": "8.0.0", @@ -7312,10 +7411,9 @@ } }, "node_modules/enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", - "license": "MIT", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -7329,7 +7427,6 @@ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-colors": "^4.1.1" }, @@ -7511,12 +7608,11 @@ } }, "node_modules/esbuild": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", - "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -7524,36 +7620,35 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.17.18", - "@esbuild/android-arm64": "0.17.18", - "@esbuild/android-x64": "0.17.18", - "@esbuild/darwin-arm64": "0.17.18", - "@esbuild/darwin-x64": "0.17.18", - "@esbuild/freebsd-arm64": "0.17.18", - "@esbuild/freebsd-x64": "0.17.18", - "@esbuild/linux-arm": "0.17.18", - "@esbuild/linux-arm64": "0.17.18", - "@esbuild/linux-ia32": "0.17.18", - "@esbuild/linux-loong64": "0.17.18", - "@esbuild/linux-mips64el": "0.17.18", - "@esbuild/linux-ppc64": "0.17.18", - "@esbuild/linux-riscv64": "0.17.18", - "@esbuild/linux-s390x": "0.17.18", - "@esbuild/linux-x64": "0.17.18", - "@esbuild/netbsd-x64": "0.17.18", - "@esbuild/openbsd-x64": "0.17.18", - "@esbuild/sunos-x64": "0.17.18", - "@esbuild/win32-arm64": "0.17.18", - "@esbuild/win32-ia32": "0.17.18", - "@esbuild/win32-x64": "0.17.18" + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" } }, "node_modules/esbuild-wasm": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz", - "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.19.tgz", + "integrity": "sha512-X9UQEMJMZXwlGCfqcBmJ1jEa+KrLfd+gCBypO/TSzo5hZvbVwFqpxj1YCuX54ptTF75wxmrgorR4RL40AKtLVg==", "dev": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -7911,7 +8006,6 @@ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -7939,6 +8033,29 @@ "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/expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -7960,7 +8077,6 @@ "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", @@ -7998,12 +8114,17 @@ "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/body-parser": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "content-type": "~1.0.4", @@ -8028,7 +8149,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -8038,7 +8158,6 @@ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", @@ -8056,15 +8175,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/express/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, - "license": "MIT", "dependencies": { "bytes": "3.1.2", "http-errors": "2.0.0", @@ -8163,7 +8280,6 @@ "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, - "license": "Apache-2.0", "dependencies": { "websocket-driver": ">=0.5.1" }, @@ -8205,7 +8321,6 @@ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", "dev": true, - "license": "Apache-2.0", "dependencies": { "minimatch": "^5.0.1" } @@ -8215,7 +8330,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } @@ -8225,7 +8339,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -8358,7 +8471,6 @@ "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", "dev": true, - "license": "BSD-3-Clause", "bin": { "flat": "cli.js" } @@ -8464,7 +8576,6 @@ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dev": true, - "license": "MIT", "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -8479,7 +8590,6 @@ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8503,7 +8613,6 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -8520,7 +8629,6 @@ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -8544,11 +8652,10 @@ } }, "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, - "license": "Unlicense" + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==", + "dev": true }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -8683,7 +8790,6 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -8759,7 +8865,6 @@ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -8830,8 +8935,7 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/has": { "version": "1.0.3", @@ -8961,7 +9065,6 @@ "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", @@ -8973,15 +9076,13 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/hpack.js/node_modules/readable-stream": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dev": true, - "license": "MIT", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -8996,32 +9097,57 @@ "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, - "license": "MIT" + "dev": true }, "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, - "license": "MIT", "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==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", "dev": true, - "license": "MIT" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } }, "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/http-errors": { "version": "2.0.0", @@ -9044,8 +9170,7 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/http-proxy": { "version": "1.18.1", @@ -9081,7 +9206,6 @@ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", "dev": true, - "license": "MIT", "dependencies": { "@types/http-proxy": "^1.17.8", "http-proxy": "^1.18.1", @@ -9115,6 +9239,15 @@ "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", @@ -9142,7 +9275,6 @@ "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", "dev": true, - "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -9351,11 +9483,10 @@ "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10" } @@ -9611,7 +9742,6 @@ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -9624,7 +9754,6 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -9672,6 +9801,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -9827,7 +9968,6 @@ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9860,11 +10000,10 @@ } }, "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==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -9889,16 +10028,15 @@ } }, "node_modules/jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "async": "^3.2.3", "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "filelist": "^1.0.4", + "minimatch": "^3.1.2" }, "bin": { "jake": "bin/cli.js" @@ -9936,6 +10074,15 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/js-sdsl": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", @@ -9971,7 +10118,6 @@ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", "dev": true, - "license": "MIT", "bin": { "jsesc": "bin/jsesc" }, @@ -10035,7 +10181,6 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, - "license": "MIT", "dependencies": { "universalify": "^2.0.0" }, @@ -10197,7 +10342,6 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -10217,7 +10361,6 @@ "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", "dev": true, - "license": "MIT", "dependencies": { "picocolors": "^1.0.0", "shell-quote": "^1.7.3" @@ -10287,11 +10430,10 @@ } }, "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==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, - "license": "ISC", "optional": true, "bin": { "semver": "bin/semver" @@ -10334,7 +10476,6 @@ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } @@ -10429,8 +10570,7 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", @@ -10521,22 +10661,14 @@ } }, "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==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" } }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "peer": true - }, "node_modules/make-fetch-happen": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", @@ -10634,13 +10766,12 @@ } }, "node_modules/memfs": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", - "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, - "license": "Unlicense", "dependencies": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" }, "engines": { "node": ">= 4.0.0" @@ -10659,8 +10790,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/merge-stream": { "version": "2.0.0", @@ -10683,7 +10813,6 @@ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -10760,11 +10889,10 @@ } }, "node_modules/mini-css-extract-plugin": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz", - "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==", + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", "dev": true, - "license": "MIT", "dependencies": { "schema-utils": "^4.0.0" }, @@ -10783,8 +10911,7 @@ "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, - "license": "ISC" + "dev": true }, "node_modules/minimatch": { "version": "3.1.2", @@ -10976,7 +11103,6 @@ "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, - "license": "MIT", "dependencies": { "dns-packet": "^5.2.2", "thunky": "^1.0.2" @@ -11139,15 +11265,13 @@ "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, - "license": "MIT" + "dev": 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, - "license": "(BSD-3-Clause OR GPL-2.0)", "engines": { "node": ">= 6.13.0" } @@ -11182,7 +11306,6 @@ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", "dev": true, - "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -11220,10 +11343,9 @@ } }, "node_modules/node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", - "license": "MIT" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "node_modules/nopt": { "version": "6.0.0", @@ -11472,9 +11594,9 @@ } }, "node_modules/npm-run-all/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -11558,7 +11680,6 @@ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "boolbase": "^1.0.0" }, @@ -11567,17 +11688,16 @@ } }, "node_modules/nx": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz", - "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz", + "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { - "@nrwl/tao": "16.0.2", + "@nrwl/tao": "16.5.1", "@parcel/watcher": "2.0.4", "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "^3.0.0-rc.18", + "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.6", "axios": "^1.0.0", "chalk": "^4.1.0", @@ -11598,7 +11718,7 @@ "minimatch": "3.0.5", "npm-run-path": "^4.0.1", "open": "^8.4.0", - "semver": "7.3.4", + "semver": "7.5.3", "string-width": "^4.2.3", "strong-log-transformer": "^2.1.0", "tar-stream": "~2.2.0", @@ -11613,15 +11733,16 @@ "nx": "bin/nx.js" }, "optionalDependencies": { - "@nx/nx-darwin-arm64": "16.0.2", - "@nx/nx-darwin-x64": "16.0.2", - "@nx/nx-linux-arm-gnueabihf": "16.0.2", - "@nx/nx-linux-arm64-gnu": "16.0.2", - "@nx/nx-linux-arm64-musl": "16.0.2", - "@nx/nx-linux-x64-gnu": "16.0.2", - "@nx/nx-linux-x64-musl": "16.0.2", - "@nx/nx-win32-arm64-msvc": "16.0.2", - "@nx/nx-win32-x64-msvc": "16.0.2" + "@nx/nx-darwin-arm64": "16.5.1", + "@nx/nx-darwin-x64": "16.5.1", + "@nx/nx-freebsd-x64": "16.5.1", + "@nx/nx-linux-arm-gnueabihf": "16.5.1", + "@nx/nx-linux-arm64-gnu": "16.5.1", + "@nx/nx-linux-arm64-musl": "16.5.1", + "@nx/nx-linux-x64-gnu": "16.5.1", + "@nx/nx-linux-x64-musl": "16.5.1", + "@nx/nx-win32-arm64-msvc": "16.5.1", + "@nx/nx-win32-x64-msvc": "16.5.1" }, "peerDependencies": { "@swc-node/register": "^1.4.2", @@ -11641,7 +11762,6 @@ "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "dev": true, - "license": "MIT", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -11653,7 +11773,6 @@ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -11670,7 +11789,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -11683,25 +11801,11 @@ "node": "*" } }, - "node_modules/nx/node_modules/glob/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, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/nx/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "license": "ISC", "dependencies": { "yallist": "^4.0.0" }, @@ -11714,7 +11818,6 @@ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -11723,11 +11826,10 @@ } }, "node_modules/nx/node_modules/semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -11810,8 +11912,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/on-finished": { "version": "2.4.1", @@ -11831,7 +11932,6 @@ "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, - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -11996,7 +12096,6 @@ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -12010,7 +12109,6 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -12103,7 +12201,6 @@ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -12121,8 +12218,7 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/parse-node-version": { "version": "1.0.1", @@ -12134,13 +12230,6 @@ "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, - "license": "MIT" - }, "node_modules/parse5-html-rewriting-stream": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", @@ -12169,16 +12258,6 @@ "url": "https://github.com/inikulin/parse5?sponsor=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, - "license": "MIT", - "dependencies": { - "parse5": "^6.0.1" - } - }, "node_modules/parse5-sax-parser": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", @@ -12292,8 +12371,7 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/path-type": { "version": "4.0.0", @@ -12376,9 +12454,9 @@ } }, "node_modules/postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", "funding": [ { "type": "opencollective", @@ -12393,7 +12471,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -12404,14 +12481,13 @@ } }, "node_modules/postcss-loader": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz", - "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz", + "integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==", "dev": true, - "license": "MIT", "dependencies": { "cosmiconfig": "^8.1.3", - "cosmiconfig-typescript-loader": "^4.3.0", + "jiti": "^1.18.2", "klona": "^2.0.6", "semver": "^7.3.8" }, @@ -12424,17 +12500,7 @@ }, "peerDependencies": { "postcss": "^7.0.0 || ^8.0.1", - "ts-node": ">=10", - "typescript": ">=4", "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - }, - "typescript": { - "optional": true - } } }, "node_modules/postcss-modules-extract-imports": { @@ -12442,7 +12508,6 @@ "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, - "license": "ISC", "engines": { "node": "^10 || ^12 || >= 14" }, @@ -12451,11 +12516,10 @@ } }, "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==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, - "license": "MIT", "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", @@ -12473,7 +12537,6 @@ "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, - "license": "ISC", "dependencies": { "postcss-selector-parser": "^6.0.4" }, @@ -12489,7 +12552,6 @@ "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, - "license": "ISC", "dependencies": { "icss-utils": "^5.0.0" }, @@ -12501,11 +12563,10 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", - "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, - "license": "MIT", "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -12579,7 +12640,6 @@ "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" }, @@ -12600,8 +12660,7 @@ "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, - "license": "MIT" + "dev": true }, "node_modules/promise": { "version": "7.3.1", @@ -12667,7 +12726,6 @@ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "license": "MIT", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -12681,7 +12739,6 @@ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } @@ -12690,8 +12747,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/prr": { "version": "1.0.1", @@ -12994,9 +13050,9 @@ } }, "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -13093,22 +13149,19 @@ "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, - "license": "Apache-2.0" + "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, - "license": "MIT" + "dev": true }, "node_modules/regenerate-unicode-properties": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, - "license": "MIT", "dependencies": { "regenerate": "^1.4.2" }, @@ -13120,15 +13173,13 @@ "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/regenerator-transform": { "version": "0.15.1", "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, - "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.4" } @@ -13163,7 +13214,6 @@ "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "license": "MIT", "dependencies": { "@babel/regjsgen": "^0.8.0", "regenerate": "^1.4.2", @@ -13181,7 +13231,6 @@ "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "jsesc": "~0.5.0" }, @@ -13487,11 +13536,10 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.62.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", - "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "version": "1.63.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.2.tgz", + "integrity": "sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==", "dev": true, - "license": "MIT", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -13505,11 +13553,10 @@ } }, "node_modules/sass-loader": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz", - "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.1.tgz", + "integrity": "sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg==", "dev": true, - "license": "MIT", "dependencies": { "klona": "^2.0.6", "neo-async": "^2.6.2" @@ -13523,7 +13570,7 @@ }, "peerDependencies": { "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" @@ -13618,15 +13665,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/selfsigned": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, - "license": "MIT", "dependencies": { "node-forge": "^1" }, @@ -13635,11 +13680,10 @@ } }, "node_modules/semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, - "license": "ISC", "dependencies": { "lru-cache": "^6.0.0" }, @@ -13668,7 +13712,6 @@ "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "license": "MIT", "dependencies": { "debug": "2.6.9", "depd": "2.0.0", @@ -13693,7 +13736,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -13702,15 +13744,13 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" + "dev": true }, "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, - "license": "MIT" + "dev": true }, "node_modules/serialize-javascript": { "version": "6.0.1", @@ -13726,7 +13766,6 @@ "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, - "license": "MIT", "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", @@ -13745,7 +13784,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "license": "MIT", "dependencies": { "ms": "2.0.0" } @@ -13755,7 +13793,6 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13765,7 +13802,6 @@ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", "dev": true, - "license": "MIT", "dependencies": { "depd": "~1.1.2", "inherits": "2.0.3", @@ -13780,29 +13816,25 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true, - "license": "ISC" + "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, - "license": "MIT" + "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, - "license": "ISC" + "dev": true }, "node_modules/serve-index/node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6" } @@ -13812,7 +13844,6 @@ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "license": "MIT", "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -13847,7 +13878,6 @@ "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -13879,19 +13909,6 @@ "url": "https://opencollective.com/libvips" } }, - "node_modules/sharp/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, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/sharp/node_modules/node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", @@ -13899,21 +13916,6 @@ "dev": true, "license": "MIT" }, - "node_modules/sharp/node_modules/semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -14115,7 +14117,6 @@ "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", "dev": true, - "license": "MIT", "dependencies": { "faye-websocket": "^0.11.3", "uuid": "^8.3.2", @@ -14127,7 +14128,6 @@ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -14264,7 +14264,6 @@ "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", @@ -14281,7 +14280,6 @@ "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", @@ -14544,6 +14542,15 @@ "node": ">=4" } }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -14562,7 +14569,6 @@ "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "duplexer": "^0.1.1", "minimist": "^1.2.0", @@ -14615,7 +14621,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -14722,13 +14727,12 @@ } }, "node_modules/terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", - "license": "BSD-2-Clause", + "version": "5.17.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz", + "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==", "dependencies": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" }, @@ -14828,8 +14832,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/tmp": { "version": "0.2.1", @@ -14864,7 +14867,6 @@ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -14902,56 +14904,11 @@ "tree-kill": "cli.js" } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "peer": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, "node_modules/tsconfig-paths": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", "dev": true, - "license": "MIT", "dependencies": { "json5": "^2.2.2", "minimist": "^1.2.6", @@ -14962,10 +14919,9 @@ } }, "node_modules/tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", - "license": "0BSD" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -15140,7 +15096,6 @@ "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, - "license": "MIT", "engines": { "node": ">=4" } @@ -15150,7 +15105,6 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", "dev": true, - "license": "MIT", "dependencies": { "unicode-canonical-property-names-ecmascript": "^2.0.0", "unicode-property-aliases-ecmascript": "^2.0.0" @@ -15164,7 +15118,6 @@ "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -15174,7 +15127,6 @@ "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } @@ -15210,7 +15162,6 @@ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 10.0.0" } @@ -15299,15 +15250,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "peer": true + "dev": true }, "node_modules/validate-npm-package-license": { "version": "3.0.4", @@ -15343,15 +15286,14 @@ } }, "node_modules/vite": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz", - "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==", + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "^0.17.5", - "postcss": "^8.4.21", - "rollup": "^3.20.2" + "postcss": "^8.4.23", + "rollup": "^3.21.0" }, "bin": { "vite": "bin/vite.js" @@ -15467,7 +15409,6 @@ "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, - "license": "MIT", "dependencies": { "minimalistic-assert": "^1.0.0" } @@ -15483,10 +15424,9 @@ } }, "node_modules/webpack": { - "version": "5.80.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz", - "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==", - "license": "MIT", + "version": "5.86.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", + "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", "dependencies": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -15494,10 +15434,10 @@ "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", + "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.13.0", + "enhanced-resolve": "^5.14.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -15530,11 +15470,10 @@ } }, "node_modules/webpack-dev-middleware": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz", - "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", + "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", "dev": true, - "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.12", @@ -15559,11 +15498,10 @@ } }, "node_modules/webpack-dev-server": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz", - "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz", + "integrity": "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -15638,7 +15576,6 @@ "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", "dev": true, - "license": "MIT", "dependencies": { "colorette": "^2.0.10", "memfs": "^3.4.3", @@ -15662,7 +15599,6 @@ "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10.0.0" }, @@ -15680,11 +15616,10 @@ } }, "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==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" @@ -15747,7 +15682,6 @@ "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "http-parser-js": ">=0.5.1", "safe-buffer": ">=5.1.0", @@ -15762,7 +15696,6 @@ "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=0.8.0" } @@ -15849,8 +15782,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/wrap-ansi": { "version": "7.0.0", @@ -15976,16 +15908,6 @@ "node": ">=12" } }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "peer": true, - "engines": { - "node": ">=6" - } - }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", @@ -16018,7 +15940,7 @@ } }, "src-shared-ts": { - "version": "0.0.0", + "version": "1.9.0", "license": "MIT", "dependencies": { "lodash": "^4.17.21" @@ -16043,51 +15965,51 @@ } }, "@angular-devkit/architect": { - "version": "0.1600.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.0.tgz", - "integrity": "sha512-nYRcqAxZnndhAEpSpJ1U2TScs2huu674OKrsEyJTqLEANEyCPBnusAmS9HcGzMBgePAwNElqOKrr5/f1DbYq1A==", + "version": "0.1601.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.8.tgz", + "integrity": "sha512-kOXVGwsQnZvtz2UZNefcEy64Jiwq0eSoQUeozvDXOaYRJABLjPKI2YaarvKC9/Z1SGLuje0o/eRJO4T8aRk9rQ==", "dev": true, "requires": { - "@angular-devkit/core": "16.0.0", + "@angular-devkit/core": "16.1.8", "rxjs": "7.8.1" } }, "@angular-devkit/build-angular": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.0.tgz", - "integrity": "sha512-OvDQAbrV3cUMfHws30MnDURsXselZ0GWhSxZjOdcD3cF64Nsq5ywftHOT+QC3YdDghwI8gMADN9et+aVDscBzQ==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.1.8.tgz", + "integrity": "sha512-iyElPBQdcJq2plw5YqSz4mzNUfSRXI3ISFTEwPtimzPOorsj/OxB3Z6kJ8fDUsBAJ5OKR7xL7VnQJJ3S+05RhQ==", "dev": true, "requires": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1600.0", - "@angular-devkit/build-webpack": "0.1600.0", - "@angular-devkit/core": "16.0.0", - "@babel/core": "7.21.4", - "@babel/generator": "7.21.4", - "@babel/helper-annotate-as-pure": "7.18.6", - "@babel/helper-split-export-declaration": "7.18.6", + "@angular-devkit/architect": "0.1601.8", + "@angular-devkit/build-webpack": "0.1601.8", + "@angular-devkit/core": "16.1.8", + "@babel/core": "7.22.5", + "@babel/generator": "7.22.7", + "@babel/helper-annotate-as-pure": "7.22.5", + "@babel/helper-split-export-declaration": "7.22.5", "@babel/plugin-proposal-async-generator-functions": "7.20.7", - "@babel/plugin-transform-async-to-generator": "7.20.7", - "@babel/plugin-transform-runtime": "7.21.4", - "@babel/preset-env": "7.21.4", - "@babel/runtime": "7.21.0", - "@babel/template": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.22.5", + "@babel/plugin-transform-runtime": "7.22.5", + "@babel/preset-env": "7.22.5", + "@babel/runtime": "7.22.5", + "@babel/template": "7.22.5", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "16.0.0", + "@ngtools/webpack": "16.1.8", "@vitejs/plugin-basic-ssl": "1.0.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.14", "babel-loader": "9.1.2", "babel-plugin-istanbul": "6.1.1", - "browserslist": "4.21.5", - "cacache": "17.0.6", + "browserslist": "^4.21.5", + "cacache": "17.1.3", "chokidar": "3.5.3", "copy-webpack-plugin": "11.0.0", - "critters": "0.0.16", - "css-loader": "6.7.3", - "esbuild": "0.17.18", - "esbuild-wasm": "0.17.18", - "glob": "8.1.0", + "critters": "0.0.20", + "css-loader": "6.8.1", + "esbuild": "0.17.19", + "esbuild-wasm": "0.17.19", + "fast-glob": "3.2.12", "https-proxy-agent": "5.0.1", "inquirer": "8.2.4", "jsonc-parser": "3.2.0", @@ -16097,86 +16019,74 @@ "license-webpack-plugin": "4.0.2", "loader-utils": "3.2.1", "magic-string": "0.30.0", - "mini-css-extract-plugin": "2.7.5", + "mini-css-extract-plugin": "2.7.6", "mrmime": "1.0.1", "open": "8.4.2", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "2.3.1", "piscina": "3.2.0", - "postcss": "8.4.23", - "postcss-loader": "7.2.4", + "postcss": "8.4.24", + "postcss-loader": "7.3.2", "resolve-url-loader": "5.0.0", "rxjs": "7.8.1", - "sass": "1.62.1", - "sass-loader": "13.2.2", - "semver": "7.4.0", + "sass": "1.63.2", + "sass-loader": "13.3.1", + "semver": "7.5.3", "source-map-loader": "4.0.1", "source-map-support": "0.5.21", - "terser": "5.17.1", + "terser": "5.17.7", "text-table": "0.2.0", "tree-kill": "1.2.2", - "tslib": "2.5.0", - "vite": "4.3.1", - "webpack": "5.80.0", - "webpack-dev-middleware": "6.0.2", - "webpack-dev-server": "4.13.2", - "webpack-merge": "5.8.0", + "tslib": "2.5.3", + "vite": "4.3.9", + "webpack": "5.86.0", + "webpack-dev-middleware": "6.1.1", + "webpack-dev-server": "4.15.0", + "webpack-merge": "5.9.0", "webpack-subresource-integrity": "5.1.0" }, "dependencies": { - "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" - } - }, - "glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - } - }, "loader-utils": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", "dev": true }, - "minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "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": { - "brace-expansion": "^2.0.1" + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" } } } }, "@angular-devkit/build-webpack": { - "version": "0.1600.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.0.tgz", - "integrity": "sha512-ZlNNMtAzgMCsaN5crkqtgeYxWEyZ78/ePfrJTB3+Hb6LS+hsRf4WAYubHWRWReSx87ppluRrgNZLy0K9ooWy1w==", + "version": "0.1601.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1601.8.tgz", + "integrity": "sha512-LUMA3xNnN4IY/FPaqyF6rzba+QVxl3vA+v0l71CBIKNU+Qee6D9xe8KG0Bn7relqDhWZOSHY0nhhO2mBoz4iQg==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1600.0", + "@angular-devkit/architect": "0.1601.8", "rxjs": "7.8.1" } }, "@angular-devkit/core": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.0.tgz", - "integrity": "sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.8.tgz", + "integrity": "sha512-dSRD/+bGanArIXkj+kaU1kDFleZeQMzmBiOXX+pK0Ah9/0Yn1VmY3RZh1zcX9vgIQXV+t7UPrTpOjaERMUtVGw==", "dev": true, "requires": { "ajv": "8.12.0", @@ -16213,65 +16123,26 @@ } }, "@angular-devkit/schematics": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.3.tgz", - "integrity": "sha512-hWEuQnfQOgcSs4YX6iF4QR/34ROeSPaMi7lQOYg33hStg+pnk/JDdIU0f2nrIIz3t0jqAj+5VXVLBJvOCd84vg==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.1.8.tgz", + "integrity": "sha512-6LyzMdFJs337RTxxkI2U1Ndw0CW5mMX/aXWl8d7cW2odiSrAg8IdlMqpc+AM8+CPfsB0FtS1aWkEZqJLT0jHOg==", "dev": true, "requires": { - "@angular-devkit/core": "16.1.3", + "@angular-devkit/core": "16.1.8", "jsonc-parser": "3.2.0", "magic-string": "0.30.0", "ora": "5.4.1", "rxjs": "7.8.1" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz", - "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==", - "dev": true, - "requires": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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" - } - }, - "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 - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - } } }, "@angular-eslint/builder": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz", - "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.1.0.tgz", + "integrity": "sha512-KIkE2SI1twFKoCiF/k2VR3ojOcc7TD1xPyY4kbUrx/Gxp+XEzar7O29I/ztzL4eHPBM+Uh3/NwS/jvjjBxjgAg==", "dev": true, "requires": { - "@nx/devkit": "16.0.2", - "nx": "16.0.2" + "@nx/devkit": "16.5.1", + "nx": "16.5.1" } }, "@angular-eslint/bundled-angular-compiler": { @@ -16281,40 +16152,176 @@ "dev": true }, "@angular-eslint/eslint-plugin": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz", - "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.1.0.tgz", + "integrity": "sha512-BFzzJJlgQgWc8avdSBkaDWAzNSUqcwWy0L1iZSBdXGoIOxj72kLbwe99emb8M+rUfCveljQkeM2pcYu8XLbJIA==", "dev": true, "requires": { - "@angular-eslint/utils": "16.0.1", - "@typescript-eslint/utils": "5.59.2" + "@angular-eslint/utils": "16.1.0", + "@typescript-eslint/utils": "5.62.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + } } }, "@angular-eslint/eslint-plugin-template": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz", - "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.1.0.tgz", + "integrity": "sha512-wQHWR5vqWGgO7mqoG5ixXeplIlz/OmxBJE9QMLPTZE8GdaTx8+F/5J37OWh84zCpD3mOa/FHYZxBDm2MfUmA1Q==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "16.0.1", - "@angular-eslint/utils": "16.0.1", - "@typescript-eslint/type-utils": "5.59.2", - "@typescript-eslint/utils": "5.59.2", - "aria-query": "5.1.3", + "@angular-eslint/bundled-angular-compiler": "16.1.0", + "@angular-eslint/utils": "16.1.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "aria-query": "5.3.0", "axobject-query": "3.1.1" + }, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.1.0.tgz", + "integrity": "sha512-5EFAWXuFJADr3imo/ZYshY8s0K7U7wyysnE2LXnpT9PAi5rmkzt70UNZNRuamCbXr4tdIiu+fXWOj7tUuJKnnw==", + "dev": true + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + } } }, "@angular-eslint/schematics": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz", - "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.1.0.tgz", + "integrity": "sha512-L1tmP3R2krHyveaRXAvn/SeDoBFNpS1VtPPrzZm1NYr1qPcAxf3NtG2nnoyVFu6WZGt59ZGHNQ/dZxnXvm0UGg==", "dev": true, "requires": { - "@angular-eslint/eslint-plugin": "16.0.1", - "@angular-eslint/eslint-plugin-template": "16.0.1", - "@nx/devkit": "16.0.2", + "@angular-eslint/eslint-plugin": "16.1.0", + "@angular-eslint/eslint-plugin-template": "16.1.0", + "@nx/devkit": "16.5.1", "ignore": "5.2.4", - "nx": "16.0.2", + "nx": "16.5.1", "strip-json-comments": "3.1.1", "tmp": "0.2.1" } @@ -16342,33 +16349,98 @@ } }, "@angular-eslint/utils": { - "version": "16.0.1", - "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz", - "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.1.0.tgz", + "integrity": "sha512-u5XscYUq1F/7RuwyVIV2a280QL27lyQz434VYR+Np/oO21NGj5jxoRKb55xhXT9EFVs5Sy4JYeEUp6S75J/cUw==", "dev": true, "requires": { - "@angular-eslint/bundled-angular-compiler": "16.0.1", - "@typescript-eslint/utils": "5.59.2" + "@angular-eslint/bundled-angular-compiler": "16.1.0", + "@typescript-eslint/utils": "5.62.0" + }, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": { + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.1.0.tgz", + "integrity": "sha512-5EFAWXuFJADr3imo/ZYshY8s0K7U7wyysnE2LXnpT9PAi5rmkzt70UNZNRuamCbXr4tdIiu+fXWOj7tUuJKnnw==", + "dev": true + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + } } }, "@angular/animations": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.0.tgz", - "integrity": "sha512-Xx4Ffdo3sweg24MDVAXbDfxqkNPEuRgqOC1+f9171kf+w7cBEr4Bmy37DP7YkJceaU0xJH9imcx4708KeIjqkQ==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.1.8.tgz", + "integrity": "sha512-aIAf8EAZomgXMF6AP0wTPAc04Cvw+nL9nkEVwQNVxMByZpcbnnqHWHokLD8es8DzlwDT+EIZS4wZMBA4XUmPyA==", "requires": { "tslib": "^2.3.0" } }, "@angular/cli": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.3.tgz", - "integrity": "sha512-D0gU12z/N2oJ+s6pggAnWYrTUZ+2duGb3Y5oUyClsubz7JWpAwHjSZpb8exPUrgYhr+qIEMGO685y1JazJQ2tA==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.1.8.tgz", + "integrity": "sha512-amOIHMq8EvixhnI+do5Bcy6IZSFAJx0njhhLM4ltDuNUczH8VH0hNegZKxhb8K87AMO8jITFM+NLrzccyghsDQ==", "dev": true, "requires": { - "@angular-devkit/architect": "0.1601.3", - "@angular-devkit/core": "16.1.3", - "@angular-devkit/schematics": "16.1.3", - "@schematics/angular": "16.1.3", + "@angular-devkit/architect": "0.1601.8", + "@angular-devkit/core": "16.1.8", + "@angular-devkit/schematics": "16.1.8", + "@schematics/angular": "16.1.8", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.1.1", @@ -16385,47 +16457,6 @@ "yargs": "17.7.2" }, "dependencies": { - "@angular-devkit/architect": { - "version": "0.1601.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1601.3.tgz", - "integrity": "sha512-HvW51cCEoIYe2mYqcmnm2RZiMMFbFn7iIdsjbCJe7etFhcG+Y3hGDZMh4IFSiQiss+pwPSYOvQY2zwGrndMgLw==", - "dev": true, - "requires": { - "@angular-devkit/core": "16.1.3", - "rxjs": "7.8.1" - } - }, - "@angular-devkit/core": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz", - "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==", - "dev": true, - "requires": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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" - } - }, - "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 - }, "lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", @@ -16439,42 +16470,36 @@ "version": "7.5.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } } } }, "@angular/common": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.0.tgz", - "integrity": "sha512-at3/xCevf2t9swX2P7K7gaSBuQPy7ZJsf37qQkYIuczzfij69r7s9NjYeA74/q3EWG9Yl2DCrhYoCW7ViXQINQ==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.1.8.tgz", + "integrity": "sha512-Zm+Ysxdf74VwG3mbAqs2v1QFUR+h9RyJBXF5VFABEpgFw7NUOBKrayjJmKjgZ0TBAmL2+nXehJgcPph3zNp3sg==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.0.tgz", - "integrity": "sha512-xtg+KRvSeB9DUzMDtvlaRGKv+Y0MERsz+JOoqV9H4606ThNz5h8ih6fEhVKYqG100o7GhdJaVFO+vlr2/edUHA==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.1.8.tgz", + "integrity": "sha512-jF2zk3LjrcI/xpjJG6yoLiL2t2l5227i8SjhRUawAL1sy0xtb/PiSLjCNhuSgyixbB/8az/YezZe11MSg48FDg==", "requires": { "tslib": "^2.3.0" } }, "@angular/compiler-cli": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.0.tgz", - "integrity": "sha512-oyJzxiTHxziv7mD0QuA7K6tpDoL6YNGPkquKjeJjNVZvUrodGsvJ8xHO4ydmjK3nMu2ET1YarsdI8bRp4vp/7w==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.1.8.tgz", + "integrity": "sha512-Whk3RBnEYwN0c6Mo7hU6JDpHSyKONmIQEN8ViHJXwmyHK8w+/Z27iBw10QiyWUMtYb4tIM1xSLhRFAwH/3WnPQ==", "dev": true, "requires": { - "@babel/core": "7.19.3", + "@babel/core": "7.22.5", "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", @@ -16482,77 +16507,44 @@ "semver": "^7.0.0", "tslib": "^2.3.0", "yargs": "^17.2.1" - }, - "dependencies": { - "@babel/core": { - "version": "7.19.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", - "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.3", - "@babel/helper-compilation-targets": "^7.19.3", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.3", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.3", - "@babel/types": "^7.19.3", - "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 - } - } - } } }, "@angular/core": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.0.tgz", - "integrity": "sha512-scppDxtXubum6ZiGu3ogmReBtMuA5XXk5FL3YKLb3c9O7q9Z5PC8KNQ6SsaOwEb6oW+0BWXMV698p/zmd0J4tA==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.1.8.tgz", + "integrity": "sha512-XtOpY9HA85hPGrPwe1rgE8NJ3bFWbuJFx4SUlzB66k9B5jo8bD2Dxl/0id55RFS5gmvCe/Qhh0zoGyMpkWjMHA==", "requires": { "tslib": "^2.3.0" } }, "@angular/forms": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.0.tgz", - "integrity": "sha512-avpreXyDYWf44RNM5hfi5cTXXiNwcajBURP5rLap8RPMSUi2ePlJsmi0O+3+GduNZFbtnRXIpKTj3W+GeNa0PA==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.1.8.tgz", + "integrity": "sha512-V36q42ExvL93T7oYvRf4Z2z2V/kOm0wgaFgkNSiBHgIpuwvrAZ9nRZBui5Fqdnep3xKYd980vAaTtACA1blv3Q==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.0.tgz", - "integrity": "sha512-6LpgLfEnumKMKM/S9joWrVSm4MdFuIjddFmlSG7zGcRqwM0N8doH/YkuwTK8/t9q8wI/yztp6qM2pg25Pgv1XA==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.1.8.tgz", + "integrity": "sha512-wfUCVU7DLMHy5Rw7LY8KSTuLk0ff2bWElT6WSAKXXFEPjQiWuXbbIe+gglJX5HFQQHoyVwNbsSDIIgEp535Kvw==", "requires": { "tslib": "^2.3.0" } }, "@angular/platform-browser-dynamic": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.0.tgz", - "integrity": "sha512-xUR36r+7hFQjAb0RA0VFfWrCLj2VnWg0xJgPe4FQmwaEWjKMc011tkJXs0PApaiTxvE0W08nadSDTu5jfsBrFw==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.1.8.tgz", + "integrity": "sha512-mhQH78Zn/oFe+U8DmVvPJ0/7neDlnKcgktQ7f1vFNibRLqkmHW/o1vZ0B7CAmO+yzGbB8mt+RBCFAfA7g3oRDg==", "requires": { "tslib": "^2.3.0" } }, "@angular/router": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.0.tgz", - "integrity": "sha512-+5gjJwFx3AFGv7OnY53pfUzaPbWe5gOVQWXAnlUuk6tsQmWJBMehuCQ5ZO5cxViQDZkyvNALzoUeU6aKWmNqmg==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.1.8.tgz", + "integrity": "sha512-p11Mz0qQbl26fcEEQ9LEUZhKrca9kqSwMWgxBRMWZl0AgtbWQadiVdjiQY0rvpohI7qSO8m3s7CFIQLKIOEvYQ==", "requires": { "tslib": "^2.3.0" } @@ -16573,27 +16565,27 @@ } }, "@babel/compat-data": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", - "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.9.tgz", + "integrity": "sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==", "dev": true }, "@babel/core": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", - "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dev": true, "requires": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-module-transforms": "^7.21.2", - "@babel/helpers": "^7.21.0", - "@babel/parser": "^7.21.4", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.4", - "@babel/types": "^7.21.4", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -16602,54 +16594,54 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/generator": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", - "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.7.tgz", + "integrity": "sha512-p+jPjMG+SI8yvIaxGgeW24u7q9+5+TGpZh8/CuB7RhBKd7RCy8FayNEFNNKrNK/eUcY/4ExQqLmyrvBXKsIcwQ==", "dev": true, "requires": { - "@babel/types": "^7.21.4", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz", - "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz", + "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==", "dev": true, "requires": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" } }, "@babel/helper-compilation-targets": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", - "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz", + "integrity": "sha512-7qYrNM6HjpnPHJbopxmb8hSPoZ0gsX8IvUS32JGVoy+pU9e5N0nLr1VjJoR6kA4d9dmGLxNYOjeB8sUDal2WMw==", "dev": true, "requires": { - "@babel/compat-data": "^7.22.5", + "@babel/compat-data": "^7.22.9", "@babel/helper-validator-option": "^7.22.5", - "browserslist": "^4.21.3", + "browserslist": "^4.21.9", "lru-cache": "^5.1.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "dependencies": { "lru-cache": { @@ -16662,9 +16654,9 @@ } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "yallist": { @@ -16676,9 +16668,9 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz", - "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.9.tgz", + "integrity": "sha512-Pwyi89uO4YrGKxL/eNJ8lfEH55DnRloGPOseaA8NFNL6jAUnn+KccaISiFazCj5IolPPDjGSdzQzXVzODVRqUQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", @@ -16686,86 +16678,59 @@ "@babel/helper-function-name": "^7.22.5", "@babel/helper-member-expression-to-functions": "^7.22.5", "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.9", "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "semver": "^6.3.0" + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" }, "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, "@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { "@babel/types": "^7.22.5" } }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/helper-create-regexp-features-plugin": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz", - "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz", + "integrity": "sha512-+svjVa/tFwsNSG4NEy1h85+HQ5imbT92Q5/bgtS7P0GTQlP8WuFdqsiABmQouhiFGyV66oGxZFpeYHza1rNsKw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "regexpu-core": "^5.3.1", - "semver": "^6.3.0" + "semver": "^6.3.1" }, "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "@babel/helper-define-polyfill-provider": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", - "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", + "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", "dev": true, "requires": { - "@babel/helper-compilation-targets": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", "debug": "^4.1.1", "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "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 - } + "resolve": "^1.14.2" } }, "@babel/helper-environment-visitor": { @@ -16782,19 +16747,6 @@ "requires": { "@babel/template": "^7.22.5", "@babel/types": "^7.22.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - } } }, "@babel/helper-hoist-variables": { @@ -16816,28 +16768,36 @@ } }, "@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dev": true, "requires": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-transforms": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", - "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz", + "integrity": "sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ==", "dev": true, "requires": { - "@babel/helper-environment-visitor": "^7.21.5", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.5" + }, + "dependencies": { + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + } } }, "@babel/helper-optimise-call-expression": { @@ -16856,62 +16816,34 @@ "dev": true }, "@babel/helper-remap-async-to-generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz", - "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.9.tgz", + "integrity": "sha512-8WWC4oR4Px+tr+Fp0X3RHDVfINGpF3ad1HIbrc8A77epiR6eMMc6jsgozkzT2uDiOOdoS9cLIQ+XD2XvI2WSmQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - } + "@babel/helper-wrap-function": "^7.22.9" } }, "@babel/helper-replace-supers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz", - "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", + "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", "dev": true, "requires": { "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", - "@babel/types": "^7.22.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - } + "@babel/helper-optimise-call-expression": "^7.22.5" } }, "@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dev": true, "requires": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" } }, "@babel/helper-skip-transparent-expression-wrappers": { @@ -16924,12 +16856,12 @@ } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", "dev": true, "requires": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" } }, "@babel/helper-string-parser": { @@ -16951,39 +16883,25 @@ "dev": true }, "@babel/helper-wrap-function": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz", - "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==", + "version": "7.22.9", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.9.tgz", + "integrity": "sha512-sZ+QzfauuUEfxSEjKFmi3qDSHgLsTPK/pEpoD/qonZKOtTPTLbf59oabPQ4rKekt9lFcj/hTZaOhWwFYrgjk+Q==", "dev": true, "requires": { "@babel/helper-function-name": "^7.22.5", "@babel/template": "^7.22.5", - "@babel/traverse": "^7.22.5", "@babel/types": "^7.22.5" - }, - "dependencies": { - "@babel/template": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", - "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.5", - "@babel/parser": "^7.22.5", - "@babel/types": "^7.22.5" - } - } } }, "@babel/helpers": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", - "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.6.tgz", + "integrity": "sha512-YjDs6y/fVOYFV8hAf1rxd1QvR9wJe1pDBZ2AREKq/SDayfPzgk0PBnVuTCE5X1acEpMMNOVUqoe+OwiZGJ+OaA==", "dev": true, "requires": { - "@babel/template": "^7.20.7", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.6", + "@babel/types": "^7.22.5" } }, "@babel/highlight": { @@ -17044,9 +16962,9 @@ } }, "@babel/parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", - "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.7.tgz", + "integrity": "sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==", "dev": true }, "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { @@ -17081,142 +16999,12 @@ "@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.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", - "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@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.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", - "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@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.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", - "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.20.5", - "@babel/helper-compilation-targets": "^7.20.7", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.20.7" - } - }, - "@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.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@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.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", - "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } + "requires": {} }, "@babel/plugin-proposal-unicode-property-regex": { "version": "7.18.6", @@ -17274,12 +17062,30 @@ } }, "@babel/plugin-syntax-import-assertions": { - "version": "7.20.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", - "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz", + "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz", + "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.19.0" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" } }, "@babel/plugin-syntax-json-strings": { @@ -17363,74 +17169,108 @@ "@babel/helper-plugin-utils": "^7.14.5" } }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, "@babel/plugin-transform-arrow-functions": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", - "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz", + "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.22.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.7.tgz", + "integrity": "sha512-7HmE7pk/Fmke45TODvxvkxRMV9RazV+ZZzhOL9AG8G29TLrr3jkjwF7uJfxZ30EoXpO+LJkq4oA8NjO2DTnEDg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5", + "@babel/plugin-syntax-async-generators": "^7.8.4" } }, "@babel/plugin-transform-async-to-generator": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", - "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz", + "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-remap-async-to-generator": "^7.18.9" + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz", + "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-block-scoping": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", - "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz", + "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" } }, - "@babel/plugin-transform-classes": { + "@babel/plugin-transform-class-properties": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz", + "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz", - "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz", + "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.6.tgz", + "integrity": "sha512-58EgM6nuPNG6Py4Z3zSuu0xWu2VfodiMi72Jt5Kj2FECmaYk1RrTXA45z6KBFsu9tRgwQDwIiY4FXTt+YsSFAQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.6", "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-function-name": "^7.22.5", "@babel/helper-optimise-call-expression": "^7.22.5", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-replace-supers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "dependencies": { "@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -17439,60 +17279,80 @@ } }, "@babel/plugin-transform-computed-properties": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", - "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz", + "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/template": "^7.20.7" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.5" } }, "@babel/plugin-transform-destructuring": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", - "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz", + "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz", + "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz", + "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz", + "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz", + "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==", "dev": true, "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz", + "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" } }, "@babel/plugin-transform-for-of": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", - "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz", + "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-function-name": { @@ -17506,65 +17366,85 @@ "@babel/helper-plugin-utils": "^7.22.5" } }, + "@babel/plugin-transform-json-strings": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz", + "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz", + "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz", + "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz", + "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-modules-amd": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", - "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz", + "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", - "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" } }, "@babel/plugin-transform-modules-systemjs": { - "version": "7.20.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", - "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz", + "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==", "dev": true, "requires": { - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-module-transforms": "^7.20.11", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-identifier": "^7.19.1" + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz", + "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==", "dev": true, "requires": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-named-capturing-groups-regex": { @@ -17578,28 +17458,71 @@ } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz", + "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz", + "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz", + "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz", + "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.22.5" } }, "@babel/plugin-transform-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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz", + "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-replace-supers": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.5" } }, - "@babel/plugin-transform-optional-chaining": { + "@babel/plugin-transform-optional-catch-binding": { "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz", - "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz", + "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.6.tgz", + "integrity": "sha512-Vd5HiWml0mDVtcLHIoEU5sw6HOUW/Zk0acLs/SAeuLzkGNOPc9DB4nkUajemhCmTIz3eiaKREZn2hQQqF79YTg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.22.5", @@ -17608,162 +17531,192 @@ } }, "@babel/plugin-transform-parameters": { - "version": "7.21.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", - "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz", + "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz", + "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2" + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz", + "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz", + "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-regenerator": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", - "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz", + "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-plugin-utils": "^7.22.5", "regenerator-transform": "^0.15.1" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz", + "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-runtime": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", - "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz", + "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==", "dev": true, "requires": { - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz", + "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-spread": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", - "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz", + "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz", + "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz", + "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz", + "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.18.9" + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/plugin-transform-unicode-escapes": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", - "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz", + "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz", + "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==", "dev": true, "requires": { - "@babel/helper-plugin-utils": "^7.21.5" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@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==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz", + "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==", "dev": true, "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz", + "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" } }, "@babel/preset-env": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", - "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz", + "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==", "dev": true, "requires": { - "@babel/compat-data": "^7.21.4", - "@babel/helper-compilation-targets": "^7.21.4", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-validator-option": "^7.21.0", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", - "@babel/plugin-proposal-async-generator-functions": "^7.20.7", - "@babel/plugin-proposal-class-properties": "^7.18.6", - "@babel/plugin-proposal-class-static-block": "^7.21.0", - "@babel/plugin-proposal-dynamic-import": "^7.18.6", - "@babel/plugin-proposal-export-namespace-from": "^7.18.9", - "@babel/plugin-proposal-json-strings": "^7.18.6", - "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", - "@babel/plugin-proposal-numeric-separator": "^7.18.6", - "@babel/plugin-proposal-object-rest-spread": "^7.20.7", - "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", - "@babel/plugin-proposal-optional-chaining": "^7.21.0", - "@babel/plugin-proposal-private-methods": "^7.18.6", - "@babel/plugin-proposal-private-property-in-object": "^7.21.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/compat-data": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@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.20.0", + "@babel/plugin-syntax-import-assertions": "^7.22.5", + "@babel/plugin-syntax-import-attributes": "^7.22.5", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@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", @@ -17773,59 +17726,76 @@ "@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.20.7", - "@babel/plugin-transform-async-to-generator": "^7.20.7", - "@babel/plugin-transform-block-scoped-functions": "^7.18.6", - "@babel/plugin-transform-block-scoping": "^7.21.0", - "@babel/plugin-transform-classes": "^7.21.0", - "@babel/plugin-transform-computed-properties": "^7.20.7", - "@babel/plugin-transform-destructuring": "^7.21.3", - "@babel/plugin-transform-dotall-regex": "^7.18.6", - "@babel/plugin-transform-duplicate-keys": "^7.18.9", - "@babel/plugin-transform-exponentiation-operator": "^7.18.6", - "@babel/plugin-transform-for-of": "^7.21.0", - "@babel/plugin-transform-function-name": "^7.18.9", - "@babel/plugin-transform-literals": "^7.18.9", - "@babel/plugin-transform-member-expression-literals": "^7.18.6", - "@babel/plugin-transform-modules-amd": "^7.20.11", - "@babel/plugin-transform-modules-commonjs": "^7.21.2", - "@babel/plugin-transform-modules-systemjs": "^7.20.11", - "@babel/plugin-transform-modules-umd": "^7.18.6", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", - "@babel/plugin-transform-new-target": "^7.18.6", - "@babel/plugin-transform-object-super": "^7.18.6", - "@babel/plugin-transform-parameters": "^7.21.3", - "@babel/plugin-transform-property-literals": "^7.18.6", - "@babel/plugin-transform-regenerator": "^7.20.5", - "@babel/plugin-transform-reserved-words": "^7.18.6", - "@babel/plugin-transform-shorthand-properties": "^7.18.6", - "@babel/plugin-transform-spread": "^7.20.7", - "@babel/plugin-transform-sticky-regex": "^7.18.6", - "@babel/plugin-transform-template-literals": "^7.18.9", - "@babel/plugin-transform-typeof-symbol": "^7.18.9", - "@babel/plugin-transform-unicode-escapes": "^7.18.10", - "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.22.5", + "@babel/plugin-transform-async-generator-functions": "^7.22.5", + "@babel/plugin-transform-async-to-generator": "^7.22.5", + "@babel/plugin-transform-block-scoped-functions": "^7.22.5", + "@babel/plugin-transform-block-scoping": "^7.22.5", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-class-static-block": "^7.22.5", + "@babel/plugin-transform-classes": "^7.22.5", + "@babel/plugin-transform-computed-properties": "^7.22.5", + "@babel/plugin-transform-destructuring": "^7.22.5", + "@babel/plugin-transform-dotall-regex": "^7.22.5", + "@babel/plugin-transform-duplicate-keys": "^7.22.5", + "@babel/plugin-transform-dynamic-import": "^7.22.5", + "@babel/plugin-transform-exponentiation-operator": "^7.22.5", + "@babel/plugin-transform-export-namespace-from": "^7.22.5", + "@babel/plugin-transform-for-of": "^7.22.5", + "@babel/plugin-transform-function-name": "^7.22.5", + "@babel/plugin-transform-json-strings": "^7.22.5", + "@babel/plugin-transform-literals": "^7.22.5", + "@babel/plugin-transform-logical-assignment-operators": "^7.22.5", + "@babel/plugin-transform-member-expression-literals": "^7.22.5", + "@babel/plugin-transform-modules-amd": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.22.5", + "@babel/plugin-transform-modules-systemjs": "^7.22.5", + "@babel/plugin-transform-modules-umd": "^7.22.5", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.22.5", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5", + "@babel/plugin-transform-numeric-separator": "^7.22.5", + "@babel/plugin-transform-object-rest-spread": "^7.22.5", + "@babel/plugin-transform-object-super": "^7.22.5", + "@babel/plugin-transform-optional-catch-binding": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.22.5", + "@babel/plugin-transform-parameters": "^7.22.5", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/plugin-transform-private-property-in-object": "^7.22.5", + "@babel/plugin-transform-property-literals": "^7.22.5", + "@babel/plugin-transform-regenerator": "^7.22.5", + "@babel/plugin-transform-reserved-words": "^7.22.5", + "@babel/plugin-transform-shorthand-properties": "^7.22.5", + "@babel/plugin-transform-spread": "^7.22.5", + "@babel/plugin-transform-sticky-regex": "^7.22.5", + "@babel/plugin-transform-template-literals": "^7.22.5", + "@babel/plugin-transform-typeof-symbol": "^7.22.5", + "@babel/plugin-transform-unicode-escapes": "^7.22.5", + "@babel/plugin-transform-unicode-property-regex": "^7.22.5", + "@babel/plugin-transform-unicode-regex": "^7.22.5", + "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.21.4", - "babel-plugin-polyfill-corejs2": "^0.3.3", - "babel-plugin-polyfill-corejs3": "^0.6.0", - "babel-plugin-polyfill-regenerator": "^0.4.1", - "core-js-compat": "^3.25.1", + "@babel/types": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.3", + "babel-plugin-polyfill-corejs3": "^0.8.1", + "babel-plugin-polyfill-regenerator": "^0.5.0", + "core-js-compat": "^3.30.2", "semver": "^6.3.0" }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "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==", + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6.tgz", + "integrity": "sha512-ID2yj6K/4lKfhuU3+EX4UvNbIt7eACFbHmNUjzA+ep+B5971CknnA/9DEWKbRokfbbtblxxxXFJJrH47UEAMVg==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.0.0", @@ -17842,59 +17812,47 @@ "dev": true }, "@babel/runtime": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", - "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "dev": true, "requires": { "regenerator-runtime": "^0.13.11" } }, "@babel/template": { - "version": "7.20.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", - "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dev": true, "requires": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" } }, "@babel/traverse": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", - "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", + "version": "7.22.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.8.tgz", + "integrity": "sha512-y6LPR+wpM2I3qJrsheCTwhIinzkETbplIgPBbwvqPKc+uljeA5gP+3nP8irdYt1mjQaDnlIcG+dw8OjAco4GXw==", "dev": true, "requires": { "@babel/code-frame": "^7.22.5", - "@babel/generator": "^7.22.5", + "@babel/generator": "^7.22.7", "@babel/helper-environment-visitor": "^7.22.5", "@babel/helper-function-name": "^7.22.5", "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.5", - "@babel/parser": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.22.7", "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, "dependencies": { - "@babel/generator": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", - "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, "@babel/helper-split-export-declaration": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", - "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { "@babel/types": "^7.22.5" @@ -17918,42 +17876,166 @@ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "optional": true, - "peer": true + "optional": true, + "peer": true + }, + "@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 + }, + "@esbuild/android-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz", + "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz", + "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz", + "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz", + "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz", + "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz", + "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz", + "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz", + "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz", + "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz", + "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz", + "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz", + "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz", + "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz", + "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz", + "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz", + "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz", + "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz", + "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz", + "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==", + "dev": true, + "optional": true }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "@esbuild/win32-arm64": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz", + "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==", "dev": true, - "peer": true, - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - } - } + "optional": true }, - "@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 + "@esbuild/win32-ia32": { + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz", + "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==", + "dev": true, + "optional": true }, "@esbuild/win32-x64": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", - "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz", + "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==", "dev": true, "optional": true }, @@ -18255,9 +18337,9 @@ "dev": true }, "@ngtools/webpack": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.0.tgz", - "integrity": "sha512-I5zjGtJu2wwIdM+OFUHXezmwTJ0wpParVJgCxR0cLd0CIbpRYSjOSZQN/nR9ZnTKAI5uFZ3MM2p/VRQGUUHUcw==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.1.8.tgz", + "integrity": "sha512-co2SC1a822655Ek2f6fkMFsswHeCm2obNceb0kftLSpqomCgPAC3T447pB3TE1Iw+BEMFdjrAgIrp3nyYWwHsQ==", "dev": true, "requires": {} }, @@ -18367,33 +18449,33 @@ } }, "@nrwl/devkit": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz", - "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-NB+DE/+AFJ7lKH/WBFyatJEhcZGj25F24ncDkwjZ6MzEiSOGOJS0LaV/R+VUsmS5EHTPXYOpn3zHWWAcJhyOmA==", "dev": true, "requires": { - "@nx/devkit": "16.0.2" + "@nx/devkit": "16.5.1" } }, "@nrwl/tao": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz", - "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.5.1.tgz", + "integrity": "sha512-x+gi/fKdM6uQNIti9exFlm3V5LBP3Y8vOEziO42HdOigyrXa0S0HD2WMpccmp6PclYKhwEDUjKJ39xh5sdh4Ig==", "dev": true, "requires": { - "nx": "16.0.2" + "nx": "16.5.1" } }, "@nx/devkit": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz", - "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.5.1.tgz", + "integrity": "sha512-T1acZrVVmJw/sJ4PIGidCBYBiBqlg/jT9e8nIGXLSDS20xcLvfo4zBQf8UZLrmHglnwwpDpOWuVJCp2rYA5aDg==", "dev": true, "requires": { - "@nrwl/devkit": "16.0.2", + "@nrwl/devkit": "16.5.1", "ejs": "^3.1.7", "ignore": "^5.0.4", - "semver": "7.3.4", + "semver": "7.5.3", "tmp": "~0.2.1", "tslib": "^2.3.0" }, @@ -18408,9 +18490,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -18419,65 +18501,72 @@ } }, "@nx/nx-darwin-arm64": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz", - "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.5.1.tgz", + "integrity": "sha512-q98TFI4B/9N9PmKUr1jcbtD4yAFs1HfYd9jUXXTQOlfO9SbDjnrYJgZ4Fp9rMNfrBhgIQ4x1qx0AukZccKmH9Q==", "dev": true, "optional": true }, "@nx/nx-darwin-x64": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz", - "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.5.1.tgz", + "integrity": "sha512-j9HmL1l8k7EVJ3eOM5y8COF93gqrydpxCDoz23ZEtsY+JHY77VAiRQsmqBgEx9GGA2dXi9VEdS67B0+1vKariw==", + "dev": true, + "optional": true + }, + "@nx/nx-freebsd-x64": { + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.5.1.tgz", + "integrity": "sha512-CXSPT01aVS869tvCCF2tZ7LnCa8l41wJ3mTVtWBkjmRde68E5Up093hklRMyXb3kfiDYlfIKWGwrV4r0eH6x1A==", "dev": true, "optional": true }, "@nx/nx-linux-arm-gnueabihf": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz", - "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.5.1.tgz", + "integrity": "sha512-BhrumqJSZCWFfLFUKl4CAUwR0Y0G2H5EfFVGKivVecEQbb+INAek1aa6c89evg2/OvetQYsJ+51QknskwqvLsA==", "dev": true, "optional": true }, "@nx/nx-linux-arm64-gnu": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz", - "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.5.1.tgz", + "integrity": "sha512-x7MsSG0W+X43WVv7JhiSq2eKvH2suNKdlUHEG09Yt0vm3z0bhtym1UCMUg3IUAK7jy9hhLeDaFVFkC6zo+H/XQ==", "dev": true, "optional": true }, "@nx/nx-linux-arm64-musl": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz", - "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.5.1.tgz", + "integrity": "sha512-J+/v/mFjOm74I0PNtH5Ka+fDd+/dWbKhpcZ2R1/6b9agzZk+Ff/SrwJcSYFXXWKbPX+uQ4RcJoytT06Zs3s0ow==", "dev": true, "optional": true }, "@nx/nx-linux-x64-gnu": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz", - "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.5.1.tgz", + "integrity": "sha512-igooWJ5YxQ94Zft7IqgL+Lw0qHaY15Btw4gfK756g/YTYLZEt4tTvR1y6RnK/wdpE3sa68bFTLVBNCGTyiTiDQ==", "dev": true, "optional": true }, "@nx/nx-linux-x64-musl": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz", - "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.5.1.tgz", + "integrity": "sha512-zF/exnPqFYbrLAduGhTmZ7zNEyADid2bzNQiIjJkh8Y6NpDwrQIwVIyvIxqynsjMrIs51kBH+8TUjKjj2Jgf5A==", "dev": true, "optional": true }, "@nx/nx-win32-arm64-msvc": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz", - "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.5.1.tgz", + "integrity": "sha512-qtqiLS9Y9TYyAbbpq58kRoOroko4ZXg5oWVqIWFHoxc5bGPweQSJCROEqd1AOl2ZDC6BxfuVHfhDDop1kK05WA==", "dev": true, "optional": true }, "@nx/nx-win32-x64-msvc": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz", - "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.5.1.tgz", + "integrity": "sha512-kUJBLakK7iyA9WfsGGQBVennA4jwf5XIgm0lu35oMOphtZIluvzItMt0EYBmylEROpmpEIhHq0P6J9FA+WH0Rg==", "dev": true, "optional": true }, @@ -18639,53 +18728,14 @@ "peer": true }, "@schematics/angular": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.3.tgz", - "integrity": "sha512-bNSxCLf6f+/dsQ1k3PhcZhrC/qgJSCpM6h3m6ATpjR+tYW/v7WR1OyE5r3DQmDe7NJSazBvpbrRtg8xjRsMzvw==", + "version": "16.1.8", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.1.8.tgz", + "integrity": "sha512-gTHy1A/E9BCr0sj3VCr6eBYkgVkO96QWiZcFumedGnvstvp5wiCoIoJPLLfYaxVt1vt08xmnmS3OZ3r0qCLdpA==", "dev": true, "requires": { - "@angular-devkit/core": "16.1.3", - "@angular-devkit/schematics": "16.1.3", + "@angular-devkit/core": "16.1.8", + "@angular-devkit/schematics": "16.1.8", "jsonc-parser": "3.2.0" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "16.1.3", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.1.3.tgz", - "integrity": "sha512-cFhNdJHumNMZGD3NYxOtNuMGRQXeDnKbwvK+IJmKAttXt8na6EvURR/ZxZOI7rl/YRVX+vcNSdtXz3hE6g+Isw==", - "dev": true, - "requires": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.0", - "rxjs": "7.8.1", - "source-map": "0.7.4" - } - }, - "ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "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" - } - }, - "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 - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - } } }, "@sigstore/protobuf-specs": { @@ -18811,34 +18861,6 @@ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, - "@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true, - "peer": true - }, - "@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, - "peer": true - }, - "@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, - "peer": true - }, - "@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true, - "peer": true - }, "@tufjs/canonical-json": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", @@ -18968,9 +18990,9 @@ } }, "@types/express-serve-static-core": { - "version": "4.17.34", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", - "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", + "version": "4.17.35", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz", + "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==", "dev": true, "requires": { "@types/node": "*", @@ -18979,6 +19001,12 @@ "@types/send": "*" } }, + "@types/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==", + "dev": true + }, "@types/http-proxy": { "version": "1.17.11", "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", @@ -19066,11 +19094,12 @@ } }, "@types/serve-static": { - "version": "1.15.1", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", - "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.2.tgz", + "integrity": "sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==", "dev": true, "requires": { + "@types/http-errors": "*", "@types/mime": "*", "@types/node": "*" } @@ -19115,9 +19144,9 @@ "dev": true }, "@types/ws": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", - "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "version": "8.5.5", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz", + "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==", "dev": true, "requires": { "@types/node": "*" @@ -19377,9 +19406,9 @@ "dev": true }, "@yarnpkg/parsers": { - "version": "3.0.0-rc.43", - "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz", - "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==", + "version": "3.0.0-rc.46", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.46.tgz", + "integrity": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==", "dev": true, "requires": { "js-yaml": "^3.10.0", @@ -19444,9 +19473,9 @@ "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==" }, "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==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", "requires": {} }, "acorn-jsx": { @@ -19456,13 +19485,6 @@ "dev": true, "requires": {} }, - "acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "peer": true - }, "adjust-sourcemap-loader": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", @@ -19617,13 +19639,6 @@ "readable-stream": "^3.6.0" } }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, - "peer": true - }, "argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -19631,12 +19646,12 @@ "dev": true }, "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dev": true, "requires": { - "deep-equal": "^2.0.5" + "dequal": "^2.0.3" } }, "array-buffer-byte-length": { @@ -19656,9 +19671,9 @@ "dev": true }, "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, "array-union": { @@ -19758,41 +19773,41 @@ } }, "babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", + "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", "dev": true, "requires": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.2", + "semver": "^6.3.1" }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, "babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.3.tgz", + "integrity": "sha512-z41XaniZL26WLrvjy7soabMXrfPWARN25PZoriDEiLMxAp50AUW3t35BGQUMg5xK3UrpVTtagIDklxYa+MhiNA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" + "@babel/helper-define-polyfill-provider": "^0.4.2", + "core-js-compat": "^3.31.0" } }, "babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", + "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", "dev": true, "requires": { - "@babel/helper-define-polyfill-provider": "^0.3.3" + "@babel/helper-define-polyfill-provider": "^0.4.2" } }, "balanced-match": { @@ -19909,14 +19924,6 @@ "dns-equal": "^1.0.0", "fast-deep-equal": "^3.1.3", "multicast-dns": "^7.2.5" - }, - "dependencies": { - "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 - } } }, "boolbase": { @@ -19945,14 +19952,14 @@ } }, "browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "version": "4.21.10", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.10.tgz", + "integrity": "sha512-bipEBdZfVH5/pwrvqc+Ub0kUPVfGUhlKxbvfD+z1BDnPEO/X98ruXGA1WP5ASpAFKan7Qr6j736IacbZQuAlKQ==", "requires": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" + "caniuse-lite": "^1.0.30001517", + "electron-to-chromium": "^1.4.477", + "node-releases": "^2.0.13", + "update-browserslist-db": "^1.0.11" } }, "buffer": { @@ -19986,9 +19993,9 @@ "dev": true }, "cacache": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz", - "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==", + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.3.tgz", + "integrity": "sha512-jAdjGxmPxZh0IipMdR7fK/4sDSrHMLUV0+GvVUsjwyGNKHsh79kW/otg+GkbXwl6Uzvy9wsvHOX4nUoWldeZMg==", "dev": true, "requires": { "@npmcli/fs": "^3.1.0", @@ -20000,7 +20007,6 @@ "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", "ssri": "^10.0.0", "tar": "^6.1.11", "unique-filename": "^3.0.0" @@ -20077,9 +20083,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001482", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001482.tgz", - "integrity": "sha512-F1ZInsg53cegyjroxLNW9DmrEQ1SuGRTO1QlpA0o2/6OpQ0gFeDRoq1yFmnr8Sakn9qwwt9DmbxHB6w167OSuQ==" + "version": "1.0.30001519", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001519.tgz", + "integrity": "sha512-0QHgqR+Jv4bxHMp8kZ1Kn8CH55OikjKJ6JmKkZYP1F3D7w+lnFXF70nG5eNfsZS89jadi5Ywy5UCSKLAglIRkg==" }, "chalk": { "version": "4.1.2", @@ -20450,12 +20456,12 @@ } }, "core-js-compat": { - "version": "3.30.1", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.1.tgz", - "integrity": "sha512-d690npR7MC6P0gq4npTl5n2VQeNAmUrJ90n+MHiKS7W2+xno4o3F5GDEuylSdi6EJ3VssibSGXOa1r3YXD3Mhw==", + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.32.0.tgz", + "integrity": "sha512-7a9a3D1k4UCVKnLhrgALyFcP7YCsLOQIxPd0dKjf/6GuPcgyiGP70ewWdCGrSK7evyhymi0qO4EqCmSJofDeYw==", "dev": true, "requires": { - "browserslist": "^4.21.5" + "browserslist": "^4.21.9" } }, "core-util-is": { @@ -20477,9 +20483,9 @@ } }, "cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", + "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", "dev": true, "requires": { "import-fresh": "^3.2.1", @@ -20488,31 +20494,18 @@ "path-type": "^4.0.0" } }, - "cosmiconfig-typescript-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", - "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", - "dev": true, - "requires": {} - }, - "create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, - "peer": true - }, "critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "version": "0.0.20", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", + "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", "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", + "css-select": "^5.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.2", + "htmlparser2": "^8.0.2", + "postcss": "^8.4.23", "pretty-bytes": "^5.3.0" } }, @@ -20539,15 +20532,15 @@ } }, "css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz", + "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==", "dev": true, "requires": { "icss-utils": "^5.1.0", - "postcss": "^8.4.19", + "postcss": "^8.4.21", "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-local-by-default": "^4.0.3", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", "postcss-value-parser": "^4.2.0", @@ -20555,15 +20548,15 @@ } }, "css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", "dev": true, "requires": { "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", "nth-check": "^2.0.1" } }, @@ -20658,43 +20651,6 @@ "dev": true, "requires": { "execa": "^5.0.0" - }, - "dependencies": { - "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" - } - }, - "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 - }, - "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 - }, - "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 - } } }, "defaults": { @@ -20740,6 +20696,12 @@ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true + }, "destroy": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", @@ -20766,13 +20728,6 @@ "optional": true, "peer": true }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "peer": true - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -20821,22 +20776,14 @@ } }, "dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, "requires": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "dependencies": { - "entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true - } + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" } }, "domelementtype": { @@ -20846,23 +20793,23 @@ "dev": true }, "domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, "requires": { - "domelementtype": "^2.2.0" + "domelementtype": "^2.3.0" } }, "domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", "dev": true, "requires": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" } }, "dotenv": { @@ -20899,9 +20846,9 @@ } }, "electron-to-chromium": { - "version": "1.4.382", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.382.tgz", - "integrity": "sha512-czMavlW52VIPgutbVL9JnZIZuFijzsG1ww/1z2Otu1r1q+9Qe2bTsH3My3sZarlvwyqHM6+mnZfEnt2Vr4dsIg==" + "version": "1.4.485", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.485.tgz", + "integrity": "sha512-1ndQ5IBNEnFirPwvyud69GHL+31FkE09gH/CJ6m3KCbkx3i0EVOrjwz4UNxRmN9H8OVHbC6vMRZGN1yCvjSs9w==" }, "emoji-regex": { "version": "8.0.0", @@ -20990,9 +20937,9 @@ "peer": true }, "enhanced-resolve": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.13.0.tgz", - "integrity": "sha512-eyV8f0y1+bzyfh8xAwW/WTSZpLbjhqc4ne9eGSH4Zo2ejdyiNG9pU6mf9DG8a7+Auk6MFTlNOT4Y2y/9k8GKVg==", + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", "requires": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -21146,39 +21093,39 @@ } }, "esbuild": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", - "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.17.18", - "@esbuild/android-arm64": "0.17.18", - "@esbuild/android-x64": "0.17.18", - "@esbuild/darwin-arm64": "0.17.18", - "@esbuild/darwin-x64": "0.17.18", - "@esbuild/freebsd-arm64": "0.17.18", - "@esbuild/freebsd-x64": "0.17.18", - "@esbuild/linux-arm": "0.17.18", - "@esbuild/linux-arm64": "0.17.18", - "@esbuild/linux-ia32": "0.17.18", - "@esbuild/linux-loong64": "0.17.18", - "@esbuild/linux-mips64el": "0.17.18", - "@esbuild/linux-ppc64": "0.17.18", - "@esbuild/linux-riscv64": "0.17.18", - "@esbuild/linux-s390x": "0.17.18", - "@esbuild/linux-x64": "0.17.18", - "@esbuild/netbsd-x64": "0.17.18", - "@esbuild/openbsd-x64": "0.17.18", - "@esbuild/sunos-x64": "0.17.18", - "@esbuild/win32-arm64": "0.17.18", - "@esbuild/win32-ia32": "0.17.18", - "@esbuild/win32-x64": "0.17.18" + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz", + "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.17.19", + "@esbuild/android-arm64": "0.17.19", + "@esbuild/android-x64": "0.17.19", + "@esbuild/darwin-arm64": "0.17.19", + "@esbuild/darwin-x64": "0.17.19", + "@esbuild/freebsd-arm64": "0.17.19", + "@esbuild/freebsd-x64": "0.17.19", + "@esbuild/linux-arm": "0.17.19", + "@esbuild/linux-arm64": "0.17.19", + "@esbuild/linux-ia32": "0.17.19", + "@esbuild/linux-loong64": "0.17.19", + "@esbuild/linux-mips64el": "0.17.19", + "@esbuild/linux-ppc64": "0.17.19", + "@esbuild/linux-riscv64": "0.17.19", + "@esbuild/linux-s390x": "0.17.19", + "@esbuild/linux-x64": "0.17.19", + "@esbuild/netbsd-x64": "0.17.19", + "@esbuild/openbsd-x64": "0.17.19", + "@esbuild/sunos-x64": "0.17.19", + "@esbuild/win32-arm64": "0.17.19", + "@esbuild/win32-ia32": "0.17.19", + "@esbuild/win32-x64": "0.17.19" } }, "esbuild-wasm": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz", - "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==", + "version": "0.17.19", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.19.tgz", + "integrity": "sha512-X9UQEMJMZXwlGCfqcBmJ1jEa+KrLfd+gCBypO/TSzo5hZvbVwFqpxj1YCuX54ptTF75wxmrgorR4RL40AKtLVg==", "dev": true }, "escalade": { @@ -21425,6 +21372,23 @@ "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==" }, + "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" + } + }, "expand-template": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", @@ -21476,6 +21440,12 @@ "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 + }, "body-parser": { "version": "1.20.1", "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", @@ -21877,9 +21847,9 @@ } }, "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==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz", + "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==", "dev": true }, "fs.realpath": { @@ -22206,11 +22176,23 @@ } }, "html-entities": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", - "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", "dev": true }, + "htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "dev": true, + "requires": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, "http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", @@ -22281,6 +22263,12 @@ "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", @@ -22445,9 +22433,9 @@ "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==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", "dev": true }, "is-arguments": { @@ -22640,6 +22628,12 @@ "call-bind": "^1.0.2" } }, + "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-string": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", @@ -22763,9 +22757,9 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } @@ -22781,15 +22775,15 @@ } }, "jake": { - "version": "10.8.5", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", - "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", "dev": true, "requires": { "async": "^3.2.3", "chalk": "^4.0.2", - "filelist": "^1.0.1", - "minimatch": "^3.0.4" + "filelist": "^1.0.4", + "minimatch": "^3.1.2" } }, "jest-worker": { @@ -22812,6 +22806,12 @@ } } }, + "jiti": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", + "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "dev": true + }, "js-sdsl": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", @@ -23052,9 +23052,9 @@ } }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "optional": true } @@ -23228,20 +23228,13 @@ }, "dependencies": { "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true } } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, - "peer": true - }, "make-fetch-happen": { "version": "11.1.1", "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", @@ -23319,12 +23312,12 @@ "dev": true }, "memfs": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", - "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dev": true, "requires": { - "fs-monkey": "^1.0.3" + "fs-monkey": "^1.0.4" } }, "memorystream": { @@ -23398,9 +23391,9 @@ "dev": true }, "mini-css-extract-plugin": { - "version": "2.7.5", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz", - "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==", + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz", + "integrity": "sha512-Qk7HcgaPkGG6eD77mLvZS1nmxlao3j+9PkrT9Uc7HAE1id3F41+DdBRYRYkbyfNRGzm8/YWtzhw7nVPmwhqTQw==", "dev": true, "requires": { "schema-utils": "^4.0.0" @@ -23716,9 +23709,9 @@ "dev": true }, "node-releases": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", - "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==" + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz", + "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==" }, "nopt": { "version": "6.0.0", @@ -23905,9 +23898,9 @@ "dev": true }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "shebang-command": { @@ -23976,24 +23969,25 @@ } }, "nx": { - "version": "16.0.2", - "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz", - "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==", - "dev": true, - "requires": { - "@nrwl/tao": "16.0.2", - "@nx/nx-darwin-arm64": "16.0.2", - "@nx/nx-darwin-x64": "16.0.2", - "@nx/nx-linux-arm-gnueabihf": "16.0.2", - "@nx/nx-linux-arm64-gnu": "16.0.2", - "@nx/nx-linux-arm64-musl": "16.0.2", - "@nx/nx-linux-x64-gnu": "16.0.2", - "@nx/nx-linux-x64-musl": "16.0.2", - "@nx/nx-win32-arm64-msvc": "16.0.2", - "@nx/nx-win32-x64-msvc": "16.0.2", + "version": "16.5.1", + "resolved": "https://registry.npmjs.org/nx/-/nx-16.5.1.tgz", + "integrity": "sha512-I3hJRE4hG7JWAtncWwDEO3GVeGPpN0TtM8xH5ArZXyDuVeTth/i3TtJzdDzqXO1HHtIoAQN0xeq4n9cLuMil5g==", + "dev": true, + "requires": { + "@nrwl/tao": "16.5.1", + "@nx/nx-darwin-arm64": "16.5.1", + "@nx/nx-darwin-x64": "16.5.1", + "@nx/nx-freebsd-x64": "16.5.1", + "@nx/nx-linux-arm-gnueabihf": "16.5.1", + "@nx/nx-linux-arm64-gnu": "16.5.1", + "@nx/nx-linux-arm64-musl": "16.5.1", + "@nx/nx-linux-x64-gnu": "16.5.1", + "@nx/nx-linux-x64-musl": "16.5.1", + "@nx/nx-win32-arm64-msvc": "16.5.1", + "@nx/nx-win32-x64-msvc": "16.5.1", "@parcel/watcher": "2.0.4", "@yarnpkg/lockfile": "^1.1.0", - "@yarnpkg/parsers": "^3.0.0-rc.18", + "@yarnpkg/parsers": "3.0.0-rc.46", "@zkochan/js-yaml": "0.0.6", "axios": "^1.0.0", "chalk": "^4.1.0", @@ -24014,7 +24008,7 @@ "minimatch": "3.0.5", "npm-run-path": "^4.0.1", "open": "^8.4.0", - "semver": "7.3.4", + "semver": "7.5.3", "string-width": "^4.2.3", "strong-log-transformer": "^2.1.0", "tar-stream": "~2.2.0", @@ -24062,17 +24056,6 @@ "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" - }, - "dependencies": { - "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" - } - } } }, "lru-cache": { @@ -24094,9 +24077,9 @@ } }, "semver": { - "version": "7.3.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", - "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", + "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -24376,12 +24359,6 @@ "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": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", @@ -24404,15 +24381,6 @@ } } }, - "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": "7.0.0", "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", @@ -24545,9 +24513,9 @@ } }, "postcss": { - "version": "8.4.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", - "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", + "version": "8.4.24", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz", + "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==", "requires": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", @@ -24555,13 +24523,13 @@ } }, "postcss-loader": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz", - "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==", + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.2.tgz", + "integrity": "sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==", "dev": true, "requires": { "cosmiconfig": "^8.1.3", - "cosmiconfig-typescript-loader": "^4.3.0", + "jiti": "^1.18.2", "klona": "^2.0.6", "semver": "^7.3.8" } @@ -24574,9 +24542,9 @@ "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==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz", + "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==", "dev": true, "requires": { "icss-utils": "^5.0.0", @@ -24603,9 +24571,9 @@ } }, "postcss-selector-parser": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", - "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", "dev": true, "requires": { "cssesc": "^3.0.0", @@ -24963,9 +24931,9 @@ "dev": true }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true } } @@ -25303,9 +25271,9 @@ "dev": true }, "sass": { - "version": "1.62.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", - "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "version": "1.63.2", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.2.tgz", + "integrity": "sha512-u56TU0AIFqMtauKl/OJ1AeFsXqRHkgO7nCWmHaDwfxDo9GUMSqBA4NEh6GMuh1CYVM7zuROYtZrHzPc2ixK+ww==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0", @@ -25314,9 +25282,9 @@ } }, "sass-loader": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz", - "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==", + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.3.1.tgz", + "integrity": "sha512-cBTxmgyVA1nXPvIK4brjJMXOMJ2v2YrQEuHqLw3LylGb3gsR6jAvdjHMcy/+JGTmmIF9SauTrLLR7bsWDMWqgg==", "dev": true, "requires": { "klona": "^2.0.6", @@ -25392,9 +25360,9 @@ } }, "semver": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", - "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -25587,29 +25555,11 @@ "tunnel-agent": "^0.6.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" - } - }, "node-addon-api": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true - }, - "semver": { - "version": "7.5.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz", - "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } } } }, @@ -26067,6 +26017,12 @@ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true }, + "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 + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -26193,12 +26149,12 @@ } }, "terser": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", - "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", + "version": "5.17.7", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz", + "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==", "requires": { - "@jridgewell/source-map": "^0.3.2", - "acorn": "^8.5.0", + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", "commander": "^2.20.0", "source-map-support": "~0.5.20" } @@ -26306,28 +26262,6 @@ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true }, - "ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", - "dev": true, - "peer": true, - "requires": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - } - }, "tsconfig-paths": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", @@ -26340,9 +26274,9 @@ } }, "tslib": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", - "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "tsutils": { "version": "3.21.0", @@ -26557,13 +26491,6 @@ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", "dev": true }, - "v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, - "peer": 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", @@ -26590,15 +26517,15 @@ "dev": true }, "vite": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz", - "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==", + "version": "4.3.9", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz", + "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==", "dev": true, "requires": { "esbuild": "^0.17.5", "fsevents": "~2.3.2", - "postcss": "^8.4.21", - "rollup": "^3.20.2" + "postcss": "^8.4.23", + "rollup": "^3.21.0" } }, "void-elements": { @@ -26676,9 +26603,9 @@ } }, "webpack": { - "version": "5.80.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz", - "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==", + "version": "5.86.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz", + "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==", "requires": { "@types/eslint-scope": "^3.7.3", "@types/estree": "^1.0.0", @@ -26686,10 +26613,10 @@ "@webassemblyjs/wasm-edit": "^1.11.5", "@webassemblyjs/wasm-parser": "^1.11.5", "acorn": "^8.7.1", - "acorn-import-assertions": "^1.7.6", + "acorn-import-assertions": "^1.9.0", "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.13.0", + "enhanced-resolve": "^5.14.1", "es-module-lexer": "^1.2.1", "eslint-scope": "5.1.1", "events": "^3.2.0", @@ -26719,9 +26646,9 @@ } }, "webpack-dev-middleware": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz", - "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==", + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", + "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", "dev": true, "requires": { "colorette": "^2.0.10", @@ -26732,9 +26659,9 @@ } }, "webpack-dev-server": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz", - "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==", + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.0.tgz", + "integrity": "sha512-HmNB5QeSl1KpulTBQ8UT4FPrByYyaLxpJoQ0+s7EvUrMc16m0ZS1sgb1XGqzmgCPk0c9y+aaXxn11tbLzuM7NQ==", "dev": true, "requires": { "@types/bonjour": "^3.5.9", @@ -26801,9 +26728,9 @@ } }, "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==", + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz", + "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==", "dev": true, "requires": { "clone-deep": "^4.0.1", @@ -26982,13 +26909,6 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "peer": true - }, "yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index d662d01b..904f68f5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oyasumi", - "version": "1.8.0", + "version": "1.9.0", "author": "Raphiiko", "license": "MIT", "type": "module", @@ -24,6 +24,8 @@ "build:sidecar:overlay:core": "cd src-overlay-sidecar && dotnet publish -r win-x64 -c Release && cd ..", "build:sidecar:overlay:post": "node scripts/overlay-sidecar-post-build.js", "set-version": "node scripts/set-version.js", + "set-flavour": "node scripts/set-flavour.js", + "set-build-id": "node scripts/set-build-id.js", "tauri": "cargo tauri", "ng": "ng", "lint": "ng lint", @@ -31,18 +33,19 @@ "clean": "rimraf dist && rimraf src-overlay-sidecar/bin && rimraf src-overlay-sidecar/obj && rimraf src-overlay-ui/build && rimraf src-elevated-sidecar/target && rimraf src-core/target && rimraf src-shared-rust/target && rimraf src-core/resources/elevated-sidecar && rimraf src-core/resources/overlay-sidecar && rimraf src-core/resources/fonts", "generate:grpc-web-client": "@powershell -NoProfile -ExecutionPolicy Unrestricted -Command ./scripts/ts-proto-gen.ps1 && prettier --loglevel silent --write src-grpc-web-client/**/*", "postinstall": "cd src-overlay-ui && npm install && cd ..", - "init": "npm install && run-s generate:grpc-web-client && node scripts/init.js" + "init": "npm install && node scripts/init.js", + "ci": "npm ci && node scripts/init.js" }, "private": true, "dependencies": { - "@angular/animations": "^16.0.0", - "@angular/common": "^16.0.0", - "@angular/compiler": "^16.0.0", - "@angular/core": "^16.0.0", - "@angular/forms": "^16.0.0", - "@angular/platform-browser": "^16.0.0", - "@angular/platform-browser-dynamic": "^16.0.0", - "@angular/router": "^16.0.0", + "@angular/animations": "^16.1.8", + "@angular/common": "^16.1.8", + "@angular/compiler": "^16.1.8", + "@angular/core": "^16.1.8", + "@angular/forms": "^16.1.8", + "@angular/platform-browser": "^16.1.8", + "@angular/platform-browser-dynamic": "^16.1.8", + "@angular/router": "^16.1.8", "@fontsource/fira-code": "^4.5.12", "@fontsource/noto-sans-jp": "^4.5.12", "@fontsource/noto-sans-kr": "^4.5.12", @@ -83,14 +86,14 @@ "zone.js": "^0.13.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^16.0.0", - "@angular-eslint/builder": "16.0.1", - "@angular-eslint/eslint-plugin": "16.0.1", - "@angular-eslint/eslint-plugin-template": "16.0.1", - "@angular-eslint/schematics": "16.0.1", - "@angular-eslint/template-parser": "16.0.1", - "@angular/cli": "^16.0.0", - "@angular/compiler-cli": "^16.0.0", + "@angular-devkit/build-angular": "^16.1.8", + "@angular-eslint/builder": "^16.0.1", + "@angular-eslint/eslint-plugin": "^16.0.1", + "@angular-eslint/eslint-plugin-template": "^16.0.1", + "@angular-eslint/schematics": "^16.0.1", + "@angular-eslint/template-parser": "^16.0.1", + "@angular/cli": "^16.1.8", + "@angular/compiler-cli": "^16.1.8", "@protobuf-ts/plugin": "^2.9.0", "@tauri-apps/cli": "^1.4.0", "@types/lodash": "^4.14.188", @@ -130,4 +133,4 @@ "git add" ] } -} \ No newline at end of file +} diff --git a/proto/overlay-sidecar.proto b/proto/overlay-sidecar.proto index 920fb927..31e04e3b 100644 --- a/proto/overlay-sidecar.proto +++ b/proto/overlay-sidecar.proto @@ -93,6 +93,7 @@ message OyasumiSidecarAutomationsState { OyasumiSidecarAutomationsState_ChangeStatusBasedOnPlayerCount changeStatusBasedOnPlayerCount = 2; OyasumiSidecarAutomationsState_SleepingAnimations sleepingAnimations = 3; OyasumiSidecarAutomationsState_ShutdownAutomations shutdownAutomations = 4; + OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector sleepModeEnableForSleepDetector = 5; } message OyasumiSidecarAutomationsState_AutoAcceptInviteRequests { @@ -118,6 +119,14 @@ message OyasumiSidecarAutomationsState_ShutdownAutomations { bool can_start = 4; } +message OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector { + bool enabled = 1; + string sensitivity = 2; + bool activation_window = 3; + repeated uint32 activation_window_start = 4; + repeated uint32 activation_window_end = 5; +} + enum OyasumiSidecarAutomationsState_AutoAcceptInviteRequests_Mode { OYASUMI_SIDECAR_AUTOMATIONS_STATE__AUTO_ACCEPT_INVITE_REQUESTS__MODE_Disabled = 0; OYASUMI_SIDECAR_AUTOMATIONS_STATE__AUTO_ACCEPT_INVITE_REQUESTS__MODE_Whitelist = 1; diff --git a/scripts/set-build-id.js b/scripts/set-build-id.js new file mode 100644 index 00000000..59386d07 --- /dev/null +++ b/scripts/set-build-id.js @@ -0,0 +1,14 @@ +import { execSync } from 'child_process'; +import { readFileSync, writeFileSync } from 'fs'; + +const revision = execSync('git rev-parse --short HEAD').toString().trim(); + +{ + let uiFlavour = readFileSync('src-ui/build.ts').toString(); + uiFlavour = uiFlavour.replaceAll( + /export const BUILD_ID = '([a-zA-Z0-9]|\s)*';/g, + `export const BUILD_ID = '${revision}';` + ); + writeFileSync('src-ui/build.ts', uiFlavour); + console.log('Updated src-ui/build.ts'); +} diff --git a/scripts/set-flavour.js b/scripts/set-flavour.js new file mode 100644 index 00000000..0612702f --- /dev/null +++ b/scripts/set-flavour.js @@ -0,0 +1,35 @@ +import { readFileSync, writeFileSync } from 'fs'; + +if (process.argv.length <= 2) { + console.error('Please provide a flavour (DEV, STANDALONE, STEAM, STEAM_CN)'); + process.exit(1); +} + +const flavour = process.argv[2].toUpperCase(); +if (!['DEV', 'STANDALONE', 'STEAM', 'STEAM_CN'].includes(flavour)) { + console.error('Provided flavour is not valid (DEV, STANDALONE, STEAM, STEAM_CN)'); + process.exit(1); +} + +{ + let uiFlavour = readFileSync('src-ui/build.ts').toString(); + uiFlavour = uiFlavour.replaceAll( + /export const FLAVOUR: BuildFlavour = '(DEV|STANDALONE|STEAM|STEAM_CN)';/g, + `export const FLAVOUR: BuildFlavour = '${flavour}';` + ); + writeFileSync('src-ui/build.ts', uiFlavour); + console.log('Updated src-ui/build.ts'); +} + +{ + let coreFlavour = readFileSync('src-core/src/flavour.rs').toString(); + coreFlavour = coreFlavour.replaceAll( + /pub const BUILD_FLAVOUR: BuildFlavour = BuildFlavour::(Dev|Standalone|Steam|SteamCn);/g, + `pub const BUILD_FLAVOUR: BuildFlavour = BuildFlavour::${flavour + .split('_') + .map((t) => t.toUpperCase().charAt(0) + t.toLowerCase().substring(1)) + .join('')};` + ); + writeFileSync('src-core/src/flavour.rs', coreFlavour); + console.log('Updated src-core/src/flavour.rs'); +} diff --git a/scripts/steam/1-prepare-steam-sdk.sh b/scripts/steam/1-prepare-steam-sdk.sh new file mode 100644 index 00000000..10666354 --- /dev/null +++ b/scripts/steam/1-prepare-steam-sdk.sh @@ -0,0 +1,37 @@ +#!/bin/sh +### Script for preparing the Steam SDK for deployment +### USED BY build-steam-release.yml GITHUB ACTIONS WORKFLOW. +### DO NOT RUN MANUALLY + +# Clean up pre-existing files +rm -rf SteamSDK +# Unzip the SteamWorks SDK +unzip scripts/steam/lib/steamworks_sdk_157.zip -d SteamSDK +# Create Depot folders +mkdir -p SteamSDK/sdk/tools/ContentBuilder/content/Win64 +mkdir -p SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN +# Include WebView2 Installer +mkdir -p SteamSDK/sdk/tools/ContentBuilder/content/Win64/WebView2 +mkdir -p SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/WebView2 +curl -L https://go.microsoft.com/fwlink/p/?LinkId=2124703 --output SteamSDK/sdk/tools/ContentBuilder/content/Win64/WebView2/WebView2RuntimeInstaller.exe +cp SteamSDK/sdk/tools/ContentBuilder/content/Win64/WebView2/WebView2RuntimeInstaller.exe SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/WebView2/WebView2RuntimeInstaller.exe +# Include DotNet Hosting Bundle Installer +mkdir -p SteamSDK/sdk/tools/ContentBuilder/content/Win64/DotNet +mkdir -p SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/DotNet +curl -L https://download.visualstudio.microsoft.com/download/pr/d489c5d0-4d0f-4622-ab93-b0f2a3e92eed/101a2fae29a291956d402377b941f401/dotnet-hosting-7.0.10-win.exe --output SteamSDK/sdk/tools/ContentBuilder/content/Win64/DotNet/dotnet-hosting-7.0.10-win.exe +cp SteamSDK/sdk/tools/ContentBuilder/content/Win64/DotNet/dotnet-hosting-7.0.10-win.exe SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/DotNet/dotnet-hosting-7.0.10-win.exe +# Clear default scripts +rm SteamSDK/sdk/tools/ContentBuilder/scripts/* +# Copy over scripts +cp scripts/steam/scripts/*.vdf SteamSDK/sdk/tools/ContentBuilder/scripts/ +cp scripts/steam/install-scripts/*.vdf SteamSDK/sdk/tools/ContentBuilder/content/Win64/ +cp scripts/steam/install-scripts/*.vdf SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/ +# Replace variables +sed -i "s/APP_VERSION/$APP_VERSION/" SteamSDK/sdk/tools/ContentBuilder/scripts/*.vdf +sed -i "s/STEAM_APP_ID/$STEAM_APP_ID/" SteamSDK/sdk/tools/ContentBuilder/scripts/*.vdf +# Setup Steam authentication +cd SteamSDK/sdk/tools/ContentBuilder/builder +mkdir config +echo "$STEAM_CONFIG_VDF" | base64 -d > "config/config.vdf" +chmod 777 "config/config.vdf" + diff --git a/scripts/steam/2-move-build-steam.sh b/scripts/steam/2-move-build-steam.sh new file mode 100644 index 00000000..642dec22 --- /dev/null +++ b/scripts/steam/2-move-build-steam.sh @@ -0,0 +1,9 @@ +#!/bin/sh +### USED BY build-steam-release.yml GITHUB ACTIONS WORKFLOW. +### DO NOT RUN MANUALLY + +# Copy files to Win64 Depot folder +cp src-core/target/release/OyasumiVR.exe SteamSDK/sdk/tools/ContentBuilder/content/Win64/ +cp src-core/target/release/openvr_api.dll SteamSDK/sdk/tools/ContentBuilder/content/Win64/ +cp src-core/target/release/steam_api64.dll SteamSDK/sdk/tools/ContentBuilder/content/Win64/ +cp -r src-core/target/release/resources/ SteamSDK/sdk/tools/ContentBuilder/content/Win64/ diff --git a/scripts/steam/3-move-build-steam-cn.sh b/scripts/steam/3-move-build-steam-cn.sh new file mode 100644 index 00000000..69f8b0c4 --- /dev/null +++ b/scripts/steam/3-move-build-steam-cn.sh @@ -0,0 +1,9 @@ +#!/bin/sh +### USED BY build-steam-release.yml GITHUB ACTIONS WORKFLOW. +### DO NOT RUN MANUALLY + +# Copy files to Win64_CN Depot folder +cp src-core/target/release/OyasumiVR.exe SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/ +cp src-core/target/release/openvr_api.dll SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/ +cp src-core/target/release/steam_api64.dll SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/ +cp -r src-core/target/release/resources/ SteamSDK/sdk/tools/ContentBuilder/content/Win64_CN/ diff --git a/scripts/steam/4-steam-deploy.sh b/scripts/steam/4-steam-deploy.sh new file mode 100644 index 00000000..06506652 --- /dev/null +++ b/scripts/steam/4-steam-deploy.sh @@ -0,0 +1,8 @@ +#!/bin/sh +### STEAM DEPLOY SCRIPT +### USED BY build-steam-release.yml GITHUB ACTIONS WORKFLOW. +### DO NOT RUN MANUALLY + +# Upload to Steam +cd SteamSDK/sdk/tools/ContentBuilder/builder +./steamcmd.exe +login $STEAM_BUILD_USER +run_app_build ../scripts/app_$STEAM_APP_ID.vdf +quit diff --git a/scripts/steam/install-scripts/runtime_dependencies.vdf b/scripts/steam/install-scripts/runtime_dependencies.vdf new file mode 100644 index 00000000..50e07cee --- /dev/null +++ b/scripts/steam/install-scripts/runtime_dependencies.vdf @@ -0,0 +1,24 @@ +"InstallScript" +{ + "Run Process" + { + "WebView2" + { + "Process 1" "%INSTALLDIR%\\WebView2\\WebView2RuntimeInstaller.exe" + "Command 1" "/silent /install" + "Requirement_OS" + { + "Is64BitWindows" "1" + } + } + "DotNetHostingBundle7010" + { + "Process 1" "%INSTALLDIR%\\DotNet\\dotnet-hosting-7.0.10-win.exe" + "Command 1" "/install /quiet /norestart" + "Requirement_OS" + { + "Is64BitWindows" "1" + } + } + } +} diff --git a/scripts/steam/lib/copyright.txt b/scripts/steam/lib/copyright.txt new file mode 100644 index 00000000..db58f713 --- /dev/null +++ b/scripts/steam/lib/copyright.txt @@ -0,0 +1,2 @@ +Regarding the SteamWorks SDK (steamworks_sdk_157.zip): + Copyright © 1996-2020, Valve Corporation, All rights reserved. diff --git a/scripts/steam/lib/steamworks_sdk_157.zip b/scripts/steam/lib/steamworks_sdk_157.zip new file mode 100644 index 00000000..65f048d4 Binary files /dev/null and b/scripts/steam/lib/steamworks_sdk_157.zip differ diff --git a/scripts/steam/scripts/app_2538150.vdf b/scripts/steam/scripts/app_2538150.vdf new file mode 100644 index 00000000..10b58d1c --- /dev/null +++ b/scripts/steam/scripts/app_2538150.vdf @@ -0,0 +1,15 @@ +"appbuild" +{ + "appid" "STEAM_APP_ID" + "desc" "APP_VERSION" + "buildoutput" "..\output\" + "contentroot" "..\content\" + "setlive" "" + "preview" "0" + "local" "" + "depots" + { + "2538151" "depot_2538151.vdf" + "2538152" "depot_2538152.vdf" + } +} diff --git a/scripts/steam/scripts/depot_2538151.vdf b/scripts/steam/scripts/depot_2538151.vdf new file mode 100644 index 00000000..d0ad9d94 --- /dev/null +++ b/scripts/steam/scripts/depot_2538151.vdf @@ -0,0 +1,13 @@ +"DepotBuildConfig" +{ + "DepotID" "2538151" + "ContentRoot" "..\content\Win64" + "FileMapping" + { + "LocalPath" "*" + "DepotPath" "." + "recursive" "1" + } + "InstallScript" "runtime_dependencies.vdf" + "FileExclusion" "*.pdb" +} diff --git a/scripts/steam/scripts/depot_2538152.vdf b/scripts/steam/scripts/depot_2538152.vdf new file mode 100644 index 00000000..5ae35e7b --- /dev/null +++ b/scripts/steam/scripts/depot_2538152.vdf @@ -0,0 +1,13 @@ +"DepotBuildConfig" +{ + "DepotID" "2538152" + "ContentRoot" "..\content\Win64_CN" + "FileMapping" + { + "LocalPath" "*" + "DepotPath" "." + "recursive" "1" + } + "InstallScript" "runtime_dependencies.vdf" + "FileExclusion" "*.pdb" +} diff --git a/scripts/translation-utils.js b/scripts/translation-utils.js index 827157cf..3eb23980 100644 --- a/scripts/translation-utils.js +++ b/scripts/translation-utils.js @@ -33,8 +33,9 @@ async function handleClean() { .forEach((langFile) => { let langFileContent = JSON.parse(fs.readFileSync(langFile, 'utf8')); const langFileContentFlattened = Object.fromEntries( - Object.entries(flattenObj(langFileContent)).filter((entry) => - Object.keys(enFileContentFlattened).includes(entry[0]) + Object.entries(flattenObj(langFileContent)).filter( + (entry) => + Object.keys(enFileContentFlattened).includes(entry[0]) && entry[1] !== '{PLACEHOLDER}' ) ); let keysCleaned = diff --git a/src-core/.vscode/settings.json b/src-core/.vscode/settings.json index 2e842917..10fff395 100644 --- a/src-core/.vscode/settings.json +++ b/src-core/.vscode/settings.json @@ -1,3 +1,4 @@ { - "rust-analyzer.cargo.buildScripts.enable": true + "rust-analyzer.cargo.buildScripts.enable": true, + "rust-analyzer.linkedProjects": [".\\Cargo.toml", ".\\Cargo.toml"] } diff --git a/src-core/Cargo.lock b/src-core/Cargo.lock index ecb85dd4..015d352d 100644 --- a/src-core/Cargo.lock +++ b/src-core/Cargo.lock @@ -56,15 +56,6 @@ dependencies = [ "libc", ] -[[package]] -name = "ansi_term" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" -dependencies = [ - "winapi", -] - [[package]] name = "anyhow" version = "1.0.71" @@ -246,9 +237,9 @@ checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" [[package]] name = "autocxx" -version = "0.21.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a84a9279b1a106694b5253374ba9321dea56e7a2acdbdb3025193de2f9dd4c72" +checksum = "1ba64dd33efd8f09724143d45ab91b48aebcee52f4fb11add3464c998fab47dc" dependencies = [ "aquamarine", "autocxx-macro", @@ -258,61 +249,65 @@ dependencies = [ [[package]] name = "autocxx-bindgen" -version = "0.59.16" +version = "0.65.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435723e14bf88f198322f8555a4fdb108363021d97a47bb6492891ca86055e79" +checksum = "6c9fb7b8dd83a582e12157367773d8d1195f2dea54d4250aaf3426abae3237aa" dependencies = [ "bitflags 1.3.2", "cexpr", "clang-sys", - "clap 2.34.0", - "env_logger", "itertools 0.10.5", "lazy_static", "lazycell", "log", "peeking_take_while", + "prettyplease 0.2.9", "proc-macro2", "quote", "regex", "rustc-hash", "shlex", + "syn 2.0.18", "which", ] [[package]] name = "autocxx-build" -version = "0.21.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "807778f48a2c408a1d637c41e6e122ddd370ad64996e4d02fe16222195e6c968" +checksum = "955e602d2d68b79ca5d674984259234fad2c8d869ad99011699e0a3cd76f38cd" dependencies = [ "autocxx-engine", "env_logger", - "syn 1.0.109", + "indexmap", + "syn 2.0.18", ] [[package]] name = "autocxx-engine" -version = "0.21.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d68259e12b51c208d20f7b3df4b76f79be0bbe18b8c05d9553271a189b336bb" +checksum = "5918896fc1d44a647345fd5e8c74208424e394a76bdd2942398f4aff81ec7ab1" dependencies = [ "aquamarine", "autocxx-bindgen", "autocxx-parser", "cc", "cxx-gen", + "indexmap", "indoc", "itertools 0.10.5", "log", "miette", "once_cell", + "prettyplease 0.2.9", "proc-macro2", "quote", "regex", + "rustversion", "serde_json", "strum_macros 0.24.3", - "syn 1.0.109", + "syn 2.0.18", "tempfile", "thiserror", "version_check", @@ -320,31 +315,32 @@ dependencies = [ [[package]] name = "autocxx-macro" -version = "0.21.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b1724f53179a0d8b733b7e1afe8a5d456237e6ddcd340c40825a14864e9885e" +checksum = "8e594e68d030b6eb1ce7e2b40958f4f4ae7150c588c76d76b9f8178d41c47d80" dependencies = [ "autocxx-parser", "proc-macro-error", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] name = "autocxx-parser" -version = "0.21.2" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b96f18764bb041f89d1879685697561be8b367ac7e199a5391ddcb80b1cef533" +checksum = "2ef00b2fc378804c31c4fbd693a7fea93f8a90467dce331dae1e4ce41e542953" dependencies = [ + "indexmap", "itertools 0.10.5", "log", "once_cell", "proc-macro2", "quote", "serde", - "serde_derive", - "syn 1.0.109", + "serde_json", + "syn 2.0.18", "thiserror", ] @@ -684,21 +680,6 @@ dependencies = [ "libloading", ] -[[package]] -name = "clap" -version = "2.34.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" -dependencies = [ - "ansi_term", - "atty", - "bitflags 1.3.2", - "strsim 0.8.0", - "textwrap 0.11.0", - "unicode-width", - "vec_map", -] - [[package]] name = "clap" version = "3.2.25" @@ -709,9 +690,9 @@ dependencies = [ "bitflags 1.3.2", "clap_lex", "indexmap", - "strsim 0.10.0", + "strsim", "termcolor", - "textwrap 0.16.0", + "textwrap", ] [[package]] @@ -1054,7 +1035,7 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim 0.10.0", + "strsim", "syn 2.0.18", ] @@ -2472,9 +2453,9 @@ dependencies = [ [[package]] name = "miette" -version = "4.7.1" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c90329e44f9208b55f45711f9558cec15d7ef8295cc65ecd6d4188ae8edc58c" +checksum = "59bb584eaeeab6bd0226ccf3509a69d7936d148cf3d036ad350abe35e8c6856e" dependencies = [ "miette-derive", "once_cell", @@ -2484,13 +2465,13 @@ dependencies = [ [[package]] name = "miette-derive" -version = "4.7.1" +version = "5.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6b5bc45b761bcf1b5e6e6c4128cd93b84c218721a8d9b894aa0aff4ed180174c" +checksum = "49e7bc1560b95a3c4a25d03de42fe76ca718ab92d1a22a55b9b4cf67b3ae635c" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.18", ] [[package]] @@ -2544,9 +2525,9 @@ dependencies = [ [[package]] name = "moveit" -version = "0.5.1" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7d756ffe4e38013507d35bf726a93fcdae2cae043ab5ce477f13857a335030d" +checksum = "87d7335204cb6ef7bd647fa6db0be3e4d7aa25b5823a7aa030027ddf512cefba" dependencies = [ "cxx", ] @@ -2930,7 +2911,7 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "ovr_overlay" version = "0.0.0" -source = "git+https://github.com/Raphiiko/ovr_overlay_oyasumi?rev=7e27051d2d1cdd6f838de9ea4c58ee5e712de958#7e27051d2d1cdd6f838de9ea4c58ee5e712de958" +source = "git+https://github.com/Raphiiko/ovr_overlay_oyasumi?rev=15f874e3b7e447c84990a1af6935892a79812cd4#15f874e3b7e447c84990a1af6935892a79812cd4" dependencies = [ "byteorder", "derive_more", @@ -2945,7 +2926,7 @@ dependencies = [ [[package]] name = "ovr_overlay_sys" version = "0.0.0" -source = "git+https://github.com/Raphiiko/ovr_overlay_oyasumi?rev=7e27051d2d1cdd6f838de9ea4c58ee5e712de958#7e27051d2d1cdd6f838de9ea4c58ee5e712de958" +source = "git+https://github.com/Raphiiko/ovr_overlay_oyasumi?rev=15f874e3b7e447c84990a1af6935892a79812cd4#15f874e3b7e447c84990a1af6935892a79812cd4" dependencies = [ "autocxx", "autocxx-build", @@ -2955,7 +2936,7 @@ dependencies = [ [[package]] name = "oyasumivr" -version = "1.8.0" +version = "1.9.0" dependencies = [ "bluest", "byteorder", @@ -2980,6 +2961,7 @@ dependencies = [ "serde", "serde_json", "soloud", + "steamworks", "strum 0.25.0", "strum_macros 0.25.1", "substring", @@ -3008,7 +2990,7 @@ dependencies = [ [[package]] name = "oyasumivr-shared" -version = "1.8.0" +version = "1.9.0" dependencies = [ "winapi", ] @@ -3302,6 +3284,16 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "prettyplease" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9825a04601d60621feed79c4e6b56d65db77cdca55cef43b46b0de1096d1c282" +dependencies = [ + "proc-macro2", + "syn 2.0.18", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -3374,7 +3366,7 @@ dependencies = [ "log", "multimap", "petgraph", - "prettyplease", + "prettyplease 0.1.25", "prost", "prost-types", "regex", @@ -4134,6 +4126,24 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" +[[package]] +name = "steamworks" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37769f3fb7cc26bf69609e455a606c073d7332ddd45742b2317d72abafc04d8e" +dependencies = [ + "bitflags 1.3.2", + "lazy_static", + "steamworks-sys", + "thiserror", +] + +[[package]] +name = "steamworks-sys" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dee9311cd52318d225220e3f52414958fbac21b75541a6543d33fbdda68797b6" + [[package]] name = "string_cache" version = "0.8.7" @@ -4160,12 +4170,6 @@ dependencies = [ "quote", ] -[[package]] -name = "strsim" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" - [[package]] name = "strsim" version = "0.10.0" @@ -4389,7 +4393,7 @@ dependencies = [ "anyhow", "base64 0.21.2", "bytes", - "clap 3.2.25", + "clap", "cocoa", "dirs-next", "embed_plist", @@ -4672,15 +4676,6 @@ dependencies = [ "winapi-util", ] -[[package]] -name = "textwrap" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" -dependencies = [ - "unicode-width", -] - [[package]] name = "textwrap" version = "0.16.0" @@ -4931,7 +4926,7 @@ version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6fdaae4c2c638bb70fe42803a26fbd6fc6ac8c72f5c59f67ecc2a2dcabf4b07" dependencies = [ - "prettyplease", + "prettyplease 0.1.25", "proc-macro2", "prost-build", "quote", @@ -5207,12 +5202,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -[[package]] -name = "vec_map" -version = "0.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" - [[package]] name = "version-compare" version = "0.0.11" diff --git a/src-core/Cargo.toml b/src-core/Cargo.toml index 75a10924..9bdd201f 100644 --- a/src-core/Cargo.toml +++ b/src-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oyasumivr" -version = "1.8.0" +version = "1.9.0" description = "" authors = ["Raphiiko"] license = "MIT" @@ -67,6 +67,7 @@ readonly = "0.2" tempfile = "3.6.0" strum = "0.25" strum_macros = "0.25" +steamworks = { version = "0.10.0" } [dependencies.tauri] version = "1.4.1" @@ -92,7 +93,7 @@ features = [ [dependencies.ovr_overlay] git = "https://github.com/Raphiiko/ovr_overlay_oyasumi" -rev = "7e27051d2d1cdd6f838de9ea4c58ee5e712de958" +rev = "15f874e3b7e447c84990a1af6935892a79812cd4" features = ["ovr_system", "ovr_settings"] [features] diff --git a/src-core/resources/manifest.vrmanifest b/src-core/resources/manifest.vrmanifest new file mode 100644 index 00000000..3d39e2f6 --- /dev/null +++ b/src-core/resources/manifest.vrmanifest @@ -0,0 +1,15 @@ +{ + "source" : "builtin", + "applications": [{ + "app_key": "steam.overlay.2538150", + "launch_type": "binary", + "binary_path_windows": "..\\OyasumiVR.exe", + "is_dashboard_overlay": true, + "strings": { + "en_us": { + "name": "OyasumiVR", + "description": "OyasumiVR - VR Sleeping Utilities" + } + } + }] +} diff --git a/src-core/src/flavour.rs b/src-core/src/flavour.rs new file mode 100644 index 00000000..345a5666 --- /dev/null +++ b/src-core/src/flavour.rs @@ -0,0 +1,9 @@ +#[derive(PartialEq)] +pub enum BuildFlavour { + Dev, + Standalone, + Steam, + SteamCn, +} + +pub const BUILD_FLAVOUR: BuildFlavour = BuildFlavour::Dev; diff --git a/src-core/src/globals.rs b/src-core/src/globals.rs index aa0664fc..d9a53bad 100644 --- a/src-core/src/globals.rs +++ b/src-core/src/globals.rs @@ -1,5 +1,7 @@ use tokio::sync::Mutex; +pub const DOTNET_CORE_VERSION: &str = "7.0.10"; +pub const ASPNET_CORE_VERSION: &str = "7.0.10"; pub const CORE_GRPC_DEV_PORT: u16 = 5176; pub const CORE_HTTP_DEV_PORT: u16 = 5177; pub const OVERLAY_SIDECAR_GRPC_DEV_PORT: u16 = 5174; diff --git a/src-core/src/main.rs b/src-core/src/main.rs index e65cbf9a..d4acebf0 100644 --- a/src-core/src/main.rs +++ b/src-core/src/main.rs @@ -8,6 +8,7 @@ extern crate lazy_static; mod commands; mod elevated_sidecar; +mod flavour; mod globals; mod grpc; mod http; @@ -18,10 +19,12 @@ mod openvr; mod os; mod osc; mod overlay_sidecar; +mod steam; mod system_tray; mod utils; mod vrc_log_parser; +pub use flavour::BUILD_FLAVOUR; pub use grpc::models as Models; use cronjob::CronJob; @@ -78,12 +81,13 @@ fn configure_command_handlers() -> impl Fn(tauri::Invoke) { os::commands::play_sound, os::commands::show_in_folder, os::commands::quit_steamvr, - os::commands::check_dotnet_upgrades_required, - os::commands::get_net_core_version, - os::commands::get_asp_net_core_version, + os::commands::check_dotnet_install_required, + os::commands::get_net_core_versions, + os::commands::get_asp_net_core_versions, os::commands::is_semver_higher, - os::commands::upgrade_net_core, - os::commands::upgrade_asp_net_core, + os::commands::install_net_core, + os::commands::install_asp_net_core, + os::commands::install_dotnet_hosting_bundle, os::commands::set_windows_power_policy, os::commands::active_windows_power_policy, osc::commands::osc_send_bool, @@ -110,6 +114,9 @@ fn configure_command_handlers() -> impl Fn(tauri::Invoke) { lighthouse::commands::lighthouse_get_status, lighthouse::commands::lighthouse_get_scanning_status, lighthouse::commands::lighthouse_reset, + steam::commands::steam_active, + steam::commands::steam_achievement_get, + steam::commands::steam_achievement_set, commands::log_utils::clean_log_files, commands::afterburner::msi_afterburner_set_profile, commands::notifications::xsoverlay_send_message, @@ -177,6 +184,8 @@ async fn app_setup(app_handle: tauri::AppHandle) { } // Get dependencies let cache_dir = app_handle.path_resolver().app_cache_dir().unwrap(); + // Initialize Steam module + steam::init().await; // Initialize HTTP server http::init().await; // Initialize gRPC server diff --git a/src-core/src/openvr/mod.rs b/src-core/src/openvr/mod.rs index f77a49b1..694693c9 100644 --- a/src-core/src/openvr/mod.rs +++ b/src-core/src/openvr/mod.rs @@ -80,6 +80,20 @@ pub async fn task() { info!("[Core] OpenVR Initialized"); ovr_active = true; update_status(OpenVRStatus::Initialized).await; + // Register manifest if needed + { + let ctx = OVR_CONTEXT.lock().await; + let mut applications = ctx.as_ref().unwrap().applications_mngr(); + if let Ok(r) = applications.is_application_installed("steam.overlay.2538150") { + if !r { + info!("[Core] Registering VR Manifest"); + let manifest_path_buf = + std::fs::canonicalize("resources/manifest.vrmanifest").unwrap(); + let manifest_path: &std::path::Path = manifest_path_buf.as_ref(); + let _ = applications.add_application_manifest(manifest_path, false); + } + } + } } // Process tick devices::on_ovr_tick().await; diff --git a/src-core/src/os/commands.rs b/src-core/src/os/commands.rs index ffe0baba..31059803 100644 --- a/src-core/src/os/commands.rs +++ b/src-core/src/os/commands.rs @@ -1,21 +1,23 @@ +use std::collections::HashMap; + use super::{models::Output, SOLOUD, SOUNDS}; use log::{error, info}; use soloud::{audio, AudioExt, LoadExt}; use tauri::api::process::{Command, CommandEvent}; #[tauri::command] -pub fn check_dotnet_upgrades_required() -> Result, String> { - super::dotnet::check_dotnet_upgrades_required() +pub fn check_dotnet_install_required() -> Result, String> { + super::dotnet::check_dotnet_install_required() } #[tauri::command] -pub fn get_net_core_version() -> Result, String> { - super::dotnet::get_net_core_version() +pub fn get_net_core_versions() -> Result, String> { + super::dotnet::get_net_core_versions() } #[tauri::command] -pub fn get_asp_net_core_version() -> Result, String> { - super::dotnet::get_asp_net_core_version() +pub fn get_asp_net_core_versions() -> Result, String> { + super::dotnet::get_asp_net_core_versions() } #[tauri::command] @@ -24,13 +26,18 @@ pub fn is_semver_higher(a: String, b: String) -> Result { } #[tauri::command] -pub async fn upgrade_net_core(version: String) -> Result<(), String> { - super::dotnet::upgrade_net_core(&version).await +pub async fn install_net_core(version: String) -> Result<(), String> { + super::dotnet::install_net_core(&version).await +} + +#[tauri::command] +pub async fn install_asp_net_core(version: String) -> Result<(), String> { + super::dotnet::install_asp_net_core(&version).await } #[tauri::command] -pub async fn upgrade_asp_net_core(version: String) -> Result<(), String> { - super::dotnet::upgrade_asp_net_core(&version).await +pub async fn install_dotnet_hosting_bundle(version: String) -> Result<(), String> { + super::dotnet::install_dotnet_hosting_bundle(&version).await } #[tauri::command] diff --git a/src-core/src/os/dotnet.rs b/src-core/src/os/dotnet.rs index e5b375d7..238e410e 100644 --- a/src-core/src/os/dotnet.rs +++ b/src-core/src/os/dotnet.rs @@ -1,109 +1,53 @@ -use std::{fs::File, process::Command}; +use std::{collections::HashMap, fs::File, process::Command}; +use crate::globals::{ASPNET_CORE_VERSION, DOTNET_CORE_VERSION}; use log::{error, info}; use tempfile::Builder; -// RETURN VALUES: -// INSTALL_NETCORE, UPGRADE_NETCORE, DOWNGRADE_NETCORE, INSTALL_ASPNETCORE, UPGRADE_ASPNETCORE, DOWNGRADE_ASPNETCORE -// ERRORS: -// FAILED_VERSION_CHECK, FAILED_VERSION_LISTING, FAILED_VERSION_PARSING, INVALID_VERSION -pub fn check_dotnet_upgrades_required() -> Result, String> { - let netcore_version = match get_net_core_version() { - Ok(version) => version, +// Checks if the exact dotnet runtime versions are installed that are required +// Returns where the key is the runtime (DOTNETCORE / ASPNETCORE) +// and the value is the version required to be installed +// ERRORS: FAILED_VERSION_CHECK, FAILED_VERSION_LISTING, FAILED_VERSION_PARSING +pub fn check_dotnet_install_required() -> Result, String> { + let mut result = HashMap::::new(); + let netcore_versions = match get_net_core_versions() { + Ok(versions) => versions, Err(e) => { error!("Failed to get .NET Core version: {}", e); return Err("FAILED_VERSION_CHECK".into()); } }; - let aspnetcore_version = match get_asp_net_core_version() { - Ok(version) => version, + if !netcore_versions.contains(&DOTNET_CORE_VERSION.to_string()) { + result.insert( + String::from("DOTNETCORE"), + String::from(DOTNET_CORE_VERSION), + ); + } + let aspnetcore_versions = match get_asp_net_core_versions() { + Ok(versions) => versions, Err(e) => { error!("Failed to get ASP.NET Core version: {}", e); return Err("FAILED_VERSION_CHECK".into()); } }; - let mut upgrades_required = Vec::::new(); - // Check if .NET Core is missing entirely (Requires install) - if let None = netcore_version.clone() { - upgrades_required.push("INSTALL_NETCORE".into()); - } else if let Some(v) = netcore_version.clone() { - // Check if installed version is below 7.0.0 (Requires upgrade) - match is_semver_higher(&String::from("7.0.0"), &v) { - Ok(below7) => { - if below7 { - upgrades_required.push("UPGRADE_NETCORE".into()); - } - } - Err(e) => { - error!("Failed to compare versions: {} {} {}", "7.0.0", v, e); - return Err("FAILED_VERSION_CHECK".into()); - } - }; - // Check if installed version is above 7.1 (Requires downgrade) - match is_semver_higher(&v, &String::from("7.1.0")) { - Ok(above71) => { - if above71 { - upgrades_required.push("DOWNGRADE_NETCORE".into()); - } - } - Err(e) => { - error!("Failed to compare versions: {} {} {}", v, "7.1.0", e); - return Err("FAILED_VERSION_CHECK".into()); - } - }; - } - if let None = aspnetcore_version.clone() { - upgrades_required.push("INSTALL_ASPNETCORE".into()); - } else if let Some(v) = aspnetcore_version.clone() { - // Check if installed version is below 7.0.0 (Requires upgrade) - match is_semver_higher(&String::from("7.0.0"), &v) { - Ok(below7) => { - if below7 { - upgrades_required.push("UPGRADE_ASPNETCORE".into()); - } - } - Err(e) => { - error!("Failed to compare versions: {} {} {}", "7.0.0", v, e); - return Err("FAILED_VERSION_CHECK".into()); - } - }; - // Check if installed version is above 7.1 (Requires downgrade) - match is_semver_higher(&v, &String::from("7.1.0")) { - Ok(above71) => { - if above71 { - upgrades_required.push("DOWNGRADE_ASPNETCORE".into()); - } - } - Err(e) => { - error!("Failed to compare versions: {} {} {}", v, "7.1.0", e); - return Err("FAILED_VERSION_CHECK".into()); - } - }; - } - // Check if patch versions match - if let Some(netcorever) = netcore_version.clone() { - if let Some(aspnetcorever) = aspnetcore_version.clone() { - let netcorever = netcorever.split(".").collect::>(); - let aspnetcorever = aspnetcorever.split(".").collect::>(); - if netcorever[2] < aspnetcorever[2] { - upgrades_required.push("UPGRADE_NETCORE".into()); - } else if netcorever[2] > aspnetcorever[2] { - upgrades_required.push("UPGRADE_ASPNETCORE".into()); - } - } + if !aspnetcore_versions.contains(&ASPNET_CORE_VERSION.to_string()) { + result.insert( + String::from("ASPNETCORE"), + String::from(ASPNET_CORE_VERSION), + ); } - return Ok(upgrades_required); + Ok(result) } -pub fn get_net_core_version() -> Result, String> { - get_dotnet_version("Microsoft.NETCore.App") +pub fn get_net_core_versions() -> Result, String> { + get_dotnet_versions("Microsoft.NETCore.App") } -pub fn get_asp_net_core_version() -> Result, String> { - get_dotnet_version("Microsoft.AspNetCore.App") +pub fn get_asp_net_core_versions() -> Result, String> { + get_dotnet_versions("Microsoft.AspNetCore.App") } -fn get_dotnet_version(runtime: &str) -> Result, String> { +fn get_dotnet_versions(runtime: &str) -> Result, String> { let output = match std::process::Command::new("dotnet") .arg("--list-runtimes") .output() @@ -121,7 +65,7 @@ fn get_dotnet_version(runtime: &str) -> Result, String> { Err(_) => String::from(""), }; let output = output.split("\r\n"); - let mut highest_version: Option = None; + let mut versions = Vec::::new(); for line in output { if line.starts_with(runtime) { let line = line.split(" ").collect::>(); @@ -129,28 +73,13 @@ fn get_dotnet_version(runtime: &str) -> Result, String> { continue; } let version = line[1].to_string(); - // if highest_version is None - if let None = highest_version { - highest_version = Some(version); - continue; - } - let hversion = highest_version.clone().unwrap(); - let higher = match is_semver_higher(&version, &hversion) { - Ok(higher) => higher, - Err(e) => { - error!( - "[Core] Failed to compare versions: {} {} {}", - version, &hversion, e - ); - return Err("FAILED_VERSION_PARSING".into()); - } - }; - if higher { - highest_version = Some(version); + if !is_semver(&version) { + return Err("FAILED_VERSION_PARSING".into()); } + versions.push(version); } } - Ok(highest_version) + Ok(versions) } fn is_semver(version: &String) -> bool { @@ -198,10 +127,10 @@ pub fn is_semver_higher(a: &String, b: &String) -> Result { Ok(false) } -pub async fn upgrade_net_core(version: &String) -> Result<(), String> { +pub async fn install_net_core(version: &String) -> Result<(), String> { if !is_semver(version) { error!( - "[Core] Tried upgrading .NET Core runtime to invalid version: {}", + "[Core] Tried installing invalid .NET Core runtime version: {}", version ); return Err("INVALID_VERSION".into()); @@ -217,18 +146,37 @@ pub async fn upgrade_net_core(version: &String) -> Result<(), String> { download_and_install(installer_url).await } -pub async fn upgrade_asp_net_core(version: &String) -> Result<(), String> { +pub async fn install_asp_net_core(version: &String) -> Result<(), String> { if !is_semver(version) { error!( - "[Core] Tried upgrading ASP.NET Core runtime to invalid version: {}", + "[Core] Tried installing ASP.NET Core runtime version: {}", version ); return Err("INVALID_VERSION".into()); } let installer_url = format!( - "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{}/aspnetcore-runtime-{}-win-x64.exe", - version, version - ); + "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{}/aspnetcore-runtime-{}-win-x64.exe", + version, version + ); + info!( + "[Core] Downloading ASP.NET Core {} installer from ({})", + version, installer_url + ); + download_and_install(installer_url).await +} + +pub async fn install_dotnet_hosting_bundle(version: &String) -> Result<(), String> { + if !is_semver(version) { + error!( + "[Core] Tried installing ASP.NET Core runtime version: {}", + version + ); + return Err("INVALID_VERSION".into()); + } + let installer_url = format!( + "https://dotnetcli.azureedge.net/dotnet/aspnetcore/Runtime/{}/dotnet-hosting-{}-win.exe", + version, version + ); info!( "[Core] Downloading ASP.NET Core {} installer from ({})", version, installer_url @@ -310,6 +258,6 @@ async fn download_and_install(url: String) -> Result<(), String> { ); return Err("INSTALLER_EXITED_WITH_NONZERO_EXIT_CODE".into()); } - info!("[Core] Installation complete!"); + info!("[Core] Runtime installation complete!"); Ok(()) } diff --git a/src-core/src/steam/commands.rs b/src-core/src/steam/commands.rs new file mode 100644 index 00000000..5984d8fc --- /dev/null +++ b/src-core/src/steam/commands.rs @@ -0,0 +1,50 @@ +#[tauri::command] +pub async fn steam_active() -> bool { + crate::steam::STEAMWORKS_CLIENT.lock().await.is_some() +} + +#[tauri::command] +pub async fn steam_achievement_get(achievement_id: String) -> Result { + let mut client_guard = crate::steam::STEAMWORKS_CLIENT.lock().await; + let client = match client_guard.as_mut() { + Some(client) => client, + None => return Err("CLIENT_NOT_INITIALIZED".to_string()), + }; + let stats = client.user_stats(); + let achievement = stats.achievement(achievement_id.as_str()); + match achievement.get() { + Ok(status) => Ok(status), + Err(_) => return Err("FAILED_TO_GET_STATUS".to_string()), + } +} + +#[tauri::command] +pub async fn steam_achievement_set(achievement_id: String, unlocked: bool) -> Result<(), String> { + let mut client_guard = crate::steam::STEAMWORKS_CLIENT.lock().await; + let client = match client_guard.as_mut() { + Some(client) => client, + None => return Err("CLIENT_NOT_INITIALIZED".to_string()), + }; + let stats = client.user_stats(); + let achievement = stats.achievement(achievement_id.as_str()); + let status = match achievement.get() { + Ok(status) => status, + Err(_) => return Err("FAILED_TO_GET_STATUS".to_string()), + }; + if status == unlocked { + return Ok(()); + } + if unlocked { + if let Err(_) = achievement.set() { + return Err("FAILED_TO_SET_STATUS".to_string()); + } + } else { + if let Err(_) = achievement.clear() { + return Err("FAILED_TO_SET_STATUS".to_string()); + } + } + match stats.store_stats() { + Ok(_) => Ok(()), + Err(_) => return Err("FAILED_TO_STORE_STATS".to_string()), + } +} diff --git a/src-core/src/steam/mod.rs b/src-core/src/steam/mod.rs new file mode 100644 index 00000000..e9613e41 --- /dev/null +++ b/src-core/src/steam/mod.rs @@ -0,0 +1,79 @@ +use log::error; +use steamworks::{AppId, CallbackHandle, Client, SingleClient, UserStatsReceived}; +use tokio::sync::Mutex; + +pub mod commands; + +pub const STEAM_APP_ID: AppId = AppId(2538150); + +lazy_static! { + pub static ref STEAMWORKS_CLIENT: Mutex> = + Mutex::default(); + pub static ref STEAMWORKS_SINGLE_CLIENT: Mutex> = + Mutex::default(); + pub static ref STEAMWORKS_USER_STATS_FETCHED: Mutex = + Mutex::new(false); +} + +pub async fn init() { + if crate::BUILD_FLAVOUR != crate::flavour::BuildFlavour::Steam && crate::BUILD_FLAVOUR != crate::flavour::BuildFlavour::SteamCn { + return; + } + let (client, single) = match Client::init_app(STEAM_APP_ID) { + Ok((client, single)) => (client, single), + Err(e) => { + error!("[Core] Failed to initialize Steamworks client. Steam-related functionality will be disabled. {:#?}", e); + return; + } + }; + // Store the steamworks clients + *STEAMWORKS_CLIENT.lock().await = Some(client); + *STEAMWORKS_SINGLE_CLIENT.lock().await = Some(single); + // Send an event to the UI to indicate that Steamworks is ready + crate::utils::send_event("STEAMWORKS_READY", true).await; + // Move into async task from here on + tokio::spawn(async { + // Fetch user stats + let _cb: CallbackHandle = { + let mut client_guard = STEAMWORKS_CLIENT.lock().await; + let client = match client_guard.as_mut() { + Some(client) => client, + None => { + error!("[Core] Steamworks client was expected, but could not be found. Steam-related functionality will likely not be available. Please file a bug report!"); + return; + } + }; + let _cb = client.register_callback(|stats: UserStatsReceived| { + match stats.result { + Ok(_) => { + println!("USER STATS: {:?}", stats.result.unwrap()); + tokio::spawn(async { + *STEAMWORKS_USER_STATS_FETCHED.lock().await = true; + }); + } + Err(e) => { + println!("USER STATS ERROR: {:?}", e); + } + } + }); + client.user_stats().request_current_stats(); + _cb + }; + // Run steamworks callbacks continuously + loop { + // Get single client for running callbacks + let mut single_client_guard = STEAMWORKS_SINGLE_CLIENT.lock().await; + let single = match single_client_guard.as_mut() { + Some(client) => client, + None => { + tokio::time::sleep(std::time::Duration::from_millis(100)).await; + continue; + } + }; + // Run any queued callbacks + single.run_callbacks(); + // Sleep + tokio::time::sleep(std::time::Duration::from_millis(100)).await; + } + }); +} diff --git a/src-core/steam_api64.dll b/src-core/steam_api64.dll new file mode 100644 index 00000000..2b428120 Binary files /dev/null and b/src-core/steam_api64.dll differ diff --git a/src-core/tauri.conf.json b/src-core/tauri.conf.json index 1bfacb03..1a909dd8 100644 --- a/src-core/tauri.conf.json +++ b/src-core/tauri.conf.json @@ -9,7 +9,7 @@ }, "package": { "productName": "OyasumiVR", - "version": "1.8.0" + "version": "1.9.0" }, "tauri": { "allowlist": { @@ -61,6 +61,7 @@ }, "resources": [ "./openvr_api.dll", + "./steam_api64.dll", "./resources/**/*" ], "icon": [ @@ -169,7 +170,7 @@ "center": true, "theme": "Dark", "transparent": true, - "userAgent": "OyasumiVR/1.8.0 (https://github.com/Raphiiko/OyasumiVR)" + "userAgent": "OyasumiVR/1.9.0 (https://github.com/Raphiiko/OyasumiVR)" }, { "width": 700, @@ -181,7 +182,7 @@ "center": true, "theme": "Dark", "transparent": true, - "userAgent": "OyasumiVR/1.8.0 (https://github.com/Raphiiko/OyasumiVR)" + "userAgent": "OyasumiVR/1.9.0 (https://github.com/Raphiiko/OyasumiVR)" } ] } diff --git a/src-elevated-sidecar/Cargo.lock b/src-elevated-sidecar/Cargo.lock index b925d6d1..0296a0d6 100644 --- a/src-elevated-sidecar/Cargo.lock +++ b/src-elevated-sidecar/Cargo.lock @@ -809,7 +809,7 @@ dependencies = [ [[package]] name = "oyasumivr-elevated-sidecar" -version = "1.8.0" +version = "1.9.0" dependencies = [ "codesigned", "directories", @@ -833,7 +833,7 @@ dependencies = [ [[package]] name = "oyasumivr-shared" -version = "1.8.0" +version = "1.9.0" dependencies = [ "winapi", ] diff --git a/src-elevated-sidecar/Cargo.toml b/src-elevated-sidecar/Cargo.toml index 9b4428e9..223cb11f 100644 --- a/src-elevated-sidecar/Cargo.toml +++ b/src-elevated-sidecar/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oyasumivr-elevated-sidecar" -version = "1.8.0" +version = "1.9.0" authors = ["Raphiiko"] license = "MIT" edition = "2021" diff --git a/src-grpc-web-client/overlay-sidecar_pb.ts b/src-grpc-web-client/overlay-sidecar_pb.ts index 07806d68..99e6e86e 100644 --- a/src-grpc-web-client/overlay-sidecar_pb.ts +++ b/src-grpc-web-client/overlay-sidecar_pb.ts @@ -248,6 +248,10 @@ export interface OyasumiSidecarAutomationsState { * @generated from protobuf field: OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_ShutdownAutomations shutdownAutomations = 4; */ shutdownAutomations?: OyasumiSidecarAutomationsState_ShutdownAutomations; + /** + * @generated from protobuf field: OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector sleepModeEnableForSleepDetector = 5; + */ + sleepModeEnableForSleepDetector?: OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector; } /** * @generated from protobuf message OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_AutoAcceptInviteRequests @@ -313,6 +317,31 @@ export interface OyasumiSidecarAutomationsState_ShutdownAutomations { */ canStart: boolean; } +/** + * @generated from protobuf message OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector + */ +export interface OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector { + /** + * @generated from protobuf field: bool enabled = 1; + */ + enabled: boolean; + /** + * @generated from protobuf field: string sensitivity = 2; + */ + sensitivity: string; + /** + * @generated from protobuf field: bool activation_window = 3; + */ + activationWindow: boolean; + /** + * @generated from protobuf field: repeated uint32 activation_window_start = 4; + */ + activationWindowStart: number[]; + /** + * @generated from protobuf field: repeated uint32 activation_window_end = 5; + */ + activationWindowEnd: number[]; +} /** * @generated from protobuf enum OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_AutoAcceptInviteRequests_Mode */ @@ -1398,6 +1427,12 @@ class OyasumiSidecarAutomationsState$Type extends MessageType OyasumiSidecarAutomationsState_ShutdownAutomations, }, + { + no: 5, + name: 'sleepModeEnableForSleepDetector', + kind: 'message', + T: () => OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector, + }, ]); } create(value?: PartialMessage): OyasumiSidecarAutomationsState { @@ -1454,6 +1489,15 @@ class OyasumiSidecarAutomationsState$Type extends MessageType { + constructor() { + super('OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector', [ + { no: 1, name: 'enabled', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, + { no: 2, name: 'sensitivity', kind: 'scalar', T: 9 /*ScalarType.STRING*/ }, + { no: 3, name: 'activation_window', kind: 'scalar', T: 8 /*ScalarType.BOOL*/ }, + { + no: 4, + name: 'activation_window_start', + kind: 'scalar', + repeat: 1 /*RepeatType.PACKED*/, + T: 13 /*ScalarType.UINT32*/, + }, + { + no: 5, + name: 'activation_window_end', + kind: 'scalar', + repeat: 1 /*RepeatType.PACKED*/, + T: 13 /*ScalarType.UINT32*/, + }, + ]); + } + create( + value?: PartialMessage + ): OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector { + const message = { + enabled: false, + sensitivity: '', + activationWindow: false, + activationWindowStart: [], + activationWindowEnd: [], + }; + globalThis.Object.defineProperty(message, MESSAGE_TYPE, { enumerable: false, value: this }); + if (value !== undefined) + reflectionMergePartial( + this, + message, + value + ); + return message; + } + internalBinaryRead( + reader: IBinaryReader, + length: number, + options: BinaryReadOptions, + target?: OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector + ): OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector { + let message = target ?? this.create(), + end = reader.pos + length; + while (reader.pos < end) { + let [fieldNo, wireType] = reader.tag(); + switch (fieldNo) { + case /* bool enabled */ 1: + message.enabled = reader.bool(); + break; + case /* string sensitivity */ 2: + message.sensitivity = reader.string(); + break; + case /* bool activation_window */ 3: + message.activationWindow = reader.bool(); + break; + case /* repeated uint32 activation_window_start */ 4: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.activationWindowStart.push(reader.uint32()); + else message.activationWindowStart.push(reader.uint32()); + break; + case /* repeated uint32 activation_window_end */ 5: + if (wireType === WireType.LengthDelimited) + for (let e = reader.int32() + reader.pos; reader.pos < e; ) + message.activationWindowEnd.push(reader.uint32()); + else message.activationWindowEnd.push(reader.uint32()); + break; + default: + let u = options.readUnknownField; + if (u === 'throw') + throw new globalThis.Error( + `Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}` + ); + let d = reader.skip(wireType); + if (u !== false) + (u === true ? UnknownFieldHandler.onRead : u)( + this.typeName, + message, + fieldNo, + wireType, + d + ); + } + } + return message; + } + internalBinaryWrite( + message: OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector, + writer: IBinaryWriter, + options: BinaryWriteOptions + ): IBinaryWriter { + /* bool enabled = 1; */ + if (message.enabled !== false) writer.tag(1, WireType.Varint).bool(message.enabled); + /* string sensitivity = 2; */ + if (message.sensitivity !== '') + writer.tag(2, WireType.LengthDelimited).string(message.sensitivity); + /* bool activation_window = 3; */ + if (message.activationWindow !== false) + writer.tag(3, WireType.Varint).bool(message.activationWindow); + /* repeated uint32 activation_window_start = 4; */ + if (message.activationWindowStart.length) { + writer.tag(4, WireType.LengthDelimited).fork(); + for (let i = 0; i < message.activationWindowStart.length; i++) + writer.uint32(message.activationWindowStart[i]); + writer.join(); + } + /* repeated uint32 activation_window_end = 5; */ + if (message.activationWindowEnd.length) { + writer.tag(5, WireType.LengthDelimited).fork(); + for (let i = 0; i < message.activationWindowEnd.length; i++) + writer.uint32(message.activationWindowEnd[i]); + writer.join(); + } + let u = options.writeUnknownFields; + if (u !== false) (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer); + return writer; + } +} +/** + * @generated MessageType for protobuf message OyasumiOverlaySidecar.OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector + */ +export const OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector = + new OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector$Type(); /** * @generated ServiceType for protobuf service OyasumiOverlaySidecar.OyasumiOverlaySidecar */ diff --git a/src-overlay-sidecar/Overlays/TooltipOverlay.cs b/src-overlay-sidecar/Overlays/TooltipOverlay.cs index 3a831e52..afefac8e 100644 --- a/src-overlay-sidecar/Overlays/TooltipOverlay.cs +++ b/src-overlay-sidecar/Overlays/TooltipOverlay.cs @@ -82,13 +82,13 @@ private void UpdatePosition() Matrix4x4.CreateTranslation(_targetPosition.Value); // Lerp the position targetTransform = Matrix4x4.Lerp(currentTransform, targetTransform, 0.2f); - // Apply the transformation - var transform = targetTransform.ToHmdMatrix34_t(); - OpenVR.Overlay.SetOverlayTransformAbsolute(OverlayHandle, ETrackingUniverseOrigin.TrackingUniverseStanding, - ref transform); // Set the overlay size based on the distance OpenVR.Overlay.SetOverlayWidthInMeters(OverlayHandle, 0.35f * Vector3.Distance(headMatrix.Translation, targetTransform.Translation) ); + // Apply the transformation + var transform = targetTransform.ToHmdMatrix34_t(); + OpenVR.Overlay.SetOverlayTransformAbsolute(OverlayHandle, ETrackingUniverseOrigin.TrackingUniverseStanding, + ref transform); } } diff --git a/src-overlay-ui/package-lock.json b/src-overlay-ui/package-lock.json index 532bd018..e9802c9b 100644 --- a/src-overlay-ui/package-lock.json +++ b/src-overlay-ui/package-lock.json @@ -1,12 +1,12 @@ { "name": "oyasumivr-overlay-ui", - "version": "0.0.0", + "version": "1.9.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "oyasumivr-overlay-ui", - "version": "0.0.0", + "version": "1.9.0", "dependencies": { "material-icons": "^1.13.8", "rxjs": "^7.8.1", @@ -3736,11 +3736,10 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6233,9 +6232,9 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "wrap-ansi": { diff --git a/src-overlay-ui/package.json b/src-overlay-ui/package.json index 8580191d..8fbee0f9 100644 --- a/src-overlay-ui/package.json +++ b/src-overlay-ui/package.json @@ -1,6 +1,6 @@ { "name": "oyasumivr-overlay-ui", - "version": "1.8.0", + "version": "1.9.0", "private": true, "scripts": { "dev": "vite dev", diff --git a/src-overlay-ui/src/app.scss b/src-overlay-ui/src/app.scss index 447d2071..9a781b7b 100644 --- a/src-overlay-ui/src/app.scss +++ b/src-overlay-ui/src/app.scss @@ -5,62 +5,63 @@ @import '$lib/styles/spinners.scss'; * { - letter-spacing: 0.025em; + letter-spacing: 0.025em; + font-family: 'Poppins', 'Noto Sans JP', 'Noto Sans KR', 'Noto Sans TC', 'Noto Sans SC', sans-serif; } .glow { - &, - &-40 { - @apply drop-shadow-[0_0_4px_rgba(255,255,255,40%)]; - } + &, + &-40 { + @apply drop-shadow-[0_0_4px_rgba(255,255,255,40%)]; + } - &-80 { - @apply drop-shadow-[0_0_8px_rgba(255,255,255,80%)]; - } + &-80 { + @apply drop-shadow-[0_0_8px_rgba(255,255,255,80%)]; + } - &-100 { - @apply drop-shadow-[0_0_8px_rgba(255,255,255,100%)]; - } + &-100 { + @apply drop-shadow-[0_0_8px_rgba(255,255,255,100%)]; + } } .dark-glow { - &, - &-40 { - @apply drop-shadow-[0_0_16px_rgba(0,0,0,40%)]; - } + &, + &-40 { + @apply drop-shadow-[0_0_16px_rgba(0,0,0,40%)]; + } - &-80 { - @apply drop-shadow-[0_0_16px_rgba(0,0,0,80%)]; - } + &-80 { + @apply drop-shadow-[0_0_16px_rgba(0,0,0,80%)]; + } - &-100 { - @apply drop-shadow-[0_0_16px_rgba(0,0,0,100%)]; - } + &-100 { + @apply drop-shadow-[0_0_16px_rgba(0,0,0,100%)]; + } } .vrc-status-color { - &-Active, - &-3 { - background-color: var(--color-vrchat-status-green); - } + &-Active, + &-3 { + background-color: var(--color-vrchat-status-green); + } - &-JoinMe, - &-4 { - background-color: var(--color-vrchat-status-blue); - } + &-JoinMe, + &-4 { + background-color: var(--color-vrchat-status-blue); + } - &-AskMe, - &-2 { - background-color: var(--color-vrchat-status-orange); - } + &-AskMe, + &-2 { + background-color: var(--color-vrchat-status-orange); + } - &-Busy, - &-1 { - background-color: var(--color-vrchat-status-red); - } + &-Busy, + &-1 { + background-color: var(--color-vrchat-status-red); + } - &-Offline, - &-0 { - background-color: black; - } + &-Offline, + &-0 { + background-color: black; + } } diff --git a/src-overlay-ui/src/lib/models/OyasumiState.ts b/src-overlay-ui/src/lib/models/OyasumiState.ts index 3adbbf36..cb5e2597 100644 --- a/src-overlay-ui/src/lib/models/OyasumiState.ts +++ b/src-overlay-ui/src/lib/models/OyasumiState.ts @@ -9,6 +9,13 @@ export const DEFAULT_OYASUMI_STATE: OyasumiSidecarState = { vrcStatus: VrcStatus.Offline, vrcUsername: '', automations: { + sleepModeEnableForSleepDetector: { + enabled: false, + sensitivity: 'LOWEST', + activationWindow: false, + activationWindowStart: [23, 0], + activationWindowEnd: [7, 0] + }, autoAcceptInviteRequests: { enabled: false, mode: OyasumiSidecarAutomationsState_AutoAcceptInviteRequests_Mode.Whitelist, @@ -24,7 +31,9 @@ export const DEFAULT_OYASUMI_STATE: OyasumiSidecarState = { }, shutdownAutomations: { sleepTriggerEnabled: false, - timeDelay: 0 + timeDelay: 0, + running: false, + canStart: false } }, locale: 'en', diff --git a/src-overlay-ui/src/lib/translations.ts b/src-overlay-ui/src/lib/translations.ts index c0e2f0d4..d2b5b5ad 100644 --- a/src-overlay-ui/src/lib/translations.ts +++ b/src-overlay-ui/src/lib/translations.ts @@ -21,7 +21,7 @@ const config: Config<{ [s: string]: any }> = { level: "error" }, loaders: [ - ...["en", "cn", "fr", "ja", "ko", "nl", "tw", "DEBUG"].map((locale) => ({ + ...["en", "cn", "fr", "ja", "ko", "nl", "tw", "es", "id", "DEBUG"].map((locale) => ({ locale, key: "t", loader: getTranslationLoader(locale) diff --git a/src-overlay-ui/src/routes/dashboard/AutomationConfig.svelte b/src-overlay-ui/src/routes/dashboard/AutomationConfig.svelte index 30d49df6..7c17528d 100644 --- a/src-overlay-ui/src/routes/dashboard/AutomationConfig.svelte +++ b/src-overlay-ui/src/routes/dashboard/AutomationConfig.svelte @@ -11,6 +11,7 @@ OyasumiSidecarAutomationsState_AutoAcceptInviteRequests_Mode, OyasumiSidecarAutomationsState_ChangeStatusBasedOnPlayerCount, OyasumiSidecarAutomationsState_ShutdownAutomations, + OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector, OyasumiSidecarAutomationsState_SleepingAnimations } from '../../../../src-grpc-web-client/overlay-sidecar_pb'; import { t } from '$lib/translations'; @@ -125,6 +126,16 @@ } return _t(`t.overlay.dashboard.automations.shutdownAutomations.subtitle`, { time }); } + case 'sleepModeEnableForSleepDetector': { + let a = automation as OyasumiSidecarAutomationsState_SleepModeEnableForSleepDetector; + let sensitivity = _t(`t.sleep-detection.modals.enableForSleepDetector.sensitivity.presets.${a.sensitivity}`); + let subtitleKey = a.activationWindow ? 'withActivationWindow' : 'withoutActivationWindow' + + let startTime = formatTime(a.activationWindowStart); + let endTime = formatTime(a.activationWindowEnd); + + return _t(`t.overlay.dashboard.automations.sleepModeEnableForSleepDetector.subtitle.${subtitleKey}`, { sensitivity, startTime, endTime }) + } default: { return null; } @@ -137,12 +148,22 @@ const m: Record = { autoAcceptInviteRequests: 'mark_email_read', changeStatusBasedOnPlayerCount: 'circle', - sleepingAnimations: 'bedtime', - shutdownAutomations: 'settings_power' + sleepingAnimations: 'settings_accessibility', + shutdownAutomations: 'settings_power', + sleepModeEnableForSleepDetector: 'bedtime' }; return m[automationId] ?? 'question_mark'; } + function formatTime(input: number[]) { + let hour = input[0].toString(); + let minute = input[1].toString(); + + while (hour.length < 2) hour = "0" + hour; + while (minute.length < 2) minute = "0" + minute; + return `${hour}:${minute}` + } + const dispatch = createEventDispatcher(); @@ -150,7 +171,7 @@

    {$t(`t.overlay.dashboard.automations.title`)}
    diff --git a/src-overlay-ui/tailwind.config.js b/src-overlay-ui/tailwind.config.js index 10f848b8..7aa38ee2 100644 --- a/src-overlay-ui/tailwind.config.js +++ b/src-overlay-ui/tailwind.config.js @@ -1,11 +1,10 @@ /** @type {import("tailwindcss").Config} */ export default { - mode: "jit", purge: ["./src/**/*.svelte"], theme: { - extend: { - fontFamily: { - sans: ["\"Poppins\"", "\"Noto Sans JP\"", "\"Noto Sans KR\"", "\"Noto Sans TC\"", "\"Noto Sans SC\"", "sans-serif"] - } - } - }, plugins: [] + mode: "jit", + purge: ["./src/**/*.svelte"], + theme: { + extend: {} + }, + plugins: [] }; diff --git a/src-shared-rust/Cargo.lock b/src-shared-rust/Cargo.lock index 8f1f3555..3e3592f6 100644 --- a/src-shared-rust/Cargo.lock +++ b/src-shared-rust/Cargo.lock @@ -4,7 +4,7 @@ version = 3 [[package]] name = "oyasumivr-shared" -version = "0.0.0" +version = "1.8.0" dependencies = [ "winapi", ] diff --git a/src-shared-rust/Cargo.toml b/src-shared-rust/Cargo.toml index 8cc7cbb5..dc5f8e2a 100644 --- a/src-shared-rust/Cargo.toml +++ b/src-shared-rust/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oyasumivr-shared" -version = "1.8.0" +version = "1.9.0" authors = ["Raphiiko"] edition = "2021" license = "MIT" diff --git a/src-shared-ts/package.json b/src-shared-ts/package.json index 705bc13b..ddf56c2f 100644 --- a/src-shared-ts/package.json +++ b/src-shared-ts/package.json @@ -2,7 +2,7 @@ "name": "src-shared-ts", "description": "Shared typescript code for Oyasumi modules", "scripts": {}, - "version": "1.8.0", + "version": "1.9.0", "author": "Raphiiko", "license": "MIT", "type": "module", diff --git a/src-ui/app/app.component.ts b/src-ui/app/app.component.ts index 22e72628..9d8e47e1 100644 --- a/src-ui/app/app.component.ts +++ b/src-ui/app/app.component.ts @@ -14,7 +14,7 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; export class AppComponent implements OnInit { constructor( public openvr: OpenVRService, - private translate: TranslateService, + translate: TranslateService, private settings: AppSettingsService ) { this.settings.settings.pipe(takeUntilDestroyed()).subscribe((settings) => { diff --git a/src-ui/app/app.module.ts b/src-ui/app/app.module.ts index 4c2b1d4c..cee28770 100644 --- a/src-ui/app/app.module.ts +++ b/src-ui/app/app.module.ts @@ -96,6 +96,8 @@ import localeJP from '@angular/common/locales/ja'; import localeNL from '@angular/common/locales/nl'; import localeCN_TW from '@angular/common/locales/zh'; import localeKO from '@angular/common/locales/ko'; +import localeES from '@angular/common/locales/es'; +import localeID from '@angular/common/locales/id'; import { ResolutionAutomationsViewComponent } from './views/dashboard-view/views/resolution-automations-view/resolution-automations-view.component'; import { RenderResolutionAutomationService } from './services/render-resolution-automation.service'; import { ChaperoneFadeDistanceAutomationService } from './services/fade-distance-automation.service'; @@ -137,9 +139,10 @@ import { DotnetUpgradeModalComponent } from './components/dotnet-upgrade-modal/d import { NotificationService } from './services/notification.service'; import { WindowsPowerPolicyTabComponent } from './views/dashboard-view/views/power-automations-view/tabs/windows-power-policy-tab/windows-power-policy-tab.component'; import { SetWindowsPowerPolicyOnSleepModeAutomationService } from './services/power-automations/set-windows-power-policy-on-sleep-mode-automation.service'; +import { SteamService } from './services/steam.service'; -[localeEN, localeFR, localeCN_TW, localeNL, localeKO, localeJP].forEach((locale) => - registerLocaleData(locale) +[localeEN, localeFR, localeCN_TW, localeNL, localeKO, localeJP, localeES, localeID].forEach( + (locale) => registerLocaleData(locale) ); export function createTranslateLoader(http: HttpClient) { @@ -265,6 +268,7 @@ export class AppModule { private fontLoaderService: FontLoaderService, private dotnetService: DotnetService, private notificationService: NotificationService, + private steamService: SteamService, // GPU automations private gpuAutomations: GpuAutomationsService, // Sleep mode automations @@ -344,6 +348,8 @@ export class AppModule { // Initialize IPC await this.ipcService.init(); await this.ipcAppStateSyncService.init(); + // Initialize Steam support + await this.steamService.init(); // Initialize automations await Promise.all([ // GPU automations diff --git a/src-ui/app/components/dashboard-navbar/dashboard-navbar.component.html b/src-ui/app/components/dashboard-navbar/dashboard-navbar.component.html index 8777f8d1..c8f338ff 100644 --- a/src-ui/app/components/dashboard-navbar/dashboard-navbar.component.html +++ b/src-ui/app/components/dashboard-navbar/dashboard-navbar.component.html @@ -111,7 +111,7 @@ @@ -132,7 +132,7 @@ diff --git a/src-ui/app/components/dotnet-upgrade-modal/dotnet-upgrade-modal.component.html b/src-ui/app/components/dotnet-upgrade-modal/dotnet-upgrade-modal.component.html index 0ababee0..c29c0178 100644 --- a/src-ui/app/components/dotnet-upgrade-modal/dotnet-upgrade-modal.component.html +++ b/src-ui/app/components/dotnet-upgrade-modal/dotnet-upgrade-modal.component.html @@ -1,5 +1,5 @@
    - {{ entry.time | localizedDate : 'HH:mm:ss' }} - {{ entry.time | localizedDate : 'MMMM d' }} + {{ entry.time | localizedDate : 'EVENT_LOG_TIME' }} + {{ entry.time | localizedDate : 'EVENT_LOG_DATE' }}
    diff --git a/src-ui/app/components/language-select-modal/language-select-modal.component.scss b/src-ui/app/components/language-select-modal/language-select-modal.component.scss index 0c4e4f8e..c6c44b64 100644 --- a/src-ui/app/components/language-select-modal/language-select-modal.component.scss +++ b/src-ui/app/components/language-select-modal/language-select-modal.component.scss @@ -12,7 +12,7 @@ p { .options { display: grid; - grid-template-columns: 1fr 1fr 1fr; + grid-template-columns: 1fr 1fr 1fr 1fr; background: var(--color-surface-0); border-radius: var(--surface-border-radius); margin-top: 2em; @@ -76,5 +76,7 @@ p { .label { margin-top: 1em; + text-align: center; + white-space: pre-line; } } diff --git a/src-ui/app/components/sleeping-animation-preset-modal/sleeping-animation-preset-modal.component.html b/src-ui/app/components/sleeping-animation-preset-modal/sleeping-animation-preset-modal.component.html index 9b61048f..9a81adcb 100644 --- a/src-ui/app/components/sleeping-animation-preset-modal/sleeping-animation-preset-modal.component.html +++ b/src-ui/app/components/sleeping-animation-preset-modal/sleeping-animation-preset-modal.component.html @@ -1,4 +1,4 @@ -
    - v{{ version }}
    -
    -
    - -
    -
    -
    about.author.role
    -
    Raphii
    - -
    - - @raphiiko +
    +
    +
    +
    -
    - - Raphiiko +
    +
    about.author.role
    +
    Raphii
    + +
    + + @raphiiko +
    +
    + + Raphiiko +
    +
    +
    OyasumiVR v{{version}}-{{FLAVOUR}} ({{BUILD_ID}})
    +
    about.contributions
    @@ -64,7 +68,7 @@
    狐Kon | 繁體中文 - +
    狐Kon | 简体中文 @@ -72,10 +76,22 @@
    neuroblack | Françaisneuroblack | Français
    +
    + aacal666 | Español + +
    +
    + a9ito | Bahasa Indonesia + +
    Raphiiko | English @@ -88,11 +104,12 @@
    about.projectLinks
    +
    diff --git a/src-ui/app/views/dashboard-view/views/about-view/about-view.component.scss b/src-ui/app/views/dashboard-view/views/about-view/about-view.component.scss index 0a13a90c..874ca12d 100644 --- a/src-ui/app/views/dashboard-view/views/about-view/about-view.component.scss +++ b/src-ui/app/views/dashboard-view/views/about-view/about-view.component.scss @@ -75,6 +75,7 @@ font-weight: 200; text-align: center; color: var(--color-text-1); + b { font-weight: 500; } @@ -92,18 +93,26 @@ .row { display: flex; flex-direction: row; - align-items: center; + align-items: stretch; & > div { flex: 1; } } +.col { + display: flex; + flex-direction: column; + align-items: center; +} + .author { display: flex; flex-direction: row; align-items: center; justify-content: flex-start; + margin-bottom: 4em; + flex: 1; &-avatar { @include shadow(4, true); @@ -189,3 +198,10 @@ .project-links { } } + +.build-info { + color: var(--color-text-3); + flex-shrink: 0; + text-align: left; + width: 100%; +} diff --git a/src-ui/app/views/dashboard-view/views/about-view/about-view.component.ts b/src-ui/app/views/dashboard-view/views/about-view/about-view.component.ts index a9612d0c..794315d9 100644 --- a/src-ui/app/views/dashboard-view/views/about-view/about-view.component.ts +++ b/src-ui/app/views/dashboard-view/views/about-view/about-view.component.ts @@ -1,6 +1,7 @@ import { Component, OnDestroy, OnInit } from '@angular/core'; import { getVersion } from '../../../../utils/app-utils'; import { BackgroundService } from '../../../../services/background.service'; +import { BUILD_ID, FLAVOUR } from '../../../../../build'; @Component({ selector: 'app-about-view', @@ -8,6 +9,8 @@ import { BackgroundService } from '../../../../services/background.service'; styleUrls: ['./about-view.component.scss'], }) export class AboutViewComponent implements OnInit, OnDestroy { + protected readonly FLAVOUR = FLAVOUR; + version?: string; constructor(private background: BackgroundService) {} @@ -20,4 +23,6 @@ export class AboutViewComponent implements OnInit, OnDestroy { async ngOnDestroy() { this.background.setBackground(null); } + + protected readonly BUILD_ID = BUILD_ID; } diff --git a/src-ui/app/views/dashboard-view/views/gpu-automations-view/gpu-automations-view.component.scss b/src-ui/app/views/dashboard-view/views/gpu-automations-view/gpu-automations-view.component.scss index 39d7b11e..209f2401 100644 --- a/src-ui/app/views/dashboard-view/views/gpu-automations-view/gpu-automations-view.component.scss +++ b/src-ui/app/views/dashboard-view/views/gpu-automations-view/gpu-automations-view.component.scss @@ -55,7 +55,6 @@ .btn-row { display: flex; flex-direction: row; - flex-wrap: wrap; align-items: stretch; gap: 1em; } diff --git a/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.html b/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.html index b4a8d70b..2aaec7c0 100644 --- a/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.html +++ b/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.html @@ -1,20 +1,47 @@
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    -
    +
    overview.sleep-mode.label
    -
    +
    +
    + + +
    diff --git a/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.scss b/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.scss index b4de261c..f31ccbb7 100644 --- a/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.scss +++ b/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.scss @@ -19,51 +19,104 @@ app-event-log { } .sleep-mode { - margin-bottom: 1em; flex-shrink: 0; display: flex; - flex-direction: row; - align-items: center; - padding: 2em; - background: var(--color-surface-1); + flex-direction: column; + margin-bottom: 1em; + overflow: hidden; border-radius: var(--surface-border-radius); - transition: all 0.24s ease; + background: var(--color-surface-1); + border: 3px solid var(--color-surface-1); + position: relative; + transition: all .15s ease; &.active { - background: var(--color-primary); + //background: var(--color-primary); + color: var(--color-text-1); + //border-color: var(--color-primary); + + .bottom { + background: color-mix(in srgb, var(--color-surface-0) 40%, var(--color-primary)); + } } - &-info { + .top { flex: 1; - display: flex; - flex-direction: column; - align-items: flex-start; - justify-content: center; + padding: 2em 2em 1em 2em; .label { font-size: 1.25em; opacity: 0.8; - //margin-bottom: 0.5em; font-weight: 200; } .status { font-size: 2.5em; - //font-weight: 600em } } - &-actions { + .bottom { + transition: all .15s ease; flex-shrink: 0; + background: var(--color-surface-0); display: flex; - flex-direction: column; - align-items: stretch; - justify-content: center; + flex-direction: row; + align-items: center; + justify-content: space-between; + padding: 1em 15em 1em 1em; + border-radius: var(--surface-border-radius); + } + + .illustration { + display: inline-block; + position: absolute; + height: 100%; + padding: 1em 2em; + opacity: 0; + top: 0; + right: 0; + transition: all .15s ease-in-out; + transform-origin: 75% 50%; + filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.25)); + pointer-events: none; - button { - &:not(:last-child) { - margin-bottom: 1em; + &.active { + pointer-events: all; + opacity: 1; + animation: pulse 0.15s ease-in-out; + animation-fill-mode: forwards; + animation-iteration-count: 1; + } + + img { + height: 100%; + transform: translateY(-0.5em); + cursor: pointer; + transition: all .15s ease-in-out; + + &:active { + opacity: 0.8; + } + + &:first-child { + transform: translate(100%, -0.5em); + filter: blur(4px); + opacity: 0.5; } } } + } + +@keyframes pulse { + 0% { + transform: scale(1); + } + 50% { + transform: scale(1.1); + } + 100% { + transform: scale(1); + } +} + diff --git a/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.ts b/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.ts index 9960b72c..fd17fd1b 100644 --- a/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.ts +++ b/src-ui/app/views/dashboard-view/views/overview-view/overview-view.component.ts @@ -1,7 +1,6 @@ import { Component, DestroyRef, OnInit } from '@angular/core'; import { noop } from '../../../../utils/animations'; import { SleepService } from '../../../../services/sleep.service'; -import { filter, map, tap } from 'rxjs'; import { OpenVRService } from '../../../../services/openvr.service'; import { OscService } from '../../../../services/osc.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; @@ -14,7 +13,8 @@ import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; }) export class OverviewViewComponent implements OnInit { sleepModeActive = false; - quaternion: [number, number, number, number] = [0, 0, 0, 0]; + illustration: 'sleep' | 'peek' | 'awake' | 'awake-hover' | null = null; + mouseover = false; constructor( private sleep: SleepService, @@ -24,17 +24,10 @@ export class OverviewViewComponent implements OnInit { ) {} ngOnInit(): void { - this.sleep.mode - .pipe(takeUntilDestroyed(this.destroyRef)) - .subscribe((sleepModeActive) => (this.sleepModeActive = sleepModeActive)); - this.openvr.devicePoses - .pipe( - takeUntilDestroyed(this.destroyRef), - map((poses) => poses[0]), - filter((p) => !!p), - tap((pose) => (this.quaternion = pose.quaternion)) - ) - .subscribe(); + this.sleep.mode.pipe(takeUntilDestroyed(this.destroyRef)).subscribe((sleepModeActive) => { + this.sleepModeActive = sleepModeActive; + this.determineIllustration(); + }); } async setSleepMode(enabled: boolean) { @@ -44,4 +37,13 @@ export class OverviewViewComponent implements OnInit { await this.sleep.disableSleepMode({ type: 'MANUAL' }); } } + + protected determineIllustration(mouseover: boolean | null = null) { + if (mouseover !== null) this.mouseover = mouseover; + if (this.sleepModeActive) { + this.illustration = this.mouseover ? 'peek' : 'sleep'; + } else { + this.illustration = this.mouseover ? 'awake-hover' : 'awake'; + } + } } diff --git a/src-ui/app/views/dashboard-view/views/settings-view/settings-updates-tab/settings-updates-tab.component.html b/src-ui/app/views/dashboard-view/views/settings-view/settings-updates-tab/settings-updates-tab.component.html index 3c8d6ce0..bc86604b 100644 --- a/src-ui/app/views/dashboard-view/views/settings-view/settings-updates-tab/settings-updates-tab.component.html +++ b/src-ui/app/views/dashboard-view/views/settings-view/settings-updates-tab/settings-updates-tab.component.html @@ -1,5 +1,11 @@
    -
    +
    + + + settings.updates.updatesDisabled.DEV + settings.updates.updatesDisabled.STEAM +
    +
    -
    -
    +
    +

    sleep-detection.modals.enableForSleepDetector.description

    +
    +
    +
    +
    + sleep-detection.modals.enableForSleepDetector.calibration.title + sleep-detection.modals.enableForSleepDetector.calibration.description +
    +
    + +
    +
    -
    -
    - sleep-detection.modals.enableForSleepDetector.sensitivity.title - sleep-detection.modals.enableForSleepDetector.sensitivity.description -
    -
    - -
    -
    +
    +
    + sleep-detection.modals.enableForSleepDetector.sensitivity.title + sleep-detection.modals.enableForSleepDetector.sensitivity.description +
    +
    + +
    +
    -
    -
    - sleep-detection.modals.enableForSleepDetector.sleepCheck.title - +
    + sleep-detection.modals.enableForSleepDetector.sleepCheck.title + + > +
    +
    + +
    +
    -
    - -
    -
    - -
    -
    - sleep-detection.modals.enableForSleepDetector.detectionWindow.title - sleep-detection.modals.enableForSleepDetector.detectionWindow.description -
    -
    - +
    +
    + sleep-detection.modals.enableForSleepDetector.detectionWindow.title + sleep-detection.modals.enableForSleepDetector.detectionWindow.description +
    +
    + + (valueChange)="onDetectionWindowChange($event)" + [snapValues]="[15]" + [snapDistance]="5" + [step]="1" + > +
    +
    + +
    +
    + sleep-detection.modals.enableForSleepDetector.timeWindow.title + sleep-detection.modals.enableForSleepDetector.timeWindow.description +
    +
    +
    + +
    + to +
    + +
    + +
    +
    diff --git a/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.scss b/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.scss index 8e77dd4b..a96fdcb4 100644 --- a/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.scss +++ b/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.scss @@ -1,3 +1,33 @@ app-select-box { min-width: 8em; } + +.settings-grid { + display: flex; + flex-direction: row; + align-items: flex-start; + + & > div { + flex: 1; + + &:not(:first-child) { + margin-left: 2em; + } + } +} + +.modal { + width: calc(100% - 6em); + height: calc(100% - 6em); + margin: 3em; +} + +.pane-content { + display: flex; + flex-direction: column; + align-items: center; +} + +.pane-content-inner { + max-width: 1280px; +} diff --git a/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.ts b/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.ts index 0e329ecc..0324142c 100644 --- a/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.ts +++ b/src-ui/app/views/dashboard-view/views/sleep-detection-view/sleep-detector-enable-sleepmode-modal/sleep-detector-enable-sleep-mode-modal.component.ts @@ -15,6 +15,7 @@ import { debounce } from 'typescript-debounce-decorator'; import { BaseModalComponent } from '../../../../../components/base-modal/base-modal.component'; import { ModalService } from '../../../../../services/modal.service'; import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; +import { cloneDeep } from 'lodash'; export interface SleepDetectorEnableSleepModeModalInputModel {} @@ -33,7 +34,7 @@ export class SleepDetectorEnableSleepModeModalComponent > implements OnInit, SleepDetectorEnableSleepModeModalInputModel { - sensitivityOptions: SelectBoxItem[] = [ + protected sensitivityOptions: SelectBoxItem[] = [ { id: 'LOWEST', label: 'sleep-detection.modals.enableForSleepDetector.sensitivity.presets.LOWEST', @@ -55,11 +56,13 @@ export class SleepDetectorEnableSleepModeModalComponent label: 'sleep-detection.modals.enableForSleepDetector.sensitivity.presets.HIGHEST', }, ]; - sensitivityOption: SelectBoxItem | undefined; + protected sensitivityOption: SelectBoxItem | undefined; + protected activationWindowStart = '00:00'; + protected activationWindowEnd = '00:00'; + protected automationConfigs?: AutomationConfigs; - automationConfigs?: AutomationConfigs; - - @HostBinding('[@fadeUp]') get fadeUp() { + @HostBinding('[@fadeUp]') + protected get fadeUp() { return; } @@ -90,6 +93,13 @@ export class SleepDetectorEnableSleepModeModalComponent (o) => o.id === configs.SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR.sensitivity ); if (!this.sensitivityOption) this.setSensitivityOption('MEDIUM'); + this.activationWindowStart = + configs.SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR.activationWindowStart + .map((v) => v.toString().padStart(2, '0')) + .join(':'); + this.activationWindowEnd = configs.SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR.activationWindowEnd + .map((v) => v.toString().padStart(2, '0')) + .join(':'); }); } @@ -153,4 +163,52 @@ export class SleepDetectorEnableSleepModeModalComponent } ); } + + async onChangeActivationWindowStart(value: string) { + const parsedValue = value + .split(':') + .map((v) => parseInt(v)) + .slice(0, 2) as [number, number]; + await this.automationConfigService.updateAutomationConfig( + 'SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR', + { + activationWindowStart: parsedValue, + } + ); + } + + async onChangeActivationWindowEnd(value: string) { + const parsedValue = value + .split(':') + .map((v) => parseInt(v)) + .slice(0, 2) as [number, number]; + await this.automationConfigService.updateAutomationConfig( + 'SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR', + { + activationWindowEnd: parsedValue, + } + ); + } + + async toggleActivationWindow() { + // Toggle the activation window + const config: Partial = { + activationWindow: + !this.automationConfigs?.SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR?.activationWindow, + }; + // Reset the window back to default when turning off the activation window + if (!config.activationWindow) { + config.activationWindowStart = cloneDeep( + AUTOMATION_CONFIGS_DEFAULT.SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR.activationWindowStart + ); + config.activationWindowEnd = cloneDeep( + AUTOMATION_CONFIGS_DEFAULT.SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR.activationWindowEnd + ); + } + // Apply & Save + await this.automationConfigService.updateAutomationConfig( + 'SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR', + config + ); + } } diff --git a/src-ui/assets/i18n/cn.json b/src-ui/assets/i18n/cn.json index 56562bee..75399a24 100644 --- a/src-ui/assets/i18n/cn.json +++ b/src-ui/assets/i18n/cn.json @@ -12,8 +12,16 @@ "close": "关闭", "login": "登入" }, + "common": { + "none": "无" + }, "misc": { - "vrcLoginRequired": "这个功能需要你登入你的 VRChat 账号" + "vrcLoginRequired": "这个功能需要你登入你的 VRChat 账号", + "windowsPowerPolicy": { + "BALANCED": "平衡模式", + "HIGH_PERFORMANCE": "高效能模式", + "POWER_SAVING": "省电模式" + } } }, "brightness-automations": { @@ -134,6 +142,7 @@ }, "sensitivity": { "title": "灵敏度", + "description": "灵敏度设定越高,OyasumiVR 侦测您进入睡眠状态的概率就越高。", "presets": { "LOWEST": "最低", "LOW": "低", @@ -151,7 +160,11 @@ "description": "OyasumiVR应该等待多久才能检测到你在睡觉", "unit": "分钟" }, - "description": "OyasumiVR在检测到你睡着之前应等待多长时间启用该功能后,当OyasumiVR根据你的动作猜测你在睡觉时,它将自动启用睡眠模式" + "description": "OyasumiVR在检测到你睡着之前应等待多长时间启用该功能后,当OyasumiVR根据你的动作猜测你在睡觉时,它将自动启用睡眠模式", + "timeWindow": { + "title": "启动视窗", + "description": "只允许睡眠检测在一天中的某些时段启动睡眠模式" + } }, "enableAtTime": { "title": "开启睡眠模式", @@ -244,6 +257,23 @@ }, "power-automations": { "title": "电源自动化", + "tabs": { + "controllersAndTrackers": "控制器和定位器", + "baseStations": "基站", + "windowsPowerPolicy": "Power Policy" + }, + "windowsPowerPolicy": { + "description": "OyasumiVR可以在您进入睡眠或醒来时自动更改Windows的电源策略。这对于在您睡觉时降低能耗并在您醒来后恢复高性能策略非常有用。", + "automations": "自动化功能", + "sleepModeEnable": { + "title": "当睡眠模式启用时", + "description": "设定以下Windows电源策略" + }, + "sleepModeDisable": { + "title": "当睡眠模式停用时", + "description": "设定以下Windows电源策略" + } + }, "devicePowerOff": { "onSleepModeEnable": { "title": "当我入睡时", @@ -259,10 +289,6 @@ "optionTrackers": "关掉定位器" } }, - "tabs": { - "controllersAndTrackers": "控制器和定位器", - "baseStations": "基站" - }, "lighthousePowerOn": { "title": "开启基站", "description": "让OyasumiVR自动开启您的基站。", @@ -522,6 +548,33 @@ } } } + }, + "overlay": { + "activation": { + "title": "启用动作", + "description": "选择何时开启或关闭覆盖层", + "action": { + "none": "无(停用)", + "singleA": "单次按A钮", + "doubleA": "双次按A钮", + "tripleA": "三次按A钮", + "singleB": "单次按B钮", + "doubleB": "双次按B钮", + "tripleB": "三次按B钮" + }, + "controller": { + "either": "任意手把", + "left": "左手把", + "right": "右手把", + "title": "手把", + "description": "选择哪些手把可以用于启用覆盖层" + }, + "triggerFilter": { + "title": "需要扳机", + "description": "仅在执行动作时按住扳机时才启用。" + } + }, + "title": "覆盖层" } }, "vrchat": { @@ -538,9 +591,6 @@ "subtext": "你目前没有使用你的 VRChat 账户登入", "logIn": "登入" }, - "errors": { - "initError": "无法初始化 VRChat 模组。 请确保你有连上互联网并稍后重新启动 OyasumiVR 重试" - }, "disclaimers": { "use": "你的登入凭证永远不会储存在任何地方,只会发送到 VRChat 的服务器以进行身份验证", "brand": "OyasumiVR 没有得到 VRChat 的官方认可,也不表示 VRChat 或任何正式参与制作或管理 VRChat 团队成员的观点或意见。 VRChat 是 VRChat Inc. 的商标 VRChat © VRChat Inc.", @@ -624,7 +674,11 @@ "install": "安装版本 {{version}}", "noUpdate": "你当前运行的是最新版本的 OyasumiVR 版本 {{version}}!", "notChecked": "OyasumiVR 尚未检查更新", - "updateAvailable": "新版本的 OyasumiVR 现已推出! 你当前正在运行版本 {{currentVersion}}。\n最新版本是 {{latest Version}}。" + "updateAvailable": "新版本的 OyasumiVR 现已推出! 你当前正在运行版本 {{currentVersion}}。\n最新版本是 {{latest Version}}。", + "updatesDisabled": { + "DEV": "如果您想安装新版本的 OyasumiVR,请下载并手动运行安装程序。", + "STEAM": "您已经安装了 Steam 版本的《OyasumiVR》。因此,新的《OyasumiVR》更新将通过 Steam 提供!" + } }, "advanced": { "persistentData": { @@ -757,6 +811,15 @@ }, "autoAcceptedInviteRequest": { "content": "已自动接受来自 {{username}} 的邀请请求" + }, + "turningOffControllers": { + "content": "关闭您的手把" + }, + "turningOffTrackers": { + "content": "关闭您的定位器" + }, + "turningOffControllersAndTrackers": { + "content": "关闭您的手把和定位器" } }, "comp": { @@ -1021,6 +1084,16 @@ "SLEEP_MODE_DISABLED": "由于睡眠模式被禁用" } }, + "displayBrightnessChanged": { + "title": { + "set": "头戴式显示器亮度设置为 {{value}}", + "transition": "头戴式显示器亮度正在过渡到 {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "因为已启用睡眠模式", + "SLEEP_MODE_DISABLED": "因为已停用睡眠模式" + } + }, "acceptedInviteRequest": { "title": "自动接受了来自'{{displayName}}的邀请请求", "subtitle": { @@ -1066,10 +1139,45 @@ "shutdownSequenceCancelled": { "title": "关机程序被取消了", "reason": { - "MANUAL": "Cancelled manually" + "MANUAL": "已手动取消" + } + }, + "msiAfterburnerProfileSet": { + "title": "MSI Afterburner 的配置档已设置为配置档 {{profile}}", + "reason": { + "SLEEP_MODE_ENABLED": "因为已启用睡眠模式", + "SLEEP_MODE_DISABLED": "因为已停用睡眠模式" + } + }, + "windowsPowerPolicySet": { + "title": "Windows 电源策略已设置为 '{{policy}}' 方案", + "reason": { + "SLEEP_MODE_ENABLED": "因为已启用睡眠模式", + "SLEEP_MODE_DISABLED": "因为已停用睡眠模式" } } } + }, + "dotnet-upgrade-modal": { + "title": "安装缺失的运行时库", + "description": { + "text1": "OyasumiVR 需要以下运行时库,但它们的版本要么太旧,要么未安装在您的系统中:", + "runtimeQueued": "排队中", + "text2": "为了继续使用 OyasumiVR,必须先安装这些所需的运行时库。", + "automaticInstall": "是否要让 OyasumiVR 尝试自动为您安装这些运行时库?", + "noAutomaticInstall": "OyasumiVR 无法确定这些运行时库的最新版本,因此无法自动为您安装。请手动安装这些运行时库,或退出 OyasumiVR,稍后再试。", + "moreInfo": "您可以在这里找到下载和更多信息:" + }, + "quit": "退出 OyasumiVR", + "installAutomatically": "自动安装", + "success": { + "title": "安装成功", + "message": "所需的缺失运行时库已经成功安装。请退出 OyasumiVR,然后重新启动以继续使用。" + }, + "failure": { + "title": "安装失败", + "message": "无法自动安装所需的缺失运行时库。请尝试手动安装它们。您可以查看日志文件以获取更多有关安装失败的信息。\n\n如果您持续遇到问题,请在 Twitter 上联系 @Raphiiko 或加入我们的 Discord 服务器寻求帮助。" + } } }, "resolution-automations": { @@ -1168,5 +1276,78 @@ "title": "正在关闭", "cancel": "立即取消" } + }, + "overlay": { + "dashboard": { + "overview": { + "sleepMode": "睡眠模式", + "active": "启用中", + "inactive": "未启用", + "tooltip": { + "automations": "自动化", + "deviceControl": "装置控制", + "shutdown": "关机序列" + } + }, + "shutdownSequence": { + "dialog": { + "title": "关机序列", + "message": "您即将开始关机序列。\n您确定要现在进行吗?\n\n您可以在主要的 OyasumiVR 视窗中配置关机序列的动作。", + "start": "开始关机" + } + }, + "deviceControl": { + "title": "装置控制", + "turnOff": { + "AllControllers": "关闭所有\n手把", + "AllTrackers": "关闭所有\n定位器", + "AllControllersAndTrackers": "关闭所有\n手把和定位器" + } + }, + "automations": { + "autoAcceptInviteRequests": { + "title": "自动接受邀请请求", + "subtitle": { + "singular": "{{mode}}:{{playerCount}} 位朋友", + "plural": "{{mode}}:{{playerCount}} 位朋友" + }, + "mode": { + "Disabled": "对所有人", + "Whitelist": "白名单", + "Blacklist": "黑名单" + } + }, + "changeStatusBasedOnPlayerCount": { + "title": "状态自动化", + "subtitle": { + "singular": "最多 {{threshold}} 位玩家", + "plural": "最多 {{threshold}} 位玩家" + } + }, + "sleepingAnimations": { + "title": "睡眠动画" + }, + "shutdownAutomations": { + "title": "自动关机", + "subtitle": "睡眠 {{time}} 后", + "seconds": { + "singular": "{{seconds}} 秒", + "plural": "{{seconds}} 秒" + }, + "minutes": { + "singular": "{{minutes}} 分钟", + "plural": "{{minutes}} 分钟" + } + }, + "sleepModeEnableForSleepDetector": { + "title": "睡眠检测", + "subtitle": { + "withoutActivationWindow": "{{sensitivity}}灵敏度", + "withActivationWindow": "{{sensitivity}} 灵敏度, {{startTime}} - {{endTime}}" + } + }, + "title": "自动化设定" + } + } } -} \ No newline at end of file +} diff --git a/src-ui/assets/i18n/en.json b/src-ui/assets/i18n/en.json index f8f7fe28..29f13eae 100644 --- a/src-ui/assets/i18n/en.json +++ b/src-ui/assets/i18n/en.json @@ -160,7 +160,11 @@ "description": "How long OyasumiVR should wait before it detects you being asleep", "unit": "min" }, - "description": "With this feature enabled, OyasumiVR will automatically enable sleep mode when it guesses you're asleep based on your movement." + "description": "With this feature enabled, OyasumiVR will automatically enable sleep mode when it guesses you're asleep based on your movement.", + "timeWindow": { + "title": "Activation Window", + "description": "Only allow sleep detection to activate the sleep mode between certain hours of day" + } }, "enableAtTime": { "title": "Enable sleep mode", @@ -670,7 +674,11 @@ "install": "Install v{{version}}", "noUpdate": "You are currently running OyasumiVR v{{version}} which is the latest version!", "notChecked": "OyasumiVR did not check for updates yet.", - "updateAvailable": "A new version of OyasumiVR is available! You are currently running v{{currentVersion}}.\nThe newest version is v{{latestVersion}}." + "updateAvailable": "A new version of OyasumiVR is available! You are currently running v{{currentVersion}}.\nThe newest version is v{{latestVersion}}.", + "updatesDisabled": { + "DEV": "As you are running a development build of OyasumiVR, updates have been disabled.\nIf you want to install a new(er) version of OyasumiVR, please download and run the installer manually.", + "STEAM": "You have installed the Steam version of OyasumiVR.\nNew OyasumiVR updates are therefore provided through Steam!" + } }, "advanced": { "persistentData": { @@ -1153,7 +1161,7 @@ "dotnet-upgrade-modal": { "title": "Install Missing Runtimes", "description": { - "text1": "The following runtimes that are needed by OyasumiVR are either too outdated, or not installed on your system:", + "text1": "The following runtimes that are needed by OyasumiVR either don't match the required version, or are not installed on your system:", "runtimeQueued": "Queued", "text2": "To continue using OyasumiVR, the required runtimes have to be installed first.", "automaticInstall": "Do you want OyasumiVR to try install these runtimes for you automatically?", @@ -1331,6 +1339,13 @@ "plural": "{{minutes}} minutes" } }, + "sleepModeEnableForSleepDetector": { + "title": "Sleep Detection", + "subtitle": { + "withoutActivationWindow": "{{sensitivity}} sensitivity", + "withActivationWindow": "{{sensitivity}} sensitivity, {{startTime}} - {{endTime}}" + } + }, "title": "Automation Settings" } } diff --git a/src-ui/assets/i18n/es.json b/src-ui/assets/i18n/es.json new file mode 100644 index 00000000..5b7c9966 --- /dev/null +++ b/src-ui/assets/i18n/es.json @@ -0,0 +1,1353 @@ +{ + "shared": { + "logo": { + "tagline": "Utiles VR para dormir" + }, + "modals": { + "cancel": "Cancelar", + "save": "Guardar", + "confirm": "Confirmar", + "ok": "Ok", + "open": "Abrir", + "close": "Cerar", + "login": "Log in" + }, + "common": { + "none": "None" + }, + "misc": { + "vrcLoginRequired": "Esta función requiere que hayas iniciado sesión con una cuenta de VRChat.", + "windowsPowerPolicy": { + "BALANCED": "Equilibrado", + "HIGH_PERFORMANCE": "Alto rendimiento", + "POWER_SAVING": "Ahorro de energía" + } + } + }, + "brightness-automations": { + "title": "Automatización del brillo", + "tabs": { + "imageBrightness": "Brillo de la imagen", + "displayBrightness": "Brillo de la pantalla" + }, + "displayBrightness": { + "description": "OyasumiVR puede ajustar automáticamente el brillo de la pantalla de los auriculares cuando el modo de suspensión está activado o desactivado. El brillo de la pantalla afecta a la intensidad de la luz de fondo del panel LCD de los auriculares, en lugar de oscurecer la imagen. El control del brillo de la pantalla sólo está disponible en el Valve Index.", + "indexWarning": "Asegúrate de que tu Index de Valve está conectado y de que SteamVR se está ejecutando.", + "onSleepEnable": { + "title": "Cuando me voy a dormir", + "description": "Ajustar el brillo de la pantalla" + }, + "onSleepDisable": { + "title": "Cuando me despierto", + "description": "Ajustar el brillo de la pantalla" + } + }, + "imageBrightness": { + "description": "OyasumiVR puede ajustar automáticamente el brillo de la imagen de los auriculares cuando el modo de suspensión está activado o desactivado. A diferencia del brillo de la pantalla, el control del brillo de la imagen está disponible para todos los visores.", + "onSleepEnable": { + "title": "Cuando me voy a dormir", + "description": "Ajustar el brillo de la pantalla" + }, + "onSleepDisable": { + "title": "Cuando me despierto", + "description": "Ajustar el brillo de la pantalla" + } + }, + "brightness": { + "title": "Cambia el brillo a", + "description": "" + }, + "transition": { + "title": "Ajuste el brillo gradualmente", + "description": "Transición suave al valor de brillo deseado" + }, + "transitionTime": { + "title": "Tiempo de transición", + "description": "Cuánto tiempo debería tardar la transición a la nueva configuración de brillo." + } + }, + "overview": { + "sleep-mode": { + "label": "Modo sueño", + "active": "Activo", + "inactive": "Inactivo", + "activate": "Activado", + "deactivate": "Desactivado" + } + }, + "sleep-detection": { + "title": "Detección del sueño", + "enableAutomations": { + "title": "Activar el modo de suspensión", + "description": "Activación automática del modo de reposo en función de varios activadores", + "atTime": "En un momento determinado", + "atBatteryPercentage": "Cuando el porcentaje de batería de un dispositivo cae por debajo de {{value}}%", + "onControllersPoweredOff": "Cuando todos los controladores están apagados", + "onMotionDetection": { + "title": "Cuando OyasumiVR detecta que estás dormido basándose en tu movimiento" + } + }, + "disableAutomations": { + "title": "Desactivar modo sueño", + "description": "Desactivación automática del modo sueño en función de varios activadores", + "atTime": "En un momento determinado", + "onDevicePowerOn": "Cuando se enciende un dispositivo", + "onSteamVRStop": "Cuando SteamVR está parado" + }, + "modals": { + "sleepDetectorCalibration": { + "title": "Calibrar la detección del sueño", + "currentCalibration": "Su valor de calibración actual:", + "noSteamVR": "Sólo puedes iniciar la calibración una vez que SteamVR se esté ejecutando con tu VR Headset conectado.", + "startCalibration": "Iniciar calibración", + "restartCalibration": "Reiniciar calibración", + "info": { + "intro": "OyasumiVR puede detectar si te has quedado dormido basándose en el movimiento de tu casco de RV. Para ello, debe calibrarse con tu configuración de RV. Necesitas calibrarlo al menos una vez antes de intentar utilizar esta función.", + "stepPrefix": "El calibrado funciona del siguiente modo:", + "step": { + "one": "Te pones los visor y te tumbas.", + "two": "Usted inicia la calibración en OyasumiVR desde su superposición.", + "three": "Te quedas quieto durante 10 segundos." + }, + "stepSuffix": "Ya está. Después de la calibración, OyasumiVR debería ser capaz de detectar si te has quedado dormido basándose en el movimiento de tu casco de RV." + }, + "prepare": { + "instruction": "Ponte el casco de realidad virtual y túmbate.", + "note": "Cuando estés listo y puedas ver esta ventana desde tu superposición, pulsa Iniciar calibración para empezar." + }, + "countdown": { + "instruction": "A partir de {{counter}}", + "note": "No se mueva mientras calibra. Si se mueve mientras calibra, esta función no funcionará correctamente." + }, + "calibrating": { + "instruction": "Calibración", + "note": "No te muevas.", + "countdown": "{{counter}} segundos(s) restante..." + }, + "done": { + "instruction": "Calibración completa!", + "note": "Ahora puede utilizar esta automatización." + }, + "failed": { + "instruction": "Error de calibración", + "note": "La calibración no se ha podido completar correctamente, probablemente debido a que el visor no informan de ningún dato. Asegúrate de que el visor están rastreando e inténtalo de nuevo." + } + }, + "enableForSleepDetector": { + "title": "Activar el modo sueño", + "calibration": { + "title": "Calibración", + "description": "Es necesario calibrar al menos una vez antes de intentar utilizar esta función.", + "action": "Calibrar" + }, + "sensitivity": { + "title": "Sensibilidad", + "description": "Cuanto mayor sea la sensibilidad, más probable será que OyasumiVR detecte que estás dormido.", + "presets": { + "LOWEST": "Más bajo", + "LOW": "Bajo", + "MEDIUM": "Medio", + "HIGH": "Alta", + "HIGHEST": "Más alto" + } + }, + "sleepCheck": { + "title": "Antes de activar el modo sueño, pregunta si sigo despierto", + "description": "Te envía una notificación para preguntarte si sigues despierto antes de activar el modo sueño." + }, + "detectionWindow": { + "title": "Ventana de detección", + "description": "Cuánto tiempo debe esperar OyasumiVR antes de detectar que estás dormido", + "unit": "min" + }, + "description": "Con esta función activada, OyasumiVR activará automáticamente el modo de reposo cuando adivine que estás dormido basándose en tu movimiento.", + "timeWindow": { + "title": "Ventana de activación", + "description": "Permitir que la detección de sueño active el modo de sueño sólo entre determinadas horas del día." + } + }, + "enableAtTime": { + "title": "Activar el modo sueño", + "description": "Activar el modo sueño a una hora determinada del día.", + "time": "Tiempo" + }, + "disableAtTime": { + "title": "Desactivar el modo sueño", + "description": "Desactiva el modo a una hora determinada del día.", + "time": "Tiempo" + }, + "disableOnDevicePowerOn": { + "title": "Desactivar el modo sueño", + "whenTurningOn": "Al encender un", + "Controller": "Controlador", + "GenericTracker": "Tracker" + }, + "enableAtBatteryPercentage": { + "title": "Activar el modo sueño", + "whenA": "Cuando un", + "Controller": "Controlador", + "GenericTracker": "Tracker", + "fallsBelow": "Cae por debajo de", + "errors": { + "thresholdOutOfRange": "El porcentaje debe estar comprendido entre el 0% y el 100%.", + "thresholdNotInteger": "El valor porcentual tiene que ser un número entero." + } + } + } + }, + "oscAutomations": { + "title": "Automatizaciones OSC", + "tab": { + "sleepingAnimations": "Animaciones para dormir", + "general": "General" + }, + "sleepingAnimations": { + "currentPose": "Posición actual", + "manualControl": "Control manual", + "presetAuthor": "by {{author}}", + "description": "OyasumiVR puede cambiar automáticamente las animaciones de tu avatar cuando cambias de posición para dormir. Esto puede ser útil si usted no tiene el seguimiento de todo el cuerpo, o si usted (o tienes OyasumiVR) apagar los rastreadores durante la noche. Vea un ejemplo aqui.\n\nHay preajustes disponibles para varios prefabricados de locomoción de avatares, pero también puedes especificar tus propias animaciones.", + "enable": "Activar animaciones automáticas para dormir", + "customPreset": "Animaciones personalizadas", + "options": { + "positions": { + "title": "Posiciones para dormir", + "description": "Configura los comandos OSC para activar la animación para cada posición de sueño.", + "SIDE_FRONT": "Vertical", + "SIDE_BACK": "Parte trasera", + "SIDE_LEFT": "Lado izquierdo", + "SIDE_RIGHT": "Lado derecho", + "UNKNOWN": "Desconocido" + }, + "footLock": { + "title": "Bloqueo de pie", + "description": "Configura los comandos OSC para activar y desactivar el bloqueo de pie.", + "FOOT_LOCK": "Activar el bloqueo del pie", + "FOOT_UNLOCK": "Desactivar el bloqueo del pie" + }, + "general": { + "title": "Opciones generales", + "onlySwitchAnimations": "Sólo animaciones de cambio", + "onlyIfSleepModeEnabled": "Si el modo sueño está activado", + "onlyIfAllTrackersTurnedOff": "Si todos los rastreadores están apagados", + "footLock": { + "title": "Bloqueo de pie", + "description": "Un bloqueo de pie suele impedir que el jugador se mueva o gire cuando está activado." + }, + "lockFeetOnSleepModeEnable": "Bloqueo de los pies cuando se activa el modo de suspensión", + "unlockFeetOnSleepModeDisable": "Desbloquear los pies cuando el modo de suspensión está desactivado", + "unlockFeetOnAutomationDisable": "Desbloqueo de los pies al desactivar las animaciones de sueño automáticas", + "releaseFootLockOnPoseChange": "Libere momentáneamente el bloqueo de los pies al cambiar de posición para dormir", + "footLockReleaseWindow": "Duración del desbloqueo del pie" + } + } + }, + "general": { + "description": "Aquí puedes configurar OyasumiVR para que envíe comandos OSC a VRChat cuando ocurran ciertos eventos. Esto puede, por ejemplo, ser útil si quieres cambiar los toggles de tu avatar cuando te vas a dormir o te despiertas.", + "onSleepEnable": { + "title": "Cuando me voy a dormir", + "description": "Envía estos comandos OSC", + "script": "Modo de sueño activado" + }, + "onSleepDisable": { + "title": "Cuando me despierto", + "description": "Envía estos comandos OSC", + "script": "Modo de sueño desactivado" + } + } + }, + "power-automations": { + "title": "Automatizaciones de energía", + "tabs": { + "controllersAndTrackers": "Controladores & Trackers", + "baseStations": "Estaciones base", + "windowsPowerPolicy": "Política energética" + }, + "windowsPowerPolicy": { + "description": "OyasumiVR puede cambiar automáticamente la política de energía de Windows activa cuando se va a dormir o despertar. Esto puede ser útil para reducir tu consumo de energía mientras duermes, y restaurar una política de mayor rendimiento cuando vuelvas a despertarte.", + "automations": "Automatizaciones", + "sleepModeEnable": { + "title": "Cuando el modo sueño está activado", + "description": "Establezca la siguiente directiva de energía de Windows" + }, + "sleepModeDisable": { + "title": "Cuando el modo sueño está desactivado", + "description": "Establezca la siguiente directiva de energía de Windows" + } + }, + "devicePowerOff": { + "onSleepModeEnable": { + "title": "Cuando me voy a dormir", + "description": "Apaga los dispositivos cuando el modo sueño esté activado.", + "optionControllers": "Apagar todos los controladores", + "optionTrackers": "Apagar todos los rastreadores", + "hint": "Puede configurar cuándo se activa el modo de suspensión en Detección del sueño." + }, + "onCharge": { + "title": "Cuando se cargan", + "description": "Haz que los dispositivos se apaguen automáticamente al ponerlos en el cargador.", + "optionControllers": "Apagar los controladores", + "optionTrackers": "Apagar los trackers" + } + }, + "lighthousePowerOn": { + "title": "Encender las estaciones base", + "description": "Haz que OyasumiVR encienda automáticamente tus estaciones base.", + "onOyasumiStart": { + "title": "Cuándo empieza OyasumiVR", + "description": "Enciende automáticamente tus estaciones base cuando se inicia OyasumiVR" + }, + "onSteamVRStart": { + "title": "Cuando se inicia SteamVR", + "description": "Enciende automáticamente tus estaciones base cuando se inicie SteamVR" + } + }, + "lighthousePowerOff": { + "title": "Apagar las estaciones base", + "description": "Haz que OyasumiVR apague automáticamente tus estaciones base.", + "onSteamVRStop": { + "title": "Cuando SteamVR se detiene", + "description": "Apaga automáticamente tus estaciones base cuando SteamVR se detenga" + } + }, + "powerManagementWarning": "Si optas por utilizar las automatizaciones de OyasumiVR para encender o apagar tus estaciones base, es recomendable que desactives la gestión de energía en la configuración de la estación base de SteamVR.", + "lighthouseControlDisabledWarning": "Estas automatizaciones no están disponibles porque has desactivado el control de potencia de la estación base en la configuración de OyasumiVR. Habilítelo si desea utilizar estas automatizaciones.", + "enableLighthouseControl": "Habilitar", + "error": { + "noAdapter": "No se ha encontrado ningún adaptador Bluetooth en su sistema. Por favor, asegúrese de que su sistema está equipado con un adaptador Bluetooth y que está habilitado.", + "adapterError": "Se ha producido un error al intentar comunicarse con el adaptador Bluetooth. Asegúrese de que el adaptador Bluetooth está activado e inténtelo de nuevo." + } + }, + "gpu-automations": { + "title": "Automatizaciones de GPU", + "disabled": { + "disabled": "OyasumiVR tiene varias formas de ajustar automáticamente la configuración de la GPU.\nEsto te permite ahorrar energía mientras duermes.\n\nComo se trata de una función para usuarios avanzados, está desactivada por defecto.\nPuede activarlo haciendo clic en el botón siguiente.", + "noSidecar": "Para que OyasumiVR pueda cambiar la configuración de tu GPU, necesita privilegios de administrador. Por favor, haga clic en el botón de abajo para dar privilegios de administrador OyasumiVR." + }, + "tabs": { + "powerLimiting": "Limitador de potencia", + "msiAfterburner": "MSI Afterburner" + }, + "requestAdministrator": "Conceder privilegios de administrador", + "disable": "Desactivar automatizaciones GPU", + "enable": "Habilitar automatizaciones de GPU", + "automations": "Automatizaciones del sueño", + "enableWarning": "Ajustar incorrectamente los parámetros de la GPU puede hacer que el sistema se vuelva inestable. Tenga esto en cuenta y active esta función sólo si sabe lo que está haciendo.", + "elevationSidecarModal": { + "title": "Dar privilegios de administrador", + "message": "¿Quieres dar siempre privilegios de administrador a OyasumiVR?\n\nSi lo activas, OyasumiVR te los pedirá inmediatamente al iniciarse. Puedes desactivar esto más tarde en cualquier momento en la configuración.", + "confirm": "Siempre", + "cancel": "Sólo esta vez" + }, + "powerLimiting": { + "disabled": { + "initializing": "Se están inicializando los automatismos limitadores de potencia...", + "noNvidia": "Las automatizaciones de limitación de potencia no están disponibles porque no se ha detectado ningún controlador NVIDIA en ejecución. Las automatizaciones de limitación de energía sólo están disponibles para las GPU NVIDIA.\n\nSi tienes una GPU NVIDIA en tu sistema, asegúrate de que está instalado el controlador adecuado para ella.\n\n({{code}})", + "noPermission": "Aunque OyasumiVR tiene privilegios de administrador, no tiene permiso para cambiar la configuración de tu GPU.\n\nPor favor, compruebe la configuración de su sistema, ya que normalmente esto no debería ocurrir nunca.", + "noSidecar": "Por una razón desconocida, no se han podido obtener privilegios de administrador.\nSon necesarios para controlar los límites de potencia de tu GPU.\n\nPor favor, intente reiniciar OyasumiVR.", + "unknown": "Los automatismos limitadores de potencia no están disponibles por un motivo desconocido.\n\nPor favor, intente reiniciar OyasumiVR." + }, + "noGPUSelected": "No GPU seleccionada", + "gpuUnsupported": "GPU no compatible", + "noGPUs": "No se han encontrado GPUs NVIDIA en tu sistema.", + "description": "Aquí puedes automatizar los límites de potencia de tu GPU, para ahorrar electricidad mientras duermes. La limitación de potencia sólo está disponible para GPUs NVIDIA.", + "selectGPU": "Seleccione la GPU para la que desea establecer el límite de potencia:", + "gpuPowerLimitsUnsupported": "La GPU seleccionada no permite establecer límites de potencia.", + "currentPowerLimit": "Límite de potencia actual", + "activatingSleepMode": { + "title": "Cuando me voy a dormir", + "description": "Especifique el límite de potencia que se establecerá cuando se active el modo de suspensión" + }, + "deactivatingSleepMode": { + "title": "When I wake up", + "description": "Specify the power limit to set when sleep mode deactivates" + }, + "enabledWarning": "Please be aware that setting your power limits too low could result in your system becoming unstable. Disable this feature if you do not know what you are doing.", + "inputDefault": "Reset to the GPU's default limit." + }, + "msiAfterburner": { + "description": "OyasumiVR puede ajustar automáticamente la configuración de tu GPU cuando te vas a dormir o te despiertas, aplicando perfiles que hayas creado en MSI Afterburner. Un caso de uso para esta funcionalidad es ahorrar electricidad mientras duermes y recuperar la potencia de la GPU cuando te despiertas.

    Tienes que configurar los perfiles que quieres aplicar en MSI Afterburner.
    Puedes descargar MSI Afterburner aqui.", + "sleepModeEnable": { + "title": "Cuando el modo dormir está activado", + "description": "Aplique el siguiente perfil MSI Afterburner" + }, + "sleepModeDisable": { + "title": "Cuando el modo dormir está desactivado", + "description": "Aplique el siguiente perfil MSI Afterburner" + }, + "profile": "Perfil {{index}}", + "none": "None", + "enabledWarning": "Tenga en cuenta que una configuración incorrecta de su GPU en MSI Afterburner podría provocar la inestabilidad de su sistema. Desactive esta función si no sabe lo que está haciendo.", + "executable": { + "title": "Configuración", + "description": "OyasumiVR necesita saber la ubicación de su MSIAfterburner.exe ejecutable.\nSi OyasumiVR no puede encontrarlo en la ubicación predeterminada, es necesario establecer dónde se puede encontrar.", + "status": { + "CHECKING": "Comprobación de la validez MSIAfterburner.exe", + "NOT_FOUND": "En MSIAfterburner.exe no se pudo encontrar en este lugar.", + "INVALID_EXECUTABLE": "En MSIAfterburner.exe en esta ubicación no se pudo verificar que funcionara.", + "INVALID_SIGNATURE": "En MSIAfterburner.exe en esta ubicación no se ha podido verificar que proceda de MSI. Por razones de seguridad no se puede utilizar. Por favor, asegúrate de que estás utilizando la última versión de MSI Afterburner. Si el problema persiste o estás seguro de que es correcto, ponte en contacto con el desarrollador de OyasumiVR o envía un informe de errores.", + "UNKNOWN_ERROR": "Se ha producido un error desconocido al intentar buscar MSIAfterburner.exe en este lugar.", + "SUCCESS": "MSIAfterburner.exe se ha encontrado y funciona correctamente!" + } + } + } + }, + "status-automations": { + "title": "Automatizaciones de estado", + "enable": "Activar automatizaciones de estado", + "description": "OyasumiVR puede limitar la cantidad de personas que se unen a usted, mediante el establecimiento automático de su estado\n en función del número de jugadores que haya en tu mundo.", + "exampleUse": "Ejemplo de uso: Cuando alguien se una a ti, ¡cambia automáticamente tu estado a naranja o rojo!\nCuando se vayan y vuelvas a estar solo, cambia automáticamente tu estado a azul para que otra persona pueda unirse a ti.", + "disableToEdit": "Desactive las automatizaciones de estado antes de realizar cualquier cambio.", + "playerLimit": "Límite de jugadores", + "playerLimitLabel": { + "singular": "{{count}} jugador (incluido tú)", + "plural": "{{count}} jugadores (incluido tú)" + }, + "belowLimit": { + "title": "Por debajo del límite", + "description": "Establece tu estado en" + }, + "atLimitOrAbove": { + "title": "En el límite o por encima", + "description": "Establezca su estado en" + }, + "onlyIfSleepModeEnabled": "Sólo cuando el modo dormir está activado", + "behaviourWarning": "Los cambios de estado de OyasumiVR no son visibles para el jugador. Incluso para otros jugadores, puede tardar un poco en mostrarse una actualización de estado. Esto es una limitación del VRChat y no puede ser arreglado por OyasumiVR.", + "moreInfo": "Más información", + "behaviourWarningFAQ": "Aquí puedes encontrar las respuestas a algunas preguntas que puedas tener sobre el comportamiento de cambio de estado:\n\nQ: ¿Puedo aceptar automáticamente las solicitudes de invitación, incluso si VRChat no muestra que estoy en azul? (join me), se encargará de aceptar automáticamente las solicitudes de invitación que reciba.\n\nQ: La gente no puede unirse a mí porque mi estado no se actualiza para ellos.\nA: Las actualizaciones de estado pueden tardar un poco en mostrarse a otros usuarios. Si quieren unirse a ti pero no pueden, pueden forzar la actualización de tu estado abriendo tu perfil en el menú principal." + }, + "auto-invite-request-accept": { + "title": "Aceptar automáticamente solicitudes de invitación", + "description": "OyasumiVR puede aceptar automáticamente las solicitudes de invitación que recibas. Utilizando la lista blanca o negra de jugadores, puedes asegurarte de que solo se acepten automáticamente las solicitudes de invitación de los amigos que elijas.", + "userOnBusyStatus": "No puedes aceptar solicitudes de invitación de usuarios mientras tu estado sea ocupado. (red).", + "userOnJoinMeStatus": "VRChat aceptará automáticamente todas las solicitudes de invitación, independientemente de su configuración, porque su estado es en unirse a mí (blue).", + "whitelist": "Jugador Whitelist", + "blacklist": "Jugador Blacklist", + "noPlayersAdded": "Actualmente no hay jugadores añadidos a la lista.", + "addFriends": "Añadir amigos", + "clearPlayers": "Despejar jugadores", + "removeModal": { + "title": "Confirmar eliminación", + "message": "¿Está seguro de que desea eliminar '{{name}}' de tu lista?" + }, + "removeModalBulk": { + "title": "Confirmar eliminación", + "message": "¿Estás seguro de que quieres eliminar a todo el mundo de tu lista?" + }, + "options": { + "enable": { + "title": "Habilitar", + "description": "Acepta automáticamente las solicitudes de invitación de tus amigos." + }, + "onlyIfSleepModeEnabled": { + "title": "Sólo cuando el modo dormir está activado" + }, + "listMode": { + "title": "Modo Lista", + "description": "Funcionamiento de la lista de jugadores", + "options": { + "DISABLED": { + "label": "Desactivado", + "subLabel": "Aceptar a todos" + }, + "WHITELIST": { + "label": "Whitelist", + "subLabel": "Aceptar de los amigos de la lista" + }, + "BLACKLIST": { + "label": "Blacklist", + "subLabel": "Aceptar de amigos que no estén en la lista" + } + } + } + } + }, + "settings": { + "title": "Ajustes", + "tab": { + "general": "General", + "vrchat": "VRChat", + "notifications": "Notificaciones", + "updates": "Actualizaciones", + "advanced": "Avanzado" + }, + "general": { + "language": { + "title": "Idioma", + "description": "Aquí puede seleccionar el idioma que desee. Si falta alguna traducción o desea añadirla a su idioma, póngase en contacto con nosotros." + }, + "lighthouseConsole": { + "title": "Consola Lighthouse", + "description": "OyasumiVR necesita conocer la ubicación de los archivos de tu instalación de SteamVR lighthouse_console.exe.\nSi OyasumiVR no puede encontrarlo en la ubicación predeterminada, es necesario establecer dónde se puede encontrar.", + "status": { + "NOT_FOUND": "En lighthouse_console.exe no se pudo encontrar en este lugar.", + "INVALID_EXECUTABLE": "En lighthouse_console.exe en esta ubicación no se pudo verificar que funcionara.", + "PERMISSION_DENIED": "OyasumiVR no tiene permiso para ejecutar el programa lighthouse_console.exe en esta ubicación. Intente ejecutar OyasumiVR como administrador.", + "INVALID_FILENAME": "La ubicación establecida no es una ruta de archivo válida.", + "UNKNOWN_ERROR": "Se ha producido un error desconocido al intentar buscar lighthouse_console.exe en este lugar.", + "CHECKING": "Comprobación de la validez lighthouse_console.exe", + "SUCCESS": "lighthouse_console.exe se ha encontrado y funciona correctamente!" + } + }, + "adminPrivileges": { + "title": "Privilegios de administrador", + "label": "Solicitar privilegios de administrador al inicio", + "description": "OyasumiVR necesita privilegios de administrador para poder controlar los límites de potencia de tu GPU. Si habilitas esta opción, OyasumiVR te pedirá privilegios de administrador cuando se inicie." + }, + "telemetry": { + "title": "Telemetría", + "label": "Enviar datos de uso anónimos", + "description": "Los datos que se enviarán se limitan a la versión de OyasumiVR que estás utilizando y al idioma que has configurado. No se envía ningún otro dato y es completamente anónimo. Estos datos sólo se utilizan para proporcionar algunas estadísticas generales de uso." + }, + "systemTray": { + "title": "Bandeja de sistema", + "close": { + "label": "Cerrar la bandeja del sistema", + "description": "Cierra OyasumiVR en la bandeja del sistema en lugar de salir del programa." + }, + "start": { + "label": "Iniciar en la bandeja del sistema", + "description": "Inicia OyasumiVR minimizado en la bandeja del sistema." + } + }, + "lighthousePowerControl": { + "title": "Control de potencia de la estación base SteamVR", + "powerOffMode": { + "standby": { + "title": "En espera", + "description": "Apagar\nláseres" + }, + "sleep": { + "title": "dormir", + "description": "Apagar\nláseres y motores" + }, + "title": "Estado de apagado preferido", + "description": "A diferencia del modo Standby, el modo Sleep también apaga los motores, que pueden tardar más en volver a encenderse." + }, + "enable": { + "title": "Activar control de potencia", + "description": "Si se activa, podrás apagar y encender tus estaciones base usando OyasumiVR. Requiere bluetooth y solo es compatible con estaciones base V2." + } + }, + "sleepMode": { + "title": "Modo sueño", + "startupBehaviour": { + "title": "Estado de inicio", + "description": "Cuál debe ser el modo de suspensión cuando se inicia OyasumiVR", + "option": { + "persist": { + "title": "Estado guardado", + "description": "Recuerda de la última vez" + }, + "enabled": { + "title": "Activo", + "description": "Comenzar como activo" + }, + "disabled": { + "title": "Inactivo", + "description": "Comenzar como inactivo" + } + } + } + }, + "overlay": { + "activation": { + "title": "Acción de activación", + "description": "Seleccione qué acción abrirá y cerrará la superposición", + "action": { + "none": "Ninguno (desactivado)", + "singleA": "Una pulsación A", + "doubleA": "Doble pulsación A", + "tripleA": "Triple pulsación A", + "singleB": "Una pulsación B", + "doubleB": "Doble pulsación B", + "tripleB": "Triple pulsación B" + }, + "controller": { + "either": "Cualquiera de los controladores", + "left": "Mando izquierdo", + "right": "Mando derecho", + "title": "Controlador", + "description": "Seleccione los controladores que pueden utilizarse para activar la superposición" + }, + "triggerFilter": { + "title": "Requiere gatillo", + "description": "Sólo se activa si se mantiene pulsado el gatillo mientras se realiza la acción." + } + }, + "title": "Superposición" + } + }, + "vrchat": { + "logIn": { + "title": "Iniciar sesión", + "description": "Algunas funciones de OyasumiVR requieren que inicies sesión con tu cuenta de VRChat para que funcionen.", + "loggedIn": { + "title": "Hola {{name}}!", + "subtext": "Actualmente estás conectado con tu cuenta de VRChat.", + "logOut": "Cerrar sesión" + }, + "loggedOut": { + "title": "Desconectado", + "subtext": "Actualmente no has iniciado sesión con tu cuenta de VRChat.", + "logIn": "Iniciar sesión" + }, + "disclaimers": { + "use": "Tus credenciales de acceso nunca se almacenarán en ningún sitio y sólo se envían a los servidores de VRChat con fines de autenticación.", + "brand": "OyasumiVR no está respaldado por VRChat y no refleja los puntos de vista u opiniones de VRChat ni de nadie que participe oficialmente en la producción o gestión de VRChat. VRChat es una marca comercial de VRChat Inc. VRChat © VRChat Inc.", + "liability": "Raphiiko no se hace responsable de los problemas causados por OyasumiVR. Utilícelo bajo su propia responsabilidad!" + } + }, + "OSC": { + "title": "Ajustes OSC", + "description": "Algunas características requieren conectarse a VRChat vía OSC. A menos que tengas una razón específica para cambiarlas, deberías dejarlas por defecto.", + "reset": "Restablecer valores por defecto", + "receivingHost": { + "title": "Anfitrión receptor", + "description": "El anfitrión OyasumiVR escuchará los mensajes OSC en.\n(VRChat envía a 127.0.0.1 por defecto)" + }, + "receivingPort": { + "title": "Puerto receptor", + "description": "El número de puerto en el que OyasumiVR escuchará los mensajes OSC.\n(VRChat envía al puerto 9001 por defecto)" + }, + "sendingHost": { + "title": "Anfitrión emisor", + "description": "El anfitrión OyasumiVR enviará mensajes OSC a.\n(Si VRChat se ejecuta en la misma máquina, es 127.0.0.1)" + }, + "sendingPort": { + "title": "Puerto de envío", + "description": "El número de puerto al que OyasumiVR enviará los mensajes OSC.\n(VRChat escucha por defecto en el puerto 9000)" + }, + "errors": { + "PORT_IN_USE": "No se ha podido vincular esta dirección. Puede ser que otra aplicación ya la esté utilizando. Puedes intentar cerrar esa aplicación e intentarlo de nuevo, o elegir un puerto o host de recepción diferente.", + "PORT_INVALID": "Un puerto tiene que ser un número válido entre 1 y 65535.", + "PORT_IO_IDENTICAL": "No se puede utilizar el mismo puerto para el envío y la recepción cuando los hosts de envío y recepción son los mismos.", + "INVALID_HOST": "El host debe ser un nombre de host válido, una dirección IPv4 o una dirección IPv6." + }, + "features": { + "all": { + "title": "Activar todas las funciones", + "description": "La desactivación de cada una de estas características hará que OyasumiVR deje de escuchar los mensajes OSC" + }, + "expressionMenu": { + "title": "Activar el control del menú de expresión de VRChat", + "description": "Controla las funciones de OyasumiVR desde el avatar de tu VRChat menú de expresión" + }, + "externalControl": { + "title": "Activar control externo", + "description": "Controla las funciones de OyasumiVR en OSC" + } + } + } + }, + "notifications": { + "title": "Ajustes de las notificaciones", + "provider": { + "title": "Proveedor de notificaciones", + "description": "Seleccione el proveedor que se utilizará para enviarle las notificaciones" + }, + "notifications": { + "title": "Notificaciones activas", + "description": "Seleccionar qué notificaciones se enviarán y cuáles no", + "category": { + "SLEEP_MODE_ENABLED": { + "title": "Modo dormir activado", + "description": "Recibe una notificación cuando se active el modo de suspensión" + }, + "SLEEP_MODE_DISABLED": { + "title": "Modo dormir desactivado", + "description": "Recibir una notificación cuando se desactiva el modo de suspensión" + }, + "AUTO_UPDATED_STATUS_PLAYERCOUNT": { + "title": "Actualización del estado de VRChat (Automatización del límite de jugadores)", + "description": "Recibe una notificación cuando OyasumiVR haya actualizado automáticamente tu estado en VRChat." + }, + "AUTO_ACCEPTED_INVITE_REQUEST": { + "title": "Solicitud de invitación aceptada automáticamente", + "description": "Recibe una notificación cuando OyasumiVR acepte automáticamente la solicitud de invitación de alguien." + } + } + } + }, + "updates": { + "checkForUpdates": "Comprobar actualizaciones", + "changelog": "Registro de cambios", + "install": "Instalar v{{version}}", + "noUpdate": "Actualmente está ejecutando OyasumiVR v{{version}} que es la última versión!", + "notChecked": "OyasumiVR aún no ha comprobado si hay actualizaciones.", + "updateAvailable": "¡Una nueva versión de OyasumiVR está disponible! Actualmente está ejecutando v{{currentVersion}}.\nLa versión más reciente es v{{latestVersion}}.", + "updatesDisabled": { + "DEV": "Como se está ejecutando una versión de desarrollo de OyasumiVR, las actualizaciones se han desactivado.\nSi desea instalar una nueva versión de OyasumiVR, descargue y ejecute el instalador manualmente.", + "STEAM": "Has instalado la versión Steam de OyasumiVR.\nPor lo tanto, ¡las nuevas actualizaciones de OyasumiVR se proporcionan a través de Steam!" + } + }, + "advanced": { + "persistentData": { + "title": "Datos persistentes", + "description": "Gestiona los datos que OyasumiVR almacena en tu disco", + "dataType": { + "all": { + "title": "Todos los datos", + "description": "Todos los datos que OyasumiVR almacena, incluyendo todos sus ajustes" + }, + "appSettings": { + "title": "Ajustes de la aplicación", + "description": "Todos los ajustes generales de OyasumiVR" + }, + "automationSettings": { + "title": "Ajustes de automatización", + "description": "Todos los ajustes específicos de una de las automatizaciones de OyasumiVR" + }, + "vrcData": { + "title": "VRChat Datos", + "description": "Datos específicos de VRChat, como los de autenticación" + }, + "miscData": { + "title": "Otros datos", + "description": "Todos los demás datos que OyasumiVR almacena, no cubiertos por otras categorías" + }, + "appCache": { + "title": "Caché de datos", + "description": "Todos los datos que se almacenan temporalmente, como las respuestas de la API de VRChat" + }, + "imageCache": { + "title": "Caché de imagen", + "description": "Todas las imágenes que se almacenan temporalmente, como los iconos de los reproductores de VRChat" + }, + "logs": { + "title": "Archivos de registro", + "description": "Los archivos de registro que crea OyasumiVR" + }, + "eventLog": { + "title": "Registro de eventos", + "description": "Los eventos que se registran en el resumen" + } + }, + "clearData": "Borrar datos", + "clearModal": { + "title": "Confirmar borrado de datos", + "message": "¿Está seguro de que desea eliminar los siguientes datos? ¡Esto no se puede revertir!\n\n{{items}}" + }, + "relaunchModal": { + "title": "Reiniciar OyasumiVR", + "message": "Los datos solicitados han sido borrados. Se recomienda reiniciar OyasumiVR después de hacer esto.\n\n¿Quieres hacerlo ahora? No reiniciar OyasumiVR podría tener efectos no deseados.", + "relaunch": "Reinicia OyasumiVR ahora", + "later": "Lo haré más tarde" + } + }, + "translation": { + "title": "Idiomas y traducción", + "loadFile": { + "title": "Cargar archivo de traducción", + "description": "Carga un archivo de idioma personalizado. Útil para probar nuevas traducciones.", + "action": "Cargar archivo" + }, + "contribute": { + "docs": "Aprende cómo", + "title": "Colabora aportando traducciones", + "description": "Contribuya con las traducciones que faltan o ayude a añadir nuevos idiomas!" + } + }, + "logs": { + "title": "Archivos de registro", + "openFolder": { + "title": "Abrir carpeta de registro", + "description": "Abre la ubicación de los archivos de registro de OyasumiVR en tu explorador de archivos", + "action": "Abrir carpeta de registro" + } + } + } + }, + "about": { + "author": { + "role": "Desarrollador" + }, + "translations": "Traducciones", + "projectLinks": "Enlaces de proyectos", + "sourceLink": "Código fuente @ GitHub", + "discordInvite": "Discord Server", + "contributions": "Contribuciones" + }, + "updater": { + "modals": { + "error": { + "title": "Actualización fallida", + "message": "No se ha podido instalar la actualización. Vuelva a intentarlo más tarde." + } + } + }, + "misc": { + "GOGO_LOCO_LEGACY_PRESET_WARNING": "Este preajuste utiliza una solución que tiene algunos problemas. Por favor, utiliza este preajuste sólo si no puedes utilizar el preajuste GoGo Loco más reciente. Si tu avatar todavía utiliza una versión anterior de GoGo Loco, se recomienda que actualices tu avatar para utilizar la última versión de GoGo Loco.", + "oscScriptEditorErrors": { + "noFloatMilliseconds": "Los valores en milisegundos deben definirse como un número entero.", + "durationTooShort": "La duración del sueño debe ser de al menos 1 ms.", + "durationTooLong": "La duración del sueño no puede superar los 5 segundos.", + "durationRequired": "Se requiere duración del sueño.", + "totalDurationTooLong": "La duración total del guión no puede superar los 10 segundos.", + "intOutOfBounds": "El valor debe ser un número entero válido entre 0 y 255.", + "floatOutOfBounds": "El valor debe ser un valor flotante válido entre -1.0 y 1.0.", + "floatTooPrecise": "El valor sólo puede tener una precisión de 3 decimales como máximo.", + "invalidSyntax": "Sintaxis inválida.", + "tooManyCommands": "Un script OSC no puede tener más de {{value}} acciones.", + "addressNoSlash": "Una dirección OSC válida debe empezar siempre por el símbolo '/'.", + "addressRequired": "Se requiere una dirección OSC.", + "addressNotASCII": "Una dirección OSC válida sólo debe contener caracteres ASCII." + } + }, + "notifications": { + "sleepCheck": { + "content": "El modo de reposo se activará en 20 segundos. ¿Estás dormido?\n\n(Sacudir la cabeza para cancelar)" + }, + "sleepCheckCancel": { + "content": "Se ha cancelado la activación automática del modo de suspensión" + }, + "sleepModeEnabled": { + "content": "Se ha activado el modo sueño" + }, + "sleepModeDisabled": { + "content": "Se ha desactivado el modo sueño" + }, + "vrcStatusChangedPlayerCount": { + "content": "Tu estado de VRChat se ha establecido en '{{newStatus}}'" + }, + "autoAcceptedInviteRequest": { + "content": "Solicitud de invitación aceptada automáticamente de {{username}}" + }, + "turningOffControllers": { + "content": "Apagar los mandos" + }, + "turningOffTrackers": { + "content": "Apagar los trackers" + }, + "turningOffControllersAndTrackers": { + "content": "Apagar los mandos y los trackers" + } + }, + "comp": { + "main-status-bar": { + "sleepMode": "Modo sueño", + "active": "Activo", + "inactive": "Inactivo", + "loggedOut": "Desconectado", + "steamvr": { + "INACTIVE": "Inactivo", + "INITIALIZING": "Esperando", + "INITIALIZED": "Activo" + } + }, + "confirm-modal": { + "defaultTitle": "Confirmar" + }, + "update-modal": { + "title": "Actualización disponible", + "updateNow": "Instalar v{{version}}", + "updateLater": "Ahora no", + "message": "Se ha encontrado una nueva actualización para OyasumiVR: v{{newVersion}}.\n\nActualmente sigue ejecutando v{{currentVersion}}.\n\n¿Quiere actualizar ahora o más tarde?" + }, + "select-box": { + "defaultPlaceholder": "Seleccione..." + }, + "dashboard-navbar": { + "overview": "Visión general", + "sleepDetection": "Detección de sueño", + "oscAutomations": "Automatizaciones OSC", + "gpuAutomations": "Automatizaciones de GPU", + "powerAutomations": "Automatizaciones de energía", + "statusAutomations": "Automatizaciones de estado", + "autoInviteRequestAccept": "Auto Aceptar \nSolicitudes de invitación", + "settings": "Ajustes", + "vrcAutomations": "Automatizaciones VRChat", + "brightnessAutomations": "Automatizaciones de brillo", + "about": "Acerca de OyasumiVR", + "resolutionAutomations": "Automatizaciones de resolución", + "chaperoneAutomations": "Automatizaciones Chaperone", + "sleepAnimations": "Animaciones para dormir", + "hardwareAutomations": "Automatizaciones de hardware", + "shutdownAutomations": "Secuencia de apagado" + }, + "device-list": { + "title": "Dispositivos", + "turnOffAll": "TODO", + "noDevices": "No se detectan dispositivos", + "category": { + "Controller": "Controladores", + "GenericTracker": "Trackers", + "other": "Otros", + "Lighthouse": "Estaciones base" + }, + "deviceName": { + "lighthouseV2": "V2 Faro" + }, + "lighthouseStatus": { + "on": "Activo", + "unknown": "Estado desconocido", + "sleep": "Dormir", + "standby": "En espera", + "booting": "Arranque" + }, + "scanForLighthouses": "Escanear" + }, + "osc-script-modal": { + "title": "OSC Script", + "simple": "Simple", + "script": "Script" + }, + "osc-script-code-editor": { + "title": "OSC Script Editor", + "syntaxGuide": "Guía de sintaxis", + "format": "Formato", + "test": "Prueba" + }, + "osc-script-simple-editor": { + "commandCounter": { + "singular": "{{value}} Comando", + "plural": "{{value}} Comandos" + }, + "errorCounter": { + "singular": "{{value}} Error de validación", + "plural": "{{value}} Errores de validación" + }, + "addCommand": "Añadir", + "test": "Prueba", + "action": { + "osc": "OSC", + "sleep": "Dormir", + "none": "Aún no se ha añadido ninguna acción!" + }, + "commands": { + "COMMAND": { + "title": "OSC Comando", + "description": "Ejecutar un comando OSC" + }, + "SLEEP": { + "title": "Dormir", + "description": "Esperar un tiempo determinado" + } + } + }, + "vrchat-login-modal": { + "title": "Iniciar sesión en VRChat", + "username": "VRChat Usuario/E-mail", + "password": "Contraseña", + "errors": { + "CHECK_EMAIL": "Error en el inicio de sesión: Para más detalles, comprueba el buzón de la dirección de correo electrónico que está vinculada a tu cuenta de VRChat.", + "INVALID_CREDENTIALS": "Las credenciales que ha proporcionado son incorrectas.", + "UNEXPECTED_RESPONSE": "Error de conexión: se ha producido un error desconocido. Por favor, verifique su conexión o inténtelo más tarde." + } + }, + "vrchat-login-tfa-modal": { + "title": "Autenticación de dos factores", + "description": "Tu cuenta de VRChat está protegida con autenticación de dos factores.\n\nPor favor, introduzca un código 2FA:", + "errors": { + "LAST_CODE_INVALID": "El código 2FA que has proporcionado era incorrecto.", + "INVALID_FORMAT": "Un código 2FA válido es una secuencia de 6 números. Por favor, verifique su entrada." + } + }, + "friend-selection-modal": { + "title": "Seleccionar amigos", + "searchPlaceholder": "Buscar amigo por nombre...", + "noFriendsSelected": "No hay amigos seleccionados", + "noResultsFor": "No hay resultados para '{{query}}'", + "noFriends": "Tu lista de amigos está vacía" + }, + "event-log": { + "title": "Eventos", + "show-more": "Ver más", + "no-logs": "Aún no se ha registrado ningún evento.\nLos registros se conservan un máximo de 48 horas.", + "clearLog": "Borrar", + "clearLogModal": { + "title": "Confirmar borrado", + "message": "¿Estás seguro de que quieres borrar el registro de eventos? Esto no se puede deshacer." + } + }, + "event-log-entry": { + "type": { + "sleepModeEnabled": { + "title": "Modo de sueño activado", + "reason": { + "manual": "Has activado el modo de sueño manualmente", + "osc-control": "El modo sueño se activó a través de OSC", + "automation": { + "unknown": "Por un automatismo desconocido", + "SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR": "Mientras dormías", + "SLEEP_MODE_ENABLE_AT_TIME": "A la hora prevista", + "SLEEP_MODE_ENABLE_AT_BATTERY_PERCENTAGE": "Como el nivel de batería de un dispositivo alcanzó el umbral", + "SLEEP_MODE_ENABLE_ON_CONTROLLERS_POWERED_OFF": "Como tus controladores estaban todos apagados" + } + } + }, + "sleepModeDisabled": { + "title": "Modo de sueño desactivado", + "reason": { + "manual": "Ha desactivado el modo sueño manualmente", + "osc-control": "El modo sueño se desactivó a través de OSC", + "automation": { + "unknown": "Por un automatismo desconocido", + "SLEEP_MODE_CHANGE_ON_STEAMVR_STATUS": "Como SteamVR cerro", + "SLEEP_MODE_DISABLE_AT_TIME": "A la hora prevista", + "SLEEP_MODE_DISABLE_ON_DEVICE_POWER_ON": "Al encender un dispositivo" + } + } + }, + "turnedOffOpenVRDevices": { + "title": { + "CONTROLLER": "Apagado de un controlador", + "CONTROLLERS": "Apagado de varios controladores", + "TRACKER": "Apagar un tracker", + "TRACKERS": "Desactivación de varios trackers", + "ALL": "Apagado todos los dispositivos", + "VARIOUS": "Apagado de varios dispositivos" + }, + "reason": { + "MANUAL": "Apagado manual", + "OSC_CONTROL": "Apagado sobre OSC", + "SLEEP_MODE_ENABLED": "Cuando el modo de suspensión estaba activado", + "CHARGING": "Mientras el dispositivo se recarga" + } + }, + "lighthouseSetPowerState": { + "SINGLE": { + "on": { + "title": "Encendido de una estación base", + "reasons": { + "MANUAL": "Encendido manual", + "STEAMVR_START": "Cuando SteamVR empezó", + "STEAMVR_STOP": "Cuando SteamVR se detuvo", + "OYASUMI_START": "Cuando OyasumiVR comenzó" + } + }, + "sleep": { + "title": "Poner una estación base en modo reposo", + "reasons": { + "MANUAL": "Ajustar manualmente", + "STEAMVR_START": "Cuando empezó SteamVR", + "STEAMVR_STOP": "Cuando SteamVR se detuvo", + "OYASUMI_START": "Cuando OyasumiVR comenzó" + } + }, + "standby": { + "title": "Poner una estación base en modo de espera", + "reasons": { + "MANUAL": "Ajustar manualmente", + "STEAMVR_START": "Cuando SteamVR comenzó", + "STEAMVR_STOP": "Cuando SteamVR se detuvo", + "OYASUMI_START": "Cuando OyasumiVR comenzó" + } + } + }, + "ALL": { + "on": { + "title": "Encendido de todas las estaciones base", + "reasons": { + "MANUAL": "Encendido manual", + "STEAMVR_START": "Cuando SteamVR comenzó", + "STEAMVR_STOP": "Cuando SteamVR se detuvo", + "OYASUMI_START": "Cuando OyasumiVR comenzó" + } + }, + "sleep": { + "title": "Poner todas las estaciones base en modo reposo", + "reasons": { + "MANUAL": "Ajustar manualmente", + "STEAMVR_START": "Cuando SteamVR comenzó", + "STEAMVR_STOP": "Cuando SteamVR comenzó", + "OYASUMI_START": "Cuando OyasumiVR comenzó" + } + }, + "standby": { + "title": "Poner todas las estaciones base en modo de espera", + "reasons": { + "MANUAL": "Ajustar manualmente", + "STEAMVR_START": "Cuando SteamVR comenzó", + "STEAMVR_STOP": "Cuando SteamVR comenzó", + "OYASUMI_START": "Cuando OyasumiVR comenzó" + } + } + } + }, + "gpuPowerLimitChanged": { + "title": { + "reset": "Límite de potencia para '{{device}}' restaurado a {{limit}}", + "set": "Límite de potencia para '{{device}}' ajustado a {{limit}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivado" + } + }, + "imageBrightnessChanged": { + "title": { + "set": "Brillo de la imagen del auricular ajustado a {{value}}", + "transition": "Brillo de la imagen del auricular pasando a {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivado" + } + }, + "displayBrightnessChanged": { + "title": { + "set": "Brillo de la pantalla del auricular ajustado a {{value}}", + "transition": "Brillo de la pantalla del auricular pasando a {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivad" + } + }, + "acceptedInviteRequest": { + "title": "Solicitud de invitación aceptada automáticamente de '{{displayName}}'", + "subtitle": { + "whitelist": "Cuando este jugador estaba en la whitelisted", + "blacklist": "Cuando este jugador no estaba en blacklisted" + } + }, + "statusChangedOnPlayerCountChange": { + "title": "Has cambiado tu estado de VRChat de {{oldStatus}} a {{newStatus}}", + "reason": { + "BELOW_LIMIT": "A medida que la cantidad de jugadores en su mundo cayó por debajo de {{threshold}}", + "AT_LIMIT_OR_ABOVE": "Como la cantidad de jugadores en su mundo alcanzó el límite de {{threshold}}" + } + }, + "sleepDetectorEnableCancelled": { + "title": "Anulación de la activación automática del modo de espera", + "subtitle": "Como el usuario aún estaba despierto" + }, + "renderResolutionChanged": { + "title": { + "auto": "La resolución de renderizado de SteamVR se establece en 'auto'", + "custom": "Resolución de renderizado de SteamVR establecida en {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivado" + } + }, + "chaperoneFadeDistanceChanged": { + "title": "Distancia de desvanecimiento del chaperón ajustada a {{value}}", + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivado" + } + }, + "shutdownSequenceStarted": { + "title": "Se ha iniciado la secuencia de apagado", + "reason": { + "MANUAL": "Activado manualmente", + "SLEEP_TRIGGER": "Cuando estuviste dormido el tiempo suficiente" + } + }, + "shutdownSequenceCancelled": { + "title": "Se ha cancelado la secuencia de apagado", + "reason": { + "MANUAL": "Cancelado manualmente" + } + }, + "msiAfterburnerProfileSet": { + "title": "El perfil de MSI Afterburner se estableció en el perfil {{profile}}", + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivado" + } + }, + "windowsPowerPolicySet": { + "title": "Política de energía de Windows establecida en '{{policy}}' plan", + "reason": { + "SLEEP_MODE_ENABLED": "Cuando el modo sueño estaba activado", + "SLEEP_MODE_DISABLED": "Cuando el modo sueño estaba desactivado" + } + } + } + }, + "dotnet-upgrade-modal": { + "title": "Instalar los tiempos de ejecución que faltan", + "description": { + "text1": "Los siguientes tiempos de ejecución necesarios para OyasumiVR no están actualizados o no están instalados en su sistema:", + "runtimeQueued": "En cola", + "text2": "Para seguir utilizando OyasumiVR, primero hay que instalar los tiempos de ejecución necesarios.", + "automaticInstall": "¿Quieres que OyasumiVR intente instalar estos tiempos de ejecución para usted automáticamente?", + "noAutomaticInstall": "OyasumiVR no pudo determinar las últimas versiones de estos tiempos de ejecución, y por lo tanto no puede instalarlos automáticamente para usted. Por favor, instale manualmente estos tiempos de ejecución, o salga de OyasumiVR y vuelva a intentarlo más tarde.", + "moreInfo": "Puede encontrar descargas y más información aquí:" + }, + "quit": "Cerrar OyasumiVR", + "installAutomatically": "Instalar automáticamente", + "success": { + "title": "Instalación realizada con éxito", + "message": "Los tiempos de ejecución necesarios se han instalado correctamente. Por favor, salga de OyasumiVR e inícielo de nuevo para continuar." + }, + "failure": { + "title": "Instalación fallida", + "message": "No se han podido instalar automáticamente los tiempos de ejecución que faltaban. Por favor, intente instalarlos manualmente. Puede consultar los archivos de registro para obtener más información sobre qué ha fallado.\n\nSi sigues teniendo problemas, ponte en contacto con @Raphiiko en Twitter o en nuestro servidor Discord." + } + } + }, + "resolution-automations": { + "title": "Automatización de resoluciones", + "description": "OyasumiVR puede ajustar automáticamente la resolución de renderizado de SteamVR cuando se activa o desactiva el modo de suspensión.", + "onSleepEnable": { + "title": "Cuando me voy a dormir", + "description": "Ajustar la resolución de mi render" + }, + "onSleepDisable": { + "title": "Cuando me despierto", + "description": "Ajustar la resolución de mi render" + }, + "renderResolution": { + "title": "Cambia la resolución de renderizado a", + "custom": "Personalizado", + "auto": "Auto" + } + }, + "chaperone-automations": { + "title": "Automatizaciones Chaperone", + "description": "OyasumiVR puede ajustar automáticamente la distancia de desvanecimiento de la carabina de SteamVR cuando se activa o desactiva el modo de suspensión.", + "onSleepEnable": { + "title": "Cuando me voy a dormir", + "description": "Ajustar la distancia de desvanecimiento de mi acompañante" + }, + "onSleepDisable": { + "title": "Cuando me despierto", + "description": "Ajustar la distancia de desvanecimiento de mi acompañante" + }, + "fadeDistance": { + "title": "Cambia la distancia de desvanecimiento de la carabina a" + } + }, + "sleepAnimations": { + "title": "Animaciones para dormir" + }, + "shutdown-automations": { + "title": "Secuencia de apagado", + "description": "Si te gusta dormirte en RV, pero no quieres hacerlo durante toda la noche, puedes utilizar la secuencia de apagado de OyasumiVR. Esta función se apaga automáticamente cuando te has quedado dormido, para que puedas seguir durmiendo sin problemas fuera de la RV.", + "triggers": { + "title": "Activadores automáticos", + "whenAsleep": { + "title": "Activar cuando estoy dormido", + "description": "Activar la secuencia de apagado cuando el modo de suspensión ha estado activado durante un cierto tiempo." + }, + "whenAsleepDuration": { + "title": "Duración del sueño", + "description": "Cuánto tiempo debe estar activo el modo de suspensión antes de que se ejecute la secuencia de apagado." + }, + "whenAsleepTimeWindow": { + "title": "Ventana de activación", + "description": "Permitir la desconexión sólo a determinadas horas del día" + } + }, + "sequence": { + "title": "Ajustes de apagado", + "quitSteamVR": { + "title": "Cerrar SteamVR", + "description": "Esto también debería salir de cualquier juego o superposición que se está ejecutando" + }, + "turnOffDevices": { + "title": "Apagar los dispositivos" + }, + "turnOffControllers": { + "title": "Apagar los controladores", + "description": "Apaga tus mandos" + }, + "turnOffTrackers": { + "title": "Desactivar rastreadores", + "description": "Apaga tus rastreadores" + }, + "turnOffBaseStations": { + "title": "Apagar las estaciones base", + "description": "Apaga las estaciones base que siguen activas" + }, + "shutDownWindows": { + "title": "Apagar Windows", + "description": "Intentos de apagar el ordenador" + }, + "run": "Secuencia de ejecución" + }, + "confirm-modal": { + "title": "¿Estás seguro?", + "message": "¿Estás seguro de que quieres activar la secuencia de apagado ahora mismo?" + }, + "noOptionsSelected": "Como no tienes ninguna acción seleccionada para ejecutar durante la secuencia de apagado, ejecutarla no tendrá ningún efecto. Para que esta función haga algo, elija al menos una de las opciones siguientes.", + "overlay": { + "stage": { + "QUITTING_STEAMVR": "Dejando SteamVR...", + "TURNING_OFF_CONTROLLERS": "Apagando controladores...", + "TURNING_OFF_TRACKERS": "Apagando trackers...", + "TURNING_OFF_BASESTATIONS": "Apagar las estaciones base...", + "SHUTTING_DOWN": "Apagando Windows..." + }, + "title": "Apagado", + "cancel": "Cancelar ahora" + } + }, + "overlay": { + "dashboard": { + "overview": { + "sleepMode": "Modo sueño", + "active": "Activo", + "inactive": "Inactivo", + "tooltip": { + "automations": "Automatizaciones", + "deviceControl": "Control de dispositivos", + "shutdown": "Secuencia de apagado" + } + }, + "shutdownSequence": { + "dialog": { + "title": "Secuencia de apagado", + "message": "Está a punto de iniciar la secuencia de apagado.\n¿Seguro que quieres hacerlo ahora?\n\nPuedes configurar qué acciones realiza la secuencia de apagado en la ventana principal de OyasumiVR.", + "start": "Inicio Apagado" + } + }, + "deviceControl": { + "title": "Control de dispositivos", + "turnOff": { + "AllControllers": "Apagar todos los\ncontroladores", + "AllTrackers": "Apagar todos los\ntrackers", + "AllControllersAndTrackers": "Apagar todos los\ncontroladores y trackers" + } + }, + "automations": { + "autoAcceptInviteRequests": { + "title": "Aceptar automáticamente solicitudes de invitación", + "subtitle": { + "singular": "{{mode}}: {{playerCount}} amigo", + "plural": "{{mode}}: {{playerCount}} amigos" + }, + "mode": { + "Disabled": "Para todos", + "Whitelist": "Whitelist", + "Blacklist": "Blacklist" + } + }, + "changeStatusBasedOnPlayerCount": { + "title": "Automatizaciones de estado", + "subtitle": { + "singular": "Max {{threshold}} jugador", + "plural": "Max {{threshold}} jugadores" + } + }, + "sleepingAnimations": { + "title": "Animaciones para dormir" + }, + "shutdownAutomations": { + "title": "Apagado automático", + "subtitle": "Al dormir durante {{time}}", + "seconds": { + "singular": "{{seconds}} segundo", + "plural": "{{seconds}} segundos" + }, + "minutes": { + "singular": "{{minutes}} minuto", + "plural": "{{minutes}} minutos" + } + }, + "sleepModeEnableForSleepDetector": { + "title": "Detección de sueño", + "subtitle": { + "withoutActivationWindow": "{{sensitivity}} sensibilidad", + "withActivationWindow": "{{sensitivity}} sensibilidad, {{startTime}} - {{endTime}}" + } + }, + "title": "Ajustes de automatización" + } + } + } +} \ No newline at end of file diff --git a/src-ui/assets/i18n/fr.json b/src-ui/assets/i18n/fr.json index c64f27ac..332224be 100644 --- a/src-ui/assets/i18n/fr.json +++ b/src-ui/assets/i18n/fr.json @@ -431,9 +431,6 @@ "subtext": "Vous êtes actuellement déconnecté(e) de votre compte VRChat.", "logIn": "Se connecter" }, - "errors": { - "initError": "Le module VRChat n'a pas pu être initialisé. Veuillez vérifier votre connexion internet ou réessayer ultérieurement." - }, "disclaimers": { "use": "Vos informations de connexion ne sont pas stockées et sont uniquement envoyées à VRChat pour vous identifier.", "brand": "OyasumiVR n'est aucunement affilié à VRChat et ne reflète pas les opinions et décisions de VRChat, ni aucune personne affiliée. VRChat est une marque de VRChat Inc. VRChat © VRChat Inc.", diff --git a/src-ui/assets/i18n/id.json b/src-ui/assets/i18n/id.json new file mode 100644 index 00000000..117be5a0 --- /dev/null +++ b/src-ui/assets/i18n/id.json @@ -0,0 +1,1353 @@ +{ + "shared": { + "logo": { + "tagline": "Utilitas VR Sleeping" + }, + "modals": { + "cancel": "Batalkan", + "save": "Simpan", + "confirm": "Konfirmasi", + "ok": "Oke", + "open": "Buka", + "close": "Tutup", + "login": "Masuk" + }, + "common": { + "none": "Kosong" + }, + "misc": { + "vrcLoginRequired": "Fitur ini memerlukan kamu untuk masuk dengan akun VRChat.", + "windowsPowerPolicy": { + "BALANCED": "Seimbang", + "HIGH_PERFORMANCE": "Performa Penuh", + "POWER_SAVING": "Hemat Daya" + } + } + }, + "brightness-automations": { + "title": "Automasi Kecerahan", + "tabs": { + "imageBrightness": "Kecerahan Gambar", + "displayBrightness": "Kecerahan Layar" + }, + "displayBrightness": { + "description": "OyasumiVR dapat secara otomatis menyesuaikan kecerahan layar headset Anda ketika mode tidur diaktifkan atau dinonaktifkan.\n\nKecerahan layar mempengaruhi kekuatan cahaya latar panel LCD di headset Anda, dan bukannya menggelapkan gambar. Mengontrol kecerahan layar hanya tersedia pada Valve Index", + "indexWarning": "Pastikan Valve Index Anda terhubung dan SteamVR sedang berjalan.", + "onSleepEnable": { + "title": "Ketika saya mulai tidur", + "description": "Atur kecerahan layar" + }, + "onSleepDisable": { + "title": "Ketika saya bangun", + "description": "Atur kecerahan layar" + } + }, + "imageBrightness": { + "description": "OyasumiVR dapat secara otomatis menyesuaikan kecerahan gambar headset Anda ketika mode tidur diaktifkan atau dinonaktifkan.\n\nKecerahan gambar akan menggelapkan gambar yang ditampilkan. Tidak seperti kecerahan tampilan, mengontrol kecerahan gambar tersedia untuk setiap headset.", + "onSleepEnable": { + "title": "Ketika saya mulai tidur", + "description": "Atur kecerahan gambar" + }, + "onSleepDisable": { + "title": "Ketika saya bangun", + "description": "Atur kecerahan gambar" + } + }, + "brightness": { + "title": "Atur Kecerahan ke", + "description": "Mengatur kecerahan ke tingkat tertentu" + }, + "transition": { + "title": "Atur kecerahan bertahap", + "description": "Transisi mulus ke nilai kecerahan yang Anda inginkan" + }, + "transitionTime": { + "title": "Durasi transisi", + "description": "Berapa lama waktu yang diperlukan untuk bertransisi ke pengaturan kecerahan yang baru" + } + }, + "overview": { + "sleep-mode": { + "label": "Mode tidur", + "active": "Aktif", + "inactive": "Nonaktif", + "activate": "Aktifkan", + "deactivate": "Nonaktifkan" + } + }, + "sleep-detection": { + "title": "Deteksi Tidur", + "enableAutomations": { + "title": "Mengaktifkan mode tidur", + "description": "Mengaktifkan mode tidur secara otomatis berdasarkan berbagai pemicu", + "atTime": "Pada waktu tertentu", + "atBatteryPercentage": "Ketika persentase baterai perangkat turun di bawah {{value}}%", + "onControllersPoweredOff": "Ketika semua kontroler dimatikan", + "onMotionDetection": { + "title": "Ketika OyasumiVR mendeteksi Anda tertidur berdasarkan gerakan Anda" + } + }, + "disableAutomations": { + "title": "Menonaktifkan mode tidur", + "description": "Secara otomatis menonaktifkan mode tidur berdasarkan berbagai pemicu", + "atTime": "Pada waktu tertentu", + "onDevicePowerOn": "Saat perangkat dihidupkan", + "onSteamVRStop": "Saat SteamVR dihentikan" + }, + "modals": { + "sleepDetectorCalibration": { + "title": "Mengkalibrasi Deteksi Tidur", + "currentCalibration": "Nilai Kalibrasi Anda saat ini:", + "noSteamVR": "Anda hanya dapat memulai kalibrasi setelah SteamVR berjalan dengan Headset VR yang terpasang.", + "startCalibration": "Mulai kalibrasi", + "restartCalibration": "Ulang kalibrasi", + "info": { + "intro": "OyasumiVR dapat mendeteksi jika Anda tertidur berdasarkan pergerakan headset VR Anda. Agar dapat melakukan hal ini, anda harus terkalibrasi dengan pengaturan VR Anda. Anda harus mengkalibrasi setidaknya sekali sebelum mencoba menggunakan fitur ini.", + "stepPrefix": "Kalibrasi bekerja sebagai berikut:", + "step": { + "one": "Anda memakai headset dan berbaring.", + "two": "Anda memulai kalibrasi di OyasumiVR dari overlay Anda.", + "three": "Anda berbaring diam selama 10 detik." + }, + "stepSuffix": "Selesai! Setelah kalibrasi, OyasumiVR seharusnya dapat mendeteksi jika Anda tertidur berdasarkan pergerakan headset VR Anda." + }, + "prepare": { + "instruction": "Kenakan headset VR Anda dan berbaringlah.", + "note": "Setelah Anda siap dan dapat melihat jendela ini dari hamparan Anda, tekan 'Mulai Kalibrasi' untuk memulai." + }, + "countdown": { + "instruction": "Mulai dari {{counter}}", + "note": "Jangan bergerak sewaktu mengkalibrasi! Berpura-puralah Anda sedang tidur.\nBergerak sewaktu mengkalibrasi akan mencegah fitur ini bekerja dengan benar." + }, + "calibrating": { + "instruction": "Mengkalibrasi", + "note": "Tetap diam.", + "countdown": "{{counter}} detik lagi..." + }, + "done": { + "instruction": "Kalibrasi selesai!", + "note": "Anda sekarang dapat menggunakan otomatisasi ini." + }, + "failed": { + "instruction": "Kalibrasi gagal", + "note": "Kalibrasi tidak berhasil dilakukan, kemungkinan karena headset Anda tidak melaporkan data apa pun. Pastikan headset Anda tracking dan coba lagi." + } + }, + "enableForSleepDetector": { + "title": "Nyalakan mode tidur", + "calibration": { + "title": "Kalibrasi", + "description": "Anda perlu mengkalibrasi setidaknya satu kali sebelum mencoba menggunakan fitur ini.", + "action": "Mengkalibrasi" + }, + "sensitivity": { + "title": "Sensitivitas", + "description": "Semakin tinggi sensitivitasnya, semakin besar kemungkinan OyasumiVR akan mendeteksi Anda sedang tidur.", + "presets": { + "LOWEST": "Terendah", + "LOW": "Rendah", + "MEDIUM": "Sedang", + "HIGH": "Tinggi", + "HIGHEST": "Tertinggi" + } + }, + "sleepCheck": { + "title": "Sebelum mengaktifkan mode tidur, tanyakan apakah saya masih terjaga", + "description": "Mengirimkan notifikasi yang dapat ditindaklanjuti untuk menanyakan apakah Anda masih terjaga sebelum mengaktifkan mode tidur." + }, + "detectionWindow": { + "title": "Jendela deteksi", + "description": "Berapa lama OyasumiVR harus menunggu sebelum mendeteksi Anda tertidur", + "unit": "min" + }, + "description": "Dengan mengaktifkan fitur ini, OyasumiVR akan secara otomatis mengaktifkan mode tidur apabila ia menebak bahwa Anda tertidur berdasarkan gerakan Anda.", + "timeWindow": { + "title": "Jendela aktivasi", + "description": "Hanya izinkan deteksi tidur untuk mengaktifkan mode tidur di antara jam-jam tertentu dalam sehari" + } + }, + "enableAtTime": { + "title": "Nyalakan mode tidur", + "description": "Mengaktifkan mode tidur pada waktu tertentu dalam sehari.", + "time": "Waktu" + }, + "disableAtTime": { + "title": "Matikan mode tidur", + "description": "Menonaktifkan mode tidur pada waktu tertentu dalam sehari.", + "time": "Waktu" + }, + "disableOnDevicePowerOn": { + "title": "Matikan mode tidur", + "whenTurningOn": "Ketika menyalakan", + "Controller": "Kontroler", + "GenericTracker": "Tracker" + }, + "enableAtBatteryPercentage": { + "title": "Nyalakan mode tidur", + "whenA": "Ketika", + "Controller": "Kontroler", + "GenericTracker": "Tracker", + "fallsBelow": "Jatuh dibawah", + "errors": { + "thresholdOutOfRange": "Persentasenya harus antara 0% dan 100%.", + "thresholdNotInteger": "Nilai persentase harus berupa angka bulat." + } + } + } + }, + "oscAutomations": { + "title": "Otomasi OSC", + "tab": { + "sleepingAnimations": "Animasi tidur", + "general": "Umum" + }, + "sleepingAnimations": { + "currentPose": "Posisi saat ini", + "manualControl": "Kontrol manual", + "presetAuthor": "dari {{author}}", + "description": "OyasumiVR dapat secara otomatis mengubah animasi avatar Anda ketika Anda mengubah posisi tidur. Hal ini dapat berguna jika Anda tidak memiliki tracker seluruh tubuh, atau jika Anda (atau Anda memiliki OyasumiVR) mematikan tracker Anda pada malam hari. Lihat contoh seperti apa tampilannya here.\n\nPreset tersedia untuk beberapa prefab locomotion avatar yang sudah dibuat sebelumnya, tetapi Anda juga dapat menentukan animasi Anda sendiri.", + "enable": "Mengaktifkan animasi tidur otomatis", + "customPreset": "Animasi kustom", + "options": { + "positions": { + "title": "Posisi Tidur", + "description": "Tetapkan perintah OSC untuk mengaktifkan animasi untuk setiap posisi tidur.", + "SIDE_FRONT": "Tegak", + "SIDE_BACK": "Sisi belakang", + "SIDE_LEFT": "Sisi kiri", + "SIDE_RIGHT": "Sisi kanan", + "UNKNOWN": "Tidak diketahui" + }, + "footLock": { + "title": "Kunci kaki", + "description": "Atur perintah OSC untuk mengaktifkan dan menonaktifkan kunci kaki.", + "FOOT_LOCK": "Aktifkan kunci kaki", + "FOOT_UNLOCK": "Nontaktifkan kunci kaki" + }, + "general": { + "title": "Opsi umum", + "onlySwitchAnimations": "Hanya mengganti animasi", + "onlyIfSleepModeEnabled": "Jika mode tidur diaktifkan", + "onlyIfAllTrackersTurnedOff": "Jika semua tracker dimatikan", + "footLock": { + "title": "Kunci kaki", + "description": "Pengunci kaki biasanya mencegah player bergerak atau berputar ketika diaktifkan." + }, + "lockFeetOnSleepModeEnable": "Mengunci kaki saat mode tidur diaktifkan", + "unlockFeetOnSleepModeDisable": "Membuka kunci kaki saat mode tidur dinonaktifkan", + "unlockFeetOnAutomationDisable": "Membuka kunci kaki saat menonaktifkan animasi tidur otomatis", + "releaseFootLockOnPoseChange": "Lepaskan kunci kaki untuk sementara saat berpindah posisi tidur", + "footLockReleaseWindow": "Durasi pelepasan kunci kaki" + } + } + }, + "general": { + "description": "Di sini Anda dapat mengonfigurasi OyasumiVR untuk mengirimkan perintah OSC ke VRChat ketika peristiwa tertentu terjadi. Hal ini, misalnya, dapat berguna jika Anda ingin mengubah pergantian avatar saat Anda tidur atau bangun.", + "onSleepEnable": { + "title": "Ketika saya pergi tidur", + "description": "Kirim perintah OSC ini", + "script": "Mode tidur diaktifkan" + }, + "onSleepDisable": { + "title": "Ketika saya bangun", + "description": "Kirim perintah OSC ini", + "script": "Mode tidur dimatikan" + } + } + }, + "power-automations": { + "title": "Otomatisasi Daya", + "tabs": { + "controllersAndTrackers": "Kontroler & Tracker", + "baseStations": "Base Station", + "windowsPowerPolicy": "Kebijakan daya" + }, + "windowsPowerPolicy": { + "description": "OyasumiVR dapat secara otomatis mengubah Kebijakan Daya Windows yang aktif ketika Anda tidur atau bangun. Hal ini dapat berguna untuk mengurangi konsumsi daya saat Anda tidur, dan mengembalikan kebijakan kinerja yang lebih tinggi saat Anda bangun kembali.", + "automations": "Otomatisasi", + "sleepModeEnable": { + "title": "Ketika mode tidur dinyalakan", + "description": "Tetapkan Kebijakan Daya Windows berikut ini" + }, + "sleepModeDisable": { + "title": "Ketika mode tidur dimatikan", + "description": "Tetapkan Kebijakan Daya Windows berikut ini" + } + }, + "devicePowerOff": { + "onSleepModeEnable": { + "title": "Ketika saya pergi tidur", + "description": "Matikan perangkat saat mode tidur diaktifkan.", + "optionControllers": "Matikan semua kontroler", + "optionTrackers": "Matikan semua tracker", + "hint": "Anda dapat mengonfigurasi kapan mode tidur diaktifkan di Deteksi Tidur" + }, + "onCharge": { + "title": "Saat mengisi daya", + "description": "Mematikan perangkat secara otomatis saat Anda meletakkannya di pengisi daya.", + "optionControllers": "Matikan kontroler", + "optionTrackers": "Matikan tracker" + } + }, + "lighthousePowerOn": { + "title": "Nyalakan Base Station", + "description": "Minta OyasumiVR secara otomatis menyalakan base station Anda.", + "onOyasumiStart": { + "title": "Ketika OyasumiVR dimulai", + "description": "Secara otomatis menghidupkan base station Anda ketika OyasumiVR dimulai" + }, + "onSteamVRStart": { + "title": "Saat SteamVR dimulai", + "description": "Secara otomatis menghidupkan base station Anda ketika SteamVR dimulai" + } + }, + "lighthousePowerOff": { + "title": "Matikan Base Station", + "description": "Minta OyasumiVR secara otomatis mematikan stasiun pangkalan Anda.", + "onSteamVRStop": { + "title": "Ketika SteamVR berhenti", + "description": "Secara otomatis mematikan base station Anda ketika SteamVR berhenti" + } + }, + "powerManagementWarning": "Ketika memilih untuk menggunakan otomatisasi OyasumiVR untuk menghidupkan atau mematikan base station Anda, Anda disarankan untuk menonaktifkan manajemen daya dalam pengaturan base station SteamVR.", + "lighthouseControlDisabledWarning": "Otomatisasi ini tidak tersedia karena Anda telah menonaktifkan kontrol daya base station dalam pengaturan OyasumiVR. Aktifkan ini jika Anda ingin menggunakan otomatisasi ini.", + "enableLighthouseControl": "Aktifkan", + "error": { + "noAdapter": "Tidak ada adaptor Bluetooth yang ditemukan di sistem Anda. Pastikan sistem Anda dilengkapi dengan adaptor Bluetooth dan adaptor tersebut diaktifkan.", + "adapterError": "Terjadi kesalahan saat mencoba berkomunikasi dengan adaptor Bluetooth. Pastikan adaptor Bluetooth Anda telah diaktifkan dan coba lagi." + } + }, + "gpu-automations": { + "title": "Otomatisasi GPU", + "disabled": { + "disabled": "OyasumiVR memiliki berbagai cara untuk mengubah pengaturan GPU Anda secara otomatis.\nHal ini memungkinkan Anda menghemat daya sewaktu Anda tidur.\n\nKarena ini adalah fitur untuk pengguna tingkat lanjut, fitur ini dinonaktifkan secara default.\nAnda dapat mengaktifkannya dengan mengeklik tombol di bawah ini.", + "noSidecar": "Agar OyasumiVR diizinkan untuk mengubah pengaturan GPU Anda, diperlukan hak administrator. Silakan klik tombol di bawah ini untuk memberikan hak administrator kepada OyasumiVR." + }, + "tabs": { + "powerLimiting": "Limitasi Daya", + "msiAfterburner": "MSI Afterburner" + }, + "requestAdministrator": "Berikan Hak Istimewa Administrator", + "disable": "Matikan Otomatisasi GPU", + "enable": "Nyalakan Otomatisasi GPU", + "automations": "Otomatisasi Tidur", + "enableWarning": "Salah mengubah parameter GPU dapat menyebabkan sistem Anda menjadi tidak stabil. Harap ingatlah hal ini dan hanya aktifkan fitur ini jika Anda tahu apa yang Anda lakukan.", + "elevationSidecarModal": { + "title": "Memberikan hak istimewa kepada administrator", + "message": "Apakah Anda ingin selalu memberikan hak administrator OyasumiVR?\n\n", + "confirm": "Selalu", + "cancel": "Hanya sekali ini saja" + }, + "powerLimiting": { + "disabled": { + "initializing": "Otomatisasi pembatasan daya sedang diinisialisasi...", + "noNvidia": "Otomatisasi pembatasan daya tidak tersedia karena tidak ada driver NVIDIA yang sedang berjalan yang terdeteksi. Otomatisasi pembatasan daya hanya tersedia untuk GPU NVIDIA.\n\nJika Anda memiliki GPU NVIDIA dalam sistem Anda, pastikan bahwa driver yang sesuai telah terinstal.\n\n({{code}})", + "noPermission": "Meskipun OyasumiVR memiliki hak istimewa sebagai administrator, ia tidak memiliki izin untuk mengubah pengaturan GPU Anda.\n\nSilakan periksa konfigurasi sistem Anda karena hal ini biasanya tidak pernah terjadi.", + "noSidecar": "Untuk alasan yang tidak diketahui, hak istimewa administrator tidak dapat diperoleh.\nIni diperlukan untuk mengontrol batas daya GPU Anda.\n\nSilakan coba mulai ulang OyasumiVR.", + "unknown": "Otomatisasi pembatas daya tidak tersedia karena alasan yang tidak diketahui.\n\nSilakan coba mulai ulang OyasumiVR." + }, + "noGPUSelected": "Tidak Ada GPU yang Dipilih", + "gpuUnsupported": "GPU tidak didukung", + "noGPUs": "Tidak ada GPU NVIDIA yang dapat ditemukan dalam sistem Anda.", + "description": "Di sini Anda dapat mengotomatiskan batas daya GPU Anda, untuk menghemat listrik saat Anda tidur. Pembatasan daya hanya tersedia untuk GPU NVIDIA.", + "selectGPU": "Pilih GPU yang ingin Anda tetapkan batas dayanya:", + "gpuPowerLimitsUnsupported": "GPU yang dipilih tidak mendukung pengaturan batas daya.", + "currentPowerLimit": "Batas Daya Saat Ini", + "activatingSleepMode": { + "title": "Ketika saya pergi tidur", + "description": "Menentukan batas daya yang akan ditetapkan saat mode tidur diaktifkan" + }, + "deactivatingSleepMode": { + "title": "Ketika saya bangun", + "description": "Menentukan batas daya yang akan ditetapkan saat mode tidur dinonaktifkan" + }, + "enabledWarning": "Perlu diketahui bahwa mengatur batas daya terlalu rendah dapat mengakibatkan sistem Anda menjadi tidak stabil. Nonaktifkan fitur ini jika Anda tidak tahu apa yang Anda lakukan.", + "inputDefault": "Mengatur ulang ke batas default GPU." + }, + "msiAfterburner": { + "description": "OyasumiVR dapat secara otomatis mengubah pengaturan GPU Anda ketika Anda tidur atau bangun, dengan menerapkan profil yang telah Anda buat di MSI Afterburner. Contoh penggunaan fungsi ini adalah untuk menghemat listrik saat Anda tidur, dan mendapatkan kembali daya GPU saat Anda bangun.

    Anda harus menyiapkan profil yang ingin Anda terapkan di MSI Afterburner.
    Anda dapat mengunduh MSI Afterburner disini.", + "sleepModeEnable": { + "title": "Saat mode tidur diaktifkan", + "description": "Terapkan profil MSI Afterburner berikut ini" + }, + "sleepModeDisable": { + "title": "Saat mode tidur dinonaktifkan", + "description": "Terapkan profil MSI Afterburner berikut ini" + }, + "profile": "Profil {{index}}", + "none": "kosong", + "enabledWarning": "Perlu diketahui bahwa salah mengkonfigurasi GPU Anda di MSI Afterburner dapat mengakibatkan sistem Anda menjadi tidak stabil. Nonaktifkan fitur ini jika Anda tidak tahu apa yang Anda lakukan.", + "executable": { + "title": "Konfigurasi", + "description": "OyasumiVR perlu tahu tentang lokasi executable MSIAfterburner.exe anda.\nJika OyasumiVR tidak dapat menemukannya di lokasi default, Anda perlu mengatur di mana ia dapat ditemukan.", + "status": { + "CHECKING": "Memeriksa validitas MSIAfterburner.exe", + "NOT_FOUND": "MSIAfterburner.exe Tidak dapat ditemukan di lokasi ini.", + "INVALID_EXECUTABLE": "MSIAfterburner.exe di lokasi ini tidak dapat diverifikasi.", + "INVALID_SIGNATURE": "MSIAfterburner.exe di lokasi ini tidak dapat diverifikasi berasal dari MSI. Karena alasan keamanan, file tersebut tidak dapat digunakan. Pastikan Anda menggunakan MSI Afterburner versi terbaru. Jika masalah terus berlanjut atau Anda yakin bahwa ini benar, silakan hubungi developer OyasumiVR atau kirimkan laporan bug.", + "UNKNOWN_ERROR": "Terjadi kesalahan yang tidak diketahui saat mencoba mencari MSIAfterburner.exe di lokasi ini.", + "SUCCESS": "telah ditemukan dan berfungsi dengan benar!" + } + } + } + }, + "status-automations": { + "title": "Otomatisasi Status", + "enable": "Mengaktifkan Otomatisasi Status", + "description": "OyasumiVR dapat membatasi jumlah orang yang bergabung dengan Anda, dengan secara otomatis mengatur status Anda\n berdasarkan jumlah pemain yang ada di dunia Anda.", + "exampleUse": "Contoh penggunaan: Ketika seseorang bergabung dengan Anda, secara otomatis mengubah status Anda menjadi oranye atau merah!\nKetika mereka pergi dan Anda sendirian lagi, secara otomatis ubah status Anda kembali menjadi biru sehingga orang lain dapat bergabung dengan Anda.", + "disableToEdit": "Harap nonaktifkan otomatisasi status sebelum Anda membuat perubahan apa pun.", + "playerLimit": "Limit Player", + "playerLimitLabel": { + "singular": "{{count}} player (termasuk kamu)", + "plural": "{{count}} player (termasuk kamu)" + }, + "belowLimit": { + "title": "Dibawah limit", + "description": "Ubah statusmu ke" + }, + "atLimitOrAbove": { + "title": "Di batas limit atau diatasnya", + "description": "Ubah statusmu ke" + }, + "onlyIfSleepModeEnabled": "Hanya jika mode tidur diaktifkan", + "behaviourWarning": "Perubahan status oleh OyasumiVR tidak terlihat oleh pemain. Bahkan untuk pemain lain, perlu sedikit waktu untuk menampilkan pembaruan status. Ini adalah keterbatasan VRChat dan tidak dapat diperbaiki oleh OyasumiVR.", + "moreInfo": "Info lanjut", + "behaviourWarningFAQ": "Di sini Anda dapat menemukan jawaban atas beberapa pertanyaan yang mungkin Anda miliki tentang perilaku perubahan status:\n\nT: Apakah saya masih bisa secara otomatis menerima permintaan undangan, meskipun VRChat tidak menunjukkan bahwa saya berwarna biru?\nJ: Jika Anda mengatur status OyasumiVR menjadi biru (join me), OyasumiVR akan mengambil alih tanggung jawab untuk secara otomatis menerima permintaan undangan yang Anda terima.\n\nT: Orang-orang tidak dapat bergabung dengan saya karena status saya tidak diperbarui untuk mereka.\nJ: Pembaruan status dapat memakan waktu beberapa saat untuk ditampilkan ke pengguna lain. Jika mereka ingin bergabung dengan Anda tetapi tidak bisa, mereka dapat memaksa status Anda untuk disegarkan dengan membuka profil Anda di menu utama." + }, + "auto-invite-request-accept": { + "title": "Terima Otomatis Permintaan Undangan", + "description": "OyasumiVR dapat secara otomatis menerima permintaan undangan yang Anda terima. Dengan menggunakan daftar putih atau daftar hitam pemain, Anda dapat memastikan hanya teman yang Anda pilih yang permintaan undangannya akan diterima secara otomatis.", + "userOnBusyStatus": "Anda tidak dapat menerima permintaan undangan dari pengguna saat status Anda sedang sibuk (merah).", + "userOnJoinMeStatus": "VRChat akan secara otomatis menerima semua permintaan undangan terlepas dari pengaturan Anda, karena status Anda dalam keadaan join me (biru).", + "whitelist": "Whitelist Player", + "blacklist": "Blacklist Player", + "noPlayersAdded": "Tidak ada pemain yang saat ini ditambahkan ke dalam daftar.", + "addFriends": "Tambahkan teman", + "clearPlayers": "Bersihkan player", + "removeModal": { + "title": "Konfirmasi Penghapusan", + "message": "Apakah Anda yakin ingin menghapus '{{name}}' dari daftar Anda?" + }, + "removeModalBulk": { + "title": "Konfirmasi penghapusan", + "message": "Apakah Anda yakin ingin menghapus semua orang dari daftar Anda?" + }, + "options": { + "enable": { + "title": "Nyalakan", + "description": "Secara otomatis menerima permintaan undangan dari teman." + }, + "onlyIfSleepModeEnabled": { + "title": "Hanya jika mode tidur diaktifkan" + }, + "listMode": { + "title": "Mode Daftar", + "description": "Bagaimana daftar pemain beroperasi", + "options": { + "DISABLED": { + "label": "Matikan", + "subLabel": "Terima dari semua orang" + }, + "WHITELIST": { + "label": "Whitelist", + "subLabel": "Menerima dari teman dalam daftar" + }, + "BLACKLIST": { + "label": "Blacklist", + "subLabel": "Menerima dari teman yang tidak ada dalam daftar" + } + } + } + } + }, + "settings": { + "title": "Pengaturan", + "tab": { + "general": "Umum", + "vrchat": "VRChat", + "notifications": "Notifikasi", + "updates": "Update", + "advanced": "Lanjutan" + }, + "general": { + "language": { + "title": "Bahasa", + "description": "Anda dapat memilih bahasa yang Anda inginkan di sini. Jika ada terjemahan yang belum tersedia, atau Anda ingin menambahkan dukungan untuk bahasa Anda, silakan hubungi kami!" + }, + "lighthouseConsole": { + "title": "Konsol Lighthouse", + "description": "OyasumiVR perlu mengetahui tentang lokasi instalasi SteamVR Anda lighthouse_console.exe.\nJika OyasumiVR tidak dapat menemukannya di lokasi default, Anda perlu mengatur di mana ia dapat ditemukan.", + "status": { + "NOT_FOUND": "lighthouse_console.exe tidak dapat ditemukan di lokasi ini.", + "INVALID_EXECUTABLE": "lighthouse_console.exe di lokasi ini tidak dapat diverifikasi sebagai berfungsi.", + "PERMISSION_DENIED": "OyasumiVR tidak memiliki izin untuk menjalankan lighthouse_console.exe di lokasi ini. Coba jalankan OyasumiVR sebagai administrator.", + "INVALID_FILENAME": "Lokasi yang ditetapkan bukan merupakan jalur file yang valid.", + "UNKNOWN_ERROR": "Terjadi kesalahan yang tidak diketahui saat mencoba mencari lighthouse_console.exe di lokasi ini.", + "CHECKING": "Memeriksa lighthouse_console.exe yang valid", + "SUCCESS": "lighthouse_console.exe telah ditemukan dan berfungsi dengan baik!" + } + }, + "adminPrivileges": { + "title": "Hak Istimewa Administrator", + "label": "Meminta hak istimewa administrator saat memulai", + "description": "OyasumiVR membutuhkan hak administrator untuk dapat mengontrol batas daya GPU Anda. Jika Anda mengaktifkannya, OyasumiVR akan meminta hak istimewa administrator saat memulai." + }, + "telemetry": { + "title": "Telemetri", + "label": "Mengirim data penggunaan anonim", + "description": "Data yang akan dikirim terbatas pada versi OyasumiVR yang Anda gunakan, dan bahasa yang telah Anda tetapkan. Tidak ada data lain yang dikirim dan sepenuhnya anonim. Data ini hanya digunakan untuk menyediakan beberapa statistik penggunaan umum." + }, + "systemTray": { + "title": "Baki sistem", + "close": { + "label": "Tutup ke baki sistem", + "description": "Menutup OyasumiVR ke baki sistem alih-alih keluar dari program." + }, + "start": { + "label": "Mulai di baki sistem", + "description": "Memulai OyasumiVR diminimalkan ke baki sistem." + } + }, + "lighthousePowerControl": { + "title": "Kontrol Daya Base Station SteamVR", + "powerOffMode": { + "standby": { + "title": "Siaga", + "description": "Matikan\nlaser" + }, + "sleep": { + "title": "Tidur", + "description": "Matikan daya\nlaser & motor" + }, + "title": "Status daya mati yang diinginkan", + "description": "Tidak seperti mode Siaga, mode Tidur juga mematikan motor, yang mungkin memerlukan waktu lebih lama untuk menghidupkannya kembali." + }, + "enable": { + "title": "Mengaktifkan kontrol daya", + "description": "Jika diaktifkan, Anda akan dapat mematikan dan menghidupkan base station menggunakan OyasumiVR. Memerlukan bluetooth, dan hanya mendukung base station V2." + } + }, + "sleepMode": { + "title": "Mode Tidur", + "startupBehaviour": { + "title": "Status Permulaan", + "description": "Bagaimana seharusnya mode tidur ketika Anda memulai OyasumiVR", + "option": { + "persist": { + "title": "Status tersimpan", + "description": "Ingat dari terakhir kali" + }, + "enabled": { + "title": "Aktif", + "description": "Mulai sebagai aktif" + }, + "disabled": { + "title": "Tidak Aktif", + "description": "Mulai sebagai tidak aktif" + } + } + } + }, + "overlay": { + "activation": { + "title": "Tindakan aktivasi", + "description": "Pilih tindakan mana yang akan membuka dan menutup overlay", + "action": { + "none": "Kosong (dimatikan)", + "singleA": "Sekali tekan A", + "doubleA": "Dua-kali tekan A", + "tripleA": "Tiga-kali tekan A", + "singleB": "Sekali tekan B", + "doubleB": "Dua-kali tekan B", + "tripleB": "Tiga-kali tekan B" + }, + "controller": { + "either": "Salah satu kontroler", + "left": "Kontroler kiri", + "right": "Kontroler kanan", + "title": "Kontroler", + "description": "Pilih kontroler mana yang dapat digunakan untuk mengaktifkan overlay" + }, + "triggerFilter": { + "title": "Memerlukan trigger", + "description": "Hanya aktif jika trigger ditekan saat melakukan tindakan." + } + }, + "title": "Overlay" + } + }, + "vrchat": { + "logIn": { + "title": "Masuk", + "description": "Beberapa fitur OyasumiVR mengharuskan Anda untuk masuk dengan akun VRChat Anda agar fitur-fitur tersebut dapat berfungsi.", + "loggedIn": { + "title": "Hai {{name}}!", + "subtext": "Saat ini Anda sedang masuk dengan akun VRChat Anda.", + "logOut": "Keluar" + }, + "loggedOut": { + "title": "Keluar", + "subtext": "Saat ini Anda belum masuk dengan akun VRChat Anda.", + "logIn": "Masuk" + }, + "disclaimers": { + "use": "Kredensial login Anda tidak akan pernah disimpan di mana pun dan hanya akan dikirim ke server VRChat untuk tujuan autentikasi.", + "brand": "OyasumiVR tidak didukung oleh VRChat dan tidak mencerminkan pandangan atau pendapat VRChat atau siapa pun yang secara resmi terlibat dalam memproduksi atau mengelola VRChat. VRChat adalah merek dagang dari VRChat Inc. VRChat © VRChat Inc.", + "liability": "Raphiiko tidak bertanggung jawab atas masalah apa pun yang disebabkan oleh OyasumiVR. Gunakan dengan risiko Anda sendiri!" + } + }, + "OSC": { + "title": "Pengaturan OSC", + "description": "Beberapa fitur memerlukan koneksi ke VRChat melalui OSC. Kecuali jika Anda memiliki alasan khusus untuk mengubahnya, Anda harus membiarkannya sebagai default.", + "reset": "Mengatur ulang ke default", + "receivingHost": { + "title": "Host Penerima", + "description": "Host OyasumiVR akan mendengarkan pesan OSC yang masuk.\n(VRChat mengirim ke 127.0.0.1 secara default)" + }, + "receivingPort": { + "title": "Port Penerima", + "description": "Nomor port OyasumiVR akan mendengarkan pesan OSC.\n(VRChat mengirim ke port 9001 secara default)" + }, + "sendingHost": { + "title": "Host Pengirim", + "description": "Host OyasumiVR akan mengirim pesan OSC.\n(Jika VRChat berjalan pada mesin yang sama, Hostnya adalah 127.0.0.1)" + }, + "sendingPort": { + "title": "Port Pengirim", + "description": "Nomor port yang akan digunakan OyasumiVR untuk mengirim pesan OSC.\n(VRChat mendengarkan pada port 9000 secara default)" + }, + "errors": { + "PORT_IN_USE": "Alamat ini tidak dapat diikat. Bisa jadi ada aplikasi lain yang sudah menggunakannya. Anda dapat mencoba menutup aplikasi tersebut dan mencoba lagi, atau memilih port atau host penerima yang berbeda.", + "PORT_INVALID": "Port harus berupa angka yang valid antara 1 dan 65535.", + "PORT_IO_IDENTICAL": "Anda tidak dapat menggunakan port yang sama untuk port pengirim dan penerima jika host untuk pengirim dan penerima sama.", + "INVALID_HOST": "Host harus berupa nama host, alamat IPv4, atau alamat IPv6 yang valid." + }, + "features": { + "all": { + "title": "Nyalakan semua fitur", + "description": "Menonaktifkan masing-masing fitur ini akan menghentikan OyasumiVR dari mendengarkan pesan OSC" + }, + "expressionMenu": { + "title": "Nyalakan menu kontrol VRChat expression", + "description": "Kontrol fitur OyasumiVR dari avatar VRChat expression menu Anda" + }, + "externalControl": { + "title": "Nyalakan kontrol eksternal", + "description": "Kontrol fitur OyasumiVR melalui OSC" + } + } + } + }, + "notifications": { + "title": "Pengaturan Notifikasi", + "provider": { + "title": "Notification Provider", + "description": "Pilih penyedia mana yang akan digunakan untuk mengirimkan notifikasi kepada Anda" + }, + "notifications": { + "title": "Nyalakan Notifikasi", + "description": "Pilih notifikasi mana yang akan dan tidak akan dikirim", + "category": { + "SLEEP_MODE_ENABLED": { + "title": "Mode Tidur Menyala", + "description": "Dapatkan notifikasi ketika mode tidur diaktifkan" + }, + "SLEEP_MODE_DISABLED": { + "title": "Mode Tidur Dimatikan", + "description": "Dapatkan pemberitahuan ketika mode tidur dinonaktifkan" + }, + "AUTO_UPDATED_STATUS_PLAYERCOUNT": { + "title": "Status VRChat Diperbarui (Otomatisasi Batas Pemain)", + "description": "Dapatkan pemberitahuan ketika OyasumiVR secara otomatis memperbarui status VRChat Anda" + }, + "AUTO_ACCEPTED_INVITE_REQUEST": { + "title": "Permintaan Undangan yang Diterima Secara Otomatis", + "description": "Dapatkan pemberitahuan ketika OyasumiVR secara otomatis menerima permintaan undangan dari seseorang" + } + } + } + }, + "updates": { + "checkForUpdates": "Periksa pembaruan", + "changelog": "Daftar Perubahan", + "install": "Install v{{version}}", + "noUpdate": "Anda saat ini sedang menjalankan OyasumiVR v{{version}} yang merupakan versi terbaru!", + "notChecked": "OyasumiVR belum memeriksa pembaruan.", + "updateAvailable": "Versi baru OyasumiVR telah tersedia! Anda sedang menjalankan v{{currentVersion}}.\nVersi terbaru adalah v{{latestVersion}}.", + "updatesDisabled": { + "DEV": "Karena Anda menjalankan versi pengembangan OyasumiVR, pembaruan telah dinonaktifkan.\nJika Anda ingin menginstal versi baru OyasumiVR, silakan unduh dan jalankan penginstal secara manual.", + "STEAM": "Anda telah menginstal OyasumiVR versi Steam.\nOleh karena itu, pembaruan OyasumiVR baru disediakan melalui Steam!" + } + }, + "advanced": { + "persistentData": { + "title": "Data Persisten", + "description": "Mengelola data yang disimpan OyasumiVR di disk Anda", + "dataType": { + "all": { + "title": "Semua Data", + "description": "Semua data yang disimpan OyasumiVR, termasuk semua pengaturan Anda" + }, + "appSettings": { + "title": "Pengaturan Aplikasi", + "description": "Semua pengaturan umum OyasumiVR" + }, + "automationSettings": { + "title": "Pengaturan Otomasi", + "description": "Semua pengaturan khusus untuk salah satu otomatisasi OyasumiVR" + }, + "vrcData": { + "title": "Data VRChat", + "description": "Data khusus untuk VRChat, seperti data otentikasi" + }, + "miscData": { + "title": "Data Lainnya", + "description": "Semua data lain yang disimpan OyasumiVR, tidak tercakup dalam kategori lain" + }, + "appCache": { + "title": "Cache Data", + "description": "Semua data yang disimpan sementara, seperti respons API VRChat" + }, + "imageCache": { + "title": "Cache Gambar", + "description": "Semua gambar yang disimpan sementara, seperti ikon pemutar VRChat" + }, + "logs": { + "title": "File Log", + "description": "File log yang dibuat oleh OyasumiVR" + }, + "eventLog": { + "title": "Log Event", + "description": "Peristiwa yang dicatat dalam ikhtisar" + } + }, + "clearData": "Hapus Data", + "clearModal": { + "title": "Konfirmasi Penghapusan Data", + "message": "Apakah Anda yakin ingin menghapus data berikut ini? Ini tidak dapat dikembalikan!\n\n{{items}}" + }, + "relaunchModal": { + "title": "Mulai ulang OyasumiVR", + "message": "Data yang diminta telah dihapus. Disarankan untuk memulai ulang OyasumiVR setelah melakukan ini.\n\nApakah Anda ingin melakukan ini sekarang? Tidak memulai ulang OyasumiVR dapat menimbulkan efek yang tidak diinginkan.", + "relaunch": "Mulai ulang OyasumiVR Sekarang", + "later": "Akan kulakukan nanti." + } + }, + "translation": { + "title": "Bahasa & Terjemahan", + "loadFile": { + "title": "Muat file terjemahan", + "description": "Muat file bahasa khusus. Berguna saat menguji terjemahan baru.", + "action": "Muat file" + }, + "contribute": { + "docs": "Pelajari Caranya", + "title": "Bantu dengan menyumbangkan terjemahan", + "description": "Kontribusikan terjemahan yang belum ada, atau bantu tambahkan bahasa baru!" + } + }, + "logs": { + "title": "File log", + "openFolder": { + "title": "Buka folder log", + "description": "Membuka lokasi file log OyasumiVR di file explorer Anda", + "action": "Buka folder log" + } + } + } + }, + "about": { + "author": { + "role": "Developer" + }, + "translations": "Terjemahan", + "projectLinks": "Tautan Proyek", + "sourceLink": "Kode Sumber @ GitHub", + "discordInvite": "Discord Server", + "contributions": "Kontribusi" + }, + "updater": { + "modals": { + "error": { + "title": "Update Gagal", + "message": "Pembaruan gagal diinstal. Silakan coba lagi nanti." + } + } + }, + "misc": { + "GOGO_LOCO_LEGACY_PRESET_WARNING": "Preset ini menggunakan solusi yang memiliki beberapa masalah. Harap gunakan preset ini hanya jika Anda tidak dapat menggunakan preset GoGo Loco yang lebih baru. Jika avatar Anda masih menggunakan versi GoGo Loco yang lebih lama, Anda disarankan untuk memperbarui avatar Anda untuk menggunakan versi GoGo Loco terbaru.", + "oscScriptEditorErrors": { + "noFloatMilliseconds": "Nilai milidetik harus didefinisikan sebagai bilangan bulat.", + "durationTooShort": "Durasi tidur harus minimal 1ms.", + "durationTooLong": "Durasi tidur tidak boleh lebih dari 5 detik.", + "durationRequired": "Diperlukan durasi tidur.", + "totalDurationTooLong": "Total durasi naskah tidak boleh lebih dari 10 detik.", + "intOutOfBounds": "Nilai harus berupa bilangan bulat yang valid antara 0 dan 255.", + "floatOutOfBounds": "Nilai harus berupa nilai float yang valid antara -1,0 dan 1,0.", + "floatTooPrecise": "Nilai ini hanya dapat memiliki presisi maksimum 3 desimal.", + "invalidSyntax": "Syntax tidak valid.", + "tooManyCommands": "Skrip OSC tidak boleh memiliki lebih dari {{value}} aksi.", + "addressNoSlash": "Alamat OSC yang valid harus selalu dimulai dengan simbol '/'.", + "addressRequired": "Diperlukan alamat OSC.", + "addressNotASCII": "Alamat OSC yang valid hanya boleh berisi karakter ASCII." + } + }, + "notifications": { + "sleepCheck": { + "content": "Mode tidur akan diaktifkan dalam 20 detik. Apakah Anda tertidur?\n\n(Gelengkan kepala Anda untuk membatalkan)" + }, + "sleepCheckCancel": { + "content": "Pengaktifan otomatis mode tidur telah dibatalkan" + }, + "sleepModeEnabled": { + "content": "Mode tidur telah diaktifkan" + }, + "sleepModeDisabled": { + "content": "Mode tidur telah dinonaktifkan" + }, + "vrcStatusChangedPlayerCount": { + "content": "Status VRChat Anda telah diatur ke '{{newStatus}}'" + }, + "autoAcceptedInviteRequest": { + "content": "Permintaan undangan yang diterima secara otomatis dari {{username}}" + }, + "turningOffControllers": { + "content": "Mematikan kontroler Anda" + }, + "turningOffTrackers": { + "content": "Mematikan tracker Anda" + }, + "turningOffControllersAndTrackers": { + "content": "Mematikan kontroler dan tracker Anda" + } + }, + "comp": { + "main-status-bar": { + "sleepMode": "Mode Tidur", + "active": "Aktif", + "inactive": "Tidak aktif", + "loggedOut": "Keluar", + "steamvr": { + "INACTIVE": "Tidak Aktif", + "INITIALIZING": "Menunggu", + "INITIALIZED": "Aktif" + } + }, + "confirm-modal": { + "defaultTitle": "Konfirmasi" + }, + "update-modal": { + "title": "Update Tersedia", + "updateNow": "Install v{{version}}", + "updateLater": "Tidak Sekarang", + "message": "Pembaruan baru untuk OyasumiVR telah ditemukan: v{{newVersion}}.\n\nAnda saat ini masih menjalankan v{{currentVersion}}.\n\nApakah Anda ingin memperbarui sekarang atau nanti?" + }, + "select-box": { + "defaultPlaceholder": "Pilih..." + }, + "dashboard-navbar": { + "overview": "Ikhtisar", + "sleepDetection": "Deteksi Tidur", + "oscAutomations": "Otomatisasi OSC", + "gpuAutomations": "Otomatisasi GPU", + "powerAutomations": "Otomatisasi Power", + "statusAutomations": "Otomatisasi Status", + "autoInviteRequestAccept": "Terima Otomatis \nPermintaan Invite", + "settings": "Pengaturan", + "vrcAutomations": "Otomatisasi VRChat", + "brightnessAutomations": "Otomatisasi Kecerahan", + "about": "Tentang OyasumiVR", + "resolutionAutomations": "Otomatisasi Resolusi", + "chaperoneAutomations": "Otomatisasi Chaperone", + "sleepAnimations": "Animasi Tidur", + "hardwareAutomations": "Otomatisasi Hardware", + "shutdownAutomations": "Urutan Shutdown" + }, + "device-list": { + "title": "Perangkat", + "turnOffAll": "SEMUA", + "noDevices": "Tidak ada perangkat ditemukan", + "category": { + "Controller": "Kontroler", + "GenericTracker": "Tracker", + "other": "Lainnya", + "Lighthouse": "Base Stations" + }, + "deviceName": { + "lighthouseV2": "Lighthouse V2" + }, + "lighthouseStatus": { + "on": "Aktif", + "unknown": "Status tidak diketahui", + "sleep": "Tertidur", + "standby": "SIaga", + "booting": "Booting" + }, + "scanForLighthouses": "Pindai" + }, + "osc-script-modal": { + "title": "Skrip OSC", + "simple": "Simpel", + "script": "Skrip" + }, + "osc-script-code-editor": { + "title": "Editor Skrip OSC", + "syntaxGuide": "Panduan Syntax", + "format": "Format", + "test": "Tes" + }, + "osc-script-simple-editor": { + "commandCounter": { + "singular": "{{value}} Perintah", + "plural": "{{value}} Perintah" + }, + "errorCounter": { + "singular": "{{value}} Validasi Error", + "plural": "{{value}} Validasi Error" + }, + "addCommand": "Tambah", + "test": "Tes", + "action": { + "osc": "OSC", + "sleep": "Tidur", + "none": "Belum ada tindakan yang ditambahkan!" + }, + "commands": { + "COMMAND": { + "title": "Perintah OSC", + "description": "Menjalankan perintah OSC" + }, + "SLEEP": { + "title": "Tidur", + "description": "Tunggu selama jangka waktu tertentu" + } + } + }, + "vrchat-login-modal": { + "title": "Masuk ke VRChat", + "username": "VRChat Username/E-mail", + "password": "Password", + "errors": { + "CHECK_EMAIL": "Login gagal: Untuk detailnya, periksa kotak surat dari alamat email yang terkait dengan akun VRChat Anda.", + "INVALID_CREDENTIALS": "Kredensial yang Anda berikan salah.", + "UNEXPECTED_RESPONSE": "Login gagal: terjadi kesalahan yang tidak diketahui. Harap verifikasi koneksi Anda atau coba lagi nanti." + } + }, + "vrchat-login-tfa-modal": { + "title": "Otentikasi Dua Faktor", + "description": "Akun VRChat Anda dilindungi dengan autentikasi dua faktor.\n\nMasukkan kode 2FA:", + "errors": { + "LAST_CODE_INVALID": "Kode 2FA yang Anda berikan salah.", + "INVALID_FORMAT": "Kode 2FA yang valid terdiri dari 6 angka. Mohon verifikasi masukan Anda." + } + }, + "friend-selection-modal": { + "title": "Pilih Teman", + "searchPlaceholder": "Pilih teman dari nama...", + "noFriendsSelected": "Tidak ada teman terpilih", + "noResultsFor": "Tidak ada hasil untuk '{{query}}'", + "noFriends": "Daftar teman Anda kosong" + }, + "event-log": { + "title": "Event", + "show-more": "Lihat Semua", + "no-logs": "Belum ada event yang dicatat.\nLog disimpan paling lama 48 jam.", + "clearLog": "Hapus", + "clearLogModal": { + "title": "Konfirmasi Hapus", + "message": "Apakah Anda yakin ingin menghapus log event? Ini tidak dapat dibatalkan." + } + }, + "event-log-entry": { + "type": { + "sleepModeEnabled": { + "title": "Mode tidur dinyalakan", + "reason": { + "manual": "Kamu menyalakan mode tidur secara manual", + "osc-control": "Mode tidur dinyalakan via OSC", + "automation": { + "unknown": "Dari otomatisasi yang tidak diketahui", + "SLEEP_MODE_ENABLE_FOR_SLEEP_DETECTOR": "Disaat anda tertidur", + "SLEEP_MODE_ENABLE_AT_TIME": "Disaat waktu tertentu", + "SLEEP_MODE_ENABLE_AT_BATTERY_PERCENTAGE": "Saat level baterai perangkat memenuhi ambang batas", + "SLEEP_MODE_ENABLE_ON_CONTROLLERS_POWERED_OFF": "Saat semua kontroler Anda dimatikan" + } + } + }, + "sleepModeDisabled": { + "title": "Mode tidur dinyalakan", + "reason": { + "manual": "Kamu mematikan mode tidur secara manual", + "osc-control": "Mode tidur dimatikan via OSC", + "automation": { + "unknown": "Dari otomatisasi yang tidak diketahui", + "SLEEP_MODE_CHANGE_ON_STEAMVR_STATUS": "Disaat SteamVR keluar", + "SLEEP_MODE_DISABLE_AT_TIME": "Disaat waktu tertentu", + "SLEEP_MODE_DISABLE_ON_DEVICE_POWER_ON": "Disaat perangkat menyala" + } + } + }, + "turnedOffOpenVRDevices": { + "title": { + "CONTROLLER": "Mematikan Kontroler", + "CONTROLLERS": "Mematikan beberapa kontroler", + "TRACKER": "Mematikan tracker", + "TRACKERS": "Mematikan beberapa trackers", + "ALL": "Mematikan semua perangkat", + "VARIOUS": "Mematikan beberapa perangkat" + }, + "reason": { + "MANUAL": "Dimatikan manual", + "OSC_CONTROL": "Dimatikan via OSC", + "SLEEP_MODE_ENABLED": "Disaat mode tidur menyala", + "CHARGING": "Disaat perangkat mengisi ulang" + } + }, + "lighthouseSetPowerState": { + "SINGLE": { + "on": { + "title": "Menyalakan Base Station", + "reasons": { + "MANUAL": "Dinyalakan manual", + "STEAMVR_START": "Disaat SteamVR Menyala", + "STEAMVR_STOP": "Disaat SteamVR Dimatikan", + "OYASUMI_START": "Disaat OyasumiVR dimulai" + } + }, + "sleep": { + "title": "Mengatur base station ke mode tidur", + "reasons": { + "MANUAL": "Dinyalakan manual", + "STEAMVR_START": "Disaat SteamVR Menyala", + "STEAMVR_STOP": "Disaat SteamVR Dimatikan", + "OYASUMI_START": "Disaat OyasumiVR dimulai" + } + }, + "standby": { + "title": "Mengatur semua base station ke mode siaga", + "reasons": { + "MANUAL": "Dinyalakan manual", + "STEAMVR_START": "Disaat SteamVR Menyala", + "STEAMVR_STOP": "Disaat SteamVR Dimatikan", + "OYASUMI_START": "Disaat OyasumiVR dimulai" + } + } + }, + "ALL": { + "on": { + "title": "Nyalakan semua base station", + "reasons": { + "MANUAL": "Dinyalakan manual", + "STEAMVR_START": "Disaat SteamVR Menyala", + "STEAMVR_STOP": "Disaat SteamVR Dimatikan", + "OYASUMI_START": "Disaat OyasumiVR dimulai" + } + }, + "sleep": { + "title": "Atur semua base station ke mode tidur", + "reasons": { + "MANUAL": "Dinyalakan manual", + "STEAMVR_START": "Disaat SteamVR Menyala", + "STEAMVR_STOP": "Disaat SteamVR Dimatikan", + "OYASUMI_START": "Disaat OyasumiVR dimulai" + } + }, + "standby": { + "title": "Atur semua base station ke mode siaga", + "reasons": { + "MANUAL": "Dinyalakan manual", + "STEAMVR_START": "Disaat SteamVR Menyala", + "STEAMVR_STOP": "Disaat SteamVR Dimatikan", + "OYASUMI_START": "Disaat OyasumiVR dimulai" + } + } + } + }, + "gpuPowerLimitChanged": { + "title": { + "reset": "Power limit untuk '{{device}}' dikembalikan ke {{limit}}", + "set": "Power limit untuk '{{device}}' diatur ke {{limit}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Disaat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Disaat mode tidur dimatikan" + } + }, + "imageBrightnessChanged": { + "title": { + "set": "Kecerahan gambar headset diatur ke {{value}}", + "transition": "Kecerahan gambar headset beralih menuju {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Disaat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Disaat mode tidur dimatikan" + } + }, + "displayBrightnessChanged": { + "title": { + "set": "Kecerahan layar headset diatur ke {{value}}", + "transition": "Kecerahan layar headset beralih menuju {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Disaat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Disaat mode tidur dimatikan" + } + }, + "acceptedInviteRequest": { + "title": "Permintaan undangan yang diterima secara otomatis dari '{{displayName}}'", + "subtitle": { + "whitelist": "Karena player ini masuk whitelist", + "blacklist": "Karena player ini tidak masuk blacklist" + } + }, + "statusChangedOnPlayerCountChange": { + "title": "Mengubah status VRChat Anda dari {{oldStatus}} ke {{newStatus}}", + "reason": { + "BELOW_LIMIT": "Karena jumlah player di world Anda turun di bawah {{threshold}}", + "AT_LIMIT_OR_ABOVE": "Saat jumlah player di world Anda mencapai batas {{threshold}}" + } + }, + "sleepDetectorEnableCancelled": { + "title": "Pengaktifan otomatis mode tidur dibatalkan", + "subtitle": "Saat pengguna masih terjaga" + }, + "renderResolutionChanged": { + "title": { + "auto": "Resolusi render SteamVR diatur ke 'auto'", + "custom": "Resolusi render SteamVR diatur ke {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "Saat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Saat mode tidur dimatikan" + } + }, + "chaperoneFadeDistanceChanged": { + "title": "jarak pudar Chaperone diatur ke {{value}}", + "reason": { + "SLEEP_MODE_ENABLED": "Saat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Saat mode tidur dimatikan" + } + }, + "shutdownSequenceStarted": { + "title": "Urutan shutdown dimulai", + "reason": { + "MANUAL": "Dinyalakan manual", + "SLEEP_TRIGGER": "Saat Anda tertidur cukup lama" + } + }, + "shutdownSequenceCancelled": { + "title": "The shutdown sequence was cancelled", + "reason": { + "MANUAL": "Dibatalkan manual" + } + }, + "msiAfterburnerProfileSet": { + "title": "Profil MSI Afterburner's Sudah diatur ke profil {{profile}}", + "reason": { + "SLEEP_MODE_ENABLED": "Saat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Saat mode tidur dimatikan" + } + }, + "windowsPowerPolicySet": { + "title": "Kebijakan Daya Windows diatur ke paket '{{policy}}'", + "reason": { + "SLEEP_MODE_ENABLED": "Saat mode tidur dinyalakan", + "SLEEP_MODE_DISABLED": "Saat mode tidur dimatikan" + } + } + } + }, + "dotnet-upgrade-modal": { + "title": "Instal Runtime yang Hilang", + "description": { + "text1": "Runtime berikut yang dibutuhkan oleh OyasumiVR sudah terlalu lama, atau tidak terinstal di sistem Anda:", + "runtimeQueued": "Diantrikan", + "text2": "Untuk terus menggunakan OyasumiVR, runtime yang diperlukan harus diinstal terlebih dahulu.", + "automaticInstall": "Apakah Anda ingin OyasumiVR mencoba menginstal runtime ini untuk Anda secara otomatis?", + "noAutomaticInstall": "OyasumiVR tidak dapat menentukan versi terbaru dari runtime ini, dan oleh karena itu tidak dapat menginstalnya secara otomatis untuk Anda. Silakan instal runtime ini secara manual, atau keluar dari OyasumiVR dan coba lagi di lain waktu.", + "moreInfo": "Anda dapat menemukan unduhan dan informasi lebih lanjut di sini:" + }, + "quit": "Keluar OyasumiVR", + "installAutomatically": "Instal Otomatis", + "success": { + "title": "Instalasi Sukses", + "message": "Runtime yang diperlukan telah berhasil diinstal. Silakan keluar dari OyasumiVR, dan mulai lagi untuk melanjutkan." + }, + "failure": { + "title": "Instalasi Gagal", + "message": "Runtime yang hilang yang diperlukan tidak dapat diinstal secara otomatis. Silakan coba menginstalnya secara manual. Anda dapat memeriksa file log untuk informasi lebih lanjut tentang apa yang salah.\n\nJika Anda terus mengalami masalah, silakan hubungi @Raphiiko di Twitter, atau di server Discord kami." + } + } + }, + "resolution-automations": { + "title": "Otomatisasi Resolusi", + "description": "OyasumiVR dapat secara otomatis menyesuaikan resolusi render SteamVR ketika mode tidur diaktifkan atau dinonaktifkan.", + "onSleepEnable": { + "title": "Ketika saya pergi tidur", + "description": "Atur resolusi render saya" + }, + "onSleepDisable": { + "title": "Ketika saya bangun", + "description": "Atur resolusi render saya" + }, + "renderResolution": { + "title": "Ubah resolusi render saya ke", + "custom": "Custom", + "auto": "Auto" + } + }, + "chaperone-automations": { + "title": "Otomatisasi Chaperone", + "description": "OyasumiVR dapat secara otomatis menyesuaikan jarak pudar SteamVR chaperone ketika mode tidur diaktifkan atau dinonaktifkan.", + "onSleepEnable": { + "title": "Saat saya pergi tidur", + "description": "Menyesuaikan jarak pudar chaperone saya" + }, + "onSleepDisable": { + "title": "Ketika saya bangun", + "description": "Menyesuaikan jarak pudar chaperone saya" + }, + "fadeDistance": { + "title": "Mengubah jarak pudar chaperone ke" + } + }, + "sleepAnimations": { + "title": "Animasi Tidur" + }, + "shutdown-automations": { + "title": "Urutan Shutdown", + "description": "Jika Anda menikmati tertidur dalam VR, tetapi tidak ingin tidur dalam VR sepanjang malam, Anda dapat menggunakan urutan shutdown OyasumiVR. Fitur ini secara otomatis mati dengan mulus setelah Anda tertidur, sehingga Anda dapat melanjutkan tidur dengan lancar di luar VR.", + "triggers": { + "title": "Trigger Otomatis", + "whenAsleep": { + "title": "Aktifkan jika saya mulai tidur", + "description": "Mengaktifkan urutan shutdown ketika mode tidur telah diaktifkan selama jangka waktu tertentu" + }, + "whenAsleepDuration": { + "title": "Durasi Tidur", + "description": "Berapa lama mode tidur harus aktif sebelum urutan shutdown berjalan" + }, + "whenAsleepTimeWindow": { + "title": "Jendela aktivasi", + "description": "Hanya izinkan shutdown untuk dipicu di antara jam-jam tertentu dalam sehari" + } + }, + "sequence": { + "title": "Pengaturan shutdown", + "quitSteamVR": { + "title": "Keluar SteamVR", + "description": "Ini juga akan menghentikan permainan atau overlay yang sedang Anda jalankan" + }, + "turnOffDevices": { + "title": "Matikan Perangkat" + }, + "turnOffControllers": { + "title": "Matikan Kontroler", + "description": "Mematikan kontrolermu" + }, + "turnOffTrackers": { + "title": "Matikan tracker", + "description": "Mematikan trackermu" + }, + "turnOffBaseStations": { + "title": "Matikan base stations", + "description": "Mematikan semua base stations yang masih aktif" + }, + "shutDownWindows": { + "title": "Shutdown Windows", + "description": "Mencoba untuk mematikan windowsmu" + }, + "run": "Jalankan urutan" + }, + "confirm-modal": { + "title": "Apa kamu yakin?", + "message": "Apakah Anda yakin ingin mengaktifkan urutan shutdown sekarang?" + }, + "noOptionsSelected": "Karena Anda tidak memiliki tindakan yang dipilih untuk dijalankan selama urutan penonaktifan, maka menjalankannya tidak akan memberikan efek apa pun. Agar fitur ini dapat melakukan sesuatu, pilih setidaknya salah satu opsi di bawah ini.", + "overlay": { + "stage": { + "QUITTING_STEAMVR": "Mematikan SteamVR...", + "TURNING_OFF_CONTROLLERS": "Mematikan kontroler...", + "TURNING_OFF_TRACKERS": "Mematikan tracker...", + "TURNING_OFF_BASESTATIONS": "Mematikan base stations...", + "SHUTTING_DOWN": "Mematikan Windows..." + }, + "title": "Mematikan", + "cancel": "Batalkan" + } + }, + "overlay": { + "dashboard": { + "overview": { + "sleepMode": "Mode Tidur", + "active": "Aktif", + "inactive": "Tidak Aktif", + "tooltip": { + "automations": "Otomatisasi", + "deviceControl": "Kontrol Perangkat", + "shutdown": "Urutan Shutdown" + } + }, + "shutdownSequence": { + "dialog": { + "title": "Urutan Shutdown", + "message": "Anda akan memulai urutan shutdown.\nApakah Anda yakin ingin melakukan ini sekarang?\n\nAnda dapat mengonfigurasi tindakan mana yang diambil oleh urutan penonaktifan di jendela utama OyasumiVR.", + "start": "Mulai shutdown" + } + }, + "deviceControl": { + "title": "Kontrol perangkat", + "turnOff": { + "AllControllers": "Matikan semua\nkontroler", + "AllTrackers": "Matikan semua\ntracker", + "AllControllersAndTrackers": "Matikan semua\nKontroler dan tracker" + } + }, + "automations": { + "autoAcceptInviteRequests": { + "title": "Terima Otomatis Permintaan Undangan", + "subtitle": { + "singular": "{{mode}}: {{playerCount}} teman", + "plural": "{{mode}}: {{playerCount}} teman" + }, + "mode": { + "Disabled": "Untuk semuanya", + "Whitelist": "Whitelist", + "Blacklist": "Blacklist" + } + }, + "changeStatusBasedOnPlayerCount": { + "title": "Status Otomatisasi", + "subtitle": { + "singular": "Maks {{threshold}} player", + "plural": "Maks {{threshold}} player" + } + }, + "sleepingAnimations": { + "title": "Animasi tidur" + }, + "shutdownAutomations": { + "title": "Shutdown Otomatis", + "subtitle": "Ketika tertidur selama {{time}}", + "seconds": { + "singular": "{{seconds}} detik", + "plural": "{{seconds}} detik" + }, + "minutes": { + "singular": "{{minutes}} menit", + "plural": "{{minutes}} menit" + } + }, + "sleepModeEnableForSleepDetector": { + "title": "Deteksi tidur", + "subtitle": { + "withoutActivationWindow": "{{sensitivity}} sensitivitas", + "withActivationWindow": "{{sensitivity}} sensitivitas, {{startTime}} - {{endTime}}" + } + }, + "title": "Pengaturan Otomatisasi" + } + } + } +} diff --git a/src-ui/assets/i18n/ja.json b/src-ui/assets/i18n/ja.json index 5f304734..c1f36590 100644 --- a/src-ui/assets/i18n/ja.json +++ b/src-ui/assets/i18n/ja.json @@ -31,7 +31,7 @@ "displayBrightness": "ディスプレイの明るさ" }, "displayBrightness": { - "description": "ヘッドセットのディスプレイの明るさを自動的に調整します。ディスプレイの明るさは、画像を暗くするのではなく、ヘッドセットのLCDパネルのバックライトの強さに影響します。この機能は Valve Index でのみ利用可能です。", + "description": "HMDのディスプレイの明るさを自動的に調整します。ディスプレイの明るさは、画像を暗くするのではなく、LCDパネルのバックライトの強さに影響します。この機能は Valve Index でのみ利用可能です。", "indexWarning": "Valve Indexを接続し、SteamVRが起動していることを確認してください。", "onSleepEnable": { "title": "睡眠時", @@ -43,7 +43,7 @@ } }, "imageBrightness": { - "description": "ヘッドセットの画像の明るさを自動的に調整します。この機能はすべてのヘッドセットで可能です。", + "description": "ヘッドセットの映像の明るさを自動的に調整します。この機能はすべてのヘッドセットで可能です。", "onSleepEnable": { "title": "睡眠時", "description": "映像の明るさを調整する" @@ -58,8 +58,8 @@ "description": "" }, "transition": { - "title": "輝度遷移のスムージング", - "description": "設定した輝度に徐々に移行させる" + "title": "なめらかな遷移", + "description": "輝度を徐々に移行させる" }, "transitionTime": { "title": "遷移時間", @@ -80,40 +80,40 @@ "enableAutomations": { "title": "睡眠モードの有効化", "description": "任意の設定に基づいて睡眠モードを有効にします。", - "atTime": "指定した時間", - "atBatteryPercentage": "機器のバッテリー残量が{{value}}%を下回ったとき", - "onControllersPoweredOff": "全てのコントローラーの電源が切れたとき", + "atTime": "時刻指定", + "atBatteryPercentage": "デバイスのバッテリー残量が{{value}}%を下回ったとき", + "onControllersPoweredOff": "全てのコントローラーがオフになったとき", "onMotionDetection": { - "title": "HMDの動きから入眠を検知したとき" + "title": "寝落ちを検知したとき" } }, "disableAutomations": { "title": "睡眠モードの無効化", "description": "任意の設定に基づいて睡眠モードを無効にします。", - "atTime": "指定した時間", - "onDevicePowerOn": "機器の電源が入ったとき", - "onSteamVRStop": "SteamVRを停止したとき" + "atTime": "時刻指定", + "onDevicePowerOn": "デバイスの電源がオンになったとき", + "onSteamVRStop": "SteamVRを終了したとき" }, "modals": { "sleepDetectorCalibration": { - "title": "睡眠検知のキャリブレーション", + "title": "寝落ち検知のキャリブレーション", "currentCalibration": "現在の校正値", - "noSteamVR": "HMDをつけた状態でSteamVRを起動している必要があります。", - "startCalibration": "キャリブレーションを開始する", - "restartCalibration": "キャリブレーションを再開する", + "noSteamVR": "HMDを装着した状態でSteamVRを起動している必要があります。", + "startCalibration": "キャリブレーション開始", + "restartCalibration": "キャリブレーション再開", "info": { "intro": "HMDの動きから入眠を検知して睡眠モードに移行します。", "stepPrefix": "キャリブレーション手順は以下の通りです。", "step": { - "one": "HMDを装着し、横になる", - "two": "オーバーレイでキャリブレーションを開始する", + "one": "HMDを装着し、寝る姿勢になる", + "two": "オーバーレイからキャリブレーションを開始させる", "three": "10秒間、静止する" }, - "stepSuffix": "完了すると、HMDの動きから入眠を検知できるようになるはずです。" + "stepSuffix": "完了すると寝落ち検知機能が使用できるようになります。" }, "prepare": { - "instruction": "HMDを装着して、横になりましょう。", - "note": "準備が整えば、オーバーレイなどで開始ボタンを押します。" + "instruction": "HMDを装着して、寝る姿勢になりましょう。", + "note": "準備が整えば、オーバーレイなどで開始ボタンを押してください。" }, "countdown": { "instruction": "{{counter}}秒後に開始します。", @@ -137,12 +137,12 @@ "title": "睡眠モードの有効化", "calibration": { "title": "キャリブレーション", - "description": "少なくとも一度はキャリブレーションを行う必要があります", + "description": "一度はキャリブレーションを行う必要があります", "action": "設定画面" }, "sensitivity": { "title": "検知感度", - "description": "感度を上げると睡眠を検出しやすくなります。", + "description": "感度を上げると睡眠を検知しやすくなります(HMDの動作検知を鈍くさせます)", "presets": { "LOWEST": "1(最低)", "LOW": "2", @@ -153,24 +153,28 @@ }, "sleepCheck": { "title": "有効化の最終確認", - "description": "睡眠モードへ移行する前に、本当に眠ったか最終確認します。" + "description": "睡眠モードへ移行する直前に、本当に眠ったか通知で最終確認します" }, "detectionWindow": { - "title": "検出待機時間", - "description": "入眠を検出するまでの時間を設定します", + "title": "検知タイマー", + "description": "時間内に一定の動作がない場合は寝落ちと判定されます", "unit": "分" }, - "description": "動きから寝ていると推測すると、自動的に睡眠モードになります。" + "description": "寝落ちを検知して睡眠モードに移行します\nHMDに一定の動作があった場合はタイマーをリセットして再度測定を開始します", + "timeWindow": { + "title": "有効な時間帯", + "description": "特定の時間帯にのみ有効にできます" + } }, "enableAtTime": { "title": "睡眠モードの有効化", - "description": "指定した時間に睡眠モードを有効にします。", - "time": "時間" + "description": "指定した時刻に睡眠モードを有効にします。", + "time": "時刻" }, "disableAtTime": { "title": "睡眠モードの無効化", - "description": "指定した時間に睡眠モードを無効にします。", - "time": "時間" + "description": "指定した時刻に睡眠モードを無効にします。", + "time": "時刻" }, "disableOnDevicePowerOn": { "title": "睡眠モードの無効化", @@ -201,13 +205,13 @@ "currentPose": "現在位置", "manualControl": "マニュアル操作", "presetAuthor": "{{author}}による", - "description": "寝返りに合わせてアバターのアニメーションを変更します。これは、全身トラッキングをしていない場合や、自分が夜間にトラッカーをオフにする場合(またはOyasumiVRを使用している場合)などに便利です。詳細はこちらをご覧ください。\n\nまた、アバターのロコモーションはいくつかのプリセットを用意していますが、自分でアニメーションを指定することも可能です。", + "description": "寝相に合わせてアバターのアニメーションを変更します。これは、全身トラッキングをしていない場合や、自分が夜間にトラッカーをオフにする場合(またはOyasumiVRを使用している場合)などに便利です。詳細はこちらをご覧ください。\n\nいくつかロコモーションのプリセットを用意していますが、独自でアニメーションを指定することも可能です。", "enable": "自動睡眠アニメーションの有効化", "customPreset": "カスタムアニメーション", "options": { "positions": { - "title": "寝姿勢", - "description": "寝姿勢ごとにアニメーションを有効化させるOSCコマンドを設定します。", + "title": "寝相", + "description": "寝相ごとにアニメーションを有効化させるOSCコマンドを設定します", "SIDE_FRONT": "うつぶせ", "SIDE_BACK": "仰向け", "SIDE_LEFT": "左向き", @@ -216,7 +220,7 @@ }, "footLock": { "title": "フットロック", - "description": "フットロックの有効化/無効化を OSC コマンドで設定します。", + "description": "フットロックの有効化/無効化を OSC コマンドで設定します", "FOOT_LOCK": "フットロックの有効化", "FOOT_UNLOCK": "フットロックの無効化" }, @@ -227,18 +231,18 @@ "onlyIfAllTrackersTurnedOff": "すべてのトラッカーがオフのとき", "footLock": { "title": "フットロック", - "description": "フットロック有効時、プレイヤーの動きや寝返りを防ぎます。" + "description": "フットロックを有効にするとアバターが回転することを防ぐことができます。" }, "lockFeetOnSleepModeEnable": "睡眠モード有効時にフットロック", "unlockFeetOnSleepModeDisable": "睡眠モード無効時にフットロック解除", "unlockFeetOnAutomationDisable": "自動睡眠アニメーション無効時にフットロック解除", - "releaseFootLockOnPoseChange": "寝姿勢が変わる際にフットロックを瞬時に解除", + "releaseFootLockOnPoseChange": "寝相が変わる際にフットロックを瞬時に解除", "footLockReleaseWindow": "フットロックの解除時間" } } }, "general": { - "description": "特定のイベントが発生したときに、VRChatにOSCコマンドを送信するための設定です。例えば睡眠時や起床時に、アバターのトグルを変更したい場合に使用できます。", + "description": "VRChatにOSCコマンドを送信するための設定です。例えば睡眠時や起床時に、アバターのトグルを変更したい場合に使用できます。", "onSleepEnable": { "title": "睡眠時", "description": "送信コマンド", @@ -309,7 +313,7 @@ "lighthouseControlDisabledWarning": "OyasumiVRの設定でベースステーションの電力制御を無効にしているため、これらの自動化を利用することができません。これらの自動化を使用する場合は、これを有効にしてください。", "enableLighthouseControl": "有効にする", "error": { - "noAdapter": "お使いのシステムでBluetoothアダプターが見つかりませんでした。システムにBluetoothアダプターが搭載されているか、また、それが有効になっているかを確認してください。", + "noAdapter": "お使いのシステムでBluetoothアダプターが見つかりませんでした。システムにBluetoothアダプターが搭載され、有効になっているかを確認してください。", "adapterError": "Bluetoothアダプターとの通信を試みている間にエラーが発生しました。Bluetoothアダプターが有効になっていることを確認し、再度お試しください。" } }, @@ -380,7 +384,7 @@ "CHECKING": "有効な MSIAfterburner.exe か確認中です。", "NOT_FOUND": "MSIAfterburner.exeが見つかりませんでした。", "INVALID_EXECUTABLE": "この場所にある MSIAfterburner.exe が機能していることを確認できませんでした。", - "INVALID_SIGNATURE": "この場所の MSIAfterburner.exe がMSIからのものであると確認できませんでした。セキュリティ上の理由から、これは使用できません。MSI Afterburnerが最新バージョンか確認してください。問題が解決しない場合、またはこれが正しいと確信している場合は、OyasumiVR開発者に連絡するか、バグレポートを提出してください。", + "INVALID_SIGNATURE": "この場所の MSIAfterburner.exe がMSIからのものであると確認できませんでした。セキュリティ上の理由から、これは使用できません。MSI Afterburnerが最新バージョンか確認してください。問題が解決しない場合、またはこれが正しい実行ファイルと確信している場合は、OyasumiVR開発者に連絡するか、バグレポートを提出してください。", "UNKNOWN_ERROR": "この場所でMSIAfterburner.exe を探そうとした際に、不明なエラーが発生しました。", "SUCCESS": "MSIAfterburner.exeが見つかり、正常に機能しています!" } @@ -391,7 +395,7 @@ "title": "ステータス自動化", "enable": "ステータス自動化を有効にする", "description": "ワールドにいる人数に応じてステータスを自動設定し、Joinできる人数を制限することができます。", - "exampleUse": "使用例: フレンドがJoinしてきたとき、自動的にステータスをオレンジや赤に切り替え、二人きりになれます。\nフレンドが退出したとき、自動的にステータスを青に戻して、他のフレンドがJoinできるようにします。", + "exampleUse": "使用例: 一人で寝ているときは青に切り替え、十分な人数がいるときはオレンジに切り替えることができます!", "disableToEdit": "変更を行う際は、ステータス自動化を無効にしてください。", "playerLimit": "人数制限", "playerLimitLabel": { @@ -407,7 +411,7 @@ "description": "ステータスの設定" }, "onlyIfSleepModeEnabled": "睡眠モード有効時のみ", - "behaviourWarning": "OyasumiVRによるステータスの変更は、自分自身には反映されていないように見えます。また、他のプレイヤーから見てステータスの更新が表示されるまで少し時間がかかる場合があります。これはVRChatの仕様であり、OyasumiVRが修正することはできません。", + "behaviourWarning": "OyasumiVRによるステータスの変更は、一見すると自分自身には反映されていないように見えます。また、他のプレイヤーから見てステータスの更新が表示されるまで少し時間がかかる場合があります。これはVRChatの仕様であり、OyasumiVRが修正することはできません。", "moreInfo": "詳細", "behaviourWarningFAQ": "ステータス変更の挙動に関する質問に対する回答は、こちらをご覧下さい。\n\nQ: VRChat上で青に表示されていなくても、Req Inviteは自動的に承認されますか?\nA: OyasumiVRがステータスを青(Join Me)に変更した場合は、受け取ったReq Inviteを自動承認します。\n\nQ: ステータスが更新されないのでJoinできません。\nA: ステータスの更新は、他のユーザーに表示されるまでに時間がかかる場合があります。JoinしたいのにJoinできない場合は、メインメニューからプロフィールを開いて、自身のステータスを強制的に更新することも可能です。" }, @@ -550,13 +554,13 @@ "title": "アクティベーションアクション", "description": "オーバーレイを起動する方法を選択します", "action": { - "none": "なし(無効)", - "singleA": "Aボタンをプッシュ", - "doubleA": "Aボタンをダブルプッシュ", - "tripleA": "Aボタンを3プッシュ", - "singleB": "Bボタンをトリプルプッシュ", - "doubleB": "Bボタンをダブルプッシュ", - "tripleB": "Bボタンをトリプルプッシュ" + "none": "なし(無効)", + "singleA": "Aボタン", + "doubleA": "Aボタン(2プッシュ)", + "tripleA": "Aボタン(3プッシュ)", + "singleB": "Bボタン", + "doubleB": "Bボタン(2プッシュ)", + "tripleB": "Bボタン(3プッシュ)" }, "controller": { "either": "いずれかのコントローラー", @@ -587,9 +591,6 @@ "subtext": "現在、VRChatアカウントでログインしていません", "logIn": "ログイン" }, - "errors": { - "initError": "VRChatモジュールが初期化されませんでした。インターネットに接続していることを確認し、時間をおいてからOyasumiVRを再起動し、再度お試しください。" - }, "disclaimers": { "use": "ログイン情報は保管されず、認証のためにVRChatのサーバーに送信されます。", "brand": "OyasumiVRはVRChatが承認したものではなく、VRChatやVRChatの制作・運営に公式に関与している人物の見解や意見を反映したものではありません。VRChatは、VRChat Inc.の商標です。VRChat © VRChat Inc.", @@ -642,7 +643,7 @@ "title": "通知の設定", "provider": { "title": "通知先", - "description": "使用したい通知先を選択します。" + "description": "使用したい通知先を選択します" }, "notifications": { "title": "通知項目", @@ -657,12 +658,12 @@ "description": "睡眠モードが無効になったとき" }, "AUTO_UPDATED_STATUS_PLAYERCOUNT": { - "title": "VRChatステータス更新(自動)", + "title": "VRChatステータスの更新", "description": "VRChatステータスを自動更新したとき" }, "AUTO_ACCEPTED_INVITE_REQUEST": { - "title": "ReqInviteの承認(自動)", - "description": "ReqInviteを自動承認したとき" + "title": "Req Inviteの承認", + "description": "Req Inviteを自動承認したとき" } } } @@ -673,11 +674,15 @@ "install": "v{{version}}をインストール", "noUpdate": "現在、最新版であるOyasumiVR v{{version}} を利用しています!", "notChecked": "OyasumiVRはまだアップデートを確認しておりません。", - "updateAvailable": "OyasumiVRの最新版が登場!現在、あなたはv{{currentVersion}}を利用しています。\n最新版はv{{latestVersion}}です" + "updateAvailable": "OyasumiVRの最新版が登場!現在、あなたはv{{currentVersion}}を利用しています。\n最新版はv{{latestVersion}}です", + "updatesDisabled": { + "DEV": "新しいバージョンのOyasumiVRをインストールしたい場合は、手動でインストーラーをダウンロードして実行してください", + "STEAM": "Steam版をインストールしているため、新しいアップデートはSteamを通じて提供されます!" + } }, "advanced": { "persistentData": { - "title": "永続的なデータ", + "title": "保存データ", "description": "OyasumiVRがローカルディスクに保存するデータの管理ができます。", "dataType": { "all": { @@ -686,45 +691,45 @@ }, "appSettings": { "title": "アプリケーション設定", - "description": "OyasumiVRの一般設定のすべて" + "description": "一般設定の全てのデータ" }, "automationSettings": { "title": "自動化の設定", - "description": "OyasumiVRの1つのオートメーションに固有のすべての設定" + "description": "自動化関係の全てのデータ" }, "vrcData": { "title": "VRChatデータ", - "description": "認証データなど、VRChatに特有のデータ" + "description": "認証情報など、VRChat特有のデータ" }, "miscData": { "title": "その他のデータ", - "description": "OyasumiVRが保管する、他のカテゴリーに含まれないすべてのデータ" + "description": "他のカテゴリーに含まれない全てのデータ" }, "appCache": { "title": "データキャッシュ", - "description": "VRChat APIレスポンスなど、一時的に保存されるすべてのデータ" + "description": "VRChat APIレスポンスなど、一時的に保存される全てのデータ" }, "imageCache": { "title": "画像キャッシュ", - "description": "VRChatのプレイヤーアイコンなど、一時的に保存されるすべての画像" + "description": "VRChatのプレイヤーアイコンなど、一時的に保存される全ての画像データ" }, "logs": { "title": "ログファイル", - "description": "OyasumiVRが作成するログファイル" + "description": "ログデータ" }, "eventLog": { "title": "イベントログ", "description": "概要に記録されるイベント" } }, - "clearData": "クリアデータ", + "clearData": "データクリア", "clearModal": { "title": "消去の確認", "message": "以下のデータを削除しますか?元に戻せません。\n\n{{items}}" }, "relaunchModal": { "title": "OyasumiVRを再起動する", - "message": "要求されたデータはクリアされました。この後、OyasumiVRを再起動することをお勧めします。OyasumiVRを再起動しないと、好ましくない影響が出る可能性があります。", + "message": "要求されたデータはクリアされました。OyasumiVRを再起動してください。再起動せず使用した場合、不具合の原因になる可能性があります。", "relaunch": "OyasumiVRを今すぐ再起動する", "later": "あとでやる" } @@ -746,7 +751,7 @@ "title": "ログファイル", "openFolder": { "title": "ログフォルダを開く", - "description": "エクスプローラーでログファイルの場所を開く", + "description": "エクスプローラーでログファイルの場所を開きます", "action": "フォルダを開く" } } @@ -759,7 +764,7 @@ "translations": "翻訳", "projectLinks": "プロジェクトリンク", "sourceLink": "Source Code @ GitHub", - "discordInvite": "Discordサーバー", + "discordInvite": "Discord", "contributions": "貢献" }, "updater": { @@ -1177,7 +1182,7 @@ }, "resolution-automations": { "title": "解像度の自動化", - "description": "睡眠モードによって、SteamVRのレンダリング解像度を自動的に調整します。", + "description": "SteamVRのレンダリング解像度を自動的に調整します。", "onSleepEnable": { "title": "睡眠時", "description": "レンダリング解像度を調整する" @@ -1194,7 +1199,7 @@ }, "chaperone-automations": { "title": "ガーディアンの自動化", - "description": "睡眠モードの有効・無効時にSteamVRのガーディアンのフェード距離を自動調整します。", + "description": "SteamVRのガーディアンのフェード距離を自動的に調整します。", "onSleepEnable": { "title": "睡眠時", "description": "睡眠モード有効時にフェード距離を調整する" @@ -1204,7 +1209,7 @@ "description": "睡眠モード無効時にフェード距離を調整する" }, "fadeDistance": { - "title": "ガーディアンのフェード距離を変更する" + "title": "ガーディアンのフェード距離" } }, "sleepAnimations": { @@ -1232,7 +1237,7 @@ "title": "シャットダウン設定", "quitSteamVR": { "title": "SteamVRを終了する", - "description": "これにより、実行中のゲームやオーバーレイも終了します" + "description": "実行中のゲームやオーバーレイも終了します" }, "turnOffDevices": { "title": "デバイスの電源を切る" @@ -1320,7 +1325,7 @@ } }, "sleepingAnimations": { - "title": "睡眠の自動化" + "title": "アニメーションの自動化" }, "shutdownAutomations": { "title": "自動シャットダウン", @@ -1334,6 +1339,13 @@ "plural": "{{minutes}} 分" } }, + "sleepModeEnableForSleepDetector": { + "title": "睡眠検出", + "subtitle": { + "withoutActivationWindow": "検知感度 {{sensitivity}}", + "withActivationWindow": "検知感度 {{sensitivity}}, {{startTime}} - {{endTime}}" + } + }, "title": "自動化の設定" } } diff --git a/src-ui/assets/i18n/ko.json b/src-ui/assets/i18n/ko.json index 53623f4b..c981376a 100644 --- a/src-ui/assets/i18n/ko.json +++ b/src-ui/assets/i18n/ko.json @@ -12,8 +12,16 @@ "close": "닫기", "login": "로그인" }, + "common": { + "none": "없음" + }, "misc": { - "vrcLoginRequired": "이 기능을 사용하려면 VRChat 계정으로 로그인해야 해요." + "vrcLoginRequired": "이 기능을 사용하려면 VRChat 계정으로 로그인해야 해요.", + "windowsPowerPolicy": { + "BALANCED": "균형 조정", + "HIGH_PERFORMANCE": "고성능", + "POWER_SAVING": "절전" + } } }, "brightness-automations": { @@ -112,7 +120,7 @@ "note": "보정하는 동안 가만히 있어주세요! 보정하는 동안 움직이면 이 기능이 제대로 작동하지 않아요." }, "calibrating": { - "instruction": "보정중", + "instruction": "보정 중", "note": "가만히 있어주세요.", "countdown": "{{counter}}초 남았습니다..." }, @@ -133,8 +141,8 @@ "action": "보정하기" }, "sensitivity": { - "title": "감도 수준", - "description": "감도가 높을수록 OyasumiVR이 사용자가 잠든 것을 감지할 가능성이 늘어나요.", + "title": "민감도", + "description": "민감도가 높을수록 OyasumiVR이 사용자가 잠든 것을 감지할 가능성이 늘어나요.", "presets": { "LOWEST": "가장 낮음", "LOW": "낮음", @@ -148,11 +156,15 @@ "description": "수면 모드를 활성화하기 전에 아직 깨어 있는지 묻는 상호작용 가능한 알림을 보냅니다." }, "detectionWindow": { - "title": "감지 창", + "title": "감지 기간", "description": "OyasumiVR이 사용자가 잠든 것을 감지하기까지 얼마나 기다려야 할까요?", "unit": "분" }, - "description": "이 기능을 활성화하면 OyasumiVR은 사용자의 움직임을 기반으로 사용자가 잠든 것으로 판단하면 자동으로 수면 모드를 활성화해요." + "description": "이 기능을 활성화하면 OyasumiVR은 사용자의 움직임을 기반으로 사용자가 잠든 것으로 판단하면 자동으로 수면 모드를 활성화해요.", + "timeWindow": { + "title": "활성화 기간", + "description": "하루 중 특정 시간 사이에만 수면 모드를 활성화하도록 수면 감지를 허용합니다." + } }, "enableAtTime": { "title": "수면 모드 활성화", @@ -579,9 +591,6 @@ "subtext": "현재 VRChat 계정으로 로그인 되어있지 않아요.", "logIn": "로그인" }, - "errors": { - "initError": "VRChat 모듈이 초기화되지 않았어요. 인터넷 접속을 확인하고 잠시 후에 OyasumiVR을 재부팅해 다시 시도해주세요." - }, "disclaimers": { "use": "로그인 정보는 보관되지 않고 인증을 위해 VRChat 서버로만 전송되어요.", "brand": "OyasumiVR은 VRChat이 승인한 프로그램이 아니며 VRChat이나 VRChat의 제작·운영에 공식적으로 관여하고 있는 인물들의 견해나 의견을 반영한 것이 아닙니다. VRChat은 VRChat Inc.의 상표입니다. VRChat © VRChat Inc.", @@ -665,7 +674,11 @@ "install": "v{version} 설치", "noUpdate": "현재 최신 버전의 OyasumiVR v{{version}}을 이용하고 있어요!", "notChecked": "OyasumiVR의 업데이트를 확인하지 못했어요.", - "updateAvailable": "OyasumiVR의 업데이트를 발견했어요! 현재 버전은 v{{currentVersion}}, \n최신 버전은 v{{latestVersion}}입나다." + "updateAvailable": "OyasumiVR의 업데이트를 발견했어요! 현재 버전은 v{{currentVersion}}, \n최신 버전은 v{{latestVersion}}입나다.", + "updatesDisabled": { + "DEV": "OyasumiVR의 개발 빌드를 실행 중이므로 업데이트가 비활성화되었어요.\n새 버전의 OyasumiVR을 설치하려면 설치 프로그램을 수동으로 다운로드하여 실행해주세요.", + "STEAM": "스팀 버전의 OyasumiVR이 설치되어 있어요.\n새 버전의 OyasumiVR 업데이트는 스팀을 통해 제공됩니다!" + } }, "advanced": { "persistentData": { @@ -1326,6 +1339,13 @@ "plural": "{{minutes}}분" } }, + "sleepModeEnableForSleepDetector": { + "title": "수면 감지", + "subtitle": { + "withoutActivationWindow": "민감도 {{sensitivity}}", + "withActivationWindow": "민감도 {{sensitivity}}, {{startTime}} - {{endTime}}" + } + }, "title": "자동화 설정" } } diff --git a/src-ui/assets/i18n/nl.json b/src-ui/assets/i18n/nl.json index 13861b9f..974a0245 100644 --- a/src-ui/assets/i18n/nl.json +++ b/src-ui/assets/i18n/nl.json @@ -587,9 +587,6 @@ "subtext": "Je bent niet ingelogd met je VRChat account.", "logIn": "Log in" }, - "errors": { - "initError": "De VRChat module kon niet worden geinitialiseerd. Check of je internet verbinding werkt en herstart OyasumiVR op een later moment om het opnieuw te proberen." - }, "disclaimers": { "use": "Je login gegevens zullen nooit ergens opgeslagen worden en worden alleen direct naar VRChat's servers gestuurd om in te kunnen loggen.", "brand": "OyasumiVR wordt niet erkend door VRChat en vertegenwoordigt niet de standpunten en meningen van VRChat of van diegenen die officieel betrokken zijn bij het produceren of beheren van VRChat. VRChat is een handelsmerk van VRChat Inc. VRChat © VRChat Inc.", @@ -1338,4 +1335,4 @@ } } } -} +} \ No newline at end of file diff --git a/src-ui/assets/i18n/tw.json b/src-ui/assets/i18n/tw.json index 559595bb..2c35349b 100644 --- a/src-ui/assets/i18n/tw.json +++ b/src-ui/assets/i18n/tw.json @@ -12,8 +12,16 @@ "close": "關閉", "login": "登入" }, + "common": { + "none": "無" + }, "misc": { - "vrcLoginRequired": "這個功能需要你登入你的 VRChat 帳號" + "vrcLoginRequired": "這個功能需要你登入你的 VRChat 帳號", + "windowsPowerPolicy": { + "BALANCED": "平衡模式", + "HIGH_PERFORMANCE": "高效能模式", + "POWER_SAVING": "省電模式" + } } }, "brightness-automations": { @@ -134,6 +142,7 @@ }, "sensitivity": { "title": "靈敏度", + "description": "靈敏度設定越高,OyasumiVR 偵測您進入睡眠狀態的機率就越高。", "presets": { "LOWEST": "最低", "LOW": "低", @@ -151,7 +160,11 @@ "description": "OyasumiVR應該等待多久才能檢測到你在睡覺", "unit": "分鐘" }, - "description": "OyasumiVR在檢測到你睡著之前應等待多長時間啟用該功能後,當OyasumiVR根據你的動作猜測你在睡覺時,它將自動啟用睡眠模式" + "description": "OyasumiVR在檢測到你睡著之前應等待多長時間啟用該功能後,當OyasumiVR根據你的動作猜測你在睡覺時,它將自動啟用睡眠模式", + "timeWindow": { + "title": "啟動視窗", + "description": "只允許睡眠檢測在一天中的某些時段啟動睡眠模式" + } }, "enableAtTime": { "title": "開啟睡眠模式", @@ -244,6 +257,23 @@ }, "power-automations": { "title": "電源自動化", + "tabs": { + "controllersAndTrackers": "控制器和定位器", + "baseStations": "基地台", + "windowsPowerPolicy": "Power Policy" + }, + "windowsPowerPolicy": { + "description": "OyasumiVR可以在您進入睡眠或醒來時自動更改Windows的電源策略。這對於在您睡覺時降低能耗並在您醒來後恢復高性能策略非常有用。", + "automations": "自動化功能", + "sleepModeEnable": { + "title": "當睡眠模式啟用時", + "description": "設定以下Windows電源策略" + }, + "sleepModeDisable": { + "title": "當睡眠模式停用時", + "description": "設定以下Windows電源策略" + } + }, "devicePowerOff": { "onSleepModeEnable": { "title": "當我入睡時", @@ -259,10 +289,6 @@ "optionTrackers": "關掉定位器" } }, - "tabs": { - "controllersAndTrackers": "控制器和定位器", - "baseStations": "基地台" - }, "lighthousePowerOn": { "title": "開啟基地台", "description": "讓OyasumiVR自動開啟您的基地台。", @@ -522,6 +548,33 @@ } } } + }, + "overlay": { + "activation": { + "title": "啟用動作", + "description": "選擇何時開啟或關閉覆蓋層", + "action": { + "none": "無(停用)", + "singleA": "單次按A鈕", + "doubleA": "雙次按A鈕", + "tripleA": "三次按A鈕", + "singleB": "單次按B鈕", + "doubleB": "雙次按B鈕", + "tripleB": "三次按B鈕" + }, + "controller": { + "either": "任意手把", + "left": "左手把", + "right": "右手把", + "title": "手把", + "description": "選擇哪些手把可以用於啟用覆蓋層" + }, + "triggerFilter": { + "title": "需要扳機", + "description": "僅在執行動作時按住扳機時才啟用。" + } + }, + "title": "覆蓋層" } }, "vrchat": { @@ -538,9 +591,6 @@ "subtext": "你目前沒有使用你的 VRChat 帳戶登入", "logIn": "登入" }, - "errors": { - "initError": "無法初始化 VRChat 模組。 請確保你有連上網際網路並稍後重新啟動 OyasumiVR 重試" - }, "disclaimers": { "use": "你的登入憑證永遠不會儲存在任何地方,只會發送到 VRChat 的伺服器以進行身份驗證", "brand": "OyasumiVR 沒有得到 VRChat 的官方認可,也不表示 VRChat 或任何正式參與製作或管理 VRChat 團隊成員的觀點或意見。 VRChat 是 VRChat Inc. 的商標 VRChat © VRChat Inc.", @@ -624,7 +674,11 @@ "install": "安裝版本 {{version}}", "noUpdate": "你當前運行的是最新版本的 OyasumiVR 版本 {{version}}!", "notChecked": "OyasumiVR 尚未檢查更新", - "updateAvailable": "新版本的 OyasumiVR 現已推出! 你當前正在運行版本 {{currentVersion}}。\n最新版本是 {{latest Version}}。" + "updateAvailable": "新版本的 OyasumiVR 現已推出! 你當前正在運行版本 {{currentVersion}}。\n最新版本是 {{latest Version}}。", + "updatesDisabled": { + "DEV": "如果您想安裝新版本的 OyasumiVR,請下載並手動運行安裝程式。", + "STEAM": "您已經安裝了 Steam 版本的《OyasumiVR》。因此,新的《OyasumiVR》更新將通過 Steam 提供!" + } }, "advanced": { "persistentData": { @@ -757,6 +811,15 @@ }, "autoAcceptedInviteRequest": { "content": "已自動接受來自 {{username}} 的邀請請求" + }, + "turningOffControllers": { + "content": "關閉您的手把" + }, + "turningOffTrackers": { + "content": "關閉您的定位器" + }, + "turningOffControllersAndTrackers": { + "content": "關閉您的手把和定位器" } }, "comp": { @@ -1021,6 +1084,16 @@ "SLEEP_MODE_DISABLED": "由於睡眠模式被禁用" } }, + "displayBrightnessChanged": { + "title": { + "set": "頭戴式顯示器亮度設置為 {{value}}", + "transition": "頭戴式顯示器亮度正在過渡到 {{value}}" + }, + "reason": { + "SLEEP_MODE_ENABLED": "因為已啟用睡眠模式", + "SLEEP_MODE_DISABLED": "因為已停用睡眠模式" + } + }, "acceptedInviteRequest": { "title": "自動接受了來自'{{displayName}}的邀請請求", "subtitle": { @@ -1066,10 +1139,45 @@ "shutdownSequenceCancelled": { "title": "關機程序被取消了", "reason": { - "MANUAL": "Cancelled manually" + "MANUAL": "已手動取消" + } + }, + "msiAfterburnerProfileSet": { + "title": "MSI Afterburner 的配置檔已設置為配置檔 {{profile}}", + "reason": { + "SLEEP_MODE_ENABLED": "因為已啟用睡眠模式", + "SLEEP_MODE_DISABLED": "因為已停用睡眠模式" + } + }, + "windowsPowerPolicySet": { + "title": "Windows 電源策略已設置為 '{{policy}}' 方案", + "reason": { + "SLEEP_MODE_ENABLED": "因為已啟用睡眠模式", + "SLEEP_MODE_DISABLED": "因為已停用睡眠模式" } } } + }, + "dotnet-upgrade-modal": { + "title": "安裝缺失的運行時庫", + "description": { + "text1": "OyasumiVR 需要以下運行時庫,但它們的版本要嘛太舊,要嘛未安裝在您的系統中:", + "runtimeQueued": "排隊中", + "text2": "為了繼續使用 OyasumiVR,必須先安裝這些所需的運行時庫。", + "automaticInstall": "是否要讓 OyasumiVR 嘗試自動為您安裝這些運行時庫?", + "noAutomaticInstall": "OyasumiVR 無法確定這些運行時庫的最新版本,因此無法自動為您安裝。請手動安裝這些運行時庫,或退出 OyasumiVR,稍後再試。", + "moreInfo": "您可以在這裡找到下載和更多資訊:" + }, + "quit": "退出 OyasumiVR", + "installAutomatically": "自動安裝", + "success": { + "title": "安裝成功", + "message": "所需的缺失運行時庫已經成功安裝。請退出 OyasumiVR,然後重新啟動以繼續使用。" + }, + "failure": { + "title": "安裝失敗", + "message": "無法自動安裝所需的缺失運行時庫。請嘗試手動安裝它們。您可以查看日誌檔案以獲取更多有關安裝失敗的資訊。\n\n如果您持續遇到問題,請在 Twitter 上聯繫 @Raphiiko 或加入我們的 Discord 伺服器尋求幫助。" + } } }, "resolution-automations": { @@ -1168,5 +1276,78 @@ "title": "正在關閉", "cancel": "立即取消" } + }, + "overlay": { + "dashboard": { + "overview": { + "sleepMode": "睡眠模式", + "active": "啟用中", + "inactive": "未啟用", + "tooltip": { + "automations": "自動化", + "deviceControl": "裝置控制", + "shutdown": "關機序列" + } + }, + "shutdownSequence": { + "dialog": { + "title": "關機序列", + "message": "您即將開始關機序列。\n您確定要現在進行嗎?\n\n您可以在主要的 OyasumiVR 視窗中配置關機序列的動作。", + "start": "開始關機" + } + }, + "deviceControl": { + "title": "裝置控制", + "turnOff": { + "AllControllers": "關閉所有\n手把", + "AllTrackers": "關閉所有\n定位器", + "AllControllersAndTrackers": "關閉所有\n手把和定位器" + } + }, + "automations": { + "autoAcceptInviteRequests": { + "title": "自動接受邀請請求", + "subtitle": { + "singular": "{{mode}}:{{playerCount}} 位朋友", + "plural": "{{mode}}:{{playerCount}} 位朋友" + }, + "mode": { + "Disabled": "對所有人", + "Whitelist": "白名單", + "Blacklist": "黑名單" + } + }, + "changeStatusBasedOnPlayerCount": { + "title": "狀態自動化", + "subtitle": { + "singular": "最多 {{threshold}} 位玩家", + "plural": "最多 {{threshold}} 位玩家" + } + }, + "sleepingAnimations": { + "title": "睡眠動畫" + }, + "shutdownAutomations": { + "title": "自動關機", + "subtitle": "睡眠 {{time}} 後", + "seconds": { + "singular": "{{seconds}} 秒", + "plural": "{{seconds}} 秒" + }, + "minutes": { + "singular": "{{minutes}} 分鐘", + "plural": "{{minutes}} 分鐘" + } + }, + "sleepModeEnableForSleepDetector": { + "title": "睡眠檢測", + "subtitle": { + "withoutActivationWindow": "{{sensitivity}}靈敏度", + "withActivationWindow": "{{sensitivity}} 靈敏度, {{startTime}} - {{endTime}}" + } + }, + "title": "自動化設定" + } + } } -} \ No newline at end of file +} diff --git a/src-ui/assets/img/illustration_awake-hover.png b/src-ui/assets/img/illustration_awake-hover.png new file mode 100644 index 00000000..14e58545 Binary files /dev/null and b/src-ui/assets/img/illustration_awake-hover.png differ diff --git a/src-ui/assets/img/illustration_awake.png b/src-ui/assets/img/illustration_awake.png new file mode 100644 index 00000000..ae988abd Binary files /dev/null and b/src-ui/assets/img/illustration_awake.png differ diff --git a/src-ui/assets/img/illustration_peek.png b/src-ui/assets/img/illustration_peek.png new file mode 100644 index 00000000..258b8280 Binary files /dev/null and b/src-ui/assets/img/illustration_peek.png differ diff --git a/src-ui/assets/img/illustration_sleep.png b/src-ui/assets/img/illustration_sleep.png new file mode 100644 index 00000000..597f6056 Binary files /dev/null and b/src-ui/assets/img/illustration_sleep.png differ diff --git a/src-ui/assets/img/steam_icon.png b/src-ui/assets/img/steam_icon.png new file mode 100644 index 00000000..b9d42900 Binary files /dev/null and b/src-ui/assets/img/steam_icon.png differ diff --git a/src-ui/build.ts b/src-ui/build.ts new file mode 100644 index 00000000..fb8e8d73 --- /dev/null +++ b/src-ui/build.ts @@ -0,0 +1,8 @@ +// +// This file contains constants that are set at build time. +// Do not modify this file manually. +// + +type BuildFlavour = 'DEV' | 'STANDALONE' | 'STEAM' | 'STEAM_CN'; +export const FLAVOUR: BuildFlavour = 'DEV'; +export const BUILD_ID = 'devbuild'; diff --git a/src-ui/main.ts b/src-ui/main.ts index f5f6977e..4c50318c 100644 --- a/src-ui/main.ts +++ b/src-ui/main.ts @@ -5,6 +5,7 @@ import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; import { attachConsole, error, info } from 'tauri-plugin-log-api'; import { getVersion } from './app/utils/app-utils'; +import { FLAVOUR } from './build'; if (environment.production) { enableProdMode(); @@ -15,7 +16,7 @@ if (isDevMode()) { } getVersion().then((version) => { - info('[Oyasumi] Starting OyasumiVR v' + version); + info('[Oyasumi] Starting OyasumiVR v' + version + '-' + FLAVOUR); }); platformBrowserDynamic() diff --git a/unity/GoGoLoco VRCFury Installation Prefabs (Oyasumi Fix).unitypackage b/unity/GoGoLoco VRCFury Installation Prefabs (Oyasumi Fix).unitypackage deleted file mode 100644 index 42531019..00000000 Binary files a/unity/GoGoLoco VRCFury Installation Prefabs (Oyasumi Fix).unitypackage and /dev/null differ