diff --git a/docs/.vitepress/i18n/en_US.js b/docs/.vitepress/i18n/en_US.js index f40eb851608..34a2b43f8ea 100644 --- a/docs/.vitepress/i18n/en_US.js +++ b/docs/.vitepress/i18n/en_US.js @@ -48,7 +48,15 @@ const themeConfig = { { text: localeData.pages["key-information"], link:`/key-information` }, { text: localeData.pages["get-started"], link: `/get-started` }, { text: localeData.pages["bluebomb" ], link: `/bluebomb` }, - { text: localeData.pages["multiple-options"] } + { text: localeData.pages["hbc"], link: `/hbc` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, + { text: localeData.pages["priiloader"], link: `/priiloader` }, + { text: localeData.pages["cios"], link: `/cios` }, + { text: localeData.pages["multiple-options"] }, + { text: localeData.pages["osc"], link: `/osc` }, + { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, + { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, + { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` } ] }, sidebar_common @@ -61,31 +69,12 @@ const themeConfig = { { text: localeData.pages["get-started"], link: `/get-started` }, { text: localeData.pages["multiple-options"] }, { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["bootmiirecover"], link: `/bootmiirecover` }, ] }, sidebar_common ], - [`/bootmii`]: [ - { - text: localeData.guide, - items: [ - { text: localeData.pages["key-information"], link:`/key-information` }, - { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["multiple-options"] }, - { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, - { text: localeData.pages["priiloader"], link: `/priiloader` }, - { text: localeData.pages["cios"], link: `/cios` }, - { text: localeData.pages["osc"], link: `/osc` }, - { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, - { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, - { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` } - ] - }, - sidebar_common - ], [`/bricks`]: [ { text: localeData.guide, @@ -143,11 +132,12 @@ const themeConfig = { items: [ { text: localeData.pages["key-information"], link:`/key-information` }, { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["flashhax"], link: `/flashhax` }, + { text: localeData.pages["flashhax" ], link: `/flashhax` }, { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["priiloader"], link: `/priiloader` }, { text: localeData.pages["cios"], link: `/cios` }, + { text: localeData.pages["multiple-options"] }, { text: localeData.pages["osc"], link: `/osc` }, { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, @@ -162,15 +152,16 @@ const themeConfig = { items: [ { text: localeData.pages["key-information"], link:`/key-information` }, { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["hackmii"], link: `/hackmii` }, + { text: localeData.pages["hackmii" ], link: `/hackmii` }, { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["priiloader"], link: `/priiloader` }, { text: localeData.pages["cios"], link: `/cios` }, + { text: localeData.pages["multiple-options"] }, { text: localeData.pages["osc"], link: `/osc` }, - { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` }, { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, - { text: localeData.pages["nintendowfc"], link: `/nintendowfc` } + { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, + { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` } ] }, sidebar_common @@ -183,7 +174,14 @@ const themeConfig = { { text: localeData.pages["get-started"], link: `/get-started` }, { text: localeData.pages["multiple-options"] }, { text: localeData.pages["hbc"], link: `/hbc` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, + { text: localeData.pages["priiloader"], link: `/priiloader` }, + { text: localeData.pages["cios"], link: `/cios` }, { text: localeData.pages["multiple-options"] }, + { text: localeData.pages["osc"], link: `/osc` }, + { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, + { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, + { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` } ] }, sidebar_common @@ -227,11 +225,12 @@ const themeConfig = { items: [ { text: localeData.pages["key-information"], link:`/key-information` }, { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["letterbomb"], link: `/letterbomb` }, + { text: localeData.pages["letterbomb" ], link: `/letterbomb` }, { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["priiloader"], link: `/priiloader` }, { text: localeData.pages["cios"], link: `/cios` }, + { text: localeData.pages["multiple-options"] }, { text: localeData.pages["osc"], link: `/osc` }, { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, @@ -248,7 +247,7 @@ const themeConfig = { { text: localeData.pages["get-started"], link: `/get-started` }, { text: localeData.pages["bluebomb" ], link: `/bluebomb` }, { text: localeData.pages["hbc" ], link: `/hbc` }, - { text: localeData.pages["wnd-mini"], link: `/wnd-mini` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["priiloader"], link: `/priiloader` }, { text: localeData.pages["cios"], link: `/cios` }, { text: localeData.pages["mini-finalizing-setup"], link: `/mini-finalizing-setup` }, @@ -271,6 +270,26 @@ const themeConfig = { }, sidebar_common ], + [`/nand-backup`]: [ + { + text: localeData.guide, + items: [ + { text: localeData.pages["key-information"], link:`/key-information` }, + { text: localeData.pages["get-started"], link: `/get-started` }, + { text: localeData.pages["multiple-options"] }, + { text: localeData.pages["hbc"], link: `/hbc` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, + { text: localeData.pages["priiloader"], link: `/priiloader` }, + { text: localeData.pages["cios"], link: `/cios` }, + { text: localeData.pages["multiple-options"] }, + { text: localeData.pages["osc"], link: `/osc` }, + { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, + { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, + { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` } + ] + }, + sidebar_common + ], [`/osc`]: [ { text: localeData.guide, @@ -355,11 +374,12 @@ const themeConfig = { items: [ { text: localeData.pages["key-information"], link:`/key-information` }, { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["str2hax"], link: `/str2hax` }, + { text: localeData.pages["str2hax" ], link: `/str2hax` }, { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["priiloader"], link: `/priiloader` }, { text: localeData.pages["cios"], link: `/cios` }, + { text: localeData.pages["multiple-options"] }, { text: localeData.pages["osc"], link: `/osc` }, { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, @@ -533,31 +553,12 @@ const themeConfig = { items: [ { text: localeData.pages["key-information"], link:`/key-information` }, { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["wilbrand"], link: `/wilbrand` }, + { text: localeData.pages["wilbrand" ], link: `/wilbrand` }, { text: localeData.pages["hbc"], link: `/hbc` }, - { text: localeData.pages["bootmii"], link: `/bootmii` }, + { text: localeData.pages["nand-backup"], link: `/nand-backup` }, { text: localeData.pages["priiloader"], link: `/priiloader` }, { text: localeData.pages["cios"], link: `/cios` }, - { text: localeData.pages["osc"], link: `/osc` }, - { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, - { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, - { text: localeData.pages["recommended-homebrew"], link: `/recommended-homebrew` } - ] - }, - sidebar_common - ], - [`/wnd-mini`]: [ - { - text: localeData.guide, - items: [ - { text: localeData.pages["key-information"], link:`/key-information` }, - { text: localeData.pages["get-started"], link: `/get-started` }, - { text: localeData.pages["bluebomb" ], link: `/bluebomb` }, - { text: localeData.pages["hbc" ], link: `/hbc` }, - { text: localeData.pages["wnd-mini"], link: `/wnd-mini` }, - { text: localeData.pages["priiloader"], link: `/priiloader` }, - { text: localeData.pages["cios"], link: `/cios` }, - { text: localeData.pages["mini-finalizing-setup"], link: `/mini-finalizing-setup` }, + { text: localeData.pages["multiple-options"] }, { text: localeData.pages["osc"], link: `/osc` }, { text: localeData.pages["wiiconnect24"], link: `/wiiconnect24` }, { text: localeData.pages["nintendowfc"], link: `/nintendowfc` }, diff --git a/docs/.vitepress/i18n/strings/en_US.json b/docs/.vitepress/i18n/strings/en_US.json index 30c420eabf4..9c6f2fb3b5a 100644 --- a/docs/.vitepress/i18n/strings/en_US.json +++ b/docs/.vitepress/i18n/strings/en_US.json @@ -31,8 +31,9 @@ "key-information": "Key Information", "legacy-exploits": "Legacy Exploits", "letterbomb": "LetterBomb", - "mini-finalizing-setup": "Finalizing Setup — Wii mini", + "mini-finalizing-setup": "Finalizing Setup (Wii mini)", "modmii": "ModMii", + "nand-backup": "Creating a NAND Backup (Wii)", "multiple-options": "Multiple Options", "nintendowfc": "Nintendo Wi-Fi Connection", "osc": "Open Shop Channel", @@ -46,13 +47,13 @@ "syscheck": "SysCheck", "themes": "Wii Themes", "update": "Updating to v4.3", - "vwii-finalizing-setup": "Finalizing Setup — vWii", + "vwii-finalizing-setup": "Finalizing Setup (Wii U)", "vwii-homebrew-channel": "Installing the Homebrew Channel", "wiiconnect24": "WiiConnect24", "wiigsc": "Creating Wii Game Shortcuts", "wii-loaders": "Wii Backup Loaders", "wii-factory-reset": "Restoring the Wii NAND to Stock", - "wiiu-nand-dumper": "Dumping the Wii U NAND", + "wiiu-nand-dumper": "Creating a NAND Backup (Wii U)", "wilbrand": "Wilbrand", "wnd-mini": "Wii mini NAND dumper", "yawmme": "YAWM ModMii Edition" diff --git a/docs/bluebomb.md b/docs/bluebomb.md index 5c50bba0d3d..2dae412a65d 100644 --- a/docs/bluebomb.md +++ b/docs/bluebomb.md @@ -10,15 +10,11 @@ This exploit also enables recovery from certain bricks in the event of no other Please read the listed important information before proceeding. -::::: tabs - -:::: tab BlueBomb Classic - -## BlueBomb Classic +::: info -::: info Important Information +**Important Information** -* If you are utilizing this guide to hack a Wii mini and need assistance, please join [the Wii mini Hacking Discord server](https://discord.gg/6ryxnkS). +* If you are utilizing this guide to hack a Wii mini and need assistance, please join [the Wii mini Hacking discord server](https://discord.gg/6ryxnkS). * If you are using the original revision of the Wii, you should consider finding [another exploit to use](get-started) as there are much easier ways to get to the HackMii installer. Exceptions however, exist in circumstances like brick recovery. * Make sure that the console is close to the computer running the exploit, ideally it should be less than 3 feet. @@ -26,10 +22,20 @@ Please read the listed important information before proceeding. ::: danger +**Important Warning** + It is **strongly** advised against using **any** video guide in general, but especially if you are hacking a Wii mini console. Incorrect instructions have a much larger chance of **bricking** your console compared to normal. ::: +::::: tabs + +:::: tab BlueBomb Classic (Linux) + +## BlueBomb Classic + +BlueBomb Classic utilizes a Linux device or virtual machine to upload an exploit to the Wii via Bluetooth. + ### Requirements * A Linux machine @@ -55,11 +61,13 @@ It is **strongly** advised against using **any** video guide in general, but esp * If you do not have one, make sure to get one compatible with Linux. * A USB flash drive [formatted to FAT32/MS-DOS](https://wiki.hacks.guide/wiki/Formatting_an_SD_card) * This cannot be the same flash drive used for your Linux Machine. -* [HackMii Installer v1.2](https://bootmii.org/download/) +* [The HackMii Installer](https://bootmii.org/download/) ### Instructions -1. Copy `boot.elf` from the hackmii_installer_v1.2 `.zip` to the root of your flash drive. +#### Section I - Initial Preparation + +1. Copy `boot.elf` from the `hackmii_installer_v1.2.zip` to the root of your flash drive. * (If attempting to fix a brick, you should also copy the homebrew app you wish to use to /apps/) * (Even for a Wii mini, bootmini.elf will **not** work, its purpose is entirely different and unrelated. Use boot.elf in all cases). @@ -76,6 +84,9 @@ It is **strongly** advised against using **any** video guide in general, but esp ![](/images/wii/SystemMenuVersion.png) 1. Power off your console. + +#### Section II - Configuring Exploit + 1. Start your Linux distro, and ensure you are connected to the internet. 1. Open the Terminal, and run the following commands: @@ -99,10 +110,12 @@ It is **strongly** advised against using **any** video guide in general, but esp ![](/images/exploits/bluebomb/wii-options.png) +#### Section III - Performing the Exploit + 1. Power on your console. * **Do not** connect any Wii Remotes. 1. Type `yes` in the script to proceed if you have not already done so, and make sure that `Waiting to accept` is displaying. -1. Press the Sync button repeatedly until the terminal shows `got connection handle`. +1. Press the Sync button repeatedly until the terminal shows `got connection handle`. Wait for the exploit to finish uploading. * This could take numerous attempts. ![](/images/exploits/bluebomb/got-connection-handle.png) @@ -116,28 +129,23 @@ It is **strongly** advised against using **any** video guide in general, but esp ::: tip -[Continue to the Hackmii Installer](hbc) +[Continue to Homebrew Channel and BootMii Installation](hbc) + +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. ::: :::: -:::: tab BlueBomb Micro +:::: tab BlueBomb Micro (RPi/ESP32) ## BlueBomb Micro -::: info Important Information - -* If you are utilizing this guide to hack a Wii mini and need assistance, please join [the Wii mini Hacking Discord server](https://discord.gg/6ryxnkS). -* If you are using the original revision of the Wii, you should consider finding [another exploit to use](get-started) as there are much easier ways to get to the HackMii installer. Exceptions however, exist in circumstances like brick recovery. -* Make sure that the console is close to the computer running the exploit, ideally it should be less than 3 feet. -* If you get an error `Exception 0700 occurred!` or similar, try the exploit again. If this continues to happen, join [the Wii mini Hacking Discord server](https://discord.gg/6ryxnkS) for support. - -::: +BlueBomb Micro utilizes a Raspberry Pi Pico or ESP32 to upload an exploit to the Wii via Bluetooth. -::: danger +::: warning -It is **strongly** advised against using **any** video guide in general, but especially if you are hacking a Wii mini console. Incorrect instructions have a much larger chance of **bricking** your console compared to normal. +If you get an error `Exception 0700 occurred!` or similar, try the exploit again. If this continues to happen, join [the Wii mini Hacking Discord server](https://discord.gg/6ryxnkS) for support. ::: @@ -155,7 +163,9 @@ A normal Raspberry Pi Pico will not work. It MUST be the wireless model. Additio ### Instructions -1. Copy `boot.elf` from the hackmii_installer_v1.2 `.zip` to the root of your flash drive. +#### Section I - Initial Preparation + +1. Copy `boot.elf` from the `hackmii_installer_v1.2.zip` to the root of your flash drive. * (If attempting to fix a brick, you should also copy the homebrew app you wish to use to /apps/) * (Even for a Wii mini, bootmini.elf will **not** work, its purpose is entirely different and unrelated. Use boot.elf in all cases). @@ -173,7 +183,9 @@ A normal Raspberry Pi Pico will not work. It MUST be the wireless model. Additio 1. Power off your console. -#### Raspberry Pi Pico W +#### Section II.a - Raspberry Pi Pico W + +::: details Preparation Instructions 1. Download the latest [Pre-Compiled Binaries](https://github.com/GaryOderNichts/bluebomb_micro/releases) from the releases page, and extract it to your PC. * Select the appropriate binaries for your device. `bluebomb_micro_pico2_w_version` is for the Pico 2 W, while `bluebomb_micro_pico_w_version` is for the Pico 1 W. @@ -194,14 +206,20 @@ A normal Raspberry Pi Pico will not work. It MUST be the wireless model. Additio ![](/images/exploits/bluebomb/pico-ready.jpg) -#### ESP32 +::: + +#### Section II.b - ESP32 + +::: details Preparation Instructions 1. Set up the latest [ESP IDF](https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/index.html). 1. Build the binary [from source](https://github.com/GaryOderNichts/bluebomb_micro/tree/main/ports/esp32#building-from-source). 1. [Flash the binary](https://github.com/GaryOderNichts/bluebomb_micro/tree/main/ports/esp32#flashing) to your ESP32. 1. Your device is now ready. You may unplug the device from your PC. -### Performing the Exploit +::: + +#### Section III - Performing the Exploit 1. Plug your flashed device back into your PC. 1. Power on your console. @@ -209,6 +227,7 @@ A normal Raspberry Pi Pico will not work. It MUST be the wireless model. Additio 1. Press the Sync button repeatedly until the Pico W LED begins to rapidly flash, at which point it will start uploading the exploit. * This could take numerous attempts. 1. If the exploit was successful, you should see a similar screen to the below, after which the HackMii installer should load. + * You may now unplug your microcontroller at this point. ![](/images/exploits/bluebomb/thanks-fullmetal5.png) @@ -216,10 +235,92 @@ A normal Raspberry Pi Pico will not work. It MUST be the wireless model. Additio ::: tip -[Continue to the Hackmii Installer](hbc) +[Continue to Homebrew Channel and BootMii Installation](hbc) + +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. ::: :::: +:::: tab BlueMii (Wii to Wii) + +## BlueMii + +BlueMii utilizes another Wii to upload an exploit to the Wii via Bluetooth. + +### Requirements + +* A secondary Wii, Wii U (vWii), or Wii mini to use to upload an exploit to the target Wii +* A USB flash drive OR SD card to load the HackMii installer onto, [formatted to FAT32/MS-DOS](https://wiki.hacks.guide/wiki/Formatting_an_SD_card) +* A second USB flash drive OR SD card to load BlueMii onto the exploiting Wii +* [BlueMii](https://github.com/Zarithya/BlueMii/releases/tag/v1.1) +* [The HackMii Installer](https://bootmii.org/download/) + +### Instructions + +#### Section I - Preparing Target Console + +1. Copy `boot.elf` from the `hackmii_installer_v1.2.zip` to the root of the USB drive or SD card that will be used on the target console. + * (If attempting to fix a brick, you should also copy the homebrew app you wish to use to /apps/) + * (Even for a Wii mini, bootmini.elf will **not** work, its purpose is entirely different and unrelated. Use boot.elf in all cases). + + ![](/images/exploits/bluebomb/usb-exploit.png) + +1. Reinsert your USB drive or SD card into the target console. + * For a Wii mini, the USB port is on the back. + * For a normal Wii, use the bottom port (or the right port if it's upright). +1. Power on the target console. +1. Go to `Wii Settings`. +1. Take note in the top right corner of the letter next to the system version. + * This letter corresponds to your system menu region, which you will need to know for the corresponding steps. + + ![](/images/wii/SystemMenuVersion.png) + +1. Power off the target console. + +#### Section II - Configuring Exploit + +1. Copy the `apps` folder in the `BlueMii.vX.X.zip` file to the root of your USB drive or SD card that will be used on the exploiting console. +1. Reinsert your USB drive or SD card into the exploiting console. +1. Power on the exploiting console. +1. On the exploiting console, open the Homebrew Channel and load the BlueMii app. + + ![](/images/exploits/bluebomb/load-bluemii.png) + +1. On the BlueMii app, select the region that corresponds to your target console. + + ![](/images/exploits/bluebomb/bluemii-region.png) + +#### Section III - Performing the Exploit + +1. Power on the target console. + * **Do not** connect any Wii Remotes. +1. On the exploiting console, press the `A` button to prepare to upload the exploit to the target console. + + ![](/images/exploits/bluebomb/bluemii-ready.png) + +1. Press the Sync button repeatedly until the exploiting console shows `got connection handle`. Wait for the exploit to finish uploading. + * This could take numerous attempts. + + ![](/images/exploits/bluebomb/bluemii-handle.png) + +1. If the exploit was successful, you should see a similar screen to the below, after which the HackMii installer should load. + + ![](/images/exploits/bluebomb/thanks-fullmetal5.png) + +1. On the exploiting console, you may now press `A` to either retry the exploit, or `HOME/START` to return to the Homebrew Channel. + + ![](/images/exploits/bluebomb/bluemii-success.png) + +--- + +::: tip + +[Continue to Homebrew Channel and BootMii Installation](hbc) + +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + +::: + ::::: diff --git a/docs/bootmii.md b/docs/bootmii.md index 1a64125c8a0..bab0de7dd07 100644 --- a/docs/bootmii.md +++ b/docs/bootmii.md @@ -1,104 +1,8 @@ -# BootMii Backup - -BootMii allows for backing up and restoring your Wii's NAND storage. This page will guide you in backing up your Wii's NAND to an SD Card, which you can then use however you like. - -Please read the below information before proceeding further. - -::: info Important Information - -* After the completion of this guide, two files will have been created on the root of your SD Card: `nand.bin` and `keys.bin`. `nand.bin` is a backup of your console's internal memory, while `keys.bin` are your console's keys. - -* If you have BootMii installed as boot2, you will need to launch BootMii by restarting the console. Skip steps 1 and 2 if this is the case. - -* You must use the buttons on your console or a GameCube controller plugged into port 1 to navigate BootMii. To navigate with a GameCube controller, click left/right on the +Control Pad to move, and press A to select. To navigate with your console buttons, press `POWER` to move right, and press `RESET` to select. - -* Please note that **restoring a NAND backup is usually a last resort**. With that said, you can use the [BootMii Recovery guide](bootmiirecover) to restore your NAND backup, where more information is provided about the risks and alternatives. - -* Family Edition Wiis and Wii minis CANNOT restore NAND backups. This is because of the lack of GameCube ports which are required on non-boot2 Wiis to enter the restoration confirmation code. - -::: - -::: danger - -**Important Warnings** - -* You need an **SD card** to use BootMii at all, but especially to create a NAND backup. If you do not have an SD card on hand right now, you can skip this page, but it is HIGHLY RECOMMENDED to return to this page later to back up your NAND. - -* If the `Launch BootMii` button does not appear in the Homebrew Channel, [re-launch the HackMii Installer](hackmii) and install BootMii. - -* If the screen stays black and the blue disc drive light is blinking upon launching BootMii, you are missing the BootMii files on your SD card. Download [this zip file](/assets/files/bootmii_sd_files.zip) and extract it to the root of your SD card, then try again. - -::: - -## Requirements - -* An SD card with a minimum 512MB of free space (1GB or more recommended) - -## Instructions - -1. Power on your console. -1. Launch the Homebrew Channel. -1. Press the HOME Button, then select "Launch BootMii". - - ![](/images/bootmii/BootMii_HBC.png) - -1. You should see an image similar to the below now on your screen: - - ![](/images/bootmii/BootMii_Main.png) - -1. Select the Options button (the icon with the gears). - - ![](/images/bootmii/BootMii_Gears.png) - -1. Select the first button to the left. - - ![](/images/bootmii/BootMii_Backup.png) - -1. A NAND backup will start. You can watch the progress on the screen. - * "Bad Blocks" are normal, and mostly originate from the factory due to NAND binning. Don't worry when you see some on a NAND backup. - - ![](/images/bootmii/BootMii_NAND_Backup.png) - -1. After the previous step completes, BootMii will verify the backup. Ideally, all the blocks should be green after the verification process. - * If you have factory bad blocks with uncorrectable pages, these blocks may fail to verify. As long as all non-bad blocks are successfully verified, this should be fine. - - ![](/images/bootmii/BootMii_NAND_Backup_Verify.png) - -1. Press the Back button (the one with an arrow), then press either the Wii Menu button or the Homebrew Channel button to exit BootMii. - - ![](/images/bootmii/BootMii_Return.png) - -## Autobooting - -If you were able to install BootMii as boot2, but don't want to load the BootMii screen every time you turn on the Wii, you have the option of setting it to autoboot to the system menu. This should make it so you don't even notice you have BootMii installed as boot2. - -1. Open `SD:/bootmii/bootmii.ini` with a text editor, such as notepad. -1. Change `#AUTOBOOT=SYSMENU` to `AUTOBOOT=SYSMENU` by deleting the `#`. -1. Then change `#BOOTDELAY=5` to `BOOTDELAY=1` by deleting the `#` and turning the `5` into a `1`. -1. Save the file and exit. - -::: info - -You can also use the [BootMii Config Editor](https://oscwii.org/library/app/BootMiiConfigurationEditor) app on the Wii to change these settings. - -::: - -## Uploading NAND Backup to Dolphin Emulator - -Your NAND backup can be utilized in Dolphin Emulator. This is completely optional. - -1. Get the latest beta or development release of Dolphin Emulator from the [Dolphin Website](https://dolphin-emu.org/) and install it to your device. -1. Open Dolphin Emulator. -1. Click on the `Tools` tab, scroll down to `Manage NAND`, then select `Import BootMii NAND backup...`. -1. Locate the `nand.bin` found on the root of your SD card and select Open. -1. If it asks for a `keys.bin`, locate it on the root of your SD and select Open. - +--- +head: + - - meta + - http-equiv: refresh + content: '0; URL=nand-backup' --- -::: tip - -[Continue to Priiloader Installation](priiloader) - -Priiloader adds a secondary level of brick protection, and is highly recommended even if BootMii was installed as boot2. It is especially important for users of BootMii on IOS. - -::: +# Redirecting diff --git a/docs/bootmiirecover.md b/docs/bootmiirecover.md index 2177a8395ef..194e79b6df6 100644 --- a/docs/bootmiirecover.md +++ b/docs/bootmiirecover.md @@ -4,7 +4,9 @@ This guide will provide instructions on how to restore a backup of your NAND wit Please read the information below before proceeding further. -::: info Important Information +::: info + +**Important Information** * Family Edition Wiis and Wii minis **CANNOT** restore NAND backups. This is because of the lack of GameCube ports which are required on non-boot2 Wiis to enter the restoration confirmation code. For additional help, please seek support on the [Nintendo Homebrew discord server](https://discord.gg/C29hYvh). @@ -43,7 +45,7 @@ If you want to restore a game's save data, use Dolphin to import your NAND backu ## Requirements * A Wii with BootMii as IOS or BootMii as boot2 installed -* An earlier NAND Backup for your specific Wii made by [BootMii](bootmii) +* An earlier NAND Backup for your specific Wii made by [BootMii OR nanddumper@ios](nand-backup) ## Instructions diff --git a/docs/cios-mini.md b/docs/cios-mini.md index d9456acb827..7283cd24648 100644 --- a/docs/cios-mini.md +++ b/docs/cios-mini.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=cios.html?tab=cios-for-wii-mini' + content: '0; URL=cios?tab=cios-for-wii-mini' --- # Redirecting diff --git a/docs/cios-vwii.md b/docs/cios-vwii.md index f3ab005ecde..96a8ba88319 100644 --- a/docs/cios-vwii.md +++ b/docs/cios-vwii.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=cios.html?tab=cios-for-vwii-(wii-u)' + content: '0; URL=cios?tab=cios-for-vwii-(wii-u)' --- # Redirecting diff --git a/docs/cios.md b/docs/cios.md index 6dde92bcc4f..f6ce9fd7729 100644 --- a/docs/cios.md +++ b/docs/cios.md @@ -187,7 +187,7 @@ If you downloaded the 4 WAD files in Section I, you may now delete them from you [Continue to Open Shop Channel installation](osc) -Now that your Wii has adequate brick protection, you can install the Open Shop Channel, a trusted repository for homebrew that can be accessed both on and off the Wii. +Now that the Homebrew Channel, BootMii, Priiloader, and cIOS are all installed, you can install the Open Shop Channel, a trusted repository for homebrew that can be accessed both on and off the Wii. ::: @@ -329,7 +329,7 @@ The WAD files should be on your SD card like this: ::: tip -[Continue to Finalizing Setup](vwii-finalizing-setup) +[Continue to Finalizing Setup (Wii U)](vwii-finalizing-setup) Now that the Homebrew Channel, Priiloader, and cIOS are installed, you can proceed to restore functionality that is normally missing from a standard vWii menu. @@ -398,7 +398,9 @@ If you need assistance with this tutorial, please join [the Wii mini Hacking Dis ::: tip -[Continue to Finalizing Setup](mini-finalizing-setup) +[Continue to Finalizing Setup (Wii mini)](mini-finalizing-setup) + +Now that the Homebrew Channel, Priiloader, and cIOS are installed, you can proceed to restore functionality that is normally missing from a standard Wii mini menu. ::: diff --git a/docs/dosanddonts.md b/docs/dosanddonts.md index c2764d77858..88593a63ba2 100644 --- a/docs/dosanddonts.md +++ b/docs/dosanddonts.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=faq.html' + content: '0; URL=faq' --- # Redirecting diff --git a/docs/faq.md b/docs/faq.md index ffc5cf74508..625716c771f 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -4,7 +4,7 @@ ### How risky is hacking my console? -Not very risky depending on your console. The Wii requires much less barrier to entry than other consoles, with some exploits requiring nothing more than a Wii and an internet connection. As long as you follow the general advice laid on the [brick overview page](bricks#brick-prevention), install [BootMii](bootmii) and [Priiloader](priiloader), and use common sense, you should be completely fine! +Not very risky depending on your console. The Wii requires much less barrier to entry than other consoles, with some exploits requiring nothing more than a Wii and an internet connection. As long as you follow the general advice laid on the [brick overview page](bricks#brick-prevention), install [BootMii](hbc) and [Priiloader](priiloader), and use common sense, you should be completely fine! ### How can I remove parental controls? diff --git a/docs/flashhax.md b/docs/flashhax.md index 285d73dfd48..dd284467322 100644 --- a/docs/flashhax.md +++ b/docs/flashhax.md @@ -48,4 +48,6 @@ If after several tries Flashhax still does not work, you should try a [different [Continue to Homebrew Channel and BootMii Installation](hbc) +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + ::: diff --git a/docs/gc-backups.md b/docs/gc-backups.md index 4880e074bf6..7bc4480e2a1 100644 --- a/docs/gc-backups.md +++ b/docs/gc-backups.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=backups.html' + content: '0; URL=backups' --- # Redirecting diff --git a/docs/hackmii.md b/docs/hackmii.md index f6d48d689f8..cc5a98906f2 100644 --- a/docs/hackmii.md +++ b/docs/hackmii.md @@ -71,4 +71,6 @@ If `Press (1) to continue` does not show up after about 30 seconds, downloading [Continue to Homebrew Channel and BootMii Installation](hbc) +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + ::: diff --git a/docs/hbc-mini.md b/docs/hbc-mini.md index d8bc3a684dd..8ab51f04ba2 100644 --- a/docs/hbc-mini.md +++ b/docs/hbc-mini.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=hbc.html?tab=wii-mini' + content: '0; URL=hbc?tab=wii-mini' --- # Redirecting diff --git a/docs/hbc.md b/docs/hbc.md index 9c9071360bf..e2df09e67d6 100644 --- a/docs/hbc.md +++ b/docs/hbc.md @@ -76,7 +76,7 @@ Please note that if you install Bootmii as boot2, your disc drive will flash ver ![](/images/hbc/blank.png) -### Required Reading +### Post-Installation Info You can now use the Homebrew Channel to launch homebrew apps, as well as BootMii for backing up and restoring your NAND if you were able to install it. @@ -97,11 +97,26 @@ Note: When installing homebrew applications on your SD Card or USB drive, your f `AppName1` and `AppName2` are placeholder names. Do not nest multiple `apps` folders inside the `apps` folder itself. +### Autobooting + +If you were able to install BootMii as boot2, but don't want to load the BootMii screen every time you turn on the Wii, you have the option of setting it to autoboot to the system menu. This will restore your console behavior to booting to the system menu instaed of to BootMii. + +1. Open `SD:/bootmii/bootmii.ini` with a text editor. +1. Change `#AUTOBOOT=SYSMENU` to `AUTOBOOT=SYSMENU` by deleting the `#`. +1. Then change `#BOOTDELAY=5` to `BOOTDELAY=1` by deleting the `#` and turning the `5` into a `1`. +1. Save the file and exit. + +::: info + +You can also use the [BootMii Config Editor](https://oscwii.org/library/app/BootMiiConfigurationEditor) app on the Wii to change these settings. + +::: + --- ::: tip -[Continue to making a NAND Backup using BootMii](bootmii) +[Continue to making a NAND Backup](nand-backup) Making a NAND backup at this point is highly recommended, as they can be used to recover from bricks. @@ -172,10 +187,12 @@ Note: When installing homebrew applications on your USB drive, your folder struc ::: tip -[Continue to making a NAND Backup using RealWnd](wnd-mini) +[Continue to making a NAND Backup](nand-backup) Making a NAND backup at this point is highly recommended, as they can be used to recover from bricks. ::: :::: + +::::: diff --git a/docs/index.md b/docs/index.md index 0026540a9ae..7f0dd773e8e 100644 --- a/docs/index.md +++ b/docs/index.md @@ -20,7 +20,7 @@ Please thoroughly read the introductory pages before proceeding. Common examples of homebrew usage on the Wii include: -* [Backing up](bootmii) and [restoring](bootmiirecover) your Wii's NAND (system memory) +* [Backing up](nand-backup) and [restoring](bootmiirecover) your Wii's NAND (system memory) * [Patching game discs](https://wiki.hacks.guide/wiki/Wii:Riivolution) to load game modifications * Installing [themes](themes) on the Wii Menu and in commonly used homebrew apps * Backing up your [discs](dump-games) and [other installed titles](dump-wads) diff --git a/docs/letterbomb.md b/docs/letterbomb.md index 74f4c2829f5..3179ea5669b 100644 --- a/docs/letterbomb.md +++ b/docs/letterbomb.md @@ -64,4 +64,6 @@ Do NOT use any of the MAC address examples shown in this guide, as they will sim [Continue to Homebrew Channel and BootMii Installation](hbc) +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + ::: diff --git a/docs/mini-finalizing-setup.md b/docs/mini-finalizing-setup.md index ddb91d9609f..d2016d91c26 100644 --- a/docs/mini-finalizing-setup.md +++ b/docs/mini-finalizing-setup.md @@ -1,30 +1,86 @@ -# Finalizing Setup — Wii mini +# Finalizing Setup (Wii mini) -Now that the Homebrew Channel, Priiloader, and cIOS are installed, we are going to finalize the setup. +Now that the Homebrew Channel, Priiloader, and cIOS are installed, we are going to finalize setup for your Wii mini by installing crucial apps to restore various missing functionalities of the Wii mini menu compared to a normal console. It is recommended that you download all homebrew listed below onto your storage device BEFORE starting the listed steps to save time. -## Additional Homebrew Apps +## Wii mini Ethernet Enable -::: info +Wii mini Ethernet Enable is a homebrew app that patches your Wii mini to support wired Ethernet adapters, allowing your console to connect to the internet where previously impossible. Only adapters with the `ASIX AX88772` chipset are supported on the Wii mini. Additionally, homebrew apps that need internet will require the use of a USB hub, as the console only has a singular USB port. -All homebrew apps are loaded from the Homebrew Channel. +### Requirements -::: +* A USB drive +* [Wii mini Ethernet Enable](https://oscwii.org/library/app/Wii_Mini_Ethernet_Enable) + +### Instructions + +1. Copy the `apps` folder in the `Wii_Mini_Ethernet_Enable.zip` file to the root of your USB drive. +1. Reinsert USB drive into your console. +1. Launch the Homebrew Channel. +1. Launch Wii Mini Ethernet Enable from the list of homebrew. + + ![](/images/wii-mini/ethernet-enabler/launch-hb.png) + +1. The application will launch and should output `OK.` after attempting to enable Ethernet usage on your Wii mini. After this, press the `HOME` button on your Wii remote to exit the app. + + ![](/images/wii-mini/ethernet-enabler/success.png) + +## System Channel Restorer + +System Channel Restorer is a homebrew app that restores channels missing from the Wii mini menu normally, such as the Wii version of the Mii Channel and Photo Channel. + +### Requirements + +* An SD card or USB drive +* An Internet connection +* [System Channel Restorer](https://oscwii.org/library/app/system-channel-restorer) + +### Instructions + +1. Copy the `apps` folder in the `system-channel-restorer.zip` file to the root of your USB drive. +1. Reinsert your SD card or USB drive into your console. +1. Launch the Homebrew Channel. +1. Launch System Channel Restorer from the list of homebrew. + + ![](/images/wii-mini/sys-channel-restore/launch-hb.png) + +1. The installer will launch. If you receive **-3 Failed to initialize network**, ensure that your Ethernet adapter is connected properly. Most users will want to select the following channels, unless you prefer to install additional channels: + * EULA + * Mii Channel + + ![](/images/wii-mini/sys-channel-restore/channel-select.png) + +1. Once all channels are selected, press the `+` button to begin installation. + + ![](/images/wii-mini/sys-channel-restore/install.png) + +1. Once installation has finalized, you may return to the Homebrew Channel by pressing the HOME button. + +## Accepting the EULA + +In order to use features like WiiConnect24, you must accept the Wii User Agreement (EULA). This can normally only be done through the Wii Settings app or the Wii Shop Channel, however you can download a forwarder to launch the EULA from the Homebrew Channel. + +### Requirements + +* A USB drive +* [EULA Loader NTSC](/assets/files/EULA_Loader_NTSC.zip) +* [EULA Loader PAL](/assets/files/EULA_Loader_PAL.zip) + +### Instructions + +1. Download the forwarder above that matches the region of your Wii mini console. The forwarder will not work if you download the incorrect region. +1. Copy the `apps` folder in the `EULA_Loader_XXX.zip` file to the root of your USB drive. +1. Launch the Homebrew Channel. +1. Launch EULA Loader (your region) from the list of homebrew. -* Ethernet Enabler enables the use of a USB ethernet adapter on the Wii mini. Only adapters with the ASIX AX88772 chipset are supported on the Wii mini. Additionally, homebrew apps that need internet will require the use of a USB hub, preferably one that can be externally powered. -* System Channel Restorer is a homebrew app that allows some channels usually only available on Wii to be easily installed on the Wii mini. -* Settings Editor GUI is an app that allows access to system settings without booting the Wii Menu. On the Wii mini it can access settings that don't normally appear in the Wii mini system menu. + ![](/images/wii-mini/eula-forwarder/launch-hb.png) -## Additional Homebrew Apps - What You Need +1. The EULA will launch. Press the Next button to proceed. -* [Ethernet Enabler](https://oscwii.org/library/app/Wii_Mini_Ethernet_Enable) -* [system-channel-restorer](https://oscwii.org/library/app/system-channel-restorer) -* [Settings Editor GUI](https://oscwii.org/library/app/Settings-Editor-GUI) + ![](/images/wii-mini/eula-forwarder/eula-start.png) -## Additional Homebrew Apps - Extracting Files to the SD Card +1. Press I ACCEPT to accept the EULA. You will be returned to the Wii Menu afterwards. -1. Copy the contents of the Ethernet Enabler to the root of the SD. -1. Copy the contents of the system-channel-restorer to the root of the SD. -1. Copy the contents of the Settings Editor GUI to the root of the SD. + ![](/images/wii-mini/eula-forwarder/eula-accept.png) --- diff --git a/docs/nand-backup.md b/docs/nand-backup.md new file mode 100644 index 00000000000..fc4222559e0 --- /dev/null +++ b/docs/nand-backup.md @@ -0,0 +1,177 @@ +--- +outline: false +--- + +# Creating a NAND Backup (Wii) + +In order to protect your Wii from permanant bricks, this guide will instruct you on how to create a NAND backup. Most users will want to select **nanddumper@ios**, with **BootMii** as a backup option for users that can use an SD card. + +::: details Importing NAND Backup to Dolphin Emulator + +Your NAND backup can be utilized in Dolphin Emulator, if you choose to do so. + +1. Get the latest release of Dolphin Emulator from the [Dolphin Website](https://dolphin-emu.org/) and install it to your device. +1. Open Dolphin Emulator. +1. Click on the `Tools` tab, scroll down to `Manage NAND`, then select `Import BootMii NAND backup...`. +1. Locate the `nand.bin` found on the root of your SD card and select Open. +1. If it asks for a `keys.bin`, locate it on the root of your SD and select Open. + +Note that you will need to rename your NAND dump to the files above if you used **nanddumper@ios**, as described in the below section. + +::: + +::::: tabs + +:::: tab nanddumper@ios (dump to USB drive or SD card) + +On Wii consoles with a usable USB port or SD card slot, nanddumper@ios allows for backing up your Wii's NAND storage. nanddumper@ios is recommended over BootMii due to its quicker speed in creating a NAND backup. This section will guide you through the process to back up your Wii's NAND, which you can then use however you like. + +Please read the below information before proceeding further. + +::: info + +**Important Information** + +* After the completion of this guide, four files will have been created in the directory `/wii/backups` on your USB drive. `DATE_SERIAL_nand_XX.bin` is your NAND backup, and `SERIAL_keys.bin` is the file containing your console keys. `DATE_SERIAL_nand_XX.bin.sha1` and `sha1sums.txt` respectively are files containing checksums to verify the integrity of your backups, and will not be used in an actual NAND restoration. + +* Please note that **restoring a NAND backup is usually a last resort**. With that said, you can use the [BootMii Recovery guide](bootmiirecover) to restore your NAND backup, where more information is provided about the risks and alternatives. You can ONLY use BootMii to restore a NAND backup if you have a usable SD card slot, as described below. + +* If you are a Wii mini user or DO NOT have a usable SD card slot, you will be UNABLE to restore your NAND backup without hardware modification. This is because [BootMii Restore](bootmiirecover) requires an SD card slot to read the NAND from. + +* If you DO NOT have a usable GameCube controller port, you will also be UNABLE to restore your NAND backup without hardware modification. This is because [BootMii Restore](bootmiirecover) requires a GameCube controller port to enter the Konami code with for consoles that do not have BootMii as boot2. + +::: + +## Requirements + +* A USB drive or SD card formatted as FAT32, with a minimum 512MB of free space (1GB or more recommended) +* [nanddumper@ios](https://oscwii.org/library/app/nanddumper_ios) + +## Instructions + +1. Download the recommended `.zip` file from the Open Shop Channel website. +1. Extract the `apps` folder in the archive to the root of your SD card or USB drive. +1. Insert the SD card or USB drive into your Wii, and start the Homebrew Channel. Press `1` and ensure that the device you are using is selected, and then open nanddumper@ios. + * If you get an **Exception IOS occurred!** error, simply restart your Wii and try again. + + ![](/images/nanddumper@ios/select-hbc.png) + +1. nanddumper@ios will start and dump your console keys upon opening, if they are not already on your drive. Press any button that is NOT the `HOME`, `START`, or `EJECT` buttons to begin dumping your console's NAND storage. + * If you get a **No storage devices are attached** error, ensure that your SD card or USB drive is directly connected to your Wii. If using a USB drive, it should NOT be connected to a USB hub. + + ![](/images/nanddumper@ios/dump-startup.png) + +1. Your console's NAND will now begin dumping. Please wait for the NAND dump to finish before proceeding. + + ![](/images/nanddumper@ios/dump-in-progress.png) + +1. Once the NAND backup has concluded, press any button to exit nanddumper@ios. Your NAND backup and console keys will be output to your USB drive in directory `/wii/backups/`. + + ![](/images/nanddumper@ios/dump-complete.png) + +1. On your computer, ensure that you rename `DATE_SERIAL_nand_XX.bin` to `nand.bin`, and `SERIAL_keys.bin` to `keys.bin`. This ensures that BootMii can properly parse your NAND backup in the event that it needs to be restored. + + ![](/images/nanddumper@ios/rename-files.png) + +--- + +::: tip + +[Continue to Priiloader Installation](priiloader) + +Priiloader adds a secondary level of brick protection, and is highly recommended even if BootMii was installed as boot2. It is especially important for users of BootMii on IOS. + +If you are on Wii mini, this is your primary means of brick protection. + +::: + +:::: + +:::: tab BootMii (backup method) + +On Wii consoles with an SD card slot, BootMii allows for backing up and restoring your Wii's NAND storage. This section will guide you in backing up your Wii's NAND to an SD Card, which you can then use however you like. + +Please read the below information before proceeding further. + +::: info + +**Important Information** + +* After the completion of this guide, two files will have been created on the root of your SD Card: `nand.bin` and `keys.bin`. `nand.bin` is a backup of your console's internal memory, while `keys.bin` are your console's keys. + +* If you have BootMii installed as boot2, you will need to launch BootMii by restarting the console. Skip steps 1 and 2 if this is the case. + +* You must use the buttons on your console or a GameCube controller plugged into port 1 to navigate BootMii. To navigate with a GameCube controller, click left/right on the +Control Pad to move, and press A to select. To navigate with your console buttons, press `POWER` to move right, and press `RESET` to select. + +* Please note that **restoring a NAND backup is usually a last resort**. With that said, you can use the [BootMii Recovery guide](bootmiirecover) to restore your NAND backup, where more information is provided about the risks and alternatives. + +* Family Edition Wiis CANNOT restore NAND backups without hardware modification. This is because of the lack of GameCube ports which are required on non-boot2 Wiis to enter the restoration confirmation code. + +::: + +::: danger + +**Important Warnings** + +* This is intended to be a backup option, as BootMii is slower than nanddumper@ios. You need an **SD card** to use BootMii. If you do not have an SD card on hand right now, but instead have a usable USB drive, you can use the nanddumper@ios guide instead. + +* If the `Launch BootMii` button does not appear in the Homebrew Channel, [re-launch the HackMii Installer](hackmii) and install BootMii. + +* If the screen stays black and the blue disc drive light is blinking upon launching BootMii, you are missing the BootMii files on your SD card. Download [this zip file](/assets/files/bootmii_sd_files.zip) and extract it to the root of your SD card, then try again. + +* BootMii cannot be used on the Wii mini without hardware modification. Use **nanddumper@ios** if you are a Wii mini user. + +::: + +## Requirements + +* An SD card with a minimum 512MB of free space (1GB or more recommended) +* [BootMii](hbc) + +## Instructions + +1. Power on your console. +1. Launch the Homebrew Channel. +1. Press the HOME Button, then select "Launch BootMii". + + ![](/images/bootmii/BootMii_HBC.png) + +1. You should see an image similar to the below now on your screen: + + ![](/images/bootmii/BootMii_Main.png) + +1. Select the Options button (the icon with the gears). + + ![](/images/bootmii/BootMii_Gears.png) + +1. Select the first button to the left. + + ![](/images/bootmii/BootMii_Backup.png) + +1. A NAND backup will start. You can watch the progress on the screen. + * "Bad Blocks" are normal, and mostly originate from the factory due to NAND binning. Don't worry when you see some on a NAND backup. + + ![](/images/bootmii/BootMii_NAND_Backup.png) + +1. After the previous step completes, BootMii will verify the backup. Ideally, all the blocks should be green after the verification process. + * If you have factory bad blocks with uncorrectable pages, these blocks may fail to verify. As long as all non-bad blocks are successfully verified, this should be fine. + + ![](/images/bootmii/BootMii_NAND_Backup_Verify.png) + +1. Press the Back button (the one with an arrow), then press either the Wii Menu button or the Homebrew Channel button to exit BootMii. + + ![](/images/bootmii/BootMii_Return.png) + +--- + +::: tip + +[Continue to Priiloader Installation](priiloader) + +Priiloader adds a secondary level of brick protection, and is highly recommended even if BootMii was installed as boot2. It is especially important for users of BootMii on IOS. + +::: + +:::: + +::::: diff --git a/docs/public/assets/files/EULA_Loader_NTSC.zip b/docs/public/assets/files/EULA_Loader_NTSC.zip new file mode 100644 index 00000000000..90255ff8703 Binary files /dev/null and b/docs/public/assets/files/EULA_Loader_NTSC.zip differ diff --git a/docs/public/assets/files/EULA_Loader_PAL.zip b/docs/public/assets/files/EULA_Loader_PAL.zip new file mode 100644 index 00000000000..321ab8ee622 Binary files /dev/null and b/docs/public/assets/files/EULA_Loader_PAL.zip differ diff --git a/docs/public/images/exploits/bluebomb/bluemii-handle.png b/docs/public/images/exploits/bluebomb/bluemii-handle.png new file mode 100644 index 00000000000..02c5d890951 Binary files /dev/null and b/docs/public/images/exploits/bluebomb/bluemii-handle.png differ diff --git a/docs/public/images/exploits/bluebomb/bluemii-ready.png b/docs/public/images/exploits/bluebomb/bluemii-ready.png new file mode 100644 index 00000000000..a997f0c61fc Binary files /dev/null and b/docs/public/images/exploits/bluebomb/bluemii-ready.png differ diff --git a/docs/public/images/exploits/bluebomb/bluemii-region.png b/docs/public/images/exploits/bluebomb/bluemii-region.png new file mode 100644 index 00000000000..fdfd572a13b Binary files /dev/null and b/docs/public/images/exploits/bluebomb/bluemii-region.png differ diff --git a/docs/public/images/exploits/bluebomb/bluemii-success.png b/docs/public/images/exploits/bluebomb/bluemii-success.png new file mode 100644 index 00000000000..58e71a7684e Binary files /dev/null and b/docs/public/images/exploits/bluebomb/bluemii-success.png differ diff --git a/docs/public/images/exploits/bluebomb/load-bluemii.png b/docs/public/images/exploits/bluebomb/load-bluemii.png new file mode 100644 index 00000000000..a3f5e1b66f0 Binary files /dev/null and b/docs/public/images/exploits/bluebomb/load-bluemii.png differ diff --git a/docs/public/images/nanddumper@ios/dump-complete.png b/docs/public/images/nanddumper@ios/dump-complete.png new file mode 100644 index 00000000000..8db88e7f91c Binary files /dev/null and b/docs/public/images/nanddumper@ios/dump-complete.png differ diff --git a/docs/public/images/nanddumper@ios/dump-in-progress.png b/docs/public/images/nanddumper@ios/dump-in-progress.png new file mode 100644 index 00000000000..1fa1646cb12 Binary files /dev/null and b/docs/public/images/nanddumper@ios/dump-in-progress.png differ diff --git a/docs/public/images/nanddumper@ios/dump-startup.png b/docs/public/images/nanddumper@ios/dump-startup.png new file mode 100644 index 00000000000..fc756c74b66 Binary files /dev/null and b/docs/public/images/nanddumper@ios/dump-startup.png differ diff --git a/docs/public/images/nanddumper@ios/rename-files.png b/docs/public/images/nanddumper@ios/rename-files.png new file mode 100644 index 00000000000..5090e864acb Binary files /dev/null and b/docs/public/images/nanddumper@ios/rename-files.png differ diff --git a/docs/public/images/nanddumper@ios/select-hbc.png b/docs/public/images/nanddumper@ios/select-hbc.png new file mode 100644 index 00000000000..6344dc931ad Binary files /dev/null and b/docs/public/images/nanddumper@ios/select-hbc.png differ diff --git a/docs/public/images/wii-mini/ethernet-enabler/launch-hb.png b/docs/public/images/wii-mini/ethernet-enabler/launch-hb.png new file mode 100644 index 00000000000..f0998c5c0a3 Binary files /dev/null and b/docs/public/images/wii-mini/ethernet-enabler/launch-hb.png differ diff --git a/docs/public/images/wii-mini/ethernet-enabler/success.png b/docs/public/images/wii-mini/ethernet-enabler/success.png new file mode 100644 index 00000000000..130d7753560 Binary files /dev/null and b/docs/public/images/wii-mini/ethernet-enabler/success.png differ diff --git a/docs/public/images/wii-mini/eula-forwarder/eula-accept.png b/docs/public/images/wii-mini/eula-forwarder/eula-accept.png new file mode 100644 index 00000000000..48bce857635 Binary files /dev/null and b/docs/public/images/wii-mini/eula-forwarder/eula-accept.png differ diff --git a/docs/public/images/wii-mini/eula-forwarder/eula-start.png b/docs/public/images/wii-mini/eula-forwarder/eula-start.png new file mode 100644 index 00000000000..38c9b65e1bc Binary files /dev/null and b/docs/public/images/wii-mini/eula-forwarder/eula-start.png differ diff --git a/docs/public/images/wii-mini/eula-forwarder/launch-hb.png b/docs/public/images/wii-mini/eula-forwarder/launch-hb.png new file mode 100644 index 00000000000..80de72a9c2b Binary files /dev/null and b/docs/public/images/wii-mini/eula-forwarder/launch-hb.png differ diff --git a/docs/public/images/wii-mini/sys-channel-restore/channel-select.png b/docs/public/images/wii-mini/sys-channel-restore/channel-select.png new file mode 100644 index 00000000000..c8ddf6347e4 Binary files /dev/null and b/docs/public/images/wii-mini/sys-channel-restore/channel-select.png differ diff --git a/docs/public/images/wii-mini/sys-channel-restore/install.png b/docs/public/images/wii-mini/sys-channel-restore/install.png new file mode 100644 index 00000000000..33664767a95 Binary files /dev/null and b/docs/public/images/wii-mini/sys-channel-restore/install.png differ diff --git a/docs/public/images/wii-mini/sys-channel-restore/launch-hb.png b/docs/public/images/wii-mini/sys-channel-restore/launch-hb.png new file mode 100644 index 00000000000..d89ee739cfe Binary files /dev/null and b/docs/public/images/wii-mini/sys-channel-restore/launch-hb.png differ diff --git a/docs/recommended-homebrew.md b/docs/recommended-homebrew.md index cccc84e0fed..12744dc3be3 100644 --- a/docs/recommended-homebrew.md +++ b/docs/recommended-homebrew.md @@ -72,6 +72,14 @@ We also have additional content on the [hacks.guide wiki](https://wiki.hacks.gui ::: tip +[Click here to join the the Wii mini Hacking discord server for targeted Wii mini support and more.](https://discord.gg/6ryxnkS) + +::: + +--- + +::: tip + [Click here to go back to the site index.](site-navigation) ::: diff --git a/docs/riiconnect24.md b/docs/riiconnect24.md index 74a2c08b7f0..c8aede35a05 100644 --- a/docs/riiconnect24.md +++ b/docs/riiconnect24.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=wiiconnect24.html' + content: '0; URL=wiiconnect24' --- # Redirecting diff --git a/docs/site-navigation.md b/docs/site-navigation.md index 3607aa24305..da223325c4f 100644 --- a/docs/site-navigation.md +++ b/docs/site-navigation.md @@ -39,11 +39,11 @@ **Modding 101 - Wii Essentials** -* [BootMii Backup](bootmii) * [BootMii Recovery](bootmiirecover) * [Brick Overview](bricks) * [Brick Prevention](bricks#brick-prevention) * [cIOS](cios) +* [Creating a NAND Backup (Wii)](nand-backup) * [Homebrew Channel](hbc) * [ModMii](modmii) * [Open Shop Channel](osc) @@ -78,9 +78,9 @@ **vWii** -* [Creating a NAND dump of the Wii U](wiiu-nand-dumper) +* [Creating a NAND Backup (Wii U)](wiiu-nand-dumper) +* [Finalizing Setup (Wii U)](vwii-finalizing-setup) * [Installing the Homebrew Channel on vWii](vwii-homebrew-channel) -* [Finalizing Setup — vWii](vwii-finalizing-setup) ::: @@ -88,7 +88,6 @@ **Wii mini** -* [Wii mini NAND Dumper](wnd-mini) -* [Finalizing Setup — Wii mini](mini-finalizing-setup) +* [Finalizing Setup (Wii mini)](mini-finalizing-setup) ::: diff --git a/docs/str2hax.md b/docs/str2hax.md index 8985d5c1868..5a4826bdbec 100644 --- a/docs/str2hax.md +++ b/docs/str2hax.md @@ -101,4 +101,6 @@ This exploit requires you to set your DNS in order to connect to a server that c [Continue to Homebrew Channel and BootMii Installation](hbc) +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + ::: diff --git a/docs/themes.md b/docs/themes.md index b123434b59a..e2932283b52 100644 --- a/docs/themes.md +++ b/docs/themes.md @@ -4,7 +4,9 @@ This guide is intended to be the last you will ever need when it comes to themin ## Wii Menu Theming -::: info Important Information +::: info + +**Important Information** * csm-installer has built in safety features to prevent you from installing bad or corrupt Wii Menu themes. You are advised to use it instead of other theme installation homebrew to help prevent a brick. * Do not use any other version of ThemeMii than the one linked here, as ThemeMii Mod allows you to make a theme for Wii Menu version 4.3, other versions may not. @@ -16,7 +18,7 @@ This guide is intended to be the last you will ever need when it comes to themin **Important Warnings** -* DO NOT continue with this guide unless you have adequate brick protection with [BootMii](bootmii) (Wii only) and [Priiloader](priiloader) installed. +* DO NOT continue with this guide unless you have adequate brick protection with [BootMii](hbc) (Wii only) and [Priiloader](priiloader) installed. * Only install themes on your Wii that have been formatted specifically for its version and current region. Installing themes from the wrong version or region on your Wii will cause a [theme brick](bricks#theme-brick). This tutorial will tell you how to create a .csm file that is safe to install. ::: diff --git a/docs/usbloadergx.md b/docs/usbloadergx.md index 69bfa33d397..bc6dbc71fda 100644 --- a/docs/usbloadergx.md +++ b/docs/usbloadergx.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=wii-loaders.html' + content: '0; URL=wii-loaders' --- # Redirecting diff --git a/docs/vwii-finalizing-setup.md b/docs/vwii-finalizing-setup.md index af496e89e81..c1b9757da96 100644 --- a/docs/vwii-finalizing-setup.md +++ b/docs/vwii-finalizing-setup.md @@ -1,4 +1,4 @@ -# Finalizing Setup — vWii +# Finalizing Setup (Wii U) Now that the Homebrew Channel, Priiloader, and cIOS are installed, we are going to finalize setup for vWii by installing crucial apps to restore various missing functionalities of the vWii menu compared to a normal console. It is recommended that you download all homebrew listed below onto your storage device BEFORE starting the listed steps to save time. @@ -35,6 +35,7 @@ System Channel Restorer is a homebrew app that restores channels missing from th ### Requirements * An SD card or USB drive +* An Internet connection * [System Channel Restorer](https://oscwii.org/library/app/system-channel-restorer) ### Instructions @@ -46,7 +47,7 @@ System Channel Restorer is a homebrew app that restores channels missing from th ![](/images/vwii/sys-channel-restore/launch-hb.png) -1. The installer will launch. Most users will want to select the following channels, unless you prefer to install additional channels: +1. The installer will launch. If you receive **-3 Failed to initialize network**, ensure that your vWii is connected to the Internet. Most users will want to select the following channels, unless you prefer to install additional channels: * EULA * Mii Channel diff --git a/docs/vwii-homebrew-channel-no-wiiu-mods.md b/docs/vwii-homebrew-channel-no-wiiu-mods.md index d0decb355e3..8789617ad1a 100644 --- a/docs/vwii-homebrew-channel-no-wiiu-mods.md +++ b/docs/vwii-homebrew-channel-no-wiiu-mods.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=wiiu-nand-dumper.html' + content: '0; URL=wiiu-nand-dumper' --- # Redirecting diff --git a/docs/wii-backups.md b/docs/wii-backups.md index 4880e074bf6..7bc4480e2a1 100644 --- a/docs/wii-backups.md +++ b/docs/wii-backups.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=backups.html' + content: '0; URL=backups' --- # Redirecting diff --git a/docs/wii-factory-reset.md b/docs/wii-factory-reset.md index aa107126927..c6a9e09aeb3 100644 --- a/docs/wii-factory-reset.md +++ b/docs/wii-factory-reset.md @@ -29,7 +29,7 @@ If you are trying to [update your Wii to 4.3U](update) with homebrew or update o ## Requirements * An SD card with a minimum 512MB of free space (1GB or more recommended) -* A [NAND backup](bootmii) from the specific system you are trying to flash +* A [NAND backup](nand-backup) from the specific system you are trying to flash * A Windows computer with an Internet connection * [Ohneschwanzenegger](https://raw.githubusercontent.com/modmii/modmii.github.io/master/temp/ohneschwanzenegger.zip) * [Nand BIN Checker](/assets/files/nandBinCheck.zip) diff --git a/docs/wiibackupmanager.md b/docs/wiibackupmanager.md index 4880e074bf6..7bc4480e2a1 100644 --- a/docs/wiibackupmanager.md +++ b/docs/wiibackupmanager.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=backups.html' + content: '0; URL=backups' --- # Redirecting diff --git a/docs/wiiflow.md b/docs/wiiflow.md index 69bfa33d397..bc6dbc71fda 100644 --- a/docs/wiiflow.md +++ b/docs/wiiflow.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=wii-loaders.html' + content: '0; URL=wii-loaders' --- # Redirecting diff --git a/docs/wiigsc.md b/docs/wiigsc.md index b006b86ec73..2a6f08e9aad 100644 --- a/docs/wiigsc.md +++ b/docs/wiigsc.md @@ -2,7 +2,9 @@ This guide provides instructions on how to create Wii game shortcuts for game backups that you have on external storage devices, using a piece of software called WiiGSC (Wii Game Shortcut Creator). By creating game shortcuts, you can launch a game backup directly from the Wii Menu as if you had inserted the game as a regular disc. -::: info Important Information +::: info + +**Important Information** * Your browser or antivirus software may flag WiiGSC as malware - this is a false positive. WiiGSC does NOT contain any malware. * The Wii Menu is limited to 48 channels, not including existing system channels. @@ -13,7 +15,7 @@ This guide provides instructions on how to create Wii game shortcuts for game ba **Important Warnings** -* DO NOT continue the guide unless you have installed [Priiloader](priiloader) or [BootMii](bootmii), as this guide carries the risk of causing a [banner brick](bricks#banner-brick) which will prevent the Wii Menu from booting. +* DO NOT continue the guide unless you have installed [Priiloader](priiloader) AND [BootMii](hbc), as this guide carries the risk of causing a [banner brick](bricks#banner-brick) which will prevent the Wii Menu from booting. * DO NOT create and install a shortcut for the games "Mario Party 9" or "A Boy and His Blob". It will cause a [banner brick](bricks#banner-brick) due to the complexity of the channels making the Wii Menu crash. * If you get an error saying `The system files are corrupted`, you are likely dealing with a [banner brick](bricks#banner-brick). To fix it, turn off your Wii, then [boot into Priiloader](priiloader#section-iii---entering-priiloader) using one of the available methods for your console. Enter the Homebrew Channel and launch your WAD manager or [YAWM ModMii Edition](yawmme) to uninstall the WAD that caused the error. If Priiloader was not installed, proceed to [BlueBomb](bluebomb) for further resolution. diff --git a/docs/wiimmfi.md b/docs/wiimmfi.md index b39743ca7f0..191b40b5a49 100644 --- a/docs/wiimmfi.md +++ b/docs/wiimmfi.md @@ -2,7 +2,7 @@ head: - - meta - http-equiv: refresh - content: '0; URL=nintendowfc.html' + content: '0; URL=nintendowfc' --- # Redirecting diff --git a/docs/wiiu-nand-dumper.md b/docs/wiiu-nand-dumper.md index 8a405b909d6..1643aee1c1f 100644 --- a/docs/wiiu-nand-dumper.md +++ b/docs/wiiu-nand-dumper.md @@ -1,6 +1,6 @@ -# Creating a NAND dump of the Wii U +# Creating a NAND Backup (Wii U) -This page will guide you through the process of creating a NAND dump for your Wii U. This will protect you in the event that something goes wrong and your Wii U becomes bricked, allowing you to restore a NAND backup. +In order to protect your Wii U from permanant bricks, this guide will instruct you on how to create a NAND backup. ::: tip diff --git a/docs/wilbrand.md b/docs/wilbrand.md index cec4beb442a..b1bb9d3ac96 100644 --- a/docs/wilbrand.md +++ b/docs/wilbrand.md @@ -73,6 +73,8 @@ DO NOT use any of the MAC address examples shown in this guide, as they will sim [Continue to Homebrew Channel and BootMii Installation](hbc) +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + ::: :::: @@ -142,6 +144,8 @@ DO NOT use any of the MAC address examples shown in this guide, as they will sim [Continue to Homebrew Channel and BootMii Installation](hbc) +Now that you are in the HackMii Installer, you will be able to install the Homebrew Channel, as well as BootMii depending on your console. + ::: :::: diff --git a/docs/wnd-mini.md b/docs/wnd-mini.md index da807f2549b..bab0de7dd07 100644 --- a/docs/wnd-mini.md +++ b/docs/wnd-mini.md @@ -1,102 +1,8 @@ -# Wii mini NAND Dumper - -This tutorial will show you how to dump your Wii mini's NAND without having to solder an SD card slot. This was made possible by [nitr8](https://gbatemp.net/members/nitr8.72581/). - -::: info - -For support (in English) with Wii mini hacking, join [Wii mini Hacking](https://discord.gg/6ryxnkS) on Discord. - -::: - -::: info - -If you have a Wii, or a Wii mini with an SD card slot soldered, follow [this tutorial](bootmii) to dump your NAND. - -::: - -::: info - -There is no way to restore your NAND backup this way without a hardmod. - -::: - -## Requirements - -* A Wii -* A USB drive -* [Simple IOS Patcher for Wii mini](http://www.mediafire.com/file/7k141mu1whqzwdp/SimpleIOSPatcher_Mini.zip/file) -* [RealWnD for Wii mini](https://oscwii.org/library/app/RealWnD_Mini) -* [Xyzzy Mod](https://oscwii.org/library/app/xyzzy-mod) - -## Instructions - -### Section I - Dumping and Patching IOS 36 - -1. Download both the Simple IOS Patcher for Wii mini and RealWnD for Wii mini, and extract both zip files to the root of your USB drive. - -1. Insert the USB drive into your Wii mini, and launch the Simple IOS Patcher for Wii mini from the Homebrew Channel. -1. It should start to automatically detect your IOS 36 version and proceed to patch it into slot 236. It will also give you the IOS 236 wad file on your USB. - -### Section II - Dumping the NAND - -1. Launch RealWnD for Wii mini from the Homebrew Channel. -1. It should automatically detect IOS 236 on your Wii mini and apply some runtime patches to begin dumping your NAND. -1. When it is done, you will have 3 new files on your USB: - -```shell -WiiFlash_n_ECC.img -WFD_XXX_YY.img -WiiFlash.log -``` - -The `WiiFlash_n_ECC.img` is your NAND image. The other two files are "error" data, and are useless. - -### Section III - Dumping the Wii mini's Keys - -1. Launch xyzzy mod from the Homebrew Channel. -1. Select `USB device` - * It should start retrieving your console information. -1. When it is done, press any button to exit. - * You will have 5 new files on your USB: - - ```shell - bootmii_keys.bin - device.cert - keys.txt - otp.bin - seeprom.bin - ``` - -For now, only the `bootmii_keys.bin` file is required. - -### Section IV - Optional: Upload your NAND to Dolphin Emulator - -1. Connect the USB to your PC. -1. Find the `bootmii_keys.bin` on your USB and rename it to `keys.bin` -1. Open Dolphin Emulator on your PC. -1. Select the tools tab, and in the dropdown menu, go to "manage NAND", and then select "Import BootMii NAND Backup". -1. Select the dropdown to the right next to the file name bar and then choose the "All Files" option. -1. Locate your `WiiFlash_n_ECC.img` file and select "open". -1. Another window will pop up asking for the keys. Locate `keys.bin` and select "open". - -::: info - -If you would like to play Wii games online inside of dolphin with your Wii mini NAND, follow [this tutorial](https://dolphin-emu.org/docs/guides/wii-network-guide/) to retrieve the files needed for online, even if you are already using the latest beta or development version of dolphin emulator. - -::: - --- - -::: tip - -[Continue to Priiloader Installation](priiloader) - -::: - +head: + - - meta + - http-equiv: refresh + content: '0; URL=nand-backup' --- -::: tip - -[Click here to go back to the site index.](site-navigation) - -::: +# Redirecting diff --git a/package-lock.json b/package-lock.json index cabefec8f87..a20530334b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -26,14 +27,16 @@ "version": "7.28.5", "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", - "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "license": "MIT", "dependencies": { "@babel/types": "^7.29.0" }, @@ -48,6 +51,7 @@ "version": "7.29.0", "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.27.1", "@babel/helper-validator-identifier": "^7.28.5" @@ -57,30 +61,30 @@ } }, "node_modules/@docsearch/css": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.0.tgz", - "integrity": "sha512-YlcAimkXclvqta47g47efzCM5CFxDwv2ClkDfEs/fC/Ak0OxPH2b3czwa4o8O1TRBf+ujFF2RiUwszz2fPVNJQ==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.6.3.tgz", + "integrity": "sha512-nlOwcXcsNAptQl4vlL4MA78qNJKO0Qlds5GuBjCoePgkebTXLSf8Qt1oyZ3YBshYupKXG9VRGEsk1zr23d+bzQ==", "dev": true, "license": "MIT" }, "node_modules/@docsearch/js": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.0.tgz", - "integrity": "sha512-9/rbgkm/BgTq46cwxIohvSAz3koOFjnPpg0mwkJItAfzKbQIj+310PvwtgUY1YITDuGCag6yOL50GW2DBkaaBw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-4.6.3.tgz", + "integrity": "sha512-qUIX2b4Apew3tv4F0qhmgShsl/Lfw4m6mqv/5/5dWNxwTcDdLMp2s3YwZ+NMGh3IKCg0pBaXm7Q5VdyU5Rj+cQ==", "dev": true, "license": "MIT" }, "node_modules/@docsearch/sidepanel-js": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/@docsearch/sidepanel-js/-/sidepanel-js-4.6.0.tgz", - "integrity": "sha512-lFT5KLwlzUmpoGArCScNoK41l9a22JYsEPwBzMrz+/ILVR5Ax87UphCuiyDFQWEvEmbwzn/kJx5W/O5BUlN1Rw==", + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/@docsearch/sidepanel-js/-/sidepanel-js-4.6.3.tgz", + "integrity": "sha512-grGSmvXzG0if+mrzdIKykvpIAuEQ9u0sEJ2eLRRCaQfJvsWqh2C2/aY04bIzWvDh7myi5rvl8D+tUNsVrjYQ3A==", "dev": true, "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.3.tgz", - "integrity": "sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.7.tgz", + "integrity": "sha512-EKX3Qwmhz1eMdEJokhALr0YiD0lhQNwDqkPYyPhiSwKrh7/4KRjQc04sZ8db+5DVVnZ1LmbNDI1uAMPEUBnQPg==", "cpu": [ "ppc64" ], @@ -95,9 +99,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.3.tgz", - "integrity": "sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.7.tgz", + "integrity": "sha512-jbPXvB4Yj2yBV7HUfE2KHe4GJX51QplCN1pGbYjvsyCZbQmies29EoJbkEc+vYuU5o45AfQn37vZlyXy4YJ8RQ==", "cpu": [ "arm" ], @@ -112,9 +116,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.3.tgz", - "integrity": "sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.7.tgz", + "integrity": "sha512-62dPZHpIXzvChfvfLJow3q5dDtiNMkwiRzPylSCfriLvZeq0a1bWChrGx/BbUbPwOrsWKMn8idSllklzBy+dgQ==", "cpu": [ "arm64" ], @@ -129,9 +133,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.3.tgz", - "integrity": "sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.7.tgz", + "integrity": "sha512-x5VpMODneVDb70PYV2VQOmIUUiBtY3D3mPBG8NxVk5CogneYhkR7MmM3yR/uMdITLrC1ml/NV1rj4bMJuy9MCg==", "cpu": [ "x64" ], @@ -146,9 +150,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.3.tgz", - "integrity": "sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.7.tgz", + "integrity": "sha512-5lckdqeuBPlKUwvoCXIgI2D9/ABmPq3Rdp7IfL70393YgaASt7tbju3Ac+ePVi3KDH6N2RqePfHnXkaDtY9fkw==", "cpu": [ "arm64" ], @@ -163,9 +167,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.3.tgz", - "integrity": "sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.7.tgz", + "integrity": "sha512-rYnXrKcXuT7Z+WL5K980jVFdvVKhCHhUwid+dDYQpH+qu+TefcomiMAJpIiC2EM3Rjtq0sO3StMV/+3w3MyyqQ==", "cpu": [ "x64" ], @@ -180,9 +184,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.3.tgz", - "integrity": "sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.7.tgz", + "integrity": "sha512-B48PqeCsEgOtzME2GbNM2roU29AMTuOIN91dsMO30t+Ydis3z/3Ngoj5hhnsOSSwNzS+6JppqWsuhTp6E82l2w==", "cpu": [ "arm64" ], @@ -197,9 +201,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.3.tgz", - "integrity": "sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.7.tgz", + "integrity": "sha512-jOBDK5XEjA4m5IJK3bpAQF9/Lelu/Z9ZcdhTRLf4cajlB+8VEhFFRjWgfy3M1O4rO2GQ/b2dLwCUGpiF/eATNQ==", "cpu": [ "x64" ], @@ -214,9 +218,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.3.tgz", - "integrity": "sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.7.tgz", + "integrity": "sha512-RkT/YXYBTSULo3+af8Ib0ykH8u2MBh57o7q/DAs3lTJlyVQkgQvlrPTnjIzzRPQyavxtPtfg0EopvDyIt0j1rA==", "cpu": [ "arm" ], @@ -231,9 +235,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.3.tgz", - "integrity": "sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.7.tgz", + "integrity": "sha512-RZPHBoxXuNnPQO9rvjh5jdkRmVizktkT7TCDkDmQ0W2SwHInKCAV95GRuvdSvA7w4VMwfCjUiPwDi0ZO6Nfe9A==", "cpu": [ "arm64" ], @@ -248,9 +252,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.3.tgz", - "integrity": "sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.7.tgz", + "integrity": "sha512-GA48aKNkyQDbd3KtkplYWT102C5sn/EZTY4XROkxONgruHPU72l+gW+FfF8tf2cFjeHaRbWpOYa/uRBz/Xq1Pg==", "cpu": [ "ia32" ], @@ -265,9 +269,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.3.tgz", - "integrity": "sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.7.tgz", + "integrity": "sha512-a4POruNM2oWsD4WKvBSEKGIiWQF8fZOAsycHOt6JBpZ+JN2n2JH9WAv56SOyu9X5IqAjqSIPTaJkqN8F7XOQ5Q==", "cpu": [ "loong64" ], @@ -282,9 +286,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.3.tgz", - "integrity": "sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.7.tgz", + "integrity": "sha512-KabT5I6StirGfIz0FMgl1I+R1H73Gp0ofL9A3nG3i/cYFJzKHhouBV5VWK1CSgKvVaG4q1RNpCTR2LuTVB3fIw==", "cpu": [ "mips64el" ], @@ -299,9 +303,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.3.tgz", - "integrity": "sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.7.tgz", + "integrity": "sha512-gRsL4x6wsGHGRqhtI+ifpN/vpOFTQtnbsupUF5R5YTAg+y/lKelYR1hXbnBdzDjGbMYjVJLJTd2OFmMewAgwlQ==", "cpu": [ "ppc64" ], @@ -316,9 +320,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.3.tgz", - "integrity": "sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.7.tgz", + "integrity": "sha512-hL25LbxO1QOngGzu2U5xeXtxXcW+/GvMN3ejANqXkxZ/opySAZMrc+9LY/WyjAan41unrR3YrmtTsUpwT66InQ==", "cpu": [ "riscv64" ], @@ -333,9 +337,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.3.tgz", - "integrity": "sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.7.tgz", + "integrity": "sha512-2k8go8Ycu1Kb46vEelhu1vqEP+UeRVj2zY1pSuPdgvbd5ykAw82Lrro28vXUrRmzEsUV0NzCf54yARIK8r0fdw==", "cpu": [ "s390x" ], @@ -350,9 +354,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.3.tgz", - "integrity": "sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.7.tgz", + "integrity": "sha512-hzznmADPt+OmsYzw1EE33ccA+HPdIqiCRq7cQeL1Jlq2gb1+OyWBkMCrYGBJ+sxVzve2ZJEVeePbLM2iEIZSxA==", "cpu": [ "x64" ], @@ -367,9 +371,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.3.tgz", - "integrity": "sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.7.tgz", + "integrity": "sha512-b6pqtrQdigZBwZxAn1UpazEisvwaIDvdbMbmrly7cDTMFnw/+3lVxxCTGOrkPVnsYIosJJXAsILG9XcQS+Yu6w==", "cpu": [ "arm64" ], @@ -384,9 +388,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.3.tgz", - "integrity": "sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.7.tgz", + "integrity": "sha512-OfatkLojr6U+WN5EDYuoQhtM+1xco+/6FSzJJnuWiUw5eVcicbyK3dq5EeV/QHT1uy6GoDhGbFpprUiHUYggrw==", "cpu": [ "x64" ], @@ -401,9 +405,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.3.tgz", - "integrity": "sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.7.tgz", + "integrity": "sha512-AFuojMQTxAz75Fo8idVcqoQWEHIXFRbOc1TrVcFSgCZtQfSdc1RXgB3tjOn/krRHENUB4j00bfGjyl2mJrU37A==", "cpu": [ "arm64" ], @@ -418,9 +422,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.3.tgz", - "integrity": "sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.7.tgz", + "integrity": "sha512-+A1NJmfM8WNDv5CLVQYJ5PshuRm/4cI6WMZRg1by1GwPIQPCTs1GLEUHwiiQGT5zDdyLiRM/l1G0Pv54gvtKIg==", "cpu": [ "x64" ], @@ -435,9 +439,9 @@ } }, "node_modules/@esbuild/openharmony-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.3.tgz", - "integrity": "sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.7.tgz", + "integrity": "sha512-+KrvYb/C8zA9CU/g0sR6w2RBw7IGc5J2BPnc3dYc5VJxHCSF1yNMxTV5LQ7GuKteQXZtspjFbiuW5/dOj7H4Yw==", "cpu": [ "arm64" ], @@ -452,9 +456,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.3.tgz", - "integrity": "sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.7.tgz", + "integrity": "sha512-ikktIhFBzQNt/QDyOL580ti9+5mL/YZeUPKU2ivGtGjdTYoqz6jObj6nOMfhASpS4GU4Q/Clh1QtxWAvcYKamA==", "cpu": [ "x64" ], @@ -469,9 +473,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.3.tgz", - "integrity": "sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.7.tgz", + "integrity": "sha512-7yRhbHvPqSpRUV7Q20VuDwbjW5kIMwTHpptuUzV+AA46kiPze5Z7qgt6CLCK3pWFrHeNfDd1VKgyP4O+ng17CA==", "cpu": [ "arm64" ], @@ -486,9 +490,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.3.tgz", - "integrity": "sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.7.tgz", + "integrity": "sha512-SmwKXe6VHIyZYbBLJrhOoCJRB/Z1tckzmgTLfFYOfpMAx63BJEaL9ExI8x7v0oAO3Zh6D/Oi1gVxEYr5oUCFhw==", "cpu": [ "ia32" ], @@ -503,9 +507,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.3.tgz", - "integrity": "sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.7.tgz", + "integrity": "sha512-56hiAJPhwQ1R4i+21FVF7V8kSD5zZTdHcVuRFMW0hn753vVfQN8xlx4uOPT4xoGH0Z/oVATuR82AiqSTDIpaHg==", "cpu": [ "x64" ], @@ -523,6 +527,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-7.2.0.tgz", "integrity": "sha512-IpR0bER9FY25p+e7BmFH25MZKEwFHTfRAfhOyJubgiDnoJNsSvJ7nigLraHtp4VOG/cy8D7uiV0dLkHOne5Fhw==", + "license": "MIT", "engines": { "node": ">=6" } @@ -531,6 +536,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-7.2.0.tgz", "integrity": "sha512-6639htZMjEkwskf3J+e6/iar+4cTNM9qhoWuRfj9F3eJD6r7iCzV1SWnQr2Mdv0QT0suuqU8BoJCZUyCtP9R4Q==", + "license": "MIT", "dependencies": { "@fortawesome/fontawesome-common-types": "7.2.0" }, @@ -542,6 +548,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-7.2.0.tgz", "integrity": "sha512-YTVITFGN0/24PxzXrwqCgnyd7njDuzp5ZvaCx5nq/jg55kUYd94Nj8UTchBdBofi/L0nwRfjGOg0E41d2u9T1w==", + "license": "(CC-BY-4.0 AND MIT)", "dependencies": { "@fortawesome/fontawesome-common-types": "7.2.0" }, @@ -553,16 +560,18 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.1.3.tgz", "integrity": "sha512-OHHUTLPEzdwP8kcYIzhioUdUOjZ4zzmi+midwa4bqscza4OJCOvTKJEHkXNz8PgZ23kWci1HkKVX0bm8f9t9gQ==", + "license": "MIT", "peerDependencies": { "@fortawesome/fontawesome-svg-core": "~1 || ~6 || ~7", "vue": ">= 3.0.0 < 4" } }, "node_modules/@iconify-json/simple-icons": { - "version": "1.2.70", - "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.70.tgz", - "integrity": "sha512-CYNRCgN6nBTjN4dNkrBCjHXNR2e4hQihdsZUs/afUNFOWLSYjfihca4EFN05rRvDk4Xoy2n8tym6IxBZmcn+Qg==", + "version": "1.2.82", + "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.82.tgz", + "integrity": "sha512-4p978qHx8eD/QBOhgBzp/p7uS3OO2KCnVpFPJTUvuhuDXv1Hr4RcxcZ5MWc6ptkf/3Dlb1xb23068OtPyx10mA==", "dev": true, + "license": "CC0-1.0", "dependencies": { "@iconify/types": "*" } @@ -571,24 +580,26 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz", "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.5", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==" + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" }, "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-rc.2", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz", - "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.1.tgz", + "integrity": "sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==", "dev": true, "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", - "integrity": "sha512-upnNBkA6ZH2VKGcBj9Fyl9IGNPULcjXRlg0LLeaioQWueH30p6IXtJEbKAgvyv+mJaMxSm1l6xwDXYjpEMiLMg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.4.tgz", + "integrity": "sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==", "cpu": [ "arm" ], @@ -600,9 +611,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.59.0.tgz", - "integrity": "sha512-hZ+Zxj3SySm4A/DylsDKZAeVg0mvi++0PYVceVyX7hemkw7OreKdCvW2oQ3T1FMZvCaQXqOTHb8qmBShoqk69Q==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.4.tgz", + "integrity": "sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==", "cpu": [ "arm64" ], @@ -614,9 +625,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.59.0.tgz", - "integrity": "sha512-W2Psnbh1J8ZJw0xKAd8zdNgF9HRLkdWwwdWqubSVk0pUuQkoHnv7rx4GiF9rT4t5DIZGAsConRE3AxCdJ4m8rg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.4.tgz", + "integrity": "sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==", "cpu": [ "arm64" ], @@ -628,9 +639,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.59.0.tgz", - "integrity": "sha512-ZW2KkwlS4lwTv7ZVsYDiARfFCnSGhzYPdiOU4IM2fDbL+QGlyAbjgSFuqNRbSthybLbIJ915UtZBtmuLrQAT/w==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.4.tgz", + "integrity": "sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==", "cpu": [ "x64" ], @@ -642,9 +653,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.59.0.tgz", - "integrity": "sha512-EsKaJ5ytAu9jI3lonzn3BgG8iRBjV4LxZexygcQbpiU0wU0ATxhNVEpXKfUa0pS05gTcSDMKpn3Sx+QB9RlTTA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.4.tgz", + "integrity": "sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==", "cpu": [ "arm64" ], @@ -656,9 +667,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.59.0.tgz", - "integrity": "sha512-d3DuZi2KzTMjImrxoHIAODUZYoUUMsuUiY4SRRcJy6NJoZ6iIqWnJu9IScV9jXysyGMVuW+KNzZvBLOcpdl3Vg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.4.tgz", + "integrity": "sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==", "cpu": [ "x64" ], @@ -670,13 +681,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.59.0.tgz", - "integrity": "sha512-t4ONHboXi/3E0rT6OZl1pKbl2Vgxf9vJfWgmUoCEVQVxhW6Cw/c8I6hbbu7DAvgp82RKiH7TpLwxnJeKv2pbsw==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.4.tgz", + "integrity": "sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -684,13 +698,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.59.0.tgz", - "integrity": "sha512-CikFT7aYPA2ufMD086cVORBYGHffBo4K8MQ4uPS/ZnY54GKj36i196u8U+aDVT2LX4eSMbyHtyOh7D7Zvk2VvA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.4.tgz", + "integrity": "sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==", "cpu": [ "arm" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -698,13 +715,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.59.0.tgz", - "integrity": "sha512-jYgUGk5aLd1nUb1CtQ8E+t5JhLc9x5WdBKew9ZgAXg7DBk0ZHErLHdXM24rfX+bKrFe+Xp5YuJo54I5HFjGDAA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.4.tgz", + "integrity": "sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -712,13 +732,16 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.59.0.tgz", - "integrity": "sha512-peZRVEdnFWZ5Bh2KeumKG9ty7aCXzzEsHShOZEFiCQlDEepP1dpUl/SrUNXNg13UmZl+gzVDPsiCwnV1uI0RUA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.4.tgz", + "integrity": "sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==", "cpu": [ "arm64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -726,13 +749,16 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.59.0.tgz", - "integrity": "sha512-gbUSW/97f7+r4gHy3Jlup8zDG190AuodsWnNiXErp9mT90iCy9NKKU0Xwx5k8VlRAIV2uU9CsMnEFg/xXaOfXg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.4.tgz", + "integrity": "sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -740,13 +766,16 @@ ] }, "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.59.0.tgz", - "integrity": "sha512-yTRONe79E+o0FWFijasoTjtzG9EBedFXJMl888NBEDCDV9I2wGbFFfJQQe63OijbFCUZqxpHz1GzpbtSFikJ4Q==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.4.tgz", + "integrity": "sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==", "cpu": [ "loong64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -754,13 +783,16 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.59.0.tgz", - "integrity": "sha512-sw1o3tfyk12k3OEpRddF68a1unZ5VCN7zoTNtSn2KndUE+ea3m3ROOKRCZxEpmT9nsGnogpFP9x6mnLTCaoLkA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.4.tgz", + "integrity": "sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -768,13 +800,16 @@ ] }, "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.59.0.tgz", - "integrity": "sha512-+2kLtQ4xT3AiIxkzFVFXfsmlZiG5FXYW7ZyIIvGA7Bdeuh9Z0aN4hVyXS/G1E9bTP/vqszNIN/pUKCk/BTHsKA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.4.tgz", + "integrity": "sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==", "cpu": [ "ppc64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -782,13 +817,16 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.59.0.tgz", - "integrity": "sha512-NDYMpsXYJJaj+I7UdwIuHHNxXZ/b/N2hR15NyH3m2qAtb/hHPA4g4SuuvrdxetTdndfj9b1WOmy73kcPRoERUg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.4.tgz", + "integrity": "sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -796,13 +834,16 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.59.0.tgz", - "integrity": "sha512-nLckB8WOqHIf1bhymk+oHxvM9D3tyPndZH8i8+35p/1YiVoVswPid2yLzgX7ZJP0KQvnkhM4H6QZ5m0LzbyIAg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.4.tgz", + "integrity": "sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==", "cpu": [ "riscv64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -810,13 +851,16 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.59.0.tgz", - "integrity": "sha512-oF87Ie3uAIvORFBpwnCvUzdeYUqi2wY6jRFWJAy1qus/udHFYIkplYRW+wo+GRUP4sKzYdmE1Y3+rY5Gc4ZO+w==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.4.tgz", + "integrity": "sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==", "cpu": [ "s390x" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -824,13 +868,16 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.59.0.tgz", - "integrity": "sha512-3AHmtQq/ppNuUspKAlvA8HtLybkDflkMuLK4DPo77DfthRb71V84/c4MlWJXixZz4uruIH4uaa07IqoAkG64fg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.4.tgz", + "integrity": "sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "glibc" + ], "license": "MIT", "optional": true, "os": [ @@ -838,13 +885,16 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.59.0.tgz", - "integrity": "sha512-2UdiwS/9cTAx7qIUZB/fWtToJwvt0Vbo0zmnYt7ED35KPg13Q0ym1g442THLC7VyI6JfYTP4PiSOWyoMdV2/xg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.4.tgz", + "integrity": "sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==", "cpu": [ "x64" ], "dev": true, + "libc": [ + "musl" + ], "license": "MIT", "optional": true, "os": [ @@ -852,9 +902,9 @@ ] }, "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.59.0.tgz", - "integrity": "sha512-M3bLRAVk6GOwFlPTIxVBSYKUaqfLrn8l0psKinkCFxl4lQvOSz8ZrKDz2gxcBwHFpci0B6rttydI4IpS4IS/jQ==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.4.tgz", + "integrity": "sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==", "cpu": [ "x64" ], @@ -866,9 +916,9 @@ ] }, "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.59.0.tgz", - "integrity": "sha512-tt9KBJqaqp5i5HUZzoafHZX8b5Q2Fe7UjYERADll83O4fGqJ49O1FsL6LpdzVFQcpwvnyd0i+K/VSwu/o/nWlA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.4.tgz", + "integrity": "sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==", "cpu": [ "arm64" ], @@ -880,9 +930,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.59.0.tgz", - "integrity": "sha512-V5B6mG7OrGTwnxaNUzZTDTjDS7F75PO1ae6MJYdiMu60sq0CqN5CVeVsbhPxalupvTX8gXVSU9gq+Rx1/hvu6A==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.4.tgz", + "integrity": "sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==", "cpu": [ "arm64" ], @@ -894,9 +944,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.59.0.tgz", - "integrity": "sha512-UKFMHPuM9R0iBegwzKF4y0C4J9u8C6MEJgFuXTBerMk7EJ92GFVFYBfOZaSGLu6COf7FxpQNqhNS4c4icUPqxA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.4.tgz", + "integrity": "sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==", "cpu": [ "ia32" ], @@ -908,9 +958,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.59.0.tgz", - "integrity": "sha512-laBkYlSS1n2L8fSo1thDNGrCTQMmxjYY5G0WFWjFFYZkKPjsMBsgJfGf4TLxXrF6RyhI60L8TMOjBMvXiTcxeA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", + "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", "cpu": [ "x64" ], @@ -922,9 +972,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.59.0.tgz", - "integrity": "sha512-2HRCml6OztYXyJXAvdDXPKcawukWY2GpR5/nxKp4iBgiO3wcoEGkAaqctIbZcNB6KlUQBIqt8VYkNSj2397EfA==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", + "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", "cpu": [ "x64" ], @@ -1041,13 +1091,15 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz", "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/markdown-it": { "version": "14.1.2", "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz", "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", "dev": true, + "license": "MIT", "dependencies": { "@types/linkify-it": "^5", "@types/mdurl": "^2" @@ -1067,7 +1119,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@types/unist": { "version": "3.0.3", @@ -1084,160 +1137,169 @@ "license": "MIT" }, "node_modules/@ungap/structured-clone": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", - "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", "dev": true, "license": "ISC" }, "node_modules/@vitejs/plugin-vue": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.4.tgz", - "integrity": "sha512-uM5iXipgYIn13UUQCZNdWkYk+sysBeA97d5mHsAoAt1u/wpN3+zxOmsVJWosuzX+IMGRzeYUNytztrYznboIkQ==", + "version": "6.0.7", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.7.tgz", + "integrity": "sha512-km+p+XdSz9Sxm5rqUbqcSfZYaAniKxWBj1KURl+Jr7UaPvvX7BmaWMdP69I5rrFDeQGyxAG7NXdc57vz+snhWg==", "dev": true, "license": "MIT", "dependencies": { - "@rolldown/pluginutils": "1.0.0-rc.2" + "@rolldown/pluginutils": "^1.0.1" }, "engines": { "node": "^20.19.0 || >=22.12.0" }, "peerDependencies": { - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", + "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", "vue": "^3.2.25" } }, "node_modules/@vue/compiler-core": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.28.tgz", - "integrity": "sha512-kviccYxTgoE8n6OCw96BNdYlBg2GOWfBuOW4Vqwrt7mSKWKwFVvI8egdTltqRgITGPsTFYtKYfxIG8ptX2PJHQ==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.34.tgz", + "integrity": "sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@vue/shared": "3.5.28", + "@babel/parser": "^7.29.3", + "@vue/shared": "3.5.34", "entities": "^7.0.1", "estree-walker": "^2.0.2", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.28.tgz", - "integrity": "sha512-/1ZepxAb159jKR1btkefDP+J2xuWL5V3WtleRmxaT+K2Aqiek/Ab/+Ebrw2pPj0sdHO8ViAyyJWfhXXOP/+LQA==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.34.tgz", + "integrity": "sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==", + "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.28", - "@vue/shared": "3.5.28" + "@vue/compiler-core": "3.5.34", + "@vue/shared": "3.5.34" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.28.tgz", - "integrity": "sha512-6TnKMiNkd6u6VeVDhZn/07KhEZuBSn43Wd2No5zaP5s3xm8IqFTHBj84HJah4UepSUJTro5SoqqlOY22FKY96g==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.34.tgz", + "integrity": "sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.29.0", - "@vue/compiler-core": "3.5.28", - "@vue/compiler-dom": "3.5.28", - "@vue/compiler-ssr": "3.5.28", - "@vue/shared": "3.5.28", + "@babel/parser": "^7.29.3", + "@vue/compiler-core": "3.5.34", + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34", "estree-walker": "^2.0.2", "magic-string": "^0.30.21", - "postcss": "^8.5.6", + "postcss": "^8.5.14", "source-map-js": "^1.2.1" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.28.tgz", - "integrity": "sha512-JCq//9w1qmC6UGLWJX7RXzrGpKkroubey/ZFqTpvEIDJEKGgntuDMqkuWiZvzTzTA5h2qZvFBFHY7fAAa9475g==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.34.tgz", + "integrity": "sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.28", - "@vue/shared": "3.5.28" + "@vue/compiler-dom": "3.5.34", + "@vue/shared": "3.5.34" } }, "node_modules/@vue/devtools-api": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.0.7.tgz", - "integrity": "sha512-tc1TXAxclsn55JblLkFVcIRG7MeSJC4fWsPjfM7qu/IcmPUYnQ5Q8vzWwBpyDY24ZjmZTUCCwjRSNbx58IhlAA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-8.1.2.tgz", + "integrity": "sha512-vA0O112YqyDuNA1s7Yb2gCgToQ/OxOWiFDO5ThLCcDy0ldHnSd1dUTaSYhOldbqoNgumE4dxtGAoAaSUKUD1Zg==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-kit": "^8.0.7" + "@vue/devtools-kit": "^8.1.2" } }, "node_modules/@vue/devtools-kit": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.7.tgz", - "integrity": "sha512-H6esJGHGl5q0E9iV3m2EoBQHJ+V83WMW83A0/+Fn95eZ2iIvdsq4+UCS6yT/Fdd4cGZSchx/MdWDreM3WqMsDw==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.1.2.tgz", + "integrity": "sha512-f75/upc+GCyjXErpgPGz4582ujS0L/adAltGy+tqXMGUJpgAcfGr6CxnnhpZY8BHuMYt6KpbF8uaFrrQG66rGQ==", "dev": true, "license": "MIT", "dependencies": { - "@vue/devtools-shared": "^8.0.7", + "@vue/devtools-shared": "^8.1.2", "birpc": "^2.6.1", "hookable": "^5.5.3", "perfect-debounce": "^2.0.0" } }, "node_modules/@vue/devtools-shared": { - "version": "8.0.7", - "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.7.tgz", - "integrity": "sha512-CgAb9oJH5NUmbQRdYDj/1zMiaICYSLtm+B1kxcP72LBrifGAjUmt8bx52dDH1gWRPlQgxGPqpAMKavzVirAEhA==", + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.1.2.tgz", + "integrity": "sha512-X9RyVFYAdkBe4IUf5v48TxBF/6QPmF8CmWrDAjXzfUHrgQ/HGfTC1A6TqgXqZ03ye66l3AD51BAGD69IvKM9sw==", "dev": true, "license": "MIT" }, "node_modules/@vue/reactivity": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.28.tgz", - "integrity": "sha512-gr5hEsxvn+RNyu9/9o1WtdYdwDjg5FgjUSBEkZWqgTKlo/fvwZ2+8W6AfKsc9YN2k/+iHYdS9vZYAhpi10kNaw==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.34.tgz", + "integrity": "sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==", + "license": "MIT", "dependencies": { - "@vue/shared": "3.5.28" + "@vue/shared": "3.5.34" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.28.tgz", - "integrity": "sha512-POVHTdbgnrBBIpnbYU4y7pOMNlPn2QVxVzkvEA2pEgvzbelQq4ZOUxbp2oiyo+BOtiYlm8Q44wShHJoBvDPAjQ==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.34.tgz", + "integrity": "sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.28", - "@vue/shared": "3.5.28" + "@vue/reactivity": "3.5.34", + "@vue/shared": "3.5.34" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.28.tgz", - "integrity": "sha512-4SXxSF8SXYMuhAIkT+eBRqOkWEfPu6nhccrzrkioA6l0boiq7sp18HCOov9qWJA5HML61kW8p/cB4MmBiG9dSA==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.34.tgz", + "integrity": "sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.28", - "@vue/runtime-core": "3.5.28", - "@vue/shared": "3.5.28", + "@vue/reactivity": "3.5.34", + "@vue/runtime-core": "3.5.34", + "@vue/shared": "3.5.34", "csstype": "^3.2.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.28.tgz", - "integrity": "sha512-pf+5ECKGj8fX95bNincbzJ6yp6nyzuLDhYZCeFxUNp8EBrQpPpQaLX3nNCp49+UbgbPun3CeVE+5CXVV1Xydfg==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.34.tgz", + "integrity": "sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==", + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.28", - "@vue/shared": "3.5.28" + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34" }, "peerDependencies": { - "vue": "3.5.28" + "vue": "3.5.34" } }, "node_modules/@vue/shared": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.28.tgz", - "integrity": "sha512-cfWa1fCGBxrvaHRhvV3Is0MgmrbSCxYTXCSCau2I0a1Xw1N1pHAvkWCiXPRAqjvToILvguNyEwjevUqAuBQWvQ==" + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.34.tgz", + "integrity": "sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==", + "license": "MIT" }, "node_modules/@vueuse/core": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.2.1.tgz", - "integrity": "sha512-3vwDzV+GDUNpdegRY6kzpLm4Igptq+GA0QkJ3W61Iv27YWwW/ufSlOfgQIpN6FZRMG0mkaz4gglJRtq5SeJyIQ==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-14.3.0.tgz", + "integrity": "sha512-aHfz47g0ZhMtTVHmIzMVpJy8ePhhOy68GY5bv110+5DVtZ+W7BsOx+m61UNQqfrWyPztIHIanWa3E2tib3NFIw==", "dev": true, "license": "MIT", "dependencies": { "@types/web-bluetooth": "^0.0.21", - "@vueuse/metadata": "14.2.1", - "@vueuse/shared": "14.2.1" + "@vueuse/metadata": "14.3.0", + "@vueuse/shared": "14.3.0" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -1247,14 +1309,14 @@ } }, "node_modules/@vueuse/integrations": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.2.1.tgz", - "integrity": "sha512-2LIUpBi/67PoXJGqSDQUF0pgQWpNHh7beiA+KG2AbybcNm+pTGWT6oPGlBgUoDWmYwfeQqM/uzOHqcILpKL7nA==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-14.3.0.tgz", + "integrity": "sha512-76I5FT2ESvCmCaSwapI+a/u/CFtNXmzl9f9lNp1hRtx8vKB8hfiokJr8IvQqcQG5ckGXElyXK516b54ozV3MvA==", "dev": true, "license": "MIT", "dependencies": { - "@vueuse/core": "14.2.1", - "@vueuse/shared": "14.2.1" + "@vueuse/core": "14.3.0", + "@vueuse/shared": "14.3.0" }, "funding": { "url": "https://github.com/sponsors/antfu" @@ -1314,9 +1376,9 @@ } }, "node_modules/@vueuse/metadata": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.2.1.tgz", - "integrity": "sha512-1ButlVtj5Sb/HDtIy1HFr1VqCP4G6Ypqt5MAo0lCgjokrk2mvQKsK2uuy0vqu/Ks+sHfuHo0B9Y9jn9xKdjZsw==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-14.3.0.tgz", + "integrity": "sha512-BwxmbAzwAVF50+MW57GXOUEV61nFBGnlBvrTqj49PqWJu3uw7hdu72ztXeZ33RdZtDY6kO+bfCAE1PCn88Tktw==", "dev": true, "license": "MIT", "funding": { @@ -1324,9 +1386,9 @@ } }, "node_modules/@vueuse/shared": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.2.1.tgz", - "integrity": "sha512-shTJncjV9JTI4oVNyF1FQonetYAiTBd+Qj7cY89SWbXSkx7gyhrgtEdF2ZAVWS1S3SHlaROO6F2IesJxQEkZBw==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-14.3.0.tgz", + "integrity": "sha512-bZpge9eSXwa4ToSiqJ7j6KRwhAsneMFoSz3LMWKQDkqimm3D/tbFlrklrs/IOqC8tEcYmXQZJ6N0UrjhBirVCg==", "dev": true, "license": "MIT", "funding": { @@ -1393,7 +1455,8 @@ "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==" + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" }, "node_modules/dequal": { "version": "2.0.3", @@ -1423,6 +1486,7 @@ "version": "7.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -1431,9 +1495,9 @@ } }, "node_modules/esbuild": { - "version": "0.27.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.3.tgz", - "integrity": "sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==", + "version": "0.27.7", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.7.tgz", + "integrity": "sha512-IxpibTjyVnmrIQo5aqNpCgoACA/dTKLTlhMHihVHhdkxKyPO1uBBthumT0rdHmcsk9uMonIWS0m4FljWzILh3w==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1444,38 +1508,39 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.27.3", - "@esbuild/android-arm": "0.27.3", - "@esbuild/android-arm64": "0.27.3", - "@esbuild/android-x64": "0.27.3", - "@esbuild/darwin-arm64": "0.27.3", - "@esbuild/darwin-x64": "0.27.3", - "@esbuild/freebsd-arm64": "0.27.3", - "@esbuild/freebsd-x64": "0.27.3", - "@esbuild/linux-arm": "0.27.3", - "@esbuild/linux-arm64": "0.27.3", - "@esbuild/linux-ia32": "0.27.3", - "@esbuild/linux-loong64": "0.27.3", - "@esbuild/linux-mips64el": "0.27.3", - "@esbuild/linux-ppc64": "0.27.3", - "@esbuild/linux-riscv64": "0.27.3", - "@esbuild/linux-s390x": "0.27.3", - "@esbuild/linux-x64": "0.27.3", - "@esbuild/netbsd-arm64": "0.27.3", - "@esbuild/netbsd-x64": "0.27.3", - "@esbuild/openbsd-arm64": "0.27.3", - "@esbuild/openbsd-x64": "0.27.3", - "@esbuild/openharmony-arm64": "0.27.3", - "@esbuild/sunos-x64": "0.27.3", - "@esbuild/win32-arm64": "0.27.3", - "@esbuild/win32-ia32": "0.27.3", - "@esbuild/win32-x64": "0.27.3" + "@esbuild/aix-ppc64": "0.27.7", + "@esbuild/android-arm": "0.27.7", + "@esbuild/android-arm64": "0.27.7", + "@esbuild/android-x64": "0.27.7", + "@esbuild/darwin-arm64": "0.27.7", + "@esbuild/darwin-x64": "0.27.7", + "@esbuild/freebsd-arm64": "0.27.7", + "@esbuild/freebsd-x64": "0.27.7", + "@esbuild/linux-arm": "0.27.7", + "@esbuild/linux-arm64": "0.27.7", + "@esbuild/linux-ia32": "0.27.7", + "@esbuild/linux-loong64": "0.27.7", + "@esbuild/linux-mips64el": "0.27.7", + "@esbuild/linux-ppc64": "0.27.7", + "@esbuild/linux-riscv64": "0.27.7", + "@esbuild/linux-s390x": "0.27.7", + "@esbuild/linux-x64": "0.27.7", + "@esbuild/netbsd-arm64": "0.27.7", + "@esbuild/netbsd-x64": "0.27.7", + "@esbuild/openbsd-arm64": "0.27.7", + "@esbuild/openbsd-x64": "0.27.7", + "@esbuild/openharmony-arm64": "0.27.7", + "@esbuild/sunos-x64": "0.27.7", + "@esbuild/win32-arm64": "0.27.7", + "@esbuild/win32-ia32": "0.27.7", + "@esbuild/win32-x64": "0.27.7" } }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" }, "node_modules/fdir": { "version": "6.5.0", @@ -1580,6 +1645,7 @@ "version": "0.30.21", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.5" } @@ -1588,12 +1654,14 @@ "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/markdown-it-container": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/markdown-it-container/-/markdown-it-container-4.0.0.tgz", - "integrity": "sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==" + "integrity": "sha512-HaNccxUH0l7BNGYbFbjmGpf5aLHAMTinqRZQAEQbMr2cdD3z91Q6kIo1oUn1CQndkT03jat6ckrdRYuwwqLlQw==", + "license": "MIT" }, "node_modules/mdast-util-to-hast": { "version": "13.2.1", @@ -1715,18 +1783,20 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz", "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -1735,21 +1805,21 @@ } }, "node_modules/oniguruma-parser": { - "version": "0.12.1", - "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", - "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.2.tgz", + "integrity": "sha512-6HVa5oIrgMC6aA6WF6XyyqbhRPJrKR02L20+2+zpDtO5QAzGHAUGw5TKQvwi5vctNnRHkJYmjAhRVQF2EKdTQw==", "dev": true, "license": "MIT" }, "node_modules/oniguruma-to-es": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", - "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.6.tgz", + "integrity": "sha512-csuQ9x3Yr0cEIs/Zgx/OEt9iBw9vqIunAPQkx19R/fiMq2oGVTgcMqO/V3Ybqefr1TBvosI6jU539ksaBULJyA==", "dev": true, "license": "MIT", "dependencies": { - "oniguruma-parser": "^0.12.1", - "regex": "^6.0.1", + "oniguruma-parser": "^0.12.2", + "regex": "^6.1.0", "regex-recursion": "^6.0.2" } }, @@ -1763,12 +1833,13 @@ "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", "dev": true, "license": "MIT", "engines": { @@ -1779,9 +1850,9 @@ } }, "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "version": "8.5.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", "funding": [ { "type": "opencollective", @@ -1796,6 +1867,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -1844,9 +1916,9 @@ "license": "MIT" }, "node_modules/rollup": { - "version": "4.59.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.59.0.tgz", - "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", "dev": true, "license": "MIT", "dependencies": { @@ -1860,31 +1932,31 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.59.0", - "@rollup/rollup-android-arm64": "4.59.0", - "@rollup/rollup-darwin-arm64": "4.59.0", - "@rollup/rollup-darwin-x64": "4.59.0", - "@rollup/rollup-freebsd-arm64": "4.59.0", - "@rollup/rollup-freebsd-x64": "4.59.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.59.0", - "@rollup/rollup-linux-arm-musleabihf": "4.59.0", - "@rollup/rollup-linux-arm64-gnu": "4.59.0", - "@rollup/rollup-linux-arm64-musl": "4.59.0", - "@rollup/rollup-linux-loong64-gnu": "4.59.0", - "@rollup/rollup-linux-loong64-musl": "4.59.0", - "@rollup/rollup-linux-ppc64-gnu": "4.59.0", - "@rollup/rollup-linux-ppc64-musl": "4.59.0", - "@rollup/rollup-linux-riscv64-gnu": "4.59.0", - "@rollup/rollup-linux-riscv64-musl": "4.59.0", - "@rollup/rollup-linux-s390x-gnu": "4.59.0", - "@rollup/rollup-linux-x64-gnu": "4.59.0", - "@rollup/rollup-linux-x64-musl": "4.59.0", - "@rollup/rollup-openbsd-x64": "4.59.0", - "@rollup/rollup-openharmony-arm64": "4.59.0", - "@rollup/rollup-win32-arm64-msvc": "4.59.0", - "@rollup/rollup-win32-ia32-msvc": "4.59.0", - "@rollup/rollup-win32-x64-gnu": "4.59.0", - "@rollup/rollup-win32-x64-msvc": "4.59.0", + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", "fsevents": "~2.3.2" } }, @@ -1909,6 +1981,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -1947,14 +2020,14 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", "dev": true, "license": "MIT", "dependencies": { "fdir": "^6.5.0", - "picomatch": "^4.0.3" + "picomatch": "^4.0.4" }, "engines": { "node": ">=12.0.0" @@ -2078,9 +2151,9 @@ } }, "node_modules/vite": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz", - "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", + "version": "7.3.3", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.3.tgz", + "integrity": "sha512-/4XH147Ui7OGTjg3HbdWe5arnZQSbfuRzdr9Ec7TQi5I7R+ir0Rlc9GIvD4v0XZurELqA035KVXJXpR61xhiTA==", "dev": true, "license": "MIT", "dependencies": { @@ -2200,15 +2273,16 @@ } }, "node_modules/vue": { - "version": "3.5.28", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.28.tgz", - "integrity": "sha512-BRdrNfeoccSoIZeIhyPBfvWSLFP4q8J3u8Ju8Ug5vu3LdD+yTM13Sg4sKtljxozbnuMu1NB1X5HBHRYUzFocKg==", + "version": "3.5.34", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.34.tgz", + "integrity": "sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.28", - "@vue/compiler-sfc": "3.5.28", - "@vue/runtime-dom": "3.5.28", - "@vue/server-renderer": "3.5.28", - "@vue/shared": "3.5.28" + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-sfc": "3.5.34", + "@vue/runtime-dom": "3.5.34", + "@vue/server-renderer": "3.5.34", + "@vue/shared": "3.5.34" }, "peerDependencies": { "typescript": "*"