From 313949d8b3a1d103d1c3babbcd3103509abbbca5 Mon Sep 17 00:00:00 2001 From: odudex Date: Tue, 12 Nov 2024 19:08:21 +0000 Subject: [PATCH] deploy: 9cd6e976487a3a56b1d05ea40ab05efd63d19e2b --- 404.html | 46 + faq/index.html | 46 + .../features/QR-transcript-tools/index.html | 46 + .../features/encrypted-mnemonics/index.html | 46 + getting-started/features/entropy/index.html | 46 + getting-started/features/printing/index.html | 46 + .../features/sd-card-update/index.html | 46 + .../features/tamper-detection/index.html | 1889 + getting-started/features/tinyseed/index.html | 52 +- getting-started/features/tools/index.html | 128 +- getting-started/index.html | 46 + .../from-gui/debian-like/index.html | 46 + .../from-gui/fedora-like/index.html | 46 + .../installing/from-gui/index.html | 46 + .../from-gui/macos-arm64/index.html | 46 + .../from-gui/macos-intel/index.html | 46 + .../from-gui/other-linux-distro/index.html | 46 + .../installing/from-gui/usage/index.html | 50 +- .../installing/from-gui/windows/index.html | 46 + .../from-pre-built-release/index.html | 56 +- .../installing/from-source/index.html | 46 + .../installing/from-test-release/index.html | 46 + getting-started/installing/index.html | 46 + getting-started/navigation/index.html | 52 +- getting-started/settings/index.html | 84 +- .../Krux_Binary_Grid_double_clean_rev1.png | Bin 0 -> 23209 bytes .../Krux_Binary_Grid_double_clean_rev1.svg | 486 + .../Krux_Binary_Grid_double_rev1.png | Bin 0 -> 46995 bytes .../Krux_Binary_Grid_double_rev1.svg | 665 + .../templates/Krux_transcribe_templates.pdf | Bin 0 -> 360065 bytes .../templates/Krux_transcribe_templates.svg | 59140 ++++++++++++++++ .../templates/templates/index.html | 1693 + .../templates/tiny_seed_scan_background.png | Bin 0 -> 13876 bytes .../templates/tiny_seed_template.png | Bin 0 -> 24354 bytes .../templates/tiny_seed_template_24w.png | Bin 0 -> 117575 bytes .../usage/generating-a-mnemonic/index.html | 46 + .../usage/loading-a-mnemonic/index.html | 46 + .../usage/navigating-the-main-menu/index.html | 58 +- .../index.html | 46 + .../usage/video-tutorials/index.html | 46 + img/flash_hash.bmp | Bin 0 -> 1035338 bytes img/maixpy_amigo/check-sd-card-150.png | Bin 16544 -> 16541 bytes img/maixpy_amigo/erase-data-150.png | Bin 0 -> 16576 bytes img/maixpy_amigo/flash-map-150.png | Bin 0 -> 14075 bytes img/maixpy_amigo/flash-tools-150.png | Bin 0 -> 15078 bytes img/maixpy_amigo/tools-options-150.png | Bin 18218 -> 18282 bytes img/maixpy_amigo/wipe-device-150.png | Bin 16589 -> 0 bytes ...wipe-device-125.png => erase-data-125.png} | Bin img/maixpy_m5stickv/flash-map-125.png | Bin 0 -> 38977 bytes img/maixpy_m5stickv/flash-tools-125.png | Bin 0 -> 38103 bytes img/maixpy_m5stickv/tools-options-125.png | Bin 42544 -> 42624 bytes index.html | 46 + parts/index.html | 46 + search/search_index.json | 2 +- sitemap.xml | 80 +- sitemap.xml.gz | Bin 757 -> 785 bytes snippets/after-install-installer/index.html | 46 + support/index.html | 99 +- troubleshooting/index.html | 46 + uncommon-questions/index.html | 46 + 60 files changed, 65706 insertions(+), 70 deletions(-) create mode 100644 getting-started/features/tamper-detection/index.html create mode 100644 getting-started/templates/Krux_Binary_Grid_double_clean_rev1.png create mode 100644 getting-started/templates/Krux_Binary_Grid_double_clean_rev1.svg create mode 100644 getting-started/templates/Krux_Binary_Grid_double_rev1.png create mode 100644 getting-started/templates/Krux_Binary_Grid_double_rev1.svg create mode 100644 getting-started/templates/Krux_transcribe_templates.pdf create mode 100644 getting-started/templates/Krux_transcribe_templates.svg create mode 100644 getting-started/templates/templates/index.html create mode 100644 getting-started/templates/tiny_seed_scan_background.png create mode 100644 getting-started/templates/tiny_seed_template.png create mode 100644 getting-started/templates/tiny_seed_template_24w.png create mode 100644 img/flash_hash.bmp create mode 100644 img/maixpy_amigo/erase-data-150.png create mode 100644 img/maixpy_amigo/flash-map-150.png create mode 100644 img/maixpy_amigo/flash-tools-150.png delete mode 100644 img/maixpy_amigo/wipe-device-150.png rename img/maixpy_m5stickv/{wipe-device-125.png => erase-data-125.png} (100%) create mode 100644 img/maixpy_m5stickv/flash-map-125.png create mode 100644 img/maixpy_m5stickv/flash-tools-125.png diff --git a/404.html b/404.html index d02135cc..8f175fe0 100644 --- a/404.html +++ b/404.html @@ -386,6 +386,8 @@ + + @@ -985,6 +987,8 @@ + + @@ -1170,6 +1174,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1205,6 +1230,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/faq/index.html b/faq/index.html index be1c06b0..4e7a0c71 100644 --- a/faq/index.html +++ b/faq/index.html @@ -399,6 +399,8 @@ + + @@ -998,6 +1000,8 @@ + + @@ -1183,6 +1187,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1218,6 +1243,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/features/QR-transcript-tools/index.html b/getting-started/features/QR-transcript-tools/index.html index 2bbe7ec6..f0e23655 100644 --- a/getting-started/features/QR-transcript-tools/index.html +++ b/getting-started/features/QR-transcript-tools/index.html @@ -401,6 +401,8 @@ + + @@ -1009,6 +1011,8 @@ + + @@ -1276,6 +1280,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1311,6 +1336,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/features/encrypted-mnemonics/index.html b/getting-started/features/encrypted-mnemonics/index.html index def0c1c0..6cbadb61 100644 --- a/getting-started/features/encrypted-mnemonics/index.html +++ b/getting-started/features/encrypted-mnemonics/index.html @@ -401,6 +401,8 @@ + + @@ -1009,6 +1011,8 @@ + + @@ -1306,6 +1310,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1341,6 +1366,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/features/entropy/index.html b/getting-started/features/entropy/index.html index b19a0f89..0929d192 100644 --- a/getting-started/features/entropy/index.html +++ b/getting-started/features/entropy/index.html @@ -401,6 +401,8 @@ + + @@ -1009,6 +1011,8 @@ + + @@ -1390,6 +1394,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1425,6 +1450,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/features/printing/index.html b/getting-started/features/printing/index.html index d6f6a7d6..47ab7b5b 100644 --- a/getting-started/features/printing/index.html +++ b/getting-started/features/printing/index.html @@ -396,6 +396,8 @@ + + @@ -1004,6 +1006,8 @@ + + @@ -1198,6 +1202,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1233,6 +1258,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/features/sd-card-update/index.html b/getting-started/features/sd-card-update/index.html index fcced513..61714df9 100644 --- a/getting-started/features/sd-card-update/index.html +++ b/getting-started/features/sd-card-update/index.html @@ -401,6 +401,8 @@ + + @@ -1009,6 +1011,8 @@ + + @@ -1240,6 +1244,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1275,6 +1300,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/features/tamper-detection/index.html b/getting-started/features/tamper-detection/index.html new file mode 100644 index 00000000..efc0f2df --- /dev/null +++ b/getting-started/features/tamper-detection/index.html @@ -0,0 +1,1889 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + Tamper Detection - Krux - Open-source signing device firmware for Bitcoin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Skip to content + + +
    +
    + +
    + + + + + + +
    + + + + + + + +
    + +
    + + + + +
    +
    + + + +
    +
    +
    + + + + + + + + + +
    +
    +
    + + + + +
    +
    + + + + + + + +

    Tamper Detection Mechanism (Experimental)

    +

    Krux's tamper detection tool combines cryptographic hashes, a Tamper Check Code, and camera-generated entropy to create a tamper indicator that is unique to each device, represented by a memorable image and four words.

    +

    Before we get into details, let's start with some limitations and necessary prerequisites to allow the feature to work.

    +

    Krux Security Model - Good Practices and Limitations

    +

    To secure your Krux device, always verify firmware authenticity before installation, particularly when flashing via USB.

    +

    Firmware Verification Methods

    +
      +
    • +

      Using OpenSSL Command-Line Tool: Follow the Krux documentation to verify the firmware's signature manually. This method provides a high level of assurance but requires familiarity with command-line operations.

      +
    • +
    • +

      Using Krux-Installer: For a more user-friendly experience, verify the Krux-Installer's signature using GPG. Graphical interfaces like Sparrow Wallet can facilitate this process. Krux-Installer automatically downloads the firmware from Github, verifies the firmware signature, informs you of the results, and guides you through manual verification if desired.

      +
    • +
    +

    Recommendations

    +
      +
    • +

      Learn Verification Tools: Familiarize yourself with verification methods and tools to maintain control over your device's security.

      +
    • +
    • +

      Build from Source: Consider building the firmware from source code and verifying its reproducibility for maximum assurance.

      +
    • +
    • +

      Use SD Card for Updates: After the initial flash through USB, perform subsequent updates via the SD card. This keeps your device air-gapped and allows the existing firmware to verify new updates before installation.

      +
    • +
    +

    Note: The effectiveness of the TC Flash Hash tamper detection feature relies on running legitimate, uncompromised firmware and safely protecting your Tamper Check Code.

    +

    Tamper Check Code (TC Code)

    +

    A Tamper Check Code, composed of numbers, letters and special characters, with a minimum length of six characters, can be stored and required to execute Tamper Check (TC) Flash Hash tamper verification before Krux boots at the main application, or optionally as a feature available in Tools -> Flash Tools.

    +

    Before being stored in the device’s flash, the TC Code is hashed together with the K210 chip’s unique ID and stretched using PBKDF2. This ensures the TC Code is not retrievable via a flash dump and can only be brute-forced outside the device if the attacker also has access to the device’s unique ID. By allowing letters, special characters, and running 100k iterations of PBKDF2, brute-forcing the TC Code from dumped data becomes more time-consuming and resource-intensive.

    +

    Enhancing Tamper Detection

    +

    After setting the TC Code, you are prompted to fill empty flash memory blocks with random entropy from the camera. This process ensures that attackers cannot exploit unused memory space.

    +

    Tamper Check (TC) Flash Hash - A Tamper Detection Tool

    +

    Introduction

    +

    The "TC Flash Hash" tool enables you to verify if the flash memory content has been altered.

    +

    How It Works

    +

    The tool generates a unique image and four tamper detection words based on a hash of your TC Code, the device's UID, and the flash content. The flash memory is divided into two regions:

    +
      +
    • +

      Firmware Region: Generates the image and the first two words.

      +
    • +
    • +

      User's Region: Generates the last two words.

      +
    • +
    +
    + TC Flash Hash +
    + +

    Example: The blue symbol and words 'tail monkey' represent the firmware region, while 'wrestle over' reflects the user region.

    +

    Any change in the flash content results in a different image or words:

    +
      +
    • +

      Firmware Changes: Alterations in the firmware region, including the bootloader, change the image and the first two words.

      +
    • +
    • +

      User's Data Changes: Modifications in the user's region, such as new settings or stored mnemonics, change the last two words.

      +
    • +
    • +

      TC Code Changes: Replacing the TC Code alters the image and all four words.

      +
    • +
    +

    Filling Empty Flash Blocks

    +

    Krux performs a memory sweep while simultaneously capturing a live feed from the camera. Whenever an empty block is found in the flash memory, Krux estimates the image's entropy by evaluating its color variance. Krux waits until minimum threshold is met, then uses the data from the image to fill these empty spaces with rich, random entropy.

    +

    Ensuring Tamper Detection

    +

    The TC Flash Hash function securely hashes the combination of the TC Code, UID, and flash content:

    +

    hash(TC Code,UID,Flash content) -> Image + Words

    +

    Hash properties ensure that without knowing the TC Code, UID, and flash content, an attacker cannot reproduce the TC Flash Hash results.

    +

    Executing TC Flash Hash

    +

    After setting a TC Code user can use the TC Flash Hash feature, available in Tools -> Flash Tools -> TC Flash Hash.

    +

    By navigating to Settings -> Security -> TC Flash Hash at Boot, you can set Krux to always require TC Flash Hash verification after device is turned on.

    +

    If a wrong TC Code is typed at boot, the device will turn off. As storing code typing attempts count on flash would change its contents, there will be no consequences if wrong TC Code is typed multiple times.

    +

    As TC Code verification data is stored in the user's region of memory, TC Flash Hash and TC Code requirement is disabled if the user wipes the device. Flashing an older firmware version will also disable the feature.

    +

    Potential Attack Scenarios and Their Mitigation

    +

    Challenge for an Attacker

    +

    An attacker faces major challenges in replacing the firmware:

    +
      +
    • +

      Lack of Original Flash Data: Without the exact original flash content, the attacker cannot reproduce the correct hash.

      +
    • +
    • +

      Sequential Hash Dependency: The hash function processes data sequentially (TC Code, UID, flash content), preventing the attacker from injecting or rearranging data to produce the same hash.

      +
    • +
    • +

      One-Way Hash Functions: Cryptographic hash functions like SHA-256 are one-way, making it infeasible to reverse-engineer or manipulate the hash without the original inputs.

      +
    • +
    +

    Why Tampered Firmware Cannot Bypass Verification

    +
      +
    • +

      Cannot Reconstruct the Hash: Without the original flash data, the attacker cannot generate the correct hash, even if they know the UID and TC Code after the user enters it.

      +
    • +
    • +

      Hash Sensitivity: Any alteration in the flash content changes the hash output, which will be evident through a different image or tamper detection words.

      +
    • +
    • +

      Entropy Filling: Filling empty flash blocks with camera-generated entropy leaves no space for malicious code and any changes to these blocks will alter the hash.

      +
    • +
    +

    Possible Attack Strategies and Failures

    +
      +
    • +

      Precomputing Hashes: The attacker cannot precompute the correct hash without the TC Code, UID, and exact flash content.

      +
    • +
    • +

      Storing Hashes: Storing hash(flash content) is ineffective because the overall hash depends on the sequential combination of TC Code, UID, and flash data.

      +
    • +
    • +

      Inserting Malicious Code: Attempting to insert code into empty spaces fails because the entropy filling process and hash verification will detect any changes.

      +
    • +
    • +

      Using an SD Card to Store a Copy of Original Flash Content: An attacker could extract an exact copy of the flash contents to an SD card and subsequently install malicious firmware. This firmware could capture the chip's UID and the user's TC Code, then hash the content of the SD card instead of the flash memory. Although this would make the verification process slower, it introduces a potential security risk. To mitigate this vulnerability, it is advisable to avoid performing verifications while an SD card is inserted.

      +
    • +
    +

    Conclusion

    +

    The TC Flash Hash tool significantly enhances security by making it infeasible for attackers to tamper with the firmware without detection. By combining TC Code hashing, filling empty memory with random entropy, and verifying flash integrity through unique images and words, Krux significantly enhances the detection of any tamper attempts.

    +

    Note: The strength of this defense strategy depends on maintaining a strong, confidential TC Code and following secure practices when unlocking the device.

    + + + + + + + + + + + + + +
    +
    + + + +
    + + + +
    + + + +
    +
    +
    +
    + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/getting-started/features/tinyseed/index.html b/getting-started/features/tinyseed/index.html index 66b5eb50..55f931eb 100644 --- a/getting-started/features/tinyseed/index.html +++ b/getting-started/features/tinyseed/index.html @@ -16,7 +16,7 @@ - + @@ -401,6 +401,8 @@ + + @@ -1009,6 +1011,8 @@ + + @@ -1282,6 +1286,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1317,6 +1342,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • @@ -1531,13 +1577,13 @@

    Size, Offset and Padding Reference +

  • - + - Remove Mnemonic + Flash Tools + + + + +
  • - + - Wipe Device + Remove Mnemonic @@ -1285,6 +1322,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1320,6 +1378,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • @@ -1485,19 +1564,46 @@

    Create QR CodeDescriptor Addresses

    Verify if an address or list of addresses belong to a wallet without needing to load private keys. Simply load a trusted wallet descriptor from a QR code or SD card.

    +
    + +

    Flash Tools

    +

    Tools to inspect the content of device's flash memory and clear user's area

    +

    +

    +
    + +

    Flash Map

    +

    Flash map indicates which memory blocks (4086 Bytes each) are empty. Memory is separated in two regions: Firmware and User's Data. White or colored blocks contain data, while grey blocks are empty.

    +

    This is an interesting tool to visualize the effects of filling the memory with ramdom entropy, what is done during the setup of a new TC Code, used with TC Flash Hash tool, described below.

    +

    +

    +
    + +

    TC Flash Hash

    +

    Tamper Check Flash Hash is a tamper detection mechanism that enables you to verify if the flash memory content has been altered. To use it first, need to create a TC Code on Settings -> Security -> Tamper Check Code. +TC Flash Hash will hash this code, K210 chip's unique ID and the content of the whole flash memory together and produce an image. +The tool generates a unique image and four tamper detection words based on a hash of your TC Code, the device's UID, and the flash content. The flash memory is divided into two regions:

    + +

    Learn more about Tamper Check Flash Hash on Tamper Detection

    +

    Erase User's Data

    +

    +

    +

    This option permanently removes all stored encrypted mnemonics, settings and TC Code from the device's internal flash memory. It ensures that the data is irrecoverable, making it an adequate measure to take if any important mnemonics were stored with a weak encryption key.

    +
    +

    Remove Mnemonic

    This option allows you to remove any stored encrypted mnemonic from the device's internal memory or an SD card. For more information, see Krux Encrypted Mnemonics.

    When mnemonics are removed from the device's flash memory, Krux will no longer be able to access them. However, as with most operating systems, the data may still be recoverable using specialized tools. If you stored any important keys with a weak encryption key, it is recommended to use the "Wipe Device" feature below to ensure that the data is irrecoverable.

    When mnemonics are removed from an SD card, Krux will overwrite the region where the encrypted mnemonic was stored with empty data. This makes it more secure to delete mnemonics from SD cards using Krux rather than a PC or another device. However, Krux does not have a "Wipe" feature for SD cards; you can find this feature in third-party applications.

    -
    - -

    Wipe Device

    -

    -

    -

    This option permanently removes all stored encrypted mnemonics and settings from the device's internal flash memory. It ensures that the data is irrecoverable, making it an adequate measure to take if any important mnemonics were stored with a weak encryption key.

    -
    diff --git a/getting-started/index.html b/getting-started/index.html index 7933c319..6533f326 100644 --- a/getting-started/index.html +++ b/getting-started/index.html @@ -396,6 +396,8 @@ + + @@ -1002,6 +1004,8 @@ + + @@ -1190,6 +1194,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1225,6 +1250,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/debian-like/index.html b/getting-started/installing/from-gui/debian-like/index.html index 6d2acf12..770a6b36 100644 --- a/getting-started/installing/from-gui/debian-like/index.html +++ b/getting-started/installing/from-gui/debian-like/index.html @@ -401,6 +401,8 @@ + + @@ -1083,6 +1085,8 @@ + + @@ -1271,6 +1275,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1306,6 +1331,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/fedora-like/index.html b/getting-started/installing/from-gui/fedora-like/index.html index 517b2597..c5dfb36d 100644 --- a/getting-started/installing/from-gui/fedora-like/index.html +++ b/getting-started/installing/from-gui/fedora-like/index.html @@ -401,6 +401,8 @@ + + @@ -1107,6 +1109,8 @@ + + @@ -1295,6 +1299,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1330,6 +1355,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/index.html b/getting-started/installing/from-gui/index.html index 2be93250..a66830df 100644 --- a/getting-started/installing/from-gui/index.html +++ b/getting-started/installing/from-gui/index.html @@ -396,6 +396,8 @@ + + @@ -1002,6 +1004,8 @@ + + @@ -1190,6 +1194,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1225,6 +1250,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/macos-arm64/index.html b/getting-started/installing/from-gui/macos-arm64/index.html index efd307df..b73ed3ac 100644 --- a/getting-started/installing/from-gui/macos-arm64/index.html +++ b/getting-started/installing/from-gui/macos-arm64/index.html @@ -401,6 +401,8 @@ + + @@ -1083,6 +1085,8 @@ + + @@ -1271,6 +1275,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1306,6 +1331,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/macos-intel/index.html b/getting-started/installing/from-gui/macos-intel/index.html index 4b11c611..d6dc9e47 100644 --- a/getting-started/installing/from-gui/macos-intel/index.html +++ b/getting-started/installing/from-gui/macos-intel/index.html @@ -401,6 +401,8 @@ + + @@ -1083,6 +1085,8 @@ + + @@ -1271,6 +1275,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1306,6 +1331,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/other-linux-distro/index.html b/getting-started/installing/from-gui/other-linux-distro/index.html index 1a5939ef..da73904c 100644 --- a/getting-started/installing/from-gui/other-linux-distro/index.html +++ b/getting-started/installing/from-gui/other-linux-distro/index.html @@ -401,6 +401,8 @@ + + @@ -1089,6 +1091,8 @@ + + @@ -1277,6 +1281,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1312,6 +1337,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-gui/usage/index.html b/getting-started/installing/from-gui/usage/index.html index 876e11c2..f8d75d55 100644 --- a/getting-started/installing/from-gui/usage/index.html +++ b/getting-started/installing/from-gui/usage/index.html @@ -401,6 +401,8 @@ + + @@ -1301,6 +1303,8 @@ + + @@ -1489,6 +1493,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1524,6 +1549,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • @@ -1709,12 +1755,12 @@ -

    At startup, the application will setup it to the latest one, krux-v24.09.1. But you can select +

    At startup, the application will setup it to the latest one, krux-v24.11.0. But you can select even a beta release or older versions:

    KruxInstaller Select Version Menu

    @@ -1306,6 +1331,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-pre-built-release/index.html b/getting-started/installing/from-pre-built-release/index.html index d59eb567..7c589311 100644 --- a/getting-started/installing/from-pre-built-release/index.html +++ b/getting-started/installing/from-pre-built-release/index.html @@ -401,6 +401,8 @@ + + @@ -1145,6 +1147,8 @@ + + @@ -1333,6 +1337,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1368,6 +1393,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • @@ -1516,12 +1562,12 @@

    Download the latest releaseVerify the files

    Before installing the release, it's a good idea to check that:

      -
    1. The SHA256 hash of krux-v24.09.1.zip matches the hash in krux-v24.09.1.zip.sha256.txt
    2. -
    3. The signature file krux-v24.09.1.zip.sig can be verified with the selfcustody.pem public key found in the root of the krux repository.
    4. +
    5. The SHA256 hash of krux-v24.11.0.zip matches the hash in krux-v24.11.0.zip.sha256.txt
    6. +
    7. The signature file krux-v24.11.0.zip.sig can be verified with the selfcustody.pem public key found in the root of the krux repository.

    You can either do this manually or with the krux shell script, which contains helper commands for this: -

    ./krux sha256 krux-v24.09.1.zip
    -./krux verify krux-v24.09.1.zip selfcustody.pem
    +
    ./krux sha256 krux-v24.11.0.zip
    +./krux verify krux-v24.11.0.zip selfcustody.pem
     

    On Mac you may need to install coreutils to be able to use sha256sum

    brew install coreutils
    @@ -1529,7 +1575,7 @@ 

    Verify the filesFlash the firmware onto the device

    Extract the latest version of Krux you downloaded and enter the folder: -

    unzip krux-v24.09.1.zip && cd krux-v24.09.1
    +
    unzip krux-v24.11.0.zip && cd krux-v24.11.0
     

    Connect the device to your computer via USB (for Maix Amigo, make sure you’re using bottom port), power it on, and run the following, replacing DEVICE with either m5stickv, amigo, bit, cube, dock or yahboom (to yahboom you may need to manually specify the port, for example /dev/ttyUSB0 on Linux or COM6 on Windows):

    ./ktool -B goE -b 1500000 maixpy_DEVICE/kboot.kfpkg
    diff --git a/getting-started/installing/from-source/index.html b/getting-started/installing/from-source/index.html
    index 428c8778..d08615c0 100644
    --- a/getting-started/installing/from-source/index.html
    +++ b/getting-started/installing/from-source/index.html
    @@ -401,6 +401,8 @@
             
           
             
    +      
    +        
           
             
           
    @@ -1148,6 +1150,8 @@
             
           
             
    +      
    +        
           
             
           
    @@ -1336,6 +1340,27 @@
     
                   
                 
    +              
    +                
    +  
    +  
    +  
    +  
    +    
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1371,6 +1396,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/from-test-release/index.html b/getting-started/installing/from-test-release/index.html index d3dd3ab8..3ae165f3 100644 --- a/getting-started/installing/from-test-release/index.html +++ b/getting-started/installing/from-test-release/index.html @@ -401,6 +401,8 @@ + + @@ -1346,6 +1348,8 @@ + + @@ -1534,6 +1538,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1569,6 +1594,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/installing/index.html b/getting-started/installing/index.html index 3469da22..e53092e3 100644 --- a/getting-started/installing/index.html +++ b/getting-started/installing/index.html @@ -401,6 +401,8 @@ + + @@ -1007,6 +1009,8 @@ + + @@ -1195,6 +1199,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1230,6 +1255,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/navigation/index.html b/getting-started/navigation/index.html index ac8a05d3..122e1586 100644 --- a/getting-started/navigation/index.html +++ b/getting-started/navigation/index.html @@ -13,7 +13,7 @@ - + @@ -401,6 +401,8 @@ + + @@ -1007,6 +1009,8 @@ + + @@ -1195,6 +1199,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1228,6 +1253,27 @@ + + +
  • + + + + + Templates + + + + +
  • + + + + + + + + @@ -1467,7 +1513,7 @@

    Home Menu (Loaded a mnemonic) - +

    diff --git a/getting-started/settings/index.html b/getting-started/settings/index.html index 20396c03..6b627700 100644 --- a/getting-started/settings/index.html +++ b/getting-started/settings/index.html @@ -13,10 +13,10 @@ - + - + @@ -401,6 +401,8 @@ + + @@ -1007,6 +1009,8 @@ + + @@ -1195,6 +1199,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1460,6 +1485,15 @@ +
  • + +
  • + + + TC Flash Hash at Boot + + +
  • @@ -1469,6 +1503,15 @@ +
  • + +
  • + + + Tamper Check Code + + +
  • @@ -1533,6 +1576,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • @@ -1764,8 +1828,16 @@

    SecurityShutdown Time

    Set the time it takes for Krux to automatically shut down. This feature not only conserves your device's battery, if it has one, but also serves as an important security measure. If you forget your device with private keys loaded, it will shut down automatically after the set time.

    Please note that devices without batteries and power management will not shut down but will reboot instead, which is sufficient to unload private keys.

    +

    TC Flash Hash at Boot

    +

    Chose if you would like to run Tamper Check Flash Hash every time the device is powered on.

    +

    Activating TC Flash Hash at boot helps prevent unauthorized use by requiring the TC Code. But is important to note, unlike a PIN, the TC Code does not provide access control over USB. This means that the device's memory remains accessible for reading and writing via USB, allowing it to be flashed with firmware that does not require the TC Code, which could then allow unauthorized use through its human interface.

    Hide Mnemonics

    When "Hide Mnemonics" mode is set to "True", your device will not display private key data or backup tools when a key is loaded. It will only show public key information and allow signing operations.

    +

    Tamper Check Code

    +

    Create or modify a Tamper Check Code. This code will be required every time Tamper Check Flash Hash is executed.

    +

    After creating the code, you will be prompted to fill the empty memory spaces with random entropy from the camera. This step is important to make TC Flash Hash more resilient to data manipulation by eliminating empty memory spaces that could be exploited in a sophisticated tamper attempt.

    +

    The filling process requires good entropy images. If, for any reason, such as starting the process in a dark room, you fail to capture good entropy images, you can restart the filling process by resetting your TC Code.

    +

    The TC Code will be deleted if the device is wiped or user data is erased, which will consequently disable TC Flash Hash.

    Appearance

    @@ -1830,7 +1902,7 @@

    Factory Settings - + - +

    BIP85

    -

    Bitcoin BIP85, also known as the Deterministic Entropy From BIP32 Keychains, allows for the generation of deterministic entropy using a BIP32 master key. This entropy can then be used to create various cryptographic keys and mnemonics (e.g., BIP39 seed phrases). BIP85 ensures that all derived keys and mnemonics are deterministic and reproducible, meaning they can be recreated from the same master key. This feature is useful for securely managing multiple child keys from a single master key without the need to store each one separately.

    +

    Bitcoin BIP85, also known as Deterministic Entropy From BIP32 Keychains, allows for the generation of deterministic entropy using a BIP32 master key. This entropy can then be used to create various cryptographic keys and mnemonics (e.g., BIP39 seed phrases). BIP85 ensures that all derived keys and mnemonics are deterministic and reproducible, meaning they can be recreated from the same master key. This feature is useful for securely managing multiple child keys from a single master key without the need to store each one separately.

    +

    BIP39 Mnemonic

    -

    Choose between a 12 or 24 words child then type the desired index to export a child mnemonic. After being presented to the new mnemonic, you can choose to load and use it right away.

    -

    Please note passphrases will be removed when loading a BIP85 child.

    +

    Choose between 12 or 24 words, then type the desired index to export a child mnemonic. After being presented with the new mnemonic, you can choose to load and use it right away.

    +

    Please note that any passphrase from the parent mnemonic will be removed when loading a BIP85 child mnemonic.

    +

    Base64 Password

    +

    To create a Base64 password, which can be used in a variety of logins, from email to social media accounts, choose an index and then a length of at least 20 characters.

    +

    The resulting password will be displayed on the screen and can also be exported to an SD Card or as a QR code.

    Address

    diff --git a/getting-started/usage/setting-a-coordinator-and-signing/index.html b/getting-started/usage/setting-a-coordinator-and-signing/index.html index c69090ca..8c04f7d4 100644 --- a/getting-started/usage/setting-a-coordinator-and-signing/index.html +++ b/getting-started/usage/setting-a-coordinator-and-signing/index.html @@ -401,6 +401,8 @@ + + @@ -1121,6 +1123,8 @@ + + @@ -1309,6 +1313,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1344,6 +1369,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/getting-started/usage/video-tutorials/index.html b/getting-started/usage/video-tutorials/index.html index 82221253..6258d7f9 100644 --- a/getting-started/usage/video-tutorials/index.html +++ b/getting-started/usage/video-tutorials/index.html @@ -401,6 +401,8 @@ + + @@ -1187,6 +1189,8 @@ + + @@ -1375,6 +1379,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1410,6 +1435,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/img/flash_hash.bmp b/img/flash_hash.bmp new file mode 100644 index 0000000000000000000000000000000000000000..65db41b301563d9453ef7dc4fbaf731f317ecef4 GIT binary patch literal 1035338 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 nd6!p4uZseWQ7%#u!CtgS$Abemu4%#A$T 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 z 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%0AVH$W9 ztO~Bl?`^d$PSvnw67h{WXEIC_*SLJ;oF4a7zOR>ii6g>a#!A{EY%AIy@sE|hPuRw@ zv+lsyCVr%!R_j@LAM{Q7Ih+7jfL;0brLUux2lGg?&Z^2Hr2Ai4@kuxKRs5u%y^lcc z+pNb~zeKtitwX`~d_e0p|8R-+trbTj-}TSrzSVX5HP|knvs}>M!7=y_*FJT>Qf3nF z>H1RKLV8o*gnLj`#)IeP5&4AS1-|9D88{*zn04;SFK@!^8#xdziGD;HfD`m1&N=RS7ZiE{rhJyed~ zcze0{^0#>Z680`Ze}(M>-4!^_5cyRP%FgCtl%03^yqzZdlul#71R3&BoFBqbIRBtft@ zSz-|Z7O{c7iKJ;sZgK2*EZcIDkC{pAv1QAivBw!tl1bbov4Nx{%VWu&$xITF;K}n_ z@B6$w`0Ij7KJ3|jpL6y(=Xv&8YnQ(<{@1?n#pSR5g=8UYBiLyEZtWlX)!f-Darc%h@W;%R3I~`|SMDgzSEk^@ z=-RZ&3dMRD-!cD`Aw$H~hAylO*`&Ooy~-}~q{AuowJV?BxH6oyX#@YHOy?q+qi8G! z)5yWbEHi%2x8FHsu&X%7_rFd&*Y!WsW3e6kuj$__dmPMoyt*qq(z!x(E#;4Y@QmPz zGe}}Te-wYfHx3TLqqRE@Z&Vi9aKpBIF|2jB@g0BcX?w>X!OxLVa{Zm{1%ATc;M;Ge zy&KI9iY^6z43Fmd=&H_*uTP}uZ+(vkIQ@uAX6&0j*U#mJ_N#b#TtADqO#PX+kox$; zns@e(v7txiqtChcw2WP2UoLC||J2;SiEh_lZR-;gs1 zquXNt_}(A>!RW87KevCP`MY#hPOILk`m9Is#|bAa_P?5Qp}d0&Gxs4_4bw;G1mjn@ zUEWXzc8KGF>XPt>blB3ec&MBLdz6>I*Doii*Y+!K6s!2nnW5Du=H40 zw(nK<%9!;Z;Ryc7BxHp2vv*w{s64mk4}Gq$E0ZW&{wQBGUXGc$3#nKBz#*NB#4d2z z8M$WWx3SM0JN3yUe=OJJdAdF?{kqW!9;bgj`(Er{$MMGW&z`<*y^-s-ZLI6HkEMC9 z-1c1$FIRt+{x$!~Uh3}%f7o;K{BYs9*&A$M=9uB-nb(}>Hy0g`=ri1aFDhRY_nW5A z`;E)n>&gv$dF2s4erde<>+-_#Vf^qz!i`rahA+q)96lL8Y4`(YY;5PjhHyv2%4i!` z(0d&`kaOuSh`obs5&V~j3-Cnc4`V(YQTcDuf3-C}+DV6WeNJ}3XN zI7IrIKZJY!;7eZm^5xBM|M}(K*S>l7F0o$;`Q!TAHn#Jbe|1B2RyW){{BgyNH)byH z)yubk?|VD>;}^me>>uO}+<`N21=)k#(epp(uGrPt(Er-6{#y1={Mm7L-E!-kKgj-Z zAbhnDJW<|Q+dky)vn)>Uug&XH)n`;N1WXZ(+K{yS;KFT7zKz2lT{$LJNpBc2s^bS~CTceT=A9XdUGFUIct(q}wz z_=CQC&H%v~@QJ_WkDVS0{?rxcAIrDK@Vq$rD-M})v^LiGx5l`27{0|0v%CH!(X-*V z$REFzHt~mjOLqD@bDzi=>5Jjh^o4hz&nkZi;{^Q)&+vvYf9$o}wDzm=budzxPi7ta zdFCfLOKfD2?Oay;aY^=MEPvdXy%c{vdyh{a=l(};lxKSsf3#0LfBV3D*qh$`mg)O= zRJqife&4pWF5CLOzCPaa@~j=*>aXy}*K@D=|9(csskLs_S|6!i# zUcNY9ynIo9P^M|+l%`dl;Y-6G!Y}>lS1iBq-uExBzV9u|?a$hre@+IOv(9hK+2^?9 z+N?bff0)mE`3;$ab?r67AAgdyALNe*!x?`rc5pnwhK@&s@dz2DT=Kb(KeT-1v!7f3 z%GdtF$RKYH=g?oVe>nfc`BC&&?C0f<`sEIB+(AAmf7owvX9K|-arV&KXOFD>`{j=( zJ?`u#xcmL=&>$2sP za)~(om3q$qz#l*R>NhTTKlcUMfA`Kg`vZSmee*^Jx%`@}J-=bI9^}aNIYa8YYnSi- zhu`1HAJ%Tz$EtfL;tcD~?NuUd-W8whflKJGe)X5XoU;etkuz-Hy4-Qo%_Dz2_wHwn z?W*#|S_UbP)R$-N`A&be-3v<`e{g4nL)cO}|BC!!9o|*xcQOSIDSyCtt~|hB^8y@~ zPwxfq#mfb7f6XQGV1s<&#yjznEy8-0|_uF$#A2x9O#ENaYaRG5hsq{Ky7!DEf%%uh#rAoUxTZMyFAn zD@JWGXfI!^isCHfgZ@bz zIA>MZ&+?|sQ~34F-(^4lQ@re%J+J;fUOyc#z2(;LWE&o?z}H(h{6P-fTjzNEF>~8e zHsc8V@%6l$cV>P!{8FCXyBA9OYH*L=}<%hXp-d2waT z-*x`^Pyfs-M}PIQSH5n!^{#uyer~@K>j$rl{L%TlM`H)M{8;8>#r}am9{&CB?ew|^w-3hiHF{YPbt za>Zl$_@gq&@puG(SdUo#c*5hd|5cvd{44x{J9>6)xdUc%#dKKTyy8AzKD?J#+{Xu% zU)E*hYZLFxxIT5{3v)O{-L|K!ur&GBqs%@&;mpyqhCAr_e5{V@=EzcUio_0zv;I%MhUO=EECQ($UOQMf0)CIKdiN}FO>P#8~!+D z&ISAR$avq6O?o&v<9hu$cAfp(e!wB=lgbM9+mCyBVbb^VN9*T3tl!V0bXl#Vuglvw zI`_1h8=d>{9UOW5@{Q#GT;_LQnDs06ZKsDa$F=&w^2b{KsI1}J#UQWHuUm|v70emWstFjZ0BcH9)bJCe%}W^ z;FlA~5Xx!`pET^6;`Ch7x=y`mct^OhhxUZsTh|Z5dpKXW=7Hmdo7VFDas~f*{Bcp% zVLSihy$}A<=&x?N{jS}&}pbvlKEc9E$A=h8CJp8@yjQnB$5^Koq zV`c9|bFlCP*@F$eHuHx*_@Utv^Rmbu9NiWExbx;)X8rlIZogyZQ=7X>hsEbAkL=}< zz5G$RW5Xrkj@Z}F%)fa;c!T|;{9)bp!3(mVI{7a=fJ4d=@VfkgBgzNT$_aefUcM;a z^Kpc>l)($ql+#wz<&{&KFKxIYW!2luA8a0M9c%vZZTYs#6?~Ys8y^S5s>{M3&Nblt zYsPZ^M|!Nm#$e{`y%FD91#8!=Z6Dia@N7L7%U&CFSk8qz{8;<}SE|2)-xmebxi!YE zxZ-&H0UHOOidQS{fM>%W!LXekXB~E(;@cK$i*-MAKaoHF;g&z_)qY;)?QYJ82&ShG zVH}>o9pb{Zf9NlLJpHxJt9${U^e-&(Zp8i9#jSOm9?~2vxVQ+kEIN0sReje`Z95no)pM8^fqa4yPQMsh?DVMT??c08C zAM5+_i1514m0!P~;SB#m-IhCQ>wxX@=&#J1A}?_MJ>LkdpZ_WO=2U54dH$L&gxxbf zAxDrWq;aF0ihX3qAIYpnhUO1lLGUXcaa>bfI zq;qR-p}!)3Jn#8GG4pp{@v7I){9U$lXAsW%!5eQ}=&Q`Z8ZNo^+U45Y&B?l9`Tfkl za{hKVc(G^xtyjl3hG$vmZ*v#MUQ_?kYMg>j#}HMSo@gt5-bp#94pN{_(@$ z#;i}cBzOZ$%*PqG#hBpDPCh6O6~ET_2Ctgla{Lwkl@CU)fn~+Bb$Q_}ca6>2y^L-p zdv*oeZqE8a=TbPgXn*!@@A`B4tMWwqV|X^)p`V(@*XPES`W3!$!qx{A(~5J&wazE< zy&TH-I_n3+A+rWOxTZX@|xbW&hblK%N#j!WcDw4*~?$GyzY%}TVD0r zH_X|C*KPU38B$l?;LO@<$Chs1mG$RGZ=u(^Zu!n1JbM3<`|o}A*v;*4g)hh%_<}6L zrp_K>{uO?){+tbj>~VkeUbp9(4`mJev+um?QT%}?>ejLcZm8^0zx+`dL>aP&eEeZf zH2a6Xzao3!UXiha@#CEJvBh(k4eKjI;0tk>57%)9y%*VA*c$fc^XbOQD>$LtA+J2s zH0?=~=Q`?@pL#9+xRk*W#%q$?ZvyIL^ z>E!Iad(x~;===fwupp`0i9d=v^yiv?BV$Zot@~NMzJqOe z$1lpchW^yA>%R4V%OA!KkHH_Cc~tD;#2egK;B*OOLo3zC*-otgyw^1jKOSsA)I0RSV54tIw zAzn@qro&Q~yi)$a9pxo95%sPAVE_1W{IQlT$`yQd*724rcT`TnG3H;{|LVmrdD-yC zt6%q~<(502l`{wHp z)?v;So?!2wv!cVoAGids;1RM18wmce2IQ6-Zk+RL@dx_{&ZrEsmp|}A`2#onS^S~w zTK>@YBX?x(wzB}8GiYBbc5x2w!*pDNM_~MLMbgSA;>xjU(<>>17s@}vT+3;%ZPb^x z<`Uty)AXI6>#=`~+#k-sCFBnLu^tzdJNl3Kmi-U@18M!nCvI%JhdYKh@(;sL&YoH1 zkHdK8Yz}|G6Z)&_uweHV$A>$L zMf`@>_!pd8k9{A7bIK?G2UG7y?QXauaqVnzZilV8_Sg;FPq586`5&hKZP|b20_Ulo z9vSQ``u5G*7h{C#0r7+I@I?BD&#ig4{L#LLGxQns=*1}SVm)U_|J%!Q?B~%}UAcAT z4|5l0f2d$8{`k9R=Dy95CV%MP_GfW?-G6zu>F4&vUY~4I{%GD-ewlv9GujB3Z1h%J zc~BYG-M?`=e%`)s{aP7hEq`2mO3ofkKg0joza;#jug%jSe~cX@T#R4J8GHS`ywbj2 z`~BX_1I;^L+&hxr|D?Y3=E3mF1j-7_Q}%fKWZ{yQQMdJBePxBp9QXi-j2sfbdMa(; zg1tVD&<1^#Ff0?FF>&U1xmM+mVt(a`y)s96qUkNS<`8YH^Vf0uEA|iahw}$tbN`!j z?s?9yz4?~q$kD534ahY&-?Z_=C)N|vWnFc1))8KP^+ful}m%;MV>@e?{hV zzWLSJ#{_>k$H^Y5hv~Jpwu?2!;|VecycZ@9;ED2wbr>zbmK&6T|K$bsD{n|!*Qriy z+DtuVdyT1|^7sQ^ku^ATuzbJ$mVM9jO>h5+z3K9N|NbNY<=|cL3odpHZ9I%4amUC+ z$s>Op$+g%&%-^NM!XKAz=kFfP{GeBy_JrY&>aT`BE{i-;4v9~9G+1No9K4z_ZgGph z#jf>O_fhKhkN`7nICNbE9X*NaB9ZHXKdEB z!8H7_=7-LAt_)JyWH=>#t3P*roc_h@a72G|!t#q_-j6oc`m6E>u4ez3b=l!)XW8D8 z^Vt7h_+ztw`?hcO?~0e_x%JCn{}%7pecZ6V;q+hA_S@Or4KgtVDjKj^p2-^Cx!kedBVZn<@A z=;RIO)UtK{9zv~vIzd* z+kcn+-2S`vaA)`UWO(JSTW=d%Ihljad@XyFJIWd44tybA-e|bGtj6(&Jxu5Yy&t@R zKj0v>i)K1$l||JZVe|IvR6AB&5^Y?`ixJLcZvvukeVUTyZi zI*>X16Oa6HS!}vj#=iTr;g8?4w}$=O*+1Y~<&G`JJraE1ja7q7uD#e+ zER(*@Qx88Jk3ZZ4e64dY!ylO|7XJ9n{f}R6j{XXN*jHotBk#HIr2J7iM7;dbJbek% z${+f=@1T6m_kM~+Qzreomp`uB>aRxDi|&>EW9DLoKW;nismpIff3-P3D$l%qrtP9iTAzg-r)~& z$EUNl@Xm18df&wEVS)$h);g=l;*VK77@e|w;n813Cx}1h{RRi`9r4dq*x56hKPf9COS z`Nnn1A@o`7AjZ6F?3(!YAFSQcH;g;znT?$*e^l;pFLg6FDE)^oX8)3X=9`8$U|aa( z@-t3d$R9tOd8NN~TJVN$CHkw){(cE>Ib=8AbTBXF;C(P@#;>rbSj8{C@rM_JMaSb7 z`O=$L{uqCYeZjQBSMB85YyDN_j~kzo^Ut%l#s#rcToAiX=UwS9oPZznSvi-_`ET`O z9jvH>75cuo!*94{VB22)IJ(te?f4_@Z2J1N<&HB>+Q=X5A3sii)jnMN!j0> z@0b1DnFF1Fg+KI-KCJv8z7C7)M}69Id}-77`hSmWo9lAQ;{$2hQl|0d)t67+z#H}b zYu;CQ5YOLjo zHBaD!bzHbRgir2h;?C0iQ-FRE(ScNaj9psN=ciuUBC)(Q` ze|#_Y^Y3Tvx%KDvPkejk;+nIIH^>~gg#L=n96ny$M(SnLhg7d9D_fs z_Z!>C1$kGiHRiYgcbHFAo5z|z)^o0KhB*I>{FCJmyo}H7r%s1;B)l>9^TgTI?QJ6N zjC34%itQC+~3ApWbKRuX~Daa5KN{`17yU_H*B^ePi$k zouU4Kx0NUKGe-t#|F83k%`MmWvg`lU6>fg(HlJ;3_Icm>!sh9&*P72Ya!-{t`1Z7L zuBmxh;=P8lFud{uTe!IIf{%B|E;wiA=lTZ1C3I5qYdb$2d4kgpUYTzt;p(iE=kQ4# z4src`u^)B*Re7P@P!8A|Z#sW1r>w)xYhCv9nZNs@pBVks%U^x}*w1ge{f?YNm^06h z9h-B{ttGUd$+0``Uar37mRVPLdG^2h?som4`Md86FTCvy*@rQ_Vb3eBXMLD|g*R{s z+X#82=SSW9@>h%ua(m<*_K&fj)9;5j&JTa!3UWvFQFx>2!uW%e-!hGtTPlC_{15NL zcRF^D$QpQr4gE-DjKf>`1ApN73-euF78~fC*%1yIJx0EH*lvuDBZ~90h9sEI9t!8l zFmPYKa=3%sfjjJt1M`)WkCXV~+HF04U1fqDPo>;};GKVP_WRt*Am(O`OFwojRb5p% zV=Z@d9oNWH+VWq-jlM3}by@nB>~ZjHvPaIwTk*%ijN7lu{)zX7KmOS>gH6t+$h@YJ zKa7zhe;D)6S$SI>NA)eRX)vhRzQrfJF?y0MR<+FFAfDi08=Q;%w`C`7i;aVaQzm8M z-!^@8K3n~~{S*IDY{TYXS$|IcI4AQ1oFOrI5Zuv!{(b)?3=;M)3&XUX9wX^%?%3he zmdCy8;rJD&Yuk6|dm&?(zgzyWhH&iWxdyw_{;Vm!gZ}EYJPY|_#UH!=8LU4JXYA>- zU0fU!RdZoQlbOd+!$e^}YAec>CS^FeiGQ-f-*G-@Q}wtK;wpzuYnV?BbHV zqxpxt_bvAC&%b(J{$;LQ&~m;FZr-i(-f?`~Kvuywc;muggZkwGSTnd3pL|mO;m>$? zD}&$|qkw7vJ-qkw0(*{S=(f6WWILWCZbIyfG_Rtj9^l zxMYtxe+!2sP6lyZ|EaRhq@ZKg9!}Ao>sCkBdzf~UNA|!UbXFHfcZEA@LpPuI^3$KW zT$4SpUYoV&|NOKqe?E?4Y0B5CuEd;zP= zGxCMy>*uE93aFTWWwd38AH{dn{-~qA+PQW93c>`ytk9RH#C-5%_ z4s#b@c;U36E+?;T)DA-a(8gNtg*S$4l3w|P4h(nj-M{&}_~UrEFRl3By-Ugq<&f&9 z*7@_?!JBoPhYufK_UAe9$LnMJcSOT;SAgt zJm=XvySX!@=&{NTwSUyFY|=RHD1THQA$v%}9h~(amxebEU$EhXnR6A+z#;g99AXa- zd@=87%MCq0kc>dCfaN1s&~v5iV13dmE3Ekg&yYP}JUhkgmz#Gna!7pGt-SxJ+@zfu z|EHd|N0*fP?AvpVl%2i5Q%*fLbyx+X>_0hNlCWz@cdg-wV5DamKFT+^mp`;6jnA$L z!|+GB1AiPjccah3Be3r3?4S6W$REQW#>N?QZuC~c5BPFC7fc#GR{3LvPdm)R1J)3( z^Y(^|iR<*e{2|Zv=9=+4Mvni_F3kFmr=1vF%Np;k{4pF5EE;YI7Ogo1XZS~pGq9yt zSN%pgWHUC6K79{=;2->f%bmHWf3HXxXAfRY4$pzTP@(G$_M2aX?WyQTm z@&eq4wFff3bEXi?cQ$tA5Z?lMp*&I_Kj4pYNBKiL+Lp)RBQi+k5cZDRO6axRD|-iA z!X0D|apPQ0ocvY(C@+*V_WI?E^2u7>Xxa6?iscpUaz~FIUCs?|J?8~4ob?~C%=*C_ zZn=H9gT4x1%o$SQjH{!=!X51B_~WYUu3dg7{L%I2pa1MV5a zvfmiqh}=*P;g1bHoWLf9&*7{xBYQ{>mg9}e3?qA_FX293DR1!chO(S`!xwNoSkH;K zExxh8ddjNXYn4~vx_mq^vJZ^+9j6|@+(b_zj5lVVMV!E;KH0$*#j%Gv-!LBPCRh()0dlKe<^lat{@}06?BBx+>%QBD*K)^>L)u2J{b>I1-ZyUegAObA`R(-k zyPlqX=ge`746>I$W}ftxL&_ieu3S-nomN>v8rOLJ@`iZJ^xcUIw@lOPtJ8MoeUT0F z-{A@83RU+cja*VL8CfJ{)m3lm;+~}85a(!@Ln?oiKPrdd3-?vILtQ+=mxnj-2d;oo zGv`Vf{1ac_+W)HONBuZ%cr1P?ugGt>=kf9Jh<4dO_~u`|Dr*N{cJJ$E{l~G}HXK6k zActHV9yxm5W**kzYp$6!=~rE!^J~BHjotc>U-{bCmiwZI>VCWIAmj~eKiERd!=l4_ z=z|{`UZJ}pgWUJ3d&il->kRdu3YW2;ciwLKgO4}XoKZcNwDN{B!uVrs=)usjpP#T< zfBuxmKVfX+Y~;8CHyDrO2l48uM)t`2kuJYHfg?CrUs*#Ko;MDA;XH>IaEmh5CYB@M zwS4u2)g64#e}p%rsat*-{z;kgj5ucw3mpK5D_|8Td`{$$S)Y|_ulWHdvg7cFCz4<8 z;J0k&Ua_HH65cp?9$T;V(y@btKdd7(|LWQ^Pg(BI+2{Xq-!Hb;qW~?)t%? z>Pf~g*7NINSomXS-)NcQ+`3%H*Yb*=d{|e%*WTKAty5tCxaFx&9{YLu!#L8v4^P(I zA+6X_ziIrvJR)AZ`Nj{gZ`)S?K&bS_~Se2 z?{}Ya!g4Ts#5jKtADkUIw%_i^yZMgEyT&)gd;XLSCYD3sqj0fazqhtQQ1Shdz#e# z@xq^a@$#BCymk4RSLOWL=�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℞uO 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

    1T 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%0AkV>#;$y0wb&8;*#xW}Og=o?5K^NFT}9 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 literal 0 HcmV?d00001 diff --git a/img/maixpy_amigo/check-sd-card-150.png b/img/maixpy_amigo/check-sd-card-150.png index 552bd7629070951b1e05bc2f3a8dc58d7eda5d20..4d543a11f863034333dbbaad060773dd85bde810 100644 GIT binary patch delta 15781 zcmXY2RajeFx5bM?arfeOaCa{nq`14gLkdM(+@0d35GW4C-QC@xxV!zE``w2;goG_? z&o$*+I~8%-~kPEK=$0ySIu%5jV@R5%UCjid1>IE>g7)cnvY*#oi9&SY*~8 z=W;j`0W4)ANBKY5=B33aL*Wbl{iQNo7>HeVf`?vBUiLM^-`qt1NJ#_j`e}z}(A;vY zs4PeHaB6k`nx7LXoyPnTHqlMl>x+lSY(x7E+!s)`n!GwdUeSjqMTo+D+GxbbF?>H-cd&6ge@#2fH)q!(P%+l*gl=9E)ps0S8}-P!di79J z>Z=2?sk??b?Z->0UA=rPG}ry(pFL=^)+d2>TTb<8jvJU1p(Wr{DHj^dwBb?8O_5N$ z;^xFsBjnnt9Pd)lX;f=>m?zx+)0Cq~6(_)F` zX4~lUBe(f}34&l8iTmYV?x&P={5}yUicb`i*1zkPE?-|?iFxjv+60Ng9lrVZ+@T1&Bo>nZJ@{m}U#{?#^!^ZrPAJI)S%z@5a8%n;sJZ zRk`?Ld?nKjY*DPza@f0Qcj#iSD2V|Hw}B1DWwM3jK_M6G++KtlRCaG)$**f2uI&of~KnIbMumj05OqW^UDKK48_aOu*# zm1`S6O+`n-=rgckEmU~1eFa%Me(Y-X_ryy`FwKLMl$9N^l_d{_+15Qu38QhJXWW`z zY&5jL{CUfo5p>D5E$VV^lBm-!2L1S@<5)BqViFNob-bm+gi}S5r|}$yEGDoe&$Xb> z_JWgNcd1@NOymECJiH4R&*5-k=D`1pnw~SX_eNXBMpUV+=tyz-DGV>krXYZ)D47ll z)3Q8yS9=hBCXnZY1%mLD+V}d})VBXZI7aDs7>Sd$ZW4N-NN~ zNMbx(8hBlI@+*xCHnvtFPF+U6RvDI!L&RsqV2YoRiLf~VUyH?I{5z+mYtkuAD9pAu zaCV#fP|{#PvO;L*rU_#*a-HsMJLRrxdS@pkLO22;$pVJxZk_~c5hy%|JqI|R;nRz9zl(sNshM^p%ERNL{F$X%{`QiOw8+O z`tTjMeEm;OUf!l6&tdN5OEsrz0nQhrU#E7ij&9?pM{1=B!+(=11lHK zs7WAL+Tu!36#gtLz`4E|ZG7A<8r}?xN5Rbs=dPYvcA$&0mECtLtAKiHdwn&n;E<>RQy_!zOEF!tvCkC9I`V zjc=K20!LEatw(DksJ0QBgpnLK*WiW1vka;WS3(!*uN8z%T7;D1(jQl`Y181ta6-g^ z$LXh%?b&5#XDG-C<$c#2`?495lM`8yr@&N?j$UoEO{-O*J2-^PRH{`rnp@Gk$%`gq z3+{fn{%3)Y&jOA?hae7<#(DG~E}rtN@lggA;*@&+mrqrL$PhvqDiK713P${fNhsIF zE+)4~i1(v+admYy(YB7rx<>cc9Ai>=_+qsMXJutTwn9^aHiJDA%FutF&Lj{+&lw2# z$f3x&24`}K8SXdt=)|8wjg$OeCom&KP$8I#i*{$~-JnvgFE+HO7#Ib~IxiY_np8yu zL}ZpnbCBinXir=;#~QIJVlY(`JK;gs&Zl(sTVm_5xjEFCoPy-C|Yy0<@sGpgi0n#8Awc-`thzKzFXtA|N4=l2-fS2e#n0#lQBf3GI=a zZ<&0WX|-0G%U)iKA?cWQn5+xbd1u6Wl`|V{> zJ%pddE63+zdiOSG4YqUcvD1%!?Xq#Id*gMYdV$y4p}BEz`r%1j$|%^ZBa<>2=p(Sr*O6?xE8hCsOo<={)mpWmeApSl{S=81ar#%s-Iu$K#pEEJ00M6Z%jK15^96Cm%wbQa1d{sU*u%9fV>pkU892FZRX z0^yf^sVEc@67obF=&~+;jjte|4amCX%hQrq%g}taEkRH&6EfFk&*8k8E?3sd3FiE8 zoF`{ZBKSG`di1zJ<4_8bfQ*cmImF$)mb26fCXr6%mZvHHh_snDHsqtMy{`-7famxC=*OLktx~~S-qBdNdU}9M? zQbLdK(aXW=X7P4K^3SM{eeWQW>t)wpVnqekoDzD+R@O+wy<_7Kcz6Vd1bpzh{AN;c&dfjkjQ^ z!&iV#tRt2&ODI?qRjHV?Jg3=P5oX-1?ep2XcViA>zgA5M!4<~@G1p_mCFFIAGtP1l z^WLam@yvh?BB}^tAKMgN#q(Mp5KOZ0%(rwIC^U2lrGw=fwQ8+@aSB=(Rzr|iR|$xe znuJDxy&eaeTGPqbMvTm7Om z(qCcy|JqCPb8H0P-ac+7A9c;cX0W45!hx|Y3am5X$#w{=e&xnjn>(R#AVwuD2(Zf8 z@uEr+j>sD}8h93vI60a}Zz4YTN_(K#qn1V`M#D*9dZsL?Oej#+q8+>UB+IiaPgJT~ zp6vB-BPhfx;}jgLTT;4T3d$DGJmFIp8ioN1>kdG-a=BT?P_ zhh^`W6~g+NqE0MK+&)_++$7Uf%gvVD8>g^!Sdg~g(=0Pl0i70_G|>ee7aUq{BxQGu zBvr+fYf`eNSJKYocW^X=+U4`TIChIK2{WN%Z%hF%fgWCWW)X2TX@6>O$Ge8=;E3b9 zy1@2$_W3$XDwPPi5#uukAyTS7bATHsH4okItd%}ul7OC-L8-B)S{Irr73%C^*OdIa zf`eG$nb$4Y2(vl}o$~r3Z@6P>GJ>j8z;lTtBuc*hdmW*$>kS9jDYT zIV_I0zEg_Tn53qxeQR`};d?LD$;ru#EqA@+s)ChON$mYvwZ#vNmDS0+a)1XzKzPSv za=mbc$*Bhem1)Ysi#1l@($-cv;dm*vp1oIS9>)daBfL`n+W(-;z<2!sW;GuEF8eiW zo8`6UW54hxh}fwmp4)EDx#y#-b04AA`H|6^Z}|G%u+b|AEG%rfev@nXyzrj$bGMob zRZO)8V>)KjEmf~+=J?;3FjWM?7Fn94V?RuEp>r`F`-P5Gul3P!@T*%FyA(q&@CK~| z7DFgb$Fcq8c6$b_t^&W2+W!1$IE7`qoBWmC*wtXgeOk%?GBMYDcPQE2%d5uoM3>C} zT%5IW112mijPLkQ_x-~-xXq2s^#e8THpOA-h@1wM%ZmO75UXZ~~w45xp=N35r!+@-eW<^cS^i%7)|J5joa|g8l!?4lb zc{hetR|paqxWTKfA8eP~3l9!nLG|eWwMLC&U5L$FC}@XMYvPU_{2z`4lvRL z2#6y*oz42m)Qc52Tdu}n0h9sJ<2*OT#GoU5_`o^ruv8nFlSAg~>)UwVg~GoRC#n6{ zo#AfPi+o)4&EGP;&TgK=<8X%b4YL^=t5~!_*BzXR2gmvJ*fz5^8Q*4@CUx;b%vds)2%7k)bd&V(-U;l7RG*+`x=(4ACq=_MBKl ze84;LvI{LfS7ZJwq%h-grjkEJ)eetMftA7eA^p8KpBp6v>mP>V9-h_ICJEf!1&Sn6m6O=G{9*+#G^-xsqiMthp%tpArxbn2m&kJg#dvaA(eptVU+|!A?Z$ z)8A56Zr)MM~y3N3GgS-j1J>6FwDk3q(?QY_~}H3 z$V$ez#3E#xY?tn^F|brUjMi{RW(&#^YQ&qxhI+v%G0IDiL}Y|M%guT-AIZj$ATYor z5~7Yc(rwKAWOazX%;kBDQVnGL3pR*cTQgMV+k}hZ-y;B*tI|79h<}J4d_fmH{^KC9 zHapvkM3>b8yyB|w=_+%%Y!cdw8yXt&Vtfm3W=hrHYfLv~@xU3T!QiEduge!E{yU=P z{_H+Zar1D-A65E4#+@))m4>594C;J$D{j!+8J8EaVE^#-vjXxLdN1&rk5%^tP+5uZ zyFT3lk6Bv`3>K9@Y`aXZ#Ds%RHSi>yH}qqH6309rbqY)bVCj5_sgj+GYeu#IVLx}= zO5}94PW?BZ%49%ofZtU%ymixRz z_tj;k`F`t1=Gs|RKbaXo<4etQ?|bO9+x+?M<|{^-IjzP>asnT1LNNU=ei+dp!ZC!*dP4y;b|{H~+2Ah@#q=Q1S&NmkhtPOeI>OMv#PoPSpvnzfm!9@x)BM0+D8y-p ze0f7I_ClkjYMY(QJ3GZ4TW_>PZmVJ^mzRfQ1Fxy)AbS0kfj3NN9762u9RO6N3;A$- z(RYD=yN`VvxS2N^?-#lK@A2uWX+OuW@#S`zA$54gZCse;40r(JMS|A32TUR{h z4Z!|~>bXPAZU9DH0ic?b&S~YkoBRb-ssUny?x?ky<~u5{;rsXVoA+^5KgVkFS<97j z3Y(EKL74yJbS}b1z?mO8AdfAEQ(CLgQ0h^9Gq)|_GA5c*cr^C6ygjj3e2*YdBWeGA zv#V$d11`P*ZC){hE0U?AF?g7@ISLKTgSeCBHfG}N90zE_b&R2ePoL`#)~vEU@bC@X zKZcXI%1xL4tDRQf23`fK^yg=9uV?Avgk@TgtrR^+696cl|H+El9)4)IU*tgN+kkp| zDiM8Q0JQFomFN>8&?uEivAjMYilGGA_v(7#lUf6pep6;t)X|WEvxwZ-L*-vO51!gUz%CBHbU^U@ms2)@1P!D+slblLyM7>6`eTd#Oy3Q z!Q$_lnwnjW+Q1jzVwK#n*Qc}bsiM!Lv?>M$AtrLA8dTLbttE=-U7O+LYaO_Hd1Ylk zfbBN4dpWkRtu!cUUIr$Hv#j$T^4ph|kjq3F#={I|(X0Psf4~8hFs|L27iFGOCQr0k z41btHQ5Rd_1xm+&HgKInulL*KdJQq^%KW`X?d}Jl_qtOSeQ^g`4%3&49l)U=oo&@8 z{Mvl_mkHPI{?w~IGn~x#SKdfZBsTv+VIq`}mAvxw-8!(>)Jv3i7tCUdbRm|mW#2GF z(mamlsvK7Z1Ox>a!EY}Nct5UhZlKSBh6QxO3^n2Im|!S(vF&@5!6?E2#iLAdtI|YJ zX?IB*C|)M(a!sA8=JT&h_|PPKQUc?_gra6NlidaG0a|8g(9}F{qRn)PI%6_@^3rxs zKs;3x*y}-|5;YXjG;z%HtS8PaR*Xq@>oI+TwlTSCz_?V&4h)?i=|X=;F>0cA_JWBR zga}jkhgg7C1xAh%a-LK3n`HDS_QxrN_$g~#%GP#21L%;YfRs>vPtG2fkgg``;RRk4 zG|(cH^c;mzyliS_ydX8iVKt+!^3d<^KkJ^`-y|o)q3`qV_A{Qk9*^}c%>QhwrQriD%d3}$!{Q(UHpLM7G?WrBQ@p|gB z&L3m(X+M3BSxtTK%}{rD_w$AUiOQ=UPQZ35=){q5Z+N{Kd5N?)c{)(ndlblgD2gi&G&%Y#c+H>?;yXkR(uFI z&=+NtI!`Dug{iD3=BL-fpy&pu* zp*v_sJq{SMe_Wo1(Tv(StXg39HFw%OusvI*R%z<;!s#5x08~yejn|1RoIH^4YHt+0 zo#S_!2izdQ$w>cHA>@C>+5IjUl?(7z^^{2ju*tP3w<|{E(fXa}gI)Sb`+`UQ$EYF ztVJ%Rdu4Gm^Dl>4iG$ftl`M%^XTmS7A7Szbgv&o}g(HM(U$5jhPRp9yEE2|ne3j1+ z%PK)-vuT1}6=1>?7Co6fRpYsGov)N}qnW&%4oh4LMOeoE4Ga(OqXcVza@riyln&)V_YQg?nkOoV3Wz+51Z*?pK;ZF^ws6%m?V_3bO+b&F@V$#SihX*AxFg4hr@r$E8caoCdn0-$%nn?ldZDQ~I z$Q4tEIg%k9-qt1}pzvu)@ViXl{LlP><05ck@|{^jl+kdN-Newh+Cirp`9wuWRJ>&u zq7`e9k*l9d4DAGug-y4}gmtsScZE;cgFNWF3pJCzS(z6p6N>o)tt@$S)QCSE;p1w` zNo@EGB>sUHM*#)|bN6BAe*1;78KU3= z{UxPCDz~YBJyK>91dUu=X3Kjd&1f0b7|`)rXt(D35N0#NGUe%1O@9~;>wpUcJid?0SJ3s8E!qTFQ0ICG4 z@vQAh_fhtwZr(5pfTQP446rd!q-$oIK&#(>=OO`*`Cp6z>L|nKHR>S*V~TdNfpbTYhnsPb5p;GnM+*3elm9PaSi$#hpg^% z$lY<@&;{ssML2ve%>i*gbbT-l{Z20d7IO?-f(9e56K0OE9}h?YD6Z{QvjmxSW_{Pe zPgyQ~ggJjIn)Zl9?mIE2CMP=~4Qq$f*t2GbGo|{Tixw@rEKYdgl*$8cJ$v5)?<{%@kcbs+kG8ogM^3MMP7Ad**g#kL(EhY~CbPTFy(h;`qo!ig zB?C&s&ATYLz=uJLCuqi$KP0VGU_AYIRfYeY)`Z@h*+*FtXoBDzQLqRALyqct$3RE=M#?S^1w{cRFD0(gbo%$` z{y+tM7#r|Ul65Gk-|(kCYi!$eA3-!(A50NfJZOx3_}&~|9=uLm<%jeIP>dVp zHDmeutZx0JUQm5Umq1&9Hy+F4AIaeU0V?h3izZG7P;*+b&Cz)tiVI^Khj$_?F@#0U+%${y?6JZX(Jfr`L@OA?QvdxzoPY4_iWnZ-B-Dp z{o*$GDHY5$^X@N<@$Zwolh^ezJ*U>>pde_+<`bSb)MgT%Bql;?$`BVjEM4rr_^ByJ zqLVt^SL)7oPeQE<{Xv$7l>~u34otzufb?8|0s^LrCqS~vtE?xf00H3h_OyQXVds4b z!bP7qf1Mf7{`vN|xHe^(_5ys|boRGqmg^7$ z0K0$82eDpvjb1|^uJ+&Ejq3HlCl_E_6(r>sIJ({V`U4LpzoaDm;R?L(Hm$^av3eFb zj~)H_z##SxXymU?I#$`e08@Q<@8{|&!qNca9v69H#y9f+uk1^u6jhvseTjd7u)agb8WoDa6g42&RN<%}b6w%7}Fq24)%a8;rHJ-E8*ln`P zHQSas3eTR()de@JR0NT?$3X{hT5;Ir2K+ldE?ig(!<@jwi<7|o9RiV^57--sN5Vgu z^(HWr3}H{V=_@70Lf2M`OEg3`kvujdI0?SkM5(dvfiJJ8sSsLTZxpW|ZdNkRL`|9J zF<0H>!DJ_V$(MVOpk8<2RdWXL*jZ8bTO7yclw)3WHdsf&h|Sk>mv zsXILGj_9w`P9$PH{a6>W%HG=qEc&181zt)X?Fq}&sztP@CE-;~4qoJ3AZHoGf zmwi;#hg;oyg1Wg%_FY)c-2BeY5wnky`7P-$op@GY~Wo2FU%VwEJ`pIJzD~A>ruZZ%zL^5NARD_+&TLn`CwW4d*Gp(EmNjK4+5tBWVs1BD?u7^@%siD(%K# z^%RGI`&-}1AKmbeO=`uOg8kmX|4q?!d29_>(WGHMg-I;IuUUnN?_VduirK-?1fjAs zh{1u(?pi`rRdW%0#Q15ysAxCYCwD&`7d1tL@mSU4(cWCI3eSlmrD)^Lz1?AargmJA z_r;khKpApO`o3}pbOPBdW`rhd%Ax#y!qv14?b~0veQK1G!m=%JA=JO^#~~!!Xh=t& zDQZB{e}&HSLrwESg_3{hZj&xqk+>o?WGk}zvrEU2ETeYoCZQQ>##cYAD!sC%JCUbi zn>AxDznGo`VISAAQ{J-jT1j>$I({M`+=hiH^`(@rgim+bMXNZ^sCFW9nu`R*U?k># zq6AGa%8*VHgtwzQsTw$0S2WYm{dI|ed%{8__b#ZV1;q=RbhjtKV~f`Qz7nZ;%25g3 zhNT|TmY|rRFM?n?X$9o{!L!-axX^k9K{%*TTvP8{60vB#ptlph(^3w}@;0e- z*|GQEhj?{zAgf`E5mXW=E$JOrhnfGWFVDDg*zfz0;fIHk+0aQAS2}?#Q43Z^F(EqY zum~(9(7mkIkL7+<-A}P!UB*_=tGSjdyi>2>BqH*VX#H06*$}xYj(crF4ujSvx9`O5 zAV#u=MTG!f7K`5`+N%&Ru#|wE)X66yu4Q7#kqDwGA^V&7b+l@~;6TnVLEdPyxc^Vg z=@dM+rBpVf!fB?^+Ga8=l?Qkr0I79lCpH~5!6p`@r%zY&Luyoxqn}SapiAUUZ=qC` z!auF`JU>87=~kUsFK!6Qj)Wq8k8!y+@o%5tBV`=uX93r|t9thOP=ljpoLyBPHU~jO zWbq#+iTwbJ=MBxDh@lgK2Z$6>UoitKgN~oPk33>rLTRps^3j+QQBJ@$v~*3_ffm1x zZuC6v2L3~z>|q%`oK{P5Ec{`4^M!U6g>YD2J(70(n0<^A&I5s%O$1(oh`QFDNsYk-0x2c^ryri25e}*#AF6`FlSS?^9uD^47-xPa;$OUa^K(IJ5~w) z?i|7mbM%W;23|43h%6lFvp#%{k<5rN63OX`Gzad9ZY3mm@-<3xJp5E5WVS`BPE=d` zhrbH`9Uj5}EanO@Vq$-5Z!eoaw_SKy_Fpde zig1Qg*?^}1JpPsi@GRlGmF}mtI}ro~gfxKR0R-yp-2`a@=<~Y+somgcaOg88@?`Jp z=a&v7CA_Qd*nnK;08$gv^?*Bzhs)iSfVH-?{u=!*Oo6i{@Vo6zOiy#-88k_5uHc1CM2KM`GawcI$!488{Q^O>!&l1fHH`-Y z><9M$+z&u`#=RS$gNbx*|MJ2C#-4f}%H|&gxFIm-Kpf_LIY`Gla|IaVS&1ql>FlUY z0891(l|n!$HsoG9anBhXw++D+dJaKgQ5*dn22GC&LVWY5+H9x7J;4 z@TXwnEFpVp(!&;drc1(oS1Z5woXr2D&su^2wE^6{6~JlV{oX)Hk9Fs6w9<9p5GH`_ zB*!4kyY$i8&hCn>-=Sf(FWYNv&}Top|2=iP8~{@{UGx$A0QYuqaIpFJsG>j@a{9;5 zNwnGw1Vh1$#@)>NJLKw*HJTLB*l0dXJN9U&3X78oeS&HuMI z0ISz|#^D%XcYxPHff$h=VOk|e5C$9q2+n+N7p;7rFZy)=sYRFLP4%t@2I+Fmfq($` z!aFa|@xPS61ZNa!N>KiL>?7l&(SmE?fx z)o!>2-*|uPhSR4lFzBo`47kw*zGA#LmOUIr$f;dtiyJF+iCEeGDgZ=tLco9=2Kc_a zT)Qe5@P{j!PX&@dBtARwLVzDYUj$S=Y5U`BCEs3}89-2Xn%7@g-wkl!{w}Ij>vVSk zdwK8O!mX@~?I#Ckb#``+@U%XIFNc|p+DM8NV@Z7f08vNFk-?cMAZ%Lz1CQCTCGB0t0oy1QFr%H{1yNYze7R0{M@Prl!AgppH!4cE z2c1f~M4l?Ux)CN7CXm$u2FKRR*_)AC5s0$O(TD1jgaTL#qC0vu{t~1xTD|!v ze7)>;r0TGZg{6gSDf4V0T^)GRX^QP98rNzXyn~;FtXdH7Ec2>KoDjRhX{|zGmcS%v zdB8xDCO25(B(aQtHThg8(L=xafkh_Id-OjM)%~4~e-g_ST7-*oT8UxH4oI{Ue_4G? zD#mDQEMkOFmBJS-s4qpgZIo=JwfDO=dLanQ?ybX5-ZbS8&3~cIqV&ENGuAxvf#M&X zuk-5$-^hYxw2hcqz9Q;Q9NdQ?1Xh<3|0lyoN)HWwVX2t3NtQfrbDU9eq_pO+6lY#- z_D3s7-**+ad(Q8)=_KnR!3gdMS$HxyuIV~DLZY{_+(spYJ>3(^u1cB)+D_@WE`wZk zm6*A6!YLwcB=d<(jHzdl4{H#B&wP7loKeywwuB@;=eU3M^3XUTDk61ANcFg`V zAhrvf3yXbx=OebyYCmipS6B>Jh=bELabikN=e|IC74Ynkc;<&w3}v-=mJ8#Ft+G>m zzH}RgEfvpwAcr)^PF{B4MO_PP1m9*3R)ML2dSyFD-*DZyF_^9;4SyqVBuzutcZxND z6@qQSy?^`K4wC|nYb?4keEi&-gi-v*$Up;(Pn%dj2V^Nx?!mrUUmfl~*9xPqpgmKo zLcOATqiZ8RV>mBW*e%6;gK>lrL3}1z_>hLWg7J)1khO|`&*pbbd_0BwSKi7(Bw1_C zV&DW3?|YIm5Qxm0+s&Ueh4pq2Y^(Vlxp{2~dkN$~k*PeN!lT!%SAO7u4qse<`*072 zY92|PM{8UB%`1U|ByMf$9wI{b~)Xj<& znd9+$EWoHOC_@(_V{I*)utF?L(`HUs5|mZl$3o&E*RG^|OiC>-sqteaXX2L65}C`d z0JC|r_BU8)^Ca!lTTX-*RQvL+seD$k$Woz5B+tvW%(cC zCTT5Pd=2yi3Km>FG0|_gW9A+K<W4#K zX%7YhEUqnDp=kR?q38=f>^-@zjF%7zKk;GvRTS@jHI&U(5@WdHB)4+#1)Auq0AwFW z#vgfA=pZSdb+kIKkB_Nh;^Nvm|EoTnX^b#ox*_u%{%5;Tt)Iz*`7Cu8_UxR7GSX9z z=G@#|PuZPB!+TNo&mA8Q#j>_L70xLo?)jujFmR^=of1Mu)mwU@5y&;qjbVLZ1ysWeX(5A$nj$VHqg11*6QQr4=EP1mJDG+cZ!64OK45E*V? z5~g1c_ssGNlZ))t{2bh5lyRRcB^PLwx}~0a{sbT; zp>bN?_*HSjw*PwElY+{Z+!MYY!5_!RO&>VIQ;v9Uaa3_|RrtwhAcrRYtxvAV7~p~w zPYFz}*&5U^j)UoEYALC+#{WaWlq2LsYM{a~4rVYnZXsSlqUMYBWL1ol7iru^SI)Ve zBl?U1lIxO)xYir`R3bV4iDN{o@cbDJ8YK zUVe-6wEky^y=h&V+4#4MVK>KP9&rv}Bh!b#OJuX(^MMUQa;bnbswz?3F-pB6zj-bmfr-ZSb=4wpo%qCT43 zAq`x#diIdDhVo}Y(!?kp3NU)HtJChn)z3r_zj3cw5hw>8SPtpv9ic>txgsT;%4I3* z8@&9Jyh&0u*%+LVBu9~JKmETmr`Aygxs((&n?+*YviDj{&3I#Qkw40nsU*8kJza5$ zH2Q?yIcrq98C8u_f{=okn?QpSA|9tuh#J{p9rQ|}^2i`Wl(dr$u>DFa2=OCDkyHUD z4^&m2F7Yd8{yoikpbi?>){65lJs}#DSUGrktsUDz1}nwQIw?Yt5()LPWF(Yc7>bE_ z4s`!yMsa$i?zkN$qw%KNIqxqTf^iBZ^3=(nnZ7a2CVqP$V-kpJpQVoq73hSx9^)XI z+=4xMB;HEk>ujYKz*_bVo)X;wT@s;kObSKl$R0){z;r9q$6?`c4W|m#y#Eax|)hWQKTv#G)v=W}qsY zh0&EfD>S54OzY@VBF@xw66KT`wKgDT8*O1v|2)wo+}}b z3A|OCpk!6~h^_2p31)N;Ry}mwQIi#t_(|=hlMh|`oHFQVslgBP#ol++I|Ro)Nq|0t z5*WIDA6Ew>9w*VOD%6;Chn0LnG^dD9F{6Yt(f$do=UiT{sSdrkL5Hr9jkUxQ7Sg=d{r!N~|7Xq8Nd|2`SDbJ{t{W1A}Z}ux)yAR!L7U z(27W>Ui3Xn{VW+i@i;QG(Crad@G3=nMExwWM2!f-Xtn9Pn5f}Qi8AEWOG@o6YqJ_`OJXInY5=(K?8zI zi8%&Ot*9&Lg(t0bu(r$w)dm^PeQfYUNWX!J+N!L;AVR2}U6)ImI#!{rAPkyOe1ikV z&Dl%6uo7vN@`1TDU@ANaRZ--QohyJI_yHON9?N6*Y`3IjY*=N>^H4UB8NcX{1MYXh zFBu$ZAYj$N$qTACB^DbdbpXdgqIbsxOL-_bJ57egx1oJlL3mt1+79*DOJc%t+L6v zwZ4gS_T5dBE_NE`5bGkO;IH)G35bZO;-;|tr1Z24^~oek>9tB1JQ?lmxL4Gd%;Nte zK->ja!VAsM>ZbR2X(7&iy%ZpR`{x-z^>U&0YyT@u^RaxzLgIW{7#3WZ;AcVt<=;Oi zED?ur;``PO5Vw~N5gBlh?FkqDzDCND3m5A`Smk+C##XHMEc(g7$D%1qpQRMkATz4E zYGrf3G|Oi42V~6&)|}RnzeH|pDNkHk!BJs?*Rae&0zPXDIb$E!7D0H+{$QL$FfFS6 zclTe&p}=rxmHg+Vy@u))slGms6)wxAO8e!yIr^l1xivF6;)35M%ooE25$C=DV3+L&do(>up0juXch=wlaN$Ia!ZQZxu zD#x)SI?6N;-{b_9{^G0ZP|43ZEER)SlpNlg?2-wudZK7TDRBBqR#|+*!ot4@KaFsb zudJ+t^;Q$Pb<@Jb!*YyTeQ(|nAyz8K2a85FpIT6Nb|}3hCmVkg+H`Jh_%jj>Ssdp6 z4BSo9JzhxO`ln^a^OlN}^I~-YW%4$;gr@z-7*8;w?GSHWfKQxYap;sF*QEm1kH#Eb zqS5vGL$NA5=pug`tfJ&MQ@G?a^(5#Px^St_0QltCyc%<@tfdS@g6%u-uN-XA* zu4-rifI_E6dD-r8?P>{GTyUvkhN~2T&aV^W>vkm)YstxyyxA=DX{Ujeb$^k*&ea?; zDIHx^4NGaJCF1XxOhzw}oOrNVKD4T#ZZ&=;N@#MLQex6L9S?vcQ zG6YjZt%Dr=A?C*P2Fo81p-Ng%Lp~~JPp5UU#G-B56h+o@H0M*d{MTO?i1(@+lI(-k zHd$;&Ip$(xF52GHrDPx@qt0sg9kUPf)J7PcNUV`-7Y4!{~ZvR+zJW`N>Sbj2%@{)1Vn$X6_Av0UPoTKlhp73lKo6)Dkn+O6+s=igkPNH zRFKr>zzEWsEdBKxu{^5P!}#b8)qeF-J4ft$UigdGGo+G3OQAzLeY(0J_tX+S_>Assgs9Q-@c#tPv09_ zCm-6LWg3Q~`?VN4P6A#&kaa$tUhXQiJ%&|%Ye+UK1ruj>0uh_Q{w!>cwn8K@C8&MI z&~E8x{Rvu7G6OUNFj9|+U}cj^FT?Qa^=_F)ROY#(D8B;!g1%b3^p3>BkHOZaeo2;W z4k~G`MTa>JU?=#2LHT5GoIdls_c)$)Mf@?;SDoIRUKynVM}{s>DmRrY)yke}( z&MCP+U>jG+qNvvKiGGsoHiI~&DVLyPwTAk|V)^fTRA?11z(-my9u7uzB@^>hwaKD| zKmDOlnBgQUjc+r`5cR6GzIDm(2eik06!t~B%yG|AFYhf|Q-D*PyT2W&9DG!3>BLQ? z4&~9q%5@ETI9V9_i-+@Qhxu+;%{ZYHf)vLOn~H{Cot>`_^N)s|3Jmo@)K)TDB4jri zv)otF{x@rn03btGs`e8(EuvHcLnfVDnITT&r!>>)#)XlY zx%dwQj;J6-_FnuMXb{K zKX}nmT`LrmqS^a${GrvE^SC!es`Ix+j_v-F_UlWQ$x|>`K#RN4PMPi8%Xo=~ZwfM; zHcgCu80^|jgJ=M!|B_%oJbB41#n0KuAJG$m-7X9jQA)JXGVm!AWS?}T>dgzfPe`8g)>9;)yrDYudo>4hZIr5SG=A$fDjnqZ<1&ohgM;nuU)w|A~LqzXkew zJZQ_#dJ2Og8*q6352I7+!pR#`%Gm}5-=c(3nK0hrp|?H#0!97#KU;fo^sC|ttE8t| zlb{n>ZfZm)P4A>Gk9J?^6gJlw^wXW%+QbxWB>OM=`ue2h8uS@IXAiNiIcB*fgUqE4^Qvk39=B;Wqf)xj9H2vCb3}jQ0?FMI2ru* z<8;G?p;qFj=&4G?bCbnEXE_T7o=Dr5K8z_4E)?a%8$X z93YYHKb?wSb_c&=J{SPcAE0u}4vEja`s*LZ78?~y;Xg{%Wo?P8=cSrV7s=bLG$qAl zaDC?BkSf#>hpMOT9)%4MKB0u;`{r&%2BT8WCxTRZWxbSw@R9nnzZUaWn6hrtnaud& z;o4LIeEwF*_96VR_H(pm)1`vCNtjgylXG&>dy*VdK(hQ92_O|uk|>>V)tZa>=91X ze*Tts%(@osX+K&ULAHrh{}^R^cmUK$uXBoT?yzk}L+P`-RIovUqbXWwEJ`4 z=wNTsxt>Ec=i7ZWpw6>zi5~N%zkEs77fsc$BP22#-eoE`sQocprlDG)ks+iXGwnza zJM$90KAoTD-)!a0!&gVa=n0w2Dzj`|_TCD;OHwIV`V$#FLQ#Moj*a*(m=z#HhM18d z^gxlDTWT@l?zwq-DwfXL{5NWot5c>#LSk_=H}7r#Y^yeu+ACx1tF07Y6S8G>{VU(W zzq~Q6dsIctwidl)jzhHPt4e)LUIP-VEfhM0)&0z00Y$cON}w>ELqH%_!{S=CLOm+Q z#LDZt{c^(z5BHKjN7E|IA09x=#h6Xyw^`B%-6INzsBLF-%2cT!N2*Pjj5&TG-?ItA z$YFi^f<#Guo*oILbl~s{_N+}RxJHe+tWdqqsAeW*(CQ@dD6Z)8^QKujfrPq25UP@n zYMDBCbX6a3Mvv4|R8q=t-hcR@tUR-60BFZ8p|r2sk$+Z6 z=l02I!K)Z-aeZ8_Vdqi!0zEfRa};2OFI&t%WiZEPLDmX0YtgP-p%zJD%YKvg0|^oe zZ(Bcb6qceQR!^WJ)6HrI`EOR350|B4O~$mzcMkiX#3_5WQ3W()CMVvUiSE;^&TK22 z_72h*AyuY8^CMtg2XOLia#l(J8+DCKuNh6FW8SrWu$W7CGuCv8Qhcp^i?)YqOZa1ivI5#sdZ1nvwpg8njS+u5{lQv;hC%UnI_!-S z6-Rtlp~8d3wKBas1spOO8Wt{uk8de`iao0RW@&hNTcXnQ_=fDnx#a)h4gTo(3O_?NlZ!GM1hK*>y zvAW&+>L^u^T z0S-Cc+_;-~isTj=?M^CDBmP3-{O9GMN1pLqWkaDMAg%Y~?>O5$oC2yqDvruOU;pXX zdv^Qwpjb_n=qqSdkP&p+a_q>=-u?Rkt*mDHY$um+VyA=UQc__cg{jI^k)gKYG2wi*suoEn>ihAgRvbH* ztYw-N5E*G-%P13as_36;L*`tLOCv>bgpog*w#_I{R(>TDENMLxmYQ<7Tg!SN`C>wx5cA-&fMJ9MF+RT!XiV@=g17Jq*3(pnEFc+f?ac@lMqOh}3sm&|UMcJ>G2kCKG5ClnR_*u|9J zCZ2*l%kud6O}o9kP7-J}CjP1`0185tjIc$IgyxhDVaQ|>BIyQ~$*Q6>ct9O!+k#jdDG zLH6xt{BCN-;ZxgdCo=>ESlZ%7K?uTTn9S&MEIupeh&Z5UN<}{JpnTyu5y|9LDj1?i zA(yuciPG!hvCuT!935zk{zGwcax!DX*MaJSatUWT@^x_DbYYa>>nf*WgD zU;;BWH0-vmDM#}=lh?IlVa=c*TPlxs^ZErEOmDLz+*01U&rqholj%?jou2njD!AU5 z(5oMp{ZcOq_exib`w`FO0449$2>bnY70^C?_E^Z`9~Be?tx;vrK7B;u%JZ^OLW3cx zO`j?kspp$yQZs6)FDXhJg1knFDRc7${sXZadIp#MW@YQ?CSK>=J7fI3l(!c!e}g`d z4754CKHu)m0IG`b{-$+4eHu<<+3O*FVKs8mU-84=mXh4WepY-vVyz)`L_+6}VzVY+2@t`cpv z(QlYBzN2#G2nYYGjP-3Ap?d_O`$0vo`PQ{Cm1zDmpe@<=tUavr zse#GW)zKK1jseAhODte?doX$Nm-(>Pmm!Dn+Oe42xHf~7nU*Kqe-^j^{^{RzQw_##>T2xUH4Nu<$M% z*8N`2c$>xZ!?he3lRcqcFG%;lJ&hQ^VLI4I!*CsMnV)ZJCrlc9z0(^hqtWi>%0i>i zks28lmCgUbEuR0Bry%9&U$Kz5%-}`@=~$8^$sihVC(7lpvf#8TiuR>f+cN8q?)rnq z%gOpnTtA6#Y_sd0%Z#$5G9#|{ze&l(I%_ONq362J-Gkzs-AKy#zbB3Wzm6?H;=PRl z;_7St`zHQ(+2nu1g$Ac#1ZeO&InQ6`0ADJxrjD*L9J@uTIZ6An(bztE=G^?kL`VoH!XiQ8>gmh* zDygDla+P6ei^=a9&sIXwPl9v?|3mF-^mhzSr2C|w7kYCd@kHory>fTd+MYHiIxfoB7Ni|5_N2P&0loz8!MNEm!Z6?!^9;ai`b{ewW0*#%yS zzwT&;71P=Nq#c}`*q7w5S$(lz;z0fKZ{pkhu?tVoa^;I2k@1%xDe=&sSBI{M(-*&} z8L<%=^_mjvZRgqC57h+!<)T6Naqeu9zTPQxu1g9%C_8jM--KV~-1P!9O&5KH>{Z%L zPUO$e&+z1Thnk%-=x}-g_d9y7qnuE1B3+Fg*GzL2y8Y2O4EO{DHYHoZNX&nyb6z;0 z-p)bJ^ReaqR9c4^00`O6SDJ5hhtVa(UIa=o6;CpU2F3ldS_qcD>cgrzp#smOkB^Vm zFEa$$Z;Tgvih}oM0GHz$GJd@CoVF!&c&oT_ufFH%pD;XwfuHJS_#`B|#X`??Mnt#F z?f<5VZheny`n5Xzybo7CrRjAKr7~!D2KeuCy6%nbfSD};{~NF4{9Q2F-`xzy-Mg)X z4`j%qMG9F%;Gu?M%R=s9HCw8))&uk1ZmBNHqz1lgsooZ72VNqZZ#_R?n&p*yisCyO zEJ%rMg_)wDqPh$-HJ;Zb_{V~g3V7Ngtu^j>A8=h}=$*C!R$^Qxon8aqlRugrmpCsk zXRp~um96m!{>P^OZf{+0S3R$4bDm>ennzYW*HWcSXmfvM^ z&PdyCB>)y^*PKV9T8q)mXokxFR7wjBU;+=Oi(PLPEnUHsxLPnxFmGX44|qH&*K7XD zihMs)EcmYLas4&m=PW%~xdBr`++*~A9{r>69J#Jc_9bI~E@H7(z`KVU$>dEgtLpfX z5b!S_#k@!^z5DHMnLD3cxE9G0ug3TjegnTnPCH)%glJ{cm{%)(bNp`>_53dW5c%xq z$`|KNEAYp?U69sjveV>jko~wsi~Co>2hb7_q+@C`C=S+aRtLU zLhQLB;_K_H8qs?J1#Ly1SfO>~H5n9cJTTvJ!|CJe%e((yh=6g5%qPS!7{C~R3arB2 zVMxuFLkx6j!`Lz6xGV-En}1@OPa2lJ4hqxS%s2Sg?-hn0-90=o;h;ewCorjkkDp&x zL7b4=!K^R#Bau@VG^1|Ah~4GPtT=u+xH3h?obTaGDUow828vz{PD@M6{>e$99`l(` z{A`MVSVN15kw#2$n_~b#63jYW41%n6gxM+d69w-}6k?pG>RYud~9 zg`zZd_w>91v+6Ak6nJ;A4FkY#A@KZfIy2zm0L*N#HIL>e2=e{(ZMKCvZMzy%E8p;4 zyCNY0w=&$8S}}V>nkEbGFR!f2kB--u$8;`x0H4&b0Dd}6o5{`V&g zVMOb&+f4NxtM^%viCmE>5@qlQ&#Onw!X+2Aj3b}N(EBkE_u?5%*BLpa%wdu1mm4R3 zHw)Y`xNb`c_v>zZt$PLy!qABnxfm5z$&u~?y_}yXAtN{8R(mp(aum|!um!86?6^xO z?gXPG=`Pg$3Xse%qZo13aJw#amP30ww#gYBc(v4AKjJ#$XVsV!XZz*g;kVR)Z~Tkh z-I#g`n!LZ1X?$b0i^;IRpJ>2t@^tgmCpomSx>L}!B0$G&@S_Y(h}oQm?kMFatx0MF zQlW})EGAssV@|v2mKFh|O!0ybRu-c_>hu=56PFw_u>U55cu%`>QNlX9Dh-|Cz5UGaaQd2n+pQAJ=aU z%B27O`{(p@(O+vdNnuk@fM@9UdHsIO^KR5JpeIi}=C11XfdxwNDt)}#X`{R7wh25$ z&HH&V`}_NULE!LrKR;pj>1x~(1Vk&Y<6qtuT|eDh!I6qsXcf;}m6Zf&Hh=p?et(|w zb3Ji}nB$|m{eFjcK0ujJ4d$q84+=Lc@Zu*^h)GOL%&7e_&Z_{L;2l|lz@?PMs%nwk23X4e60YC92cGAF)pK94HLO3(H9{pbRjbi| z_PwzKiyP@%JwgIl+Pb>Bpw?e*8hP)xlXV3p>veWojw-K6@IjnS1n&FD56&2&rwug6 zf|xaYou<(yw1W|#dnx0cM4!q;bs7(A_I@$l&8nxNf!D^n)An0~y18=0&g{49<~qjv zA@HqQY1djfpS9m!p1r=Dt-X8q_u;6@(#VLcb}b%=N3Cq$C17qnW?Ncb&RFXN8}XX= zp7UlD%_RuEvxHu@ge;t#5*r%0I<6}mFTj4lINjM!!oBK-<+AyE_BOIB#>2~z^s9WeRn)t`7*S>MJ@9F-EcQcamyAUAgx$e*X_I%Dj zF9y`p>iRSBS-@>8dsP-#6?Be9g3gYQxBm-4-E2SecO2gTZc{%52HWejdC$+N|7u)F zv0lggbftOuni1^TFTRB;8z98od%M7{bL=r&YpaB3XL=whnS@Zp3ImkaM%PJKm9uXh zVlBwWbblc63Iw+%0_;v_K)@~k?r27T>__&uT1%TY9BMoef+i>>Dfxkr%kJ;r5VTz| z&`g$D?zmN*FMO`MBNwXwug4_*|CG7x7ABl>z@p{V-`>$7xONfm$&qq!aIkS?_{#UT zMKqaCFkoigXq&j;Fa!B!X*nQ;UI?;RZQSX}Ln zUa|CmjR-uNBiUaFS>Z0h5VM2m8BARxzwwBO2uc5OGI+2F?9|U2*xuPs6-div@uj)| z&BxsEPAAT{i(p8ePw`m5=Gb$JH(jiFo1HsG+|tMrV zZYeT#p4f3ul_KIvi?TEfXZ=mFhQmOO@5E3@-C)gPfiyMu`_gc;D*i08;;CjTeN<(jjc zDSe=^C|xUh>ADS78<=9ypfa~Hp6ENs3uVZ(|+xOvC51HRwID)D*ezerW2VM0?bDo6Da$bmsMGB^E& z2>|OByW^U`S&b9OT(7u+D{evmNrtMnsYKDEf@B5ov}XU;*_jg`j|yUHI543l3ss9wfReaz0`m%vlHOX&1V~CJn;JiX{HP5qHR_C zLW4aayTu5U(aun6U1MYI?V7J@sal(e*H|X66dfp)XL%+_6ZqFUEt;n}gFVBiyXE1q z?7r)RpfGr58dqFm6cyDHtfz~d?|0I!zBRUmf#?ZjY1@W@CN%@O5hO#FV7)H7{c_s0 zb@vY_78-qrr`M&fslRh&{k&uN@=3SBZlht@VN2-sN=R~NopV=;l}cIBxLZQyJ5KIJ z{>8hXaH-f;cyc&ne4m(CkiVOQ#Gdc1Z9P0Z?1P8zhizqURaL@U1)NqC%1ZFtrp)v? zEIn>q4|s$0Qr1MT$-dl{8!?7YCIJ1sm9H;63X8OagKd547Sw4Edg6aF6_qgGc0$SH~%7UVmxb)lfhprpk_)Ii$qd{RGu2{wb3 z9RAxC*S9|8wGoB~)|C9Sy3Z2%5jDbe@&zeZ{cM8TB2%{#u`C-l!0t$TCI~uHhRq#X zPq@0g^w&U50BR(QKW(wrQk6b+q0O89YH!>Ugn27&)AAr4A$^`CRi?!Tmwh_Oc{%V{ zZEbJQas(ci-zZOG+YVE@`OAIIYdR83+l1rzW1OQO<@GY>yxx|7OFY=1Dq9Ze!E*mA z+~wRWz<0<`_5jgu8q)r3z(rkcZfI^Qh=7$>+Cg3G_qWQyF5A`aKrw8mf&?^^6>b`yA{j+6sYGmDgLxCDMWDH zjuZy7{(S05$VNAx=IroC1f3ORW@kD;8we-g(tK!#jX|^048)WppjR|=`(dk;zK{w& z_@u?*IC0eZ9Vq(iB~L3k(?@9N+2Wlc=%0PpWKL5p_Zt1d`3A~W6?nt4vq?bYHzf2t zEmQ-FF9v=W;y3F6(DAgxlAn^7@8Ejvlj(cf3_^-GZN{PPLZSn>Z9ntQbEa!Qa_;+R zd3R=+iHZLmg~2E<8|FVUp)(G%#D{RgkXyYrdxpb z-P6;P3HB3E#L5QK?8HThNR}fxF_eS+W^-FrFy~CE+?^M(I?$5+1kfBi7)-Wy)3%amDq^~2uaa#1?cv3zzSAEGx5%zSy@w2m7 z<|RcU!0Zw|iOG~V&Ac?_Cz6&sbh*3W`LELly#&r&RsxAl`Cte~;&6%WWHX5^gj{!J z41MjSbRh)0(J+@I2%A@Q=riUoftYE8r#khoeDp-`)OUz%gGK*KqLcaDojf@tyH&|> z%=~l7Qeh0a#OdYi`cg9<;e+z)Ck%?9OA7DgNFX!Q!-YdM83?k)0uI^O29!wyR9}%36vz~R2#9P5M7|S~!LkmM zMWcHbE3P$Xq#RiW#i>xqIjSAcC!4#~a;!pQOYO8d4E2URjrgeW(Cbf$+NBiw*`AY- znh8kuka$HD>Ipk)bLg@HHJ;#i3d#7BaAT&S_f|xpt5jY<%5TxbV8dWrr?SNTOr@~t$Zb7y4yBR(P>8M zH$1zUV2}cGa^@#;wkdiE;z|67PGmJt{GFJXD-o=5J!miOTAFFPb8h7j zCXJWeOHB?S1iycM-?f-qYb|_KZpYqGjntelKL4(2_YG0N1ua7}LSsP}C8Frw^7VV! zGK^5=thBnpkn4*4tf!8SjUIAkF}C2X_$qi-^JVg5NyZAz2IqHElkQfdk6|SUWU-pD z)F({t+M;Y)x*DVR4dCOBeu)ViT{co2P_ueRt^*W@vBtUoW&1!E{*Ce5Q4KZ8;mX$v zUtbe?w{Ij-{{n{GB}DTTN<5uB24%_deo+$;9Q>v_nQroDUiG$W*g?quD@8$59u+^+ z&4L44w8f-|`4vxRQ9i$3W?#y^r<3=_kAv7+k?jD}!3X(hpV{BIJGMkM?dv18qMO%F zpi~y%VhCa3zIUY#FFF@-TS!;L>HzxG01z^&y(05;`?n?v7~K?*tzIS zEX2^E@aWxVoQeLVj_qTga}&)BwCjw`U2^?_xos-X?kZ&W_JFce5?*SuA5G@k{(M7I zac-049cC)+i8YxVsaBUGs8~c0CCloIO;xgj&k)&0Hf$ISC>@TLQ4Y0CtU0l8r&k?* zS2>oxR0)|yF2uw*L>2UH@dv-ZS1g ze&L&)VA!Av)e&zR?@;8_=M`!GUq6SHf37+!Xkwws_Y2^*jD}L%NeIb$(|srQjBG4G zKZtf28cGt5CZM8TmJ2BkuB6FCh7A2-D?s{4I2 zABPI%U*avNM84=cW<)=)oSd+<(cwbr+0&(_4ygAOcp1N1WR%;xi1`W5$mFhx^}2#G z`tQ{Np2ROQSMrV7ioYD{M4E5HT}JoN)a$z1<8RAw~|&A0mEpx)%Kw%6yg+fGMN z*kq_|GHE?*12HLZaCTO#$9#qMdXC0l-);&miDHpJY#rvQel}%v62`={c)IBv;46)z^h;W6?wJG2T5QP{&Ib z^ylMV^P;55@nZu)t1+l4n}VQu#eH7?4G*LM!{#^3jzR(FA*9tdvp>UcGCh{8-;_ln z;OSz;=cocI(``!HZt>TjG-tR?C(y8PJ}fO}M137H@-2@dxGDLKiTIp)xDZ_(heirCeICNu&P z{S3jLR6x_GSV%l(@)l^+lAMH4zS1%cuD3L?YG_8T2=_)VepHlC8dq1s@PEF|%C z%mHFQ%Fb*US*^QfNx>gB#~g%1jlG4lQQ+eaWLA~nPbbPPFzB+ROM==P41pMK z9=R@awk2Y@qf||UjYLsYHa8768{1DP>f16C~%yY89qmw#`A`QZXzfNp4C{45@?ibZJ6hR+RR(bYx+rK4Gl>X zgkE?;LPFB*eeQRFH0@@WPcrEwykO30wfk@$%~x4kSw)7R@k4`z=>BAtu z<@`k=g_S_JE>$LyeeABbM5PqnxKSVpll+q{Fju~FzZalbXtC&|-}eK(Bwm&2&zqph z9j13#Bx+Jb@9yq=P98BashyYK9@1bE1SR5I6EZgTb@T`0`LU$v7JW_4nsZ!ci3fCf zaY+Ohm0E>5{=!fAgLeBSiFrjMzwESC?aq5$v}ZDkm``S9MeIB+f$9qF&to_b-j`ts{MTl4_XvYwul9(adaQsRd_lQDDD zufFgE#{M;RP!v`o#TB2Cv^Y#kxmm^lOBgI%jcSEnJfBt-vCI@Rfw)mq0 zX-GO)cqj@;H&nZR=y24%YiA}oI0lA_!p(Ld68iktVQl)NEN|Q(S27=+-hHNzOI`SQ zq6Ujky1Q}a>0O$6RlI^^9$GCz}1Cs-=tJjVN?(ijrToj60rDUGyF&ic<{c%WFn3%w~sEWd(k+h zJO?m3^*Y$e%6i%R_MnL+aUMt^%(0S|9rVL?pgfWO75*FY-QdNr%e8BxOTCM;>sc7D znxM(GvCge{6M*fMB?2(vSrhI6f%B`?N!kyja>ku4CCqZv_7ylgF6k2pht4n!&M8)p zok5)+PP_K!aiMOFd~T`!8jVb^Iu1K7px6_^KEXG^T@4ThvP12`K0>voS2N1-F2 zYpyA@5T#b#F;oMwm;eVtkz7Yvapr5&Kg-zUG_N1`_?b=f;{xga`!(|fhVS<#XurwM zkshC4jhp5of`DavCW=vcIA^i8$mCiia`{HZ0M!H zv_Q?E)UPrjjk*Huwxz$>0{A*?VbebIoI5P3aM2=3Y^G3m$i!xlV|94J7z%P ze%aM-j()+>l8R?r(dpf+{&cK9}>qT{`?~84Zf1OGREk!g%vX{K9<;~}{z$MFWpdQ9w!XsUeJBM;q zmkM5_fTLa~Zek*ys+l`p%5RWO0hZTXUW?~2F(4yzfnOpxyac!TOYVvHxpmXl>Pd!@ z(wrJk2!g54pmAc|Ax|8nfHN1nrr+v`a*oNHUln-5Qd;niBk^3|a!HDUvBt@wpz}nS z&>^p*a#Qh=b5}S3%&{QU6s#%(c};CwH0WX`tHocGdCg7sDO{AOpN3D6iFpYVSrW;r zFHB0tY6#JfcyJ{6|3jC`Kpn=APo8WJYEqLeg`MBM_yj}2ebbDG@gaJ?PfX+Bw>>YNC_Y|GD{tt7} zIA;yL+^vI2G3aLaULs#M0==aZ=^%``dYB41T>H{b-7Zz{KgvQ)J(zKFay(}JCa4&(#3z6PlezudDa5k5A|s`IlupIhm!+r3!NVy21peG;EQivi&<&Zj8!vI=+-}~zb2F(Ya7cU)a+@Cwl6*j zl&L#nS0Lnl{2jXku_|bh^s<+%oY!^Vw9kTu&`kK6r|~TlV|CdFnS4xhty0duE5{gM zP@WzgS>s+}QfB{d91bW(`(y|j=jmPP&KcKL3#WXIGj(!;^?ms$Fx$-JVluV8_@fZp? z;47=WZn*UA5dMw7+t!X1HUG%Ms2D?~It%q&`2Oipgy_$tvH$eBN&}j#1>NPbd&@+~ z$&g`XvOYobW0Wio;6J7>Va^|MjMmQ#QESBT-U#4#3hebcU{O&b1P4O2s+$ShDhKHJ zE{+~&n16I1rXJ2cXG5vdGp+iGB)UhY}(?gLuq=Ji6%^I>&Q;=;Xa?oHutN(|@6_=dMg$F1Uxj61DT>Y1< z!fW)$v`{4*wIebkPr@Zzn!L;k>(7w~hE98!m86xMY|OhMHBj(w1+lP(g)->iBr(i1?L*hENa1&^_0}k z)X-m<>usZs{%F)KM@~f3Tm`2xqEv{CPk2!^5AMv*6o;9@R+DrmK~>Rzhl3~=Ut=C zv}c7E&1~9)!$eREk4TFEjZ7&z|L6gm`oOsf{=zg6?ACY>?^?_*kH;#r>&*A%rN2vV zhRa%Z^;?O24;YW8jhc;W-;N{L_Zt-_H9!bO$p3Y>IH4lXrCMwi$-jPVz(JIvi%b5N zwYIcuTjyE#<~o7%s48W%fp%yLC$CY{GF(~hhk#QHyKl(^0;IGxNs{;iJ}6$VMhsTv zo+UPAFFcr&u3Z>FH=uk~Mk zeh4_6@Y(*sjneV{fN@T*WV@JnLE|T!{%r&{ox1Q={iqxMHQLc3`Zv~$dQqxKUk)Po z&Hth-XfN`W>D=7i!HElbOHFQjd;31|zKWOnA{CO|>z9|}?Qcxa0m5}tCA2Wm;D>IC zKY-p$|6B99V{LF=S&H1Vr9U{MY74(!qd#ts$W1SI7Dm=@Uy4zC(-X&K<@3CKy@nru zI0anRs{V2PyqXWSVo`hhstdifUb4Cv_N-Q;!%2QfNJu9ted^_T&( zQGlp*eL}Ieocfe*R#EG*cMuA3ql1ALn$a(Xb?#CJD97Ep#8QO&=ETmemWkRdU9>NU z5C0hp>psVc(T%>C<&D4>SUk}D*Pb6j*RJ}V%^VT5>Qngm;LVIKn{d|49qT52LCxOLh3ar zr-ndXc7xzZ&mQx!EU;wQ8jInxer1K3b+S938W3^KXQ-zkp7m3X#-qcY%a!LU)7M~q z6=5usqZj^UDwyCSf3+CQ58?OVEDShe4UWx&wq_leX5=C!*Es}Cw=!4Z~`J;ty%PIB>v zFU->_G+8b!ub6dGv>q4lGa^d?SdhFb%j(&p&dSltp?BQ5UM5c-#2&6Hl*Xaoc`PRD z)zA!o566TH=a;p<`GbLoXdnLH$fv2hRwQG;Wh8R&WK_T|a|vGT=l83X%@z*s4r)J+ zwLC3sB|JZ>_(n<5{Y)j0VX&DcsJBVg!M=|~?s+`X-Jo|~8A9-R!3%;1LK}PWjn^?# z*;e5A?X8bS>5oPEH)TB3M*NX;TgF_B?WQmbc{RRe3@kLoXY|QErrNj85rkb54f-Nm zo2qffehTo$#xNMSa7kZo+dHUnSs4+m2QcDpr2^5X(34c)>5@c@4AE;LX$HLT?uHV9 z(;ujJ5sh7HZ8xx26n5tTgB3>HXtkd>%QX0XCaDt^)HnlV!Y2Q;M9`Ju@|M^^+hwrg z`B^CPEZb^u#NX1u85~3MFUoJHvQb7M76)w>aPVtZ$Bd7LP1~8%0Er;u4B7F|37N&i z?8W7RP&d^fCV~eQCR*AyR855nl4z*&e+8f5`OOBUFm8>K^dkYUFR~`|7!(Gx4+}EJ zeA9*a=tkV6E@$#`*e_$JVUsmQJ^M3X6_01wk_=gSOe^MUj(6X)AACsrcYfWUFFa-X zi7xzZaXyBDZ}yZ7K9;O97B(kZO+XZ0#E3UFrms}3tRC;>Jfd^8&Uwr8>#gEPn8q7N zf2Y+JO+38iWwd?Z@Hi8?@4pg?)c;_oISNfsQ@15fH=c7SP%Y%1pw|o;c9p)xP|0x& z`Op${`knCqkuR$m$$ReV?d%UZE!Om{+V=MR`}KjoVp0RnNsr@tZ-?`Vv&mYimFwqS zhl3X(Ton)7kR0H=Zv6Oreh)$H?=1Z_P>@Bvid4dwM0Lak*sGovHN5I+oA(KPrj#a! z5BsOvFHQH6fW+YHn0?&uFIWn7kFv`ry9ER|{yl*MVXwMYUo2e|$Dw5yHq6Or(3%OO z`_xCJkZ?cjsZKiS7rh`HYATfeiPxu#ci^Zx}YezIIX&;0|^lz$3Qni;87BLyd-Fx{#r&0L~^Ig+#yx1kGP*>zR> zO)n{Eeoqhg^eA$06}Ypfc@XWJj+quL-E4t~oc99wSuE3ax&@FDA`47)CzG4`wS=YG8=7uKo zu$L(>g^L|_s{O(16jvMrR`-KOmEQf3`m^psRlnVST9oqV?~q(4G09TXs#>Ez+CACXXdwnf4*#2z0U@dZ(ie zbNegWw^U884IOFxWqR)zn!LTKXA%wy3QE!R&8_~ub{(hmx z@J*pNF`Oq9L-MJPWyHNBPUWGYR7zXCIPWJ#HQP-?kp1hIYWpMA=Zr@{kca2)XmVoY Z^#i|%sbi~_9WA&vl(e{lSS7?L_RQd$_@`J+1o8HjXucL+$0knRqFQ6eRyL6Gk5l$Mrmcpv_F|Je9! zYGTG~o7#h63EDIvK9P!O_4e$x3PYns92^k;RP}h6?X~6Q%N59u| zKEQC@Q%;*iLt;3jy0xW(W{6^fxJW)h1&&toq)~|{*}`h9xMEG>U}|;mQkb_{m4N3d zbWnJ;w56rxV81l)vlAmJd>2iIh@;*(RdQdv1gCUCy*x;+7%UG8gZmJqZG!|xb1w*@ z!TUB^tG#OgwPUVKl%|8gT}Z%9Q7c}6iYqWckaoc!l;a`H336;3zf6*E_|Fp9Hhj`H z2$1G6Ez>NfBST0z`6nY~Xi8aGxc0XR8$V8%ye&2Y6ziz?*=$<7(lHPXO0?@cY2$cW zN?d}0jRA{uctW6+L<=TCs7$pjZRS>P{n8Ln#-{<5R6sMWN>!B9tkBZXyX$9N5GT_* z*w2ddqU(8Q5&=FF8@bh`G!~P@!T$sz9oZqv*#4Zl3%T+JHd&*kVp~tzV2RlQcKkR4Gjb;p&hNtO^ORQ&r1GOsJ*Vgih>nc6^!~2!1TD)+YFuZ3k*U?{=yJ5BC6pHAId|7st z4JFmpr`ONFo&)EU9gESk2(un*q9JA$`Y$cyw`Mdh2 zh(_n!Lx)PS$-D8MZhj+Ub;=UNFe2N}lME>0+%yfm$+&D2XjJPOnEQtx8c@7rrqey`KDfo~rTU%m0mM5Hm)r|Ca* zs8Br$7Oz%X8McC8z~ZTR;u6ZH*rk$0LlFvVxx+Rp1@3PR+jiZ(@)*0pvx<;-R| zw43uqT}9=nu!b{3L&MWDZI40ghS(<8*=+$fodm_9m*5>cAr^Je~HBH zDMXu@HNv-KgES$4HfLm!W?mPEU2)Rz(d->sU#!&UPKpk6PQ*TQd=M)l2CvuDP>%dH zkqx_DwxDy1`$Jmgd`rLjJPuKGulbrwUmsSjPZn%tMqFl_wY_X+GJ3NlCpv67(FjL$3WsevrCNMMw& zjUsmlO==DKwUak8d_|iSoW$9ODO6tnNMK-A^gD}P^=wq?@31ZhTpWF2A zHrc6YqF(_GY6XNm$)$9`2@UJ1*+Ve~*4x~EKZvmv2?V)K<&-rlKz8*kiF4si5E?Xu zB@9QK%A#~*|NZb^RHDy`9>j2vH^x4{zthKM{8t1n=i=g%Ee028SKJFi4LEqYxCT1^ zz#)dVlCj|u%+htU%ZA`VbbsFwXNx+HgNDT)qo$Nmy9iP#uy%wJO5fPNiJrn$PP$*g zvwgwHx`%RZZA)p=M12n@P4I#nr8q1_bvXD^HDPYr@hF+kb)hK!so>HPdI!2O&*YAOy>9Ey`=ibo-A z45qZ-J}{FPDtw5h`(Do?Eklb1f)OY1eABD^c@Xw-{^a2FMMU!NcfA^u-!FMj-xqmP zq7s5-mxYbA81+C6j?41S&YbPb4ctOPlEr#*aP`bxqljN5kLi&_(mZWw5Wqh~q%g}b zY?o5d$=-1X=x}U>Y3L`ODvvK7tW81Dinc2`uDWOFIw%I9}n@q6%}nQB&&?!3m{H33`l6G77KBodWNJzIU-p``A4+i zgpew*0+)H;<+739)uu3QXPd8k_0e02Drmj0dvU@y;(9w-V`FOjxhm7GzSx<<0p^3B zeV`|V9^6c^lFd&E;q{N~rP?L7&G_i|YO-EwuP)96JtYgd0aT`%+$_1opx`BqHq^J02* zS_HieYnL07#cK2ChSmr{wMc4^+;_v6vH><}3{%B|4>V|qT{N;NNnBWXV6X6Av$K!D zWo7GB%t~g@O4n-_{KwZbmiy$e*cPVToTLLf0$~nue|Dj)H1e9MjK9hQH|a*%IFcaD zW?8u?PH7w$mK`IEki$XnD7h^U^thNv@Fpsv>&{ggu=96CugN+RR;xM}f&Twcp480UkYX2nNRHe8LWG!W6U zjSP*2iH#gcnii?vZuC$q1)NerjDmvlL1SjqNHU`QIPQhP`3iga8|pg}a*XfC?!*Qg0fH|I8O zvc`wLarTQ&9Ek76zvEh&pE0e(R61dTd^|Q`$L~v(*L|ou6XczTfFWPVY&|Q{yIZzG z-;-;tFSO$)-J~|jYjC|md#9E&5Tncc_wNB6TFkrFBCW!rqG;^HIgPjE&;uIcj|dZj&9xaqMzTt#p#Y)$ipeEp74!@URg=ooDOat+l}GlvYW{` zV5Hgc?{|FqFA3KyZNYG>g_&ges}>UJI8MssTNKkys1hLv7DgX9kE4};JSv9dH^S?Y zo5`-534u#28*K_B{i+=E&RQg)M@QnDE|u|oZP)$Muq1)v;KUz1$1s5<6}gsvPyG%C z8Iy-%D*C78=m(+k0(@hMuJj(V-?8?E#88GH2EMA^q)Wqk@2=%N6h7M-c%~oPc(LpJ zS#HI4{`a9l%-?H$hpm<{ko)2VAs;KX%VzD0=Bp+<*M_>tJQoHKrhbeqWLg^VxUS|^ zvET?G`SlLzOS7VQot6YzOX#tN&_Hz@n9vwP5fQb%TQ;2jE!uS~L&Y!RetQ*=xg8?y zcY)m{#6BRa3!>4|Ba;hJY|@6=l<|sMk}PV5ozP;%mKeM>TV1MG1lgV*ebYhvTF8>> zmU+C~P*>^AszI2Z;{eUozt)tYs8~-Ikq4(YcrX!6ilYb8$9i9icBZ&6zYle?vza(1 z&0VW9Z1p`0d-M0;q@=w_wqDQFWRJt^bnSg*3-0tE8&igW*6Qhkd07Svccmj`xw$nBx4%m0sH~%UkwA3Qv=Hlw??3ARNFhRnYEQzIJJc@NW zO%UGho{-x7TzXE_MOvO3^r5eoh2CM7*#zb+VerI`%J@tx*we4rPgn9@L>f(+7W$Eu z?_RRRo?w4$eLeTTC3AtLtN8GZ2e`s7Q~!Q?B)^&RiR+W1pnHa|M4mzwFxxu6uJ?>+ zHhXrF6PxyWe(COFoe!%<M`IY0pA^9SZ-Be+g9N?h;2OCF9w}q3r$NG;6KOb) z5R0x$^^v@=(c%Dkx9M$k^a05NDVU6j0v$qgbYv4)q>WMFXi`dFr5fTI@+Ft&5Ra)! zW8y9UX6ne_8!Jjjt;T5BwMLGbt%z2+FO$SZ2=m9b954L3>g_MX+*sFBJ@24=AsMl( z9w35*kPphHAobqQ6|sUN+E ziz5T$qcH+$=r@w0i=CaUdUj<~lb3Zui{djxGY5S01>$7yZK3YEV_;YVn1>Rl&LnPQ z^6w}?9SDS&Q>n{Xi*ZX_j(fqrFZSy!-=0b={RrWU1g&%vwMpYz}(L z7>j>Rw%jOqq2rYo$y_@g8w5SCv!LJ;snhHSkNljiIeYrQYy6 zd|Jgy(!&d#T}UeZ?^;Mrw#dTBkm(1s;L9-rD;1tq29RPLH}ZS4{2o(`J~k{6;{Hu6 zw**s3uXdu4@MtVHL+>H9Yefb+i(#e70F66({L4~%k8a2bowr}R2-{o;nf4J7V$2xL z*P<$i92XZBGgd^@P;m6NRgk&vkYXy1hu9XLFF(UOq2e|E#pE^L<+o`JG%krSRx>q6 zUK`kS3_FSNsU8R)RI#_Phi{+tPah96Cr}FYNUP546uD<~5Z`|~jL8()dv8urYwXwO zEa20HtkINGB&}S>8#dMD{GG}=rcpGrsBRi-7oDdM$)h`61iIU;6Uve7dSlDU%9^p` z)kT?L%Iok5@?|Jy6zK46xCl|4OW`f$#ymwMZxy=LWxsPi$ABv*AGf619xzRy9R@@yN6@Fx+dbR>1U zxPF%y&UG*~Mdv83pj<3VZkIdP#KRczs(^Q;G|gF36g0{ZNlaeN2T@CTja6zkzg(>>C;+{S{Wxy7dg!M%4| zNIs5oWfO-LT4v^5I(xJC;lh0!u)47fnY}-Mv_2MeIq;p7N>%p^ftVt~svaOd#e1W{ zbZf?v_R=Y1BM*}-19bhQGOV~$@A?ZCzk`~|G)LCRS8Tw>Zhq=Y@28q!OlBV|)l~UVVuMv=cv~FD zTnD~^9`NvNXHC?-)`ob}Y7h91n_FlVR3iJXD0Q&gXlC@XbL7+9m9j(hS#u|T>?%)F zUJaBW?}^aY$Fq7!5qqX@!%~XSAp^?q%=u6X2#XBhyNk1Y;&)}!x~2A8sE)9qKm{PT z+wDjHd7qrKAyT7?FS&4PtStj+Qdub%Em|#woITaXg#{z8*fx)U+&h~~E)r(Tl*1`x z6TTii0f*UadIf|z%sy8(Q%hD5V=x}X6$*o8%lTENy(nhnx^LGE9M?N!g7)|MuO>?FVjq z@z&#cqqCokM(A_~tE+4}H9_=oLLt9?iQnJf`%GuA^_=ev`>q}u z^&7uj8DGSCw}nNtHj~64;P-WE&5+f_?-&S~ z)V4=>$1S?Uu|2%KFC<STpsko4}Ww$6djWjjGlYIxLwnu^WTuZS`l!Fh?s^kl#sj1oh(|)c+p;bwB=9ka!*F zH4M%Hhx)JiHp;-lC2gyqfNFvSz7azQF<$JBZmqbFTkehJ!adFhKE3&5=t&ItMIeRZ zcZSpJ+;)^p)bq!lZq~;w(+&Gx^HG28oCNNz|39g<=j+CctLnhqz=y`btt1tWjZo@G zn)R3G8_n?qIh||)$IaR5FZ>nSm7C))kK?$MrttFkS!>Win>R7I#u;+-947UQuE%l> z9l#|8S_5H%8_Ac*&&zvD!lnb)nd`ka2rA9taoBsDmUtqhepu*V_-Tm=tl21=CQGV+ zyWqM%FXkJLm92(2qTzJT8`+(IE%WVhdX;^95-)f7vy=1l{pRsveX)XT1BB}TNdaYu zBhgDai9eH$&mJ_7HmL)qaE~Dvo zILV)#9!mb`H9AoNWkRcm>tiIT&J>WQyvHgq>hDbJyutm_e6@0|A-0PN8C-lM_~k}t z>$NuD_lHZ(?o6fmUqq6b)KUIG2-Qrcph`eO*VxZ`vr;JiMjp+J?YyZalJdi&=v$5sd?$DjF*XMVVKAnLw*qU(cH-Yf8(<6o|MySOZX z*-!>tPG(-UT~4X68MS4|MU&jQGv&A-0ND>MEk*5=7)NKy;o7veLGSnA^W1M@ht={% z*NuybexLm=%OcGhi-izE^G&<*tcS3}`r(@DIRuuca)duGay~%6*y72mL3HO%_)hg7 z($$m-C%5Gg(Ok9hY2fMKzu$D&rY0wUUmq{q+S?a(bgX-ORBD?8Frx_CKRqpNZKWtC z+HqUNJ=h)1#+Uw3u0={pYO>k$6$=|1D8&sxm69|5^W~usa4?y#G91a`kG{V45^!Eq z1;PZBl~uC^Vw>If+$QDT@DJ#ONe817zN@huPMf*&z1XFN{QGI<=jV4o25hYVes=)Z zu2u07&T1s%cZ=tt|LO@@gTrE19F-{fJ*>SwSGUdzzQ*sy37Gl#NG2~RRrxt1rlxIGSiJLk`TW`7i#wdYdq{_7l7uHa0r19}UVM2SA)(Z7{vCL5)^auxn zXi~H)`15=oZyeTZ1JMpsBNHQ_2DRQu^ z0!M7(@>fc8*%a;U&pyec|8Doy13%YfyV%g~S25A5pm-}e731P>#WCjf7FeUYb^FgzY$Dr#Ua&eO0(OTs%3olp@U8} zJOKU0J?kG1+|tq#Gf6a2v|Q)F+tV*Mt@{TD=ayYuP#w0$P&e0Es%7ZJ-?!Fh< z>p7oIlg4w~UMSXY<#$Ii>rQi97;i`Q{?VD~lqZez|Q?D69F%z~>PguGTGfBqK5??RK+Hka3*y$;rZ zl;I56S9wML>&A{;F0AIWK8j2cPZsyxkqt!ZTQ~qR_8OL*inLf<0fL!YUmu_Ubg|XR=d1S!^KX%u@_gu`N!T~}t9`LWy-&7xvz<$dib8>)T`ZW#*V@f~*LWMe ziwEX$-IQ(Vi!J)Vj2FJUlgJ|pR{;LbVKR$cGpBTz1Z&@eLp#aM&Aq(7KA+K4KLc*H z03^Q+d~_8*PmFgtZNK3G_LAHi!=CCdSF9(^dvAdrrO?F)FA!h8-hIj1G>ng#f)wcR5oEfmXN6K9uZ_g;*N4QtMJRCbL!3NXs0KitCtJLp* zy<~v;6@h({=XbK_`CaeK}Scv#N!4o zkRTCTaiVcRZN9l+1kg|*A`An!K}P@k>HOUkO*LEQiylICF85tkj^=HG@v9Yn>f27# z+r{xOC>iOdb3b%{iAmi4#ueI0(QNzh(us&$V=+hoyfo>l^l0Ui#c|R;n2$|(Z!{5% zKSZEOgJ?lhCddEwWp(T5?_o42*e8i7QdX^UQs&dA^hPA1X(iHdV2N2$F?QTC0T9Iq zLjV}Opnz6HLo}S19|)R zfXD#`;KH(Xc4msA1M0oZsmj=%&B&dt>rYO==m7KX04xvxiq~t}%ZrO&Q<8E;z3CwT zFjIg}1NbBmWj+u3^G;F*iPnAh?P#Ky0=Zm+W&%oqlDP$vC#$t>Y=ZW20`Z59r*&Zy zqrf;7MvaPD@O3lr?(p#NM^`ZocBB1lH>L&0r!>ySjOKzJIVR~aD z2oN-!p8gNVjnvSzBL%(;wEFdrAJGz6zoIPlizwPA!S?<4ZP)eHVkS4) zVtxY7e#^_(_xAwjxNd~KDH&UJ>Bh$1`8h^KX#<%+8=)RLF|@gf!m(%J$+Uzi6~`d3 zd*&2Ll^)o6ak0HtbKB(`omQ3W^(+Ck3J3H~1e{jTGT;%m>=_{c^5R27Lmd`>BGW?V=PDN`dE?~p*(Rl%HaM+j2?w;;7c!fz zws>NXb8&G=e){w#`Q3XnK%cW2G$ot{ocdv3jbw0lvnm0hik@rPAX5|BXE1uXpTCGU zehhI0nqdH8tz9=Xx&jFD(`u9)Hm91&)5~g>9Dr;^3qLVEy+z#eO3hsmbR)GDpr@m3 zvG5740?QM>93i<*3jIBo^@&Dp2vHF-i8P*E*86M$ZY_@a`Lst;?q9&_ahrA_0s2&g z1dz)2SBK44bNar|cYDnMQKN?hz3xe2_uUCVJw%9KzJ~tQjNIP#OQ@-<6z0AutDgB!Sk8P<8e;Xux;J*?eK0V0og{J(BMDRzDQWGDyp z`sR%T#aOj}yb9-SK$%$qqO0x1vwCZgDc`~70-&!<@c@Ue;pWDls~VaE{#^zcCHMBcm$Aw zO^@fpx`69=)p`KEnD#~y15S(o!cA`2XGW1XwE0&zoY~{%?BdKu)E)# z@4Tw>Fw8eRfYIP+zXSu+^2$@XtzPW;&zGfl0AzMv?oVe5I==-B$jaL|0|DsA1TQa- z4>p+SA)N~H_Qwuko^Q|<_Z-UdpRe6S{2$Nyb=yDJ?~&NgS6MFpw0s1Xb@!-ld>4>! zmRAR}DZ`c|oJLrk-#=C?0Bjro-#HqvobUE>+;P?cE!uSY>p^HMh8ND~deK_9!GSDZ z?3%PR*NYr*NC5H${<{$a*v0pDBjWX+^M>A36oO8Cpdy)RTBkwd_@a36EFiSs>USS6 z#!+LOjte5*n!U0MU~&QBR|}+jNegQwKUf(MuhS*(|9iTeHgNfk?66Q14EV$}Hr=i? zcKzGc(=YwQoE=A~&w$CY?2n^j({G5;t3>Gp5I0j#vT42JZq(Urzc}3unB@gPZyA6z z^c_R9^3<=?zU$@uQo9#AM-(1pFoGog4MsO54@ zKH^l(;`%Zm$l|d(GFnME{@S89>@+<>~=ZsjQ!-rl-46 z#s9&lfPWY?Cjn2q&f{cw3kEd)M4N#`)@gQQY;SM(KXK1rcJ|c2nUK#jztSm)ruG<= zN|{4ra*q9WkXQ&V|CR#W-JUvSp8R_0mUu*bwO*WU{}9~w#&$L$s7tgfG&s_~7DfVw z2GEtinI!I%UbhNhLcbOcbo8D)+@5U-1Iz`e?L9y%(XIpAp=l$WB7?^g1309_^6HNQ zudM_7fKVrZ&w=>!!x{kwdt>aMDDgBcQQX>^tz5h*Iwm%b$=MbJjw)73=kdEfN?H0{ z00=Gn>h`oZMn1uWYC^%l>YlxNxHbS=%ty2MRrAGj0qc9=u+o$WsOz)5o3@Boj~TSl z^U4yhe&tnf07}&iQ2aS=L!cizwIOcOssMod10H7M=`>K{)px%!aDjidzjq7$;(fp@ zB)z@8L;1~&zsae}Dv?tBl+3wGt1Hy2+;xu&H&rA>nqk3@mw5Ima?dVi0yz+LQbsU1 zbv${AKP--0{o;E-{E2t|U04C=rE0abh=3Z1W6yL^&|(+Qp>KC9VfSJ8Tz_*iaC8At z=okAe`0FfIgPsKr_D+&u0M69?i=rdl0X`mvM-Ddw{7!~}nCXs^G>$G%;&2D@JoY)Z zZQLkp*#>?oFWGge&?ms=vPh%~y0#H7<4xWMh}XM6s1i-;nS2_D;m`vhq@I@6G(vGpf)s7(DqZ$zi)TX#Y+IuP z#9-L}`G<}Ay{^%`fjjoA&U`Hl0JbuQLNE?MjGrzW(h$5?i32>if5Zn~+4dsF%1j)S z-U|%;rHgAD$YWwSV1p|v*GT|zoe97Q3y}~9j9wzxZA^Ht1{mQK*>#w`@gGocqF(Ww zH)PX;{rz^U8;hiyoU(pavEf~(hJ`IUthX^sH7|Nk6|&IoCkSW@fb|LF@B=Rd17!fW zwtm|uxbQ1Lbh=c1uO!=PbJ+Nq2gosQpqjH;{d`b;JLdhX+qN`Uo=DEX@3i*DQNC7X0EqwA*eF;x0uaWC@LoQz+{gAyg0@reun-EdwsDK z{aO6>3ou(k6QZsYKW}fr*Ba7|IW8qlk5`9|-ybADc0B9+hqN-i3P7;M;EN?j9~i7@UNz_Q$u0g@*F>T|L8AYfdeTr2rb*EG7mf2LE(IOB@>^iBWi=uZv7`Jo3oqCuz5NcXRH%#R~#l(7YAZN4S zGq)O1O`*n25$ep^fmF8`G=$(wRc6PiIX(SGvfPPpy90^R^0NO4F!L+=2nzLCAU`IE z2&B>XN76h>l$%gGrXJEx?Pk?VRRlW`1k=k!6_X*`k8Sl4C3%=yi#Ru*!AxfGz_6$W zVOgC8?`(gGAODm(Et&4uJGVm@(yU0e)5$0hWb!rnq90%;il|BY?-AorjNn!T5Tm(S zxA{9|P=7EMMfwG)!v#jTen0BPTPl~7_(z?A`lX${gJdACj*3wyX_Eefncc_ym9$H_ z2(*5LTV|IZPrvYdSY6(@pt$V*wwrnGxsXI|BD|%WKz!sJk&*B8>`V{xJ8mXN_3p|@CMkbs8*&z#GTQdIf!#f8hsK76+!92t{D-A zQNBe>+>{4yeog`r+dOM`R$*V-|B{#UA$3928?#P&^5mpXSy?*SGcvznH07{5UN?3l z$Xw&bXx#W>c_(F{rUt1*UC_sL3Lhvv{p?>@D5%Sfp3|1f`qjlj>uLB8R)%RL7L->i z(U>3FiP#y4K;7Tgq#3-7qoX2E7TSsN@Pz#5Q%1xQ%G-X`ctcXN&yk@ND|AS~%kXUQ zga<#+C>l;YjJuc} z-2@jn(FZXrk4h%>7(JjZ8|&N=iA?Fj4ig?wu|cRx(?0i)qSnhWgaeXTsDnJvEoyU< zgsL@j7NloC3daslq{ZBD|Mcf+Rh)@oaF4;CVLH0#mlnd_`T;B*7cT;QdPa=DmI(o;uWBRcFMYiT8$vb47pZO zfTKl#Ow3`;uE2lTh4Nn~SQzQTOfAo4=e8NVyQ;A~+rLztycO=F$wKPa4`^Ax0k_y_ z8}pPK4d|$4Df9VSMR4QLmhmq5oPqGBNDGSf$uNS^;3(Rbl05nfL--;hTwe4<-Bme( z13t=&vdqqXl{xR3-_-W;LEvaD!&OonK=g-~Iur%AKMvtkmDrI7qU*0N=ga1ijXvrWxXH|kT(^ZYclW(&&R}RL zQ9gz_iJx^{z^A*R${ z7#>Hkw%*?)*#kj;mA>u`uOP()ZRt&0r_sDI93xU#Lx>^q5L~(8E?zLX()T8R4WYgSDt(=5hXkpCrZHE6qWr7hJa2Ieg-eIj z3R2BgyA~fu5^GfYB$btqk2#9+F%jHNO_b(4DTOJgYK@o5sr^6HNmXjsWqF6i!z67g z@@t4Pw}XUB$-5Or-`?s_WVftx7b_PJ0n)=^<KHlaH^8fZeTSXv0)YP7Fp{U{~2y zl{@6*8=|`-OdLQotF((gPBz}@#zH}eC(b9#N;L7jWrG$Aj{5!`-!9)^biWERp7mpE zX|#60x`&d)Qw=AM1BPvuniy-rZ`-t*W`a<8Sm=Fl;J~B5D>O3Ukzpu67f7mZugp4C z@I!#CP3_S)^3quClQ}loq`_BQb>5}zKwK&MADn3<3+=jYKL-l z$9RN%&Iw{yhvl04WO!)rYTAZ@y%daE=`%)FXgU{B^tTZPzdFZsPlYdj7nEiV(~QNS zO;lP+oVyXL-?AeyXtIy1Mb@}kmFtNX5^lu{p~2e1^D`DF%bkX>@0jVtIfT~AD=Xna z!cU>*|I9DqB>C_X6mQqJNtY+|bb?oXdonUPuq@3~C=+p{XJenS_m$n3$o(evC5jza z>I6Qs0O=bQSvbI8G(D9WfF(G^lc^+|kZSmDK7Lp6f&^U}59AmE!a7z=^4p5+NoU*Q zOVFIl2rI%Nimf%<4N+*^+ z4@_cBv53g!w${#J@Illt;>*WC?GDldvPkk6!o9Jskv%Qy`su95NN@tpm9cSnYf>tB z!W0Rd2{bh;AH>4(4~2;3MZe)Gdf52|mE60Rs&NfXK!fBTW#Ve1W$nW6-)kHS8$_399 z>k7<}W_v*5N)-r^83vLqsGeqk{KNGqA=m5?HO1$0tpqIneE}dg{gV6((a`s zuMeemai90e=^BVDLH_YbJz~Be4~FM_;}|R!v_BoIA8#n?uRA>3&Jv`{_A$zMsbT7Y z%vp)b6};3+Doti_MZ~qbke^r0e5W4*ZHeu{5L63*m=}t(;;%! zgsSC|?5v+>YQR>#ykaTOY*PyDnK;W}KaCW~DIwV%{2BAly~=8Beq2B*H*JZk`Uywj zNl4Fe_No`gF`hzNxaD% zM=kGqj$8#7tk@+Td8t3dSSmBl$g?09AYAlaFz{>kuI9XsR2w-FLKoM!qPozDzjP_O zBGU3D4Lw&P@7>w!e}0`ci|fYi;~a0UT}B#I1lo^yBxs&pf3`gEzbMZ@y(fvZtF;&ZBpQfpLD3=b>%!W>3zbNxDvos;jpOQ}cdPXk!1l z^3#+j5jI|PjN2r0mom>gwklf9M-$bB&Ovv6nc;|0ms7n2DMHq zDI=&oz$~age12#RP5*x5syX8_#tX6_b}aN+rI)T~#5=~0J&6}_gVI1fE(&JNl??2> z`T8cu@jh5^Nct$;YO}VIj3IrM)@Dj9F!dH~#=vITdfSq@SZYel%r)EzkxVlvx1h}z zxj{twt|nuWQqskM41yq!c$o;C7=a*Y3E)BvG>V{w50%(2WZM1&J{><$$X%U;X4u~* zy}?yMR?^iI+-iR-~e1_9D#!{&TGX^AE% zmnzXW;|=Jc&m@Q5y=4`N>6k@}2^0BU=|+i%W_lgyB_RD$iVPh8U(j}F^pfrl=#mao zWEBxnCh9`q|EMycN2Yhz=#HrzQVeQA~hfHoe`NJh0 zzPfK}36<`Caq$$BG(YZsX8sU9d=@S^raI!A(zc;zh8XF*84Ld1GIi;+e66^k%}i6w zr>5ui+1|N&(#Wn9sD2r?dVwougB)@E^%AZk7Me8Cka%oapD12w|CZu32hAB5T2n`k{ z(5m_TIc|F(?=8La-9Fo#LD_aG)q?hSB*UAC;R1^n@@mJD?y^9gPZ2ec#UE63QY-Wu zW#*{w`DDIQ$0`?8R3y7@^-V7F#{unvExIl37d=f7?&SLXO~y)X(Kv3THaW2z%{So0 zi0kTVo87g8)mWBN!9+NbTZbQ8)1641hP~&C&zMv{u^xL(Pefc#662RowEa}>tJ?Ox zjpoeK6T(%|gURtGj}UZNW23$rW32s8fGWv>I(N_bYtv|(rBDcF`dN$=@a^ZAJf z!aI6StFYRX&ForC0^>XjqYgd7lU;j99o`r(|D`<~O-+{bf!?voJYtjwsld0cj||c1za< z_=KAN^S>)je>nxtA-v4r0_O;1HGp1znRZ1PvoxY(uRsVFbiv4?s|Wq^ctNUOn|^9& zh?`)8{LsLW;GrU@Y}l5NmD{kY(!#d7hPX>U=+6#a<&SU9v0KviMc#GoCAIkU%9;Di z`{OAML;r=%h0vhIt}t)Dk;as(2XiA)VA$28IV1$>5~00BN{7zjFJ0rOnXJD3GTPgu z!%mkJaV27Gpe>jCU6sk}m!p8Y&_#})(fTU-SPowg+VNBfIhkmUEJBtf3ed}s>h%(7 z6#;sUFk%cvS}C)ud~$YLF#h4(kEhjZ$7QFRaY4sESjG6~i|h_INDJ$Yh&+h4t!DN z9QZB+DFKNzYzj$Al1L6{G7>1-eibWZX9IKK7HSbyXgP?c*4LAtfR397NUwa*0FuzqO6^NwgT|D+c}|J`n!a$>Ep8dTl{A{UM~&#Ttaztwc<;ge8@!0v+XK ziE;L$g??bJai2d~BL-@Q-?b|^8M2wI$MSrK$()6@cH^#b=!(mceYBtX{?Sfj zo1O>jw9z@NqQ{k$>F=E}5*^+efjJ~VMQg}~@Ca61DOgd1dmPESsKI^14LJ}Q4y#pC zN!iuWb)qxh5^*BuJ^s{itY=R&JVhp_vIFLs6s7$Y6yGj#hyNZ!BU-b_;(0P6Z0W zx6}n!74KrGCDd&h+pxB`X}x78o4%7d{oefJ&q7``JR>3XGz6+&sAcUQR4whBpuOlOtdL_LyuTY z&`QT_RX5W5!~emiWc4x)C-K)Z%)t_v#w4bec@SsVzD}gO0r}!MXRV87dg5fta26ee zTZb?>8~Awu=hxo_fcWXfhoazdyl<9dRrzD2?aG-N_4SR}#$w=oju;J8aG~}2U(OhA z*$s35K2|{Ce^e32!UvO6UrDF%BDgjq^RL62#~L-1*9C|{6@Rs~J|b!Nt+m_Vyc{jH oU)26O4!FU_!g}mToEUjQWehlT!HeB)1wI;1Nls0+O4=mke;hSaU;qFB literal 0 HcmV?d00001 diff --git a/img/maixpy_amigo/flash-map-150.png b/img/maixpy_amigo/flash-map-150.png new file mode 100644 index 0000000000000000000000000000000000000000..710d119bad03fa3e51ed3c98732ad6d764bdaad3 GIT binary patch literal 14075 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 literal 0 HcmV?d00001 diff --git a/img/maixpy_amigo/flash-tools-150.png b/img/maixpy_amigo/flash-tools-150.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8035d1daecd548c64bd82673ae5ddf1a19e9ac GIT binary patch literal 15078 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 literal 0 HcmV?d00001 diff --git a/img/maixpy_amigo/tools-options-150.png b/img/maixpy_amigo/tools-options-150.png index a4d3659add62c1cfe71b24ec545251045e9ecd22..959fb3618afada085775c963da3050fc17a8b376 100644 GIT binary patch delta 17416 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 Rl@|i|Cnu#WStD*5`hT{cPDlU% delta 17374 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 diff --git a/img/maixpy_amigo/wipe-device-150.png b/img/maixpy_amigo/wipe-device-150.png deleted file mode 100644 index 869f8e91dbda3f34ef45b9d721c4a19bfddb6c86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16589 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 z 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 diff --git a/img/maixpy_m5stickv/wipe-device-125.png b/img/maixpy_m5stickv/erase-data-125.png similarity index 100% rename from img/maixpy_m5stickv/wipe-device-125.png rename to img/maixpy_m5stickv/erase-data-125.png diff --git a/img/maixpy_m5stickv/flash-map-125.png b/img/maixpy_m5stickv/flash-map-125.png new file mode 100644 index 0000000000000000000000000000000000000000..7cd217c503ad43c57f43e9b37a02b94327bf7348 GIT binary patch literal 38977 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 literal 0 HcmV?d00001 diff --git a/img/maixpy_m5stickv/flash-tools-125.png b/img/maixpy_m5stickv/flash-tools-125.png new file mode 100644 index 0000000000000000000000000000000000000000..62a2a052b117ab2196d1d452eb0cf81e7d02bb97 GIT binary patch literal 38103 zcmXt9WmubCux#<7#VHQO-6`%+oZ?d4U5mRGr?|UAaJNt>P~6>%Yj7vI;k)<#2!Z6y z^XBaCnVp$EM5-vspdk|?zkBx%P4=s#D)iY8`nX3zfc|8w(#v}Hj{Kdhq?o#A_G!26 zRE?#^!Q*r7iT{S5Ttm`n_Fo>OV2YenCpHRk4BgpSbof|G@j+>ukzb`%9V->*cOmAn zTsC^IfU+m-lKIrTCXE^Eg67{0K9XfB2{eU8qDbzA({PDDWxqCH-(C8h+rA$3cbr=S zpA*bv5)&}m3$BEpg{x15zc2FFLa>yZn~zG{zydvvCyI^`5lyXt)i8UT@?{0ZqdHZN zpwA?jiG6{n(iF;+p+r{bpCTlul($;MB|Tdte7AVxGyMGatqJU=%?W^Fb1El?PAh^IYif28G~$ z3Nvghl0xH{I%X=VkA1S`=L}}sNR0b~RGqwLt7@TChpE)EMplK9vhFDKnZ)GANPI{? zcx&T{7q;UAZvIYhLeB01pw0u{pdHKSYVX9!?tdkVJwCVlWG@-rj(!KN=bgvq!jLYZ z6>oRuC-!(XV)d+mJI zs^AGhi_#7K6jjEd+2nQob3|1D8cMoSCrKNhaGqg5AApWa`LHOBgEl5dCF0?_QUY=A zp$#*Wip4_qM`W|G=CztCw_$98aA12tJ=a@isdMJJjAxW)2f1J@Z{U;gm011`R! z*q}QFt6E{vIJ4>s!N4XcP$UFWebf^r%bQi=pTeA0q(g!qJy^J^!_pgX;&QdMtF`2i zQhNXXR~@6+&zMYl>sebbY-_?PxMgesXB5g{^f5dN@{^j+f6Q>7QM8k)*{|0!tiE@( zPE*C@vYl)!>vH4dqrd;5yz^e%1YUvNLZr_8rv)Y4uO?Z#c&CS2a5iheg9K!Uk?e8a zW6Ut%-?n`h1M6q7CjPqgEJ^owIO)rm`{c{Raeh8Z*0S0S0Jy`=Nh7Jg7?rag@ z-!{{$fZK0UO+-t`v|q^Asj!#Osze+UY8Ij;u~s^&+a|DD{oTS$9feMBz3L=5y`ou~ z;d3UiJ@>&wNt-{Yi8=OqT;cCm{kj%zQ#1O6Y}qoaW&I2iDnO|U$jLKSiOQ|mfH)p* zyBMWF1!UoFBM>62Cj|IorkwM&G3P7EUA4P4L<-+_bC0#%Ocww?sP(&a1xka4CSMMp zCjuUi^+B(W&jAks!0p77nni#2**FQ%0_shZlACL`nMMB~93`5qc%!27T#>NRWU(b; zaopioJNT0wS-r5i;4^zTF{3%^GKydDvPd@bHn_()AmvED_Ypr4q=mxPzw+{h@Re*x zDH}J{X`3Sx>P~Xn5*6aMjutQ?aa7wY4B6;poA4ZS@F0Ka6b^v6@Px5JdPp8CX-)gZB$JgNYQz_espBiA*;?&WU7e!g{8YHyaCA zsY6cTNT6}8`$up}@HLV6zWpo5du-XI?5}8~Hg3oXV1C3a%;*)V$C*C9U&|1{0ZWz4K$OVPoTNJ_{8(s9P7xjyeF zXEUuyo+vCRdC}EmGA$Pl;|C$K>wU@hlVK&D!&g! zvQ8A2_+BC_KImpS9-cpjhFD@MrwsAS)yg=IuI* z*0zWCT+@}g?rLhAGZpN>uD8_eOUx1T&rmw2U$t+N0W$#4p@1+(fKy_IyUJYi-7fo-(|VQwBq&8@mrsu*iM-D=@0&SD zj9ZK?;mpfBBkP9A#Z-^5W>ml7?T7E;gf(E46}??4T8YblUyMS$L+Y~sr=ENEJX|l~ zB(861R1e2|;irS~Jh5x?mF@Sj%`MFZ>Wl%!!P}sOfn0q?mM;OUw4`1SQNYKSyq5{M zrupVYgVyJf5W8k(K#M%w#JZbl!VH5Vy`X0XSJ6NWrFcup2jWQYmF8fyf%du5{l6^c z4b3*f8)`~jv0U7BySb`JD5IQssv~xmsnmio+wGp&{i;OXyVYh+o+-Plz9Af0SVJ*5 zZ81KWHWRrcsAXz8|3)ejBvP|1Vtl+?<|EL^1}A8ElM+8`425?oFK483tOpk`E`7{g z>{j@#liNARypRzm%!pGe%fk4VULKwI8!@B3MP%=^N*pf1FBswi?&tZZZFD}A626)kQROX>`Be&Onr00bM0wrwYec1;>LD-Wzt!JqqrxJ zs+|nkI9x${v1q#G3SHxzYFBR~g*yY%U&e7bUPa{@)tX#B!Rn1ma21l0M*{tSPR!A! z)UWc``~<$i&CdN@c1z@=$F5KDJtg?zSn3v6l9lmQ>L^p+2?!)o0S<0uMM=1A+BXPf+SZ4t#onew(9)uIuN3ZaY5Wk_0qretHy6Hup-L)N-9zwcKcS^3j$fiU=c{ zD}Gnwj0uN@ft0WJSGv>RLM;mon7&Y2+jC^Jl~GSO98MdvpeuZB3h$TYZGlBppqKy9 zk|7_7YHUhO&ETrkxfsgQX#8b_!>VKoH^T0RTI4qrUij2(S4%vaM(xfft6&H0sRB$* zIQ^v$zY2dj{QPNAqGP|kK(6eDwT#R^j=o4FbI#Kc3qvWFxk|9c_40vwA;Z)PkEF4! z2*z=;F1N29BxqtgPz*>ZL%F9f9ro(dzRuPJmFkfiNQO{F@1G-CBRQ0Wj5W|Wt?1DB z0m8_ICgh2u8md}bN%RV&J##-*dU3ifGmv4A1Lm7FS`TuuwpFYW$)jG?MgR@kA)SC! z7ub}2`F33)qG|^La~;O)b@sB-d9$<=T;=iQ={5UAm!BUPk1Z`d^W?(@2aorJOCvh) zeyM`~>L8OBkK&-wsxCRGC3VQAtyx8K0=BCO5%eQz3zvMX>s^cn;6eo_vCwMez{?Wp zX31opSvO49%^n!`y83L^_f&Tvi`4`_glN9}P8{m+e-=>#fhuv4wCRC-g4#Vp*l7{= zIaBYY*laB-%_mmsY<}a2O~#pbSj`OEM!c?6GLtY6>mS$h^jc5^VSOI zBRBiW@jNq}yeC6vzgbQD7rR8T|7ak49ev3QD`-reyY;CA!sJxjP(% z>r?4}6_V;K&V|)!5%h*t^6EGdNsMv9oPjZDKFx)K0zt6T#}m;&JQ+fF-c$ia7e}#D zUy~e3$w(}CWI=jS2SO&kv}^d_LBP1?S7dExR8$n=f$0-pP8W>V#+|{VWyw z-Sh*y^DfFIkWMb!dJJFHs^(qt2+UOa_mImuK_aGJ?FA=FD=c03>N*;UM(!6j(Z?@^ zsCH=Qm8!Gcc=l4nbX8(37KPe3)k%YuCNaP^-tVWap`P`U>N|^HzN&`Zgws^IJ!0G7 zrQsL9z@frcfD=EK1XwF18ZX-Xx{!DcD=@~1(CprHV+iN;yJKPl+^DyRG8St@v6rRZ zGpF>+k<3!-klK3jH4A!#oH2EjYoGs0Fj@?4`>3c{sSvE%W$SKYM{M!+fX?{a`Og8b z(1>_(+IE2;!C|6^MK-=OI9(UPQDVn|?h%xTQ-ziMZ+H%onOyzMpBasCOK)AIBpXMK zq6efz+YW0-?(|^-YUl|U>`G%C}6i<%4U(Y`eaN(}H1 zxyFXEYZK^UTZNSv_`}{-e=LWaj>r;o$8Q)R!TdUY#8<*Wv`51w8z-sOkG-Jzv!O^0 ztA%FVk42!U?C(XTEX6GDxwfXZ7l(xqEIl7B)hUfF@-zqIO-G`oN%d60)<*~96jZd; zaz?=r%04c}gA9PSSGR5x2P3SEAHysUpEE?VwZJ8=DygWI;}r# z3Ztqj_X^)%qZU26GpwlG(SN5%C=jhR_GmG?8ZUaGjkKWEGhQsBqh2{PW7|DClG+{ z2-O|-(F;xNJg06kW2xJ%q!A-#0J{%b2r9`i8lw^p$+w9+{-2K*y6e^`5{If7Qz80lC8`PS6U%BE28JL>stiTnF>gtR8k3Vh>O_r)Gvq;7&Sb$^e z*z<13(BzRJ8oPqn){^vk|K7#!SJBE|W44Ejg8LMo?EP?j&g;emG30czA?aLA=vs}~ z)^to?Aa`$C3#{yY5zbq0*-*yPyxms4l`KeooO)1i(yL13&o95uF#QRp-baqcqV=kD zLgJDrx79naK|{?P(Q*G#y9Z^}1Aho!M)f-#>(kuTvhsTF@#cZ|X~xvcYTTvU(8L}X zE}~Xwtlp8&JvBPdJ1aN6?GVz5Fn%Tg; z)9a^A6P;MgG0eQST2~*z`Zbe;`EML{Qj(6mFnjdQAg-ME-(~R^}nZJ*`6w=1a1czOQ zdJ?_M>W9P5a`s*zYmTedtVSo)JpQBpf7N7C(}-QPW<}toQMX%^+Y|R?xD^VpC94VB{<` z^t)W+ccMzi-TR7^mFNew(;N4rjt}#v6bN3tG#&{VrFv;wWkJscf%}LU&J09p#$8%wkzN zZXR(W9Fvp9&MlUF(Ug|eYjR4&g4-yN-9FB?fo-5`x+$xGyUXU5ho47loZKRKrdinK zw}Z8|yu2U~OInIR88EmxD7T7Pu0a~3r}Hz#^<&VqO(p{kh7OP6z?9Ua!6){t4BKo{ zwSseii-^X3Rzl+;uArd#4CtlZ^hdVWnq{uf2+-rjUzPB{#rI`nY=D*sw%)WP&&#na z-j#=+q~__iN;|KWRNTdP+1N6#2P5T*I#OQP>q95$+Q9Y+3?n1;4}#X42K_~y$P{CS zQl-?5`Et?Oe;L^QEDIZvDa0wGVGaJ4r9v~2Or2<#I21U+#7ZCr6Jw96K*^DWqn)An zMt+ymUB)kpzXT*G_=mA4)KeL3oUQ~xUx1Q?y1A!w>`LY>mfv=jh<4_D^uW3HFFAR) z!-wa-`=4Wcqhregeq|CJ4a@TF?DZ2p6AUd0I~NLy3dy-H6e^94mBTR0{dJR{)ol-n zbzVvFPsI)Yc%5wTY3I|f;#$|mqhTUBkl-Y#M#TH0Z{Q}p6KAaa-S4HRXy60N^`nTN zD)lMxz0mA+o^r<|YwS9rys^8TWaP;BDDfRXBLlar&3KAIN-3>$0Sg0n)lB=nQk0V# z2mJ>IGY5>tY{tMq`c%>wdmdh9%vHz2)?E&h>k{DbJci;Q%fK6eO=d zd|cVqx92|8M0LnsDC}iI82J3ZN_M^AI{&sOPDV2dbfz$A7=5#rC^_(%n2X7PwN#I? zq={mA(%i$;4A$yN(42LZx_>NTS6_#_R{-Fq?AOqheJ#X0BG_oqyioHv=PSiISzwFW6eC$;NQjN!C5nnWVG3lQo+Pdv&rpOm6IBCKv7o+?T&j z(;S8HDI@qB6{qkfX;{Pf?S_qYD}EV`E(+Ie9f37pQjbi>yFp6QdH-hwU3?4K24Q_~ z1*3KLY&i#LXa)+%x*n4GprJAp?qz>pt_~<=n@$f4DUScC?fOwsI<`*eS2bC{?g=|G zTonsLRc{T4I2G?N`?-W56C8(Vb%nyKDv6^?%8K6aF=pK1%!p;LLW_Qr2(brI=hyQ6 zbXGPB@}-!ODb`XLG~#07ppo3IZxr@LO*EhAaZ?Kc?uwu4Vs&mMyT$GJR3%cMs!mH~ zxit0_oARr$C{IEVT}4N5;}<7}pZ?vUIhs`1z(xI#vDM%us6*D~b8>57=wfhQ|J=0x zyD{DRyYn@~ZCG-o>ub!!|POWXI#16BIal-$-JfV*Op{it~GBF>d}qpzn5d>08j``c=C4 z-DX1CoFjIU+WRUe1!vk^%J-6qN-6`FjPZ3(3_JpzDHnv8ZQ>$b;f_WYSRg(`m}Jn!&HlWvTY zmuBX?WC&?#+91zyCql%Lskk}owIUmHq(}IV7KU5<;4wu_nS+5do%K{f8!__++;@NE zVrv+xQj->{8piz+g5C_T}7NhN&iTW^urW zW);cLqV~JxrG;|?1x@eOGrSVjpDH_t4d6pkLi7)=$F))o-pMUBO7?%#;QyvAgk-LJ zp5s=jT#A1$L(g51VpLn)jipABD~qY{KC800E**K~osaq~qYi6H8LC^z;h2usCG!Y8 zod^F}vNg2AnCxo^eZKAO;C>#TIaoV{H34}1^qNEc+C)S1r!wP15K)DZ3yO?B+Hx8y zaKue*)3|K3o`sk@q6;@H^`rgPA9MBLTjGuarw=Vu)kGgbD;-O+(?v1DW9cnk=tjzhCbXIbSAf<#)rTTI!nZuC%xT7J|GlB2g>`}r`BPG)wZ^$x zVtbnDp?sRF?AF896s}uTq%AbEeN8W|?iRUqPOp>8#-HukujoL|j zbFwU@GZn{Q40Z@-?Aj7#@JzwV5zD9z7>@VOP-sA|RXyo3Gu6f1K4UbY6;ym%(VO35 zDfsSbTsP$?Z0pZsg(QU+Rs3rvY+lbwhz3R~BnIZ%HVFp>nRWpt2v>UBh%(F7f}91t zw#!Z+K_Ls_4$j(JWqXzjvk4C#I2d@#V9}6an!RT5{b&;@mcfDieF;j_%)mFaCYaY+ z-Ii*QR=c`U?9GLP)(a7hC3cw6DZwpqMq+By!i8#nC8^k!ICHfg{ajKxd8{qvab}v~ z3CjLZ)6V~G>(T>}Jhwb8!UzNZ<{sjjIYcVn`OZljca>f`gAN^SW*inwwubMqu1>KR zyX7OP480YB6Tt}lz5YnZM_w2BJo5r3MQxv?E2_@p*8G1OoExH`|Ft zR{19PFY#x(nT8;%1-OuxpaB*JbHX4QoeIRYiC*lQQ(C!8)5{duFEEAd^v*<(d{%O? zwq4Kqq-7Qqv~(tuN=p99+-e%R1(grNPDkclH-&fN#s!nO>j$xe)UzwzTMr2HpOG`? z6`lHO2wQ{jI7Z98XFh5e8b~)QY3hU*X}l(43E*nbm3_dWK0tBN4V%}ln3&7v%(Nee z9g&Y-G1eyUHo7K~)AOA1%QmyW8vYK>0rI*{wt#MICwUgsav-RK{5w6$WY>14LhFs7 zu6VV(6qr)!qOdvsrZ|QwjhoBZ>>VOWY_)+oYMih~M$=mawV2SsTy;h46t(riL{L#1 zo|tRNe9QY50oZI zr@@_YxKkZOY}4@4BTk30(M{2F|NebRoZUs2pG{st2RrmVsEb?$$JfyLSJZ(SzXD$f z6TTT;saFs+y*i|1X$98d_GaZ|PfUq)v#yck5HssqIs41+TJUl0RSB!#aAMnTqWsHe zk*m*UG!XD6#0Rnz|4N|s-FblCEzhCa@VVLW8snuGqt14*W;{JHyL}F3d(!`|@pQd& zvDSBwv3@*4_=W=bybiL+q{(xywG`Y;5*(#J$N`^P^0~X@IVH~1Se+Vui(-7KQ1+9n^`5Upxk%7gwS8~{qX!Kbt)makE;qMf<+ltH`HZ5r!pCZ9b<&> zf|1*EdAHqdQg@0#)w23#*546^&vLcZwS~0`V=Iz2cgvLQIlZ=hpK#-0kk>nt#vQe> zpt-wyJVNBf7?xPjbIQ^GI_vS}Kx8uSbvciZbGg+q&#`?EFOHb+-{uow)5O*`I+~^9 zFUa>m0Q%mhxGm?o$V&ud%J88NzwL29%L}>^+dwD>f9@v(vjx_6UCC|Sl=5CO01Bg=vBpg^nKL#@%_Egsmyq|ydddxBE3wJT zzu!+RwVGX$a0Y`a=XXx|N?Pw_-G*~6M2DH+4B__xj3|>)btYKYF7H#BD#dmOd03lkzO4{mHF!*jCXS1~>bmfb?M6G*0xp(M$KY??y?C(yO`xSZD{{+DzYHJqhuj6^wR@ZL` zKpsUPmj3&e{^4G^kMWR85e`LcN1xTzw(ALj<&BMfUjH55hix+OHs`tJfp%GZz+Q@$ zgTLjzMaC`2P^#)7g`4NeCg%O&O_`HJ*`R z?B@ie?Udzh>h3^8U(oD6@@V+Hvgip7)NA{sU!3D}i=(S;Ea)*8v|U8@T5j)pI7Q)T zZ|^(=op*z}?{%^84Ll1xKpW$GX@=(ugqXjftMAeU@R+jffHr}7e$RLI+Se}QSsOPr z0jH*9pE+NbOylcq7go@WQnKNHZvyj+Vw zuAh7YK%mDc#+oT;$R@&|@tc_RU;*s_1?v`kgad;04**?`T2^Uw*()vDqdba1LhPa$ zRY_#y8jUQcC>~)3eIbHRm+{`nXimx1H~gzbB(O}Pf)fJ<#N&|%akK>lQgN=2|3=JK z>6j;xebU~_QHdqO*>|x<|GVorciE{U;4(_9>tFH-bgiBv+AZy;4Wm3m_`m9>wEYd8 ze#4i&__WhddJZreI3su8cZ2-CLzk>Dd($)tR-b$_8^Sy5FsBw(qVU%Gq%~nbiZpG+hX@#f~tqrdu^w1k@4b)&?i`tT}QRAU z@#H5g+g!!kLK4GJKNC`GWM)i{ZJ-si2Ayl(%?Vlpb}UvjS&Xr0S}Tm?!$)$i1qqjI zjX_~#NAL;N{8UWGet)J;b8u5AUZDUQa9tq-@*BbRihIsQBm7^AqK|KQ@F1|M{0MaB zHwwyfrjVvonHx)(CFPd0UbED$9s2IdR&mjp!IgdRDOLQl??DMFzy5lnxgO_80;e<) zlU9#H^A)n+Za-w;<%l*HSL&Ro_!7#!{jGfu?xE(R!1@>Oa@mO+mD$;fQme{yB9gLV zs9%j??bcQ0*umo?-Wje%Tcx&bL#U4~WY%}+#MX=WwV=EP$x8iuOjm5l>c5Jl+krEp z4Fo#Tn7EI|m`NFE^PB2iM#qt=^Cj%PVT@5Nf0|JG#BCI&1ReV?+c}LR2*o_DB@|b5 zq);6c$F8-P*;Jh*TaM2-eCSi&8+`ds2@B37WSR6fYU0Y@9B(Xz!{q8Xy)ql2tO+(` zj6TcB<@#__S){mK_mX%~9Tp7Q0HQhrQJ;@=+I(fi%AtkoVWBXC}!%?vrs*&t#M zn){$wUH-+3H7nELP<6|tRdZg?7^VEeBz;a3Jvv1cz}J}M=SHoy98yvqzmbV`WAnl< zUcsd6L!r3+J0&;qhrY-9kDk3$y|%j*+tr%a z-Z$!b3dA6||1RENKv*K@84*YMbmE+trA@SOq*Bh9UBb$=9#A}Ob~c zkuk$G6w{HH`vXc%UNgYAK=2}X2=YL7a<}Su5D$5XM>_;K`c-X0!1pIh^``y@0-F^= zK6g&1OZA*q#6sS4z=vpHd9D9#RhHjS9LcqP>w2kvr@Q^#*(Pwa*6+-=*>aL}6WUxl zKt0c0(BJ(QJ^b(i+)!@lckY^Z4eb-R`@F!6+JM)StZStJ1X*FHt-wLJsmFu7Nho^X zgEngyd+wSy8ZG0`+jh|1W40GE7f!hIATI}L>@T;q0s0Dmlhd#5RNU8GE(0%V*ZwHv3lwS>{+}?( z8kKcpd-D zHWmeN_dIt3S2HRi$o!XTy~b^u-m>Vi>DO^NNc8?CW71a|O7x($TrT{2q>-<=kG1m0eL_>IxgTuS!%i_ExL_puZB+?kT`M(%HqwSbw>?aXRQFl8xx{Rx`S zAyOX&-ZiHX*0!x+S05R8>VEY?O*9=HvKlw<$lM9doX_0I1gdv2+&XxQ6AWru)kaEI z%frXKve;ZERKjsD_rh2wCSv?Zxj3#7!Cph+oRXX_2q#K3(Qw0YXxD=+^5lf7N@(3i<^RN)M^QpFB-S_A2 z=m)XRw=e+~?oaC;n`b0s^JI^IWgZYATV!7-+fHgaeGjJ!8fV&G?^b!My_Q>>n+LoO zat=mWfyBKhx0%X*$7*YCvx*xlEB`LG`-OcU*myU68x8Lo(u}iK9f9i@A}?%)FaPkn zt@fb6m8PtA_%1u+Wt!~u*L#jxXi?I>T@Y}A7_dd;*!2qlV20A8^x46Sv)0WCYtx6C z&hwRuDWN?9hSRn_1oBx-6XsKgjzk=T=Htsk1SKz750$ycplXFuxB*83K3V#qr;gO1)EW zw?{1MJf~ID!kUjr$T<`MIA*T}9q(eb+wE<;4SX_76|r^+ig1e97asf;p6vk@_i|h@ zNU7JFRVhQ{rv&{i^FEeC1f$IpV^BEQe0;SLxgCY7-#x#osksYXD+38cJuCPPZdpJk zzg^}!W3l#jw5Hzu$DpwK=FX_>Kt4aj*(ea07^> z96npCmj+*?!1qheHbjhf!5^}v8KT27GXOa(il(9bPWNYeYVyP0DSoTv4>kH>xst=F6&K z0KqC+kLrC*U(we1B2}95xi!pq0PVeN)&RDHiW>CH*|8LSLoLVRKfF0%{?|I!jbcTa z)#{pRCGz>=^ePex^LW1$B89=4;~Yoo6Yz@;%(uwKYl-_4a& zlALx!&tS|AXVVtnRp}(hrb_!&k&4-3o23E2Tt!sDiaYEbe^DsC^o*gDW3l<+iUAVS zO;%r~%;ld(53-V=s*WX1=BLXaHah)~rk)J2Rh9&zXKy&Jpb5DKxBy$LB|_ zqsFPu;i>T_A_GqA4l3r!M%Ql(z!vPz}avuvQXqqTvlaT6>w=+7%Y>yZhO4>HI)$C&rI7g>ep9CZ7~t z>v&GVdk_~1)=ATLuiP*Cl&k~C;G>=W2UzIPWKIXk+z`DRfYdygg*zE?UTbOi{BE8XWlgB$9=06O@1RrW=58Du36H*K%9@pggwd_iW zA30?`3SfD76Ao)q4Kh(z`BZmv+c`WAay+ggm3@QzBQQ88IT0~PccI3??r~M^e%JNH zPRpvp4tCxHoTJyMUfWS=mM2u>J;rW6prMoS|5@F*MdI}!QCKrXTTV8(i9AQ0igTimb8!EUg} zY0@450YUtFZuNlktsCBq0k>KKd-AN^$@g6cLf}g>h%-8w@K_`^t)Sv83`eiL;gc$O zTI5LvoFwvyeFxeE={a_%jO|t#zE;)(!QM5{$ENoQ;CsO9?VE>m&-yyUDzxWkwfnT` zxf4tL#i{r0F4uz3zY)oH(HuQt)AZdl9J_BdS-LL7A%B!#;DC==z$4Ie4`|0S;Lg%( z_m_3>j5b_M1v}ykD z>Nl^z0dNF06I$&3?i%y2@(ty=(QP|c8d8a`w+k&@Lga6?JA5b^HJqqtm zw?$M+e5I~-P7IqTVMmWAO@{^WYGll$@Y5=z|I{|>D|+((+JqUefs;qDFJOz?0Zhkh zL+(gwe}{yar+xms)~eNWl@jC23%+87TvZx@5h~W{SpyzN+YfSm9!@PqM!WAfM(^%;pbQ8&1TC0jSMM6=Z3`qK-mb>icf(vX z3=n$b6?w~}d>;-uEof0}S@0Y%DN1=L>7qkpZ9==w%mC!#)w*oA)v6UNvvkQS#OIt_ zafKZS3M|zPctyju?|Zct2PUlW)c%<(EVx?ezuBI6PVXh8iq5<54WQD_W#sXVpHPG+=6T9H7bu=%>adHePip@j7Wdcn(0$n)>U$er zzVR3?#jLL@hTuKJC+MEQl8Gm!=JZ=OPqQEFxZm*U{v5O;o97tn^=Ze;_rh{w1LZj- z{Q@rGD)W*8K`$-S)Xijc&5T+Ax1R+&O#B+Mw!Aukxa>zol95b_AP;3v+4)#g&lQMXVZ)i5pWRnvQbMo{0LE7L6(C{S>*td|oFVtBA zNciLcYWL1y)Z9j*?^u`qHkP7{zy{U>NmVg48AgT~4&Z z4R9EVzpLkLw`-iy2v{ zFA|G>4#7fuO5nH=S0}h9ElX39t}tfsYABD%e&5kH4SY7S`SK=lJjZPfiXuq8ziwWV zZ2m^$UArhg0Ijwvi#&vgJanzE@=6!2m>sMQ$JHHQH>r*k+k^=xjWB7~=l*pS!`MYC zQN*?oizN2*Lc;y2Y!QS`AB<4MX=?Z);uiUX#@06UA+@62wLut?W&c(g4xMK_4n2<+ z4jo4{4!~D;2dJn1X2D-UJ-Z7O;01~#oXBI6$nc55J-`1yTK`}S|BDc)g%ATB7KDMG zYC!+qkY0l9>Em0FcyGP%2HW3hFv})(6VW64hMF||p2;=dWl>%5crOa`?a19h(I712 z(0tas-J0ZE-3G%mn|hdAw%v-!YOarE?imcZ2=)A--RbG~dp`*-X`93YFX)g3wBDIk zBoqHM33-{!I9L{WDiS${jw$l;z(;v^v?7nP;4|QBtFZfN`kVBJjw}2Y^*x+7ybc~o zK%PU5{*IFmzNWC{5Y#3C`wR zy^Fsr*GU$K*Ts$|E7z5fJth z=M=-Y*b4gGw;hNi;@PI6N?oQVw~M6>Q=E865kyZBS}7KSfCWgjnqr*C$p7YoovFf{ zKrOGyy(WrR+&iLRUPLz%iT#z)**Ht)%d7vo&%}o9__tX0MPXi4Gyb!mMAL10sgtpO zcaL|i_xFJIePYuw_RE*+$?LaqhCk#!AWzw9&+tbKR7H1tuC8tjVgx+&KlF>dNI(_l zVJrryNspEN9lY@#mX6tK3ojMuLg@WON$yYC5vmVW1J2Qum5NRu4sSw_(Z>rVjhY_o<0jfUalX0kv(E|Lta5cP#IM{ zIOOc=S~LlDB_8GtUp4$*cF2bCdoJL+pcKj*D%s=Tng^s9?)k{Sr&Q^AGfXrYhrS%f zMA_h*eG)iTbSDy*U~$}|u3imGE^syzCH1*r-p1P}hVah1sXI$2r&*RFk`v5$ev7FFq*uxTWF{t<)b#`TLQRj*?}MBajAAQtbBfP zPSm-{S;{^lPJb{8PQ~z76OiDlOAv{_FcreeVyvT7{*hNuXY!zB)W$S(qE!+W$vY;> z{M$V-evsDor7^d44jv<_Fh; zPG$1d$952P;YZA#&)zOY@BWbM(A6-&{WhhdOiKQqg!rl7sT$rxGNn8gR*pHbiyygx z^(l)Yw1-~&+SUaX{!?U(QQ}`1b}1%XgR>6{4$qh|O+KP4x43)*Oc&)r^>hF}O!@S~ zN2)-El?%L?O3h&;a>RdDI)Y67tO7y2*|m<;ytyy;jVWM~?w*rc_eQ7DhW-nlM{70K zX556Q6|urH&X4?}=Zn-;XQm47pUym!j4GEhG~f^u{@KfZ_yJ=| z8gm1+>S(-P&alXIj3L|BrRD=1L4OaY_;fiF-^d4&jx2a`+T|T5{ap-s6Fi)tsKAyi zv0j2W--vk)$uIA7L>=!gvfh_DBAcf_uC=b>>VGE6~6ivzonM!K-S^(xj4$Z4276T$F?d0^8pgubf+dtCwmAa3ZUAXJ)P$4c`#g;%AVmqZzo5u^ zVPph1Y!}+Hj90#q!2b%h>Bs_ZWCCvTeAl7S5d(ax0{(M^+&S(*N5KS83LKF7&WRW? z&*z+P4Hy7W!H~g#trO_j)2#W&dBuMWVtI$s&?`KPp1`P8t1OXyk`1oN?W@oS=52*`zY0{*6u# z43SH0ksv5{`#|=xg$RkR^_%qB2)TZYfhwY{#=KXiumA7^F7YpCMP6sWN0kd=$A=6A2sL3x4a@p4}oV>k{t-U9gML9(|_hsf;R5 zkw0J@MANbLt9|(@`Gf1uK13{3hYR^|4pp%tC6t|halb^`FaNM22H}}~z9%@?k}qUY z&F`uS7;*rvsttJDOS^#Q;ATez zyp!(w&k?-uc=Kk#d0uPR0e$6)H| z1t!$o?2qYGkm$|UuA5@d>KKx!dlFnA9UdTvte248%@%g)1Gnead>@b&EFH`$9=wh}FP z!SNN(|K1}YjhC0V*4r<_OB(JCps!F2A7I|*-S4KIT%keG8TM&neiHd;^5k6G{9)xa8ke*;b@ z!0vg^EryUc=M^eVWp3a24P^I(RLDCt?=d598d3P-{mV%0OVnHaAI|21x#D)F{(BKR zk?q*eergnX=IpwOQsHv_|FZxy@=tF=g||Z^vrq+ndpP|WDq8ZUpylw*7piUMCtuel zh2|#@%yD8z$Mb5h_w2unCs7VxC(4-w zevzVk$4}%I?0&Zdk}yO~#VeTKFO0Rxc&p4f$*|M~tqXnkG_I62AN zcg{O!_kRhX0k=Z1hx#QZH_3?K7er~mP?o$)Gq)jz&p{A)439FAead~e`FfF69srRc z#(0GW`&lXJMG97>|I& zo8GcAyc_dsg<{|i5Ln->q3k*MTf#K;pe-Nkyp-`N=e+OPzpE#5 zg2;8P%ma0LHfD4@O3K*Glv*P&H9d%Q{2fP4T%J*+rkr(FI)$dl?=6DLf|EcH+5W@RS5e z{@s)7sX<+*(arb3vyYyBYbh(QJ>L{{eGAjK6W0fH0)1+SyrR2NYa?*s{o?Yrn3X2_h7>ql_NzfG7X< zO%p<2uj4+wW3X+b9783-raxCJ(EepZ=CGV~$6Kdj?TKF49m>!~&#$$%cHplz9+kDQ zT{igTEFJ;g^Xg|&sQ*%!dKTWlt7Ek14|NqVTP~Ua#Xm#YC=q4nXW$yQ&v8 zi5U>FkZt#eD5>n(ADwDVQS6R~DBmNzpl}u_EhND(nF2;poKO_25q}eTK(y+bVHZgz zV9T36$2Wd8y=hkIcXy07hlxP#>KH9vCO`(=nOaQAYU$Oxy~H&agkq#khX&gi$o8+q zim*``JSLlMEk+TA>IsaAif9K4po$<|vpeJ4=ltyP+B|%XSg?guw-r^{LnaCsAd>D+ zP&;^z01$Q>zwzP}Dmhjb-~Rg+!Z;zzfNH_+L2x@$B*i3BThkz@EQ~Brm+4N|0XR1d8hc%^3VK4|ltN|y znh*(L$rBv}YDL;tE~yz}Ri_$vQyTV(^NF9|?sKojFKzxb80HPWlT_5|R}f?D1VaqInD9v;bU8-1l#` za{f)TnqIHtKIN4T&g}7rVUK&)R*;W786#Cp=-!#7LB&Kvr~foH^LV-rO6d zBRo{#K?F*rTW9#j1s70P9$nvp>b>gU&%*n6@_Lz9TL4s33?LYiy@0@Slj)J3hfCVJ zeH9GSRRAND2vjT#_S}akND&krtE=oih9pmsDlMKM1f~)}d6)p1_K@?uh*DE+ZJm~R4hamN((i&t-nogf(dNf|7VZa=HWCB=y@Dbou4h4>P%m4fVkK>6psPi zptTYZFt<6dFs7(E4j=}iES_URfq->zOBuo`DdfPsEUZ~Aypt*tnGN-N4&<9HguY(K zeR{{}$;B;h(dh6VX~uI-D9^H4um^3bf*#>P+XkUZ1p{eO9@yb>kHr;*Rgxyt@!r=vJht;a4n8z`UZU8s8U=ePUZYjKR%>$p$%7!pw;qmU#c0-2x+ ztR-MAY62>o0F5N?1vmg0odrPfRAM%Ir>y1vrgS5mw9SI#{kjT5s4`&3$nczA$u5LT z(5jxw_zx!!;*DKRuh(&(;!1CNyM)<;HVSS_z7%mFg_AHt?f=y^ykN&qppyb3waqLF zj8#aBY32NKLfI!*{lF?1jRu44q-`HAPpWoBV1meWB5B)ky?N*GN}?k+zZdf z6}YOfR&iBvy3`|5C>F(HK^PUhYfO{hB`l`Ltc6wm-}JPHn%$EOp(u~erU@6f#`<^9 z9`vj54sKhG?f!Y~ZF6|%I3O4IDtmexQY|1*QY7Y} zqKH!AEKhbwl$696z@bn8m`iWCkK9u_?o&R79RMMCU=Mq^(q3h3ZTkXfwAAQq^>%Qb zm>Y;tkPD=z^-%7gAQW_mYTA;l7QNw{YEn}<#U%b_SLo`v_<oy-MHRUf}T)Z_*GAw_OtN*-5lepQ6L1WWT_f@lm`0Rq@)yWKhiU@wHr$t z$`yoINvmXng?P%pp`u6+wT z4n0fcUfW|_+l~FbYMTqe-9<%cILNAd)&;QdgpmFGL&newkwv14iirvrW(hDv76Pk8 zhy2b9-1%;UqdnpoaGNZFd382;Q>>;pewDsf$B-QYBydTX1=a%B0;b4IuW$$UJt7Y% z73V6fSuB7Rz$n{=Vf9RasQ_tS7D78jn!_!^WnB8TRYa{`*gX_U@#KyA?D5(>1fbgB zx05FFnlGzOpBC&mG1?>wTS9@Jt_cI=1HMw*`MJ@R?L7jN?E&HR0N9fGDS;&+dxS)& zwb$A`ly8<0`g$Gr=^bNBp27)Pcdv*nbLMt>4w zOJyet2zTC5Hho`ew-e`rCT4?R+#TatBKH~}<9Zo9gToiN_H0dTLuZ31SLqUqf|f@z zc>Ed&3Ij>avYtITq~WXPV9+ZzO|d}2gn*&~iA9%gQrNEqzBjIg#@*xDO8;(-(Za}t z{V47nLJ}7nR47o0*0V2iw=8=F7BK=EEVM9^_7|nq6;RkkT(eu0+Ipg;S>?-5uta;C z?CFbJEX(H9`NWCyiJ#x@bFalQUa#Xm-D5~(6%*b0hZ8|=HcAwo8WmE6v(?Jq}o z&K?$*~W)0&bXF1;#*PPkEruOLz=( z?4yLhP<`JI17G<w6yZiZxPt=c{K=#k;fb*Rg>hAU2NBfrJUR$QQlhS<> z{+(WREdM2+c+IQN=^uaYzjgb%JN!Qk?``q2PyTuyLMLzl-u^Dd$u_Q+G8v}*LheZp zK=v^rY%Wxdp7cmIIUf^7kJN3;PwftMHchWWl7M{A2!SO=x{X!A^DI0PbRu{pb^jE6 z^uPWe!dc{b0&BYB;}8*4EzcIKJ)U=WRfUiq3D|BH2AY>}{db$`crsuKJwgz=UTVLN zU1yYi>Iv8i86X(e1p~0)BZvrpb`*r{&o2`T*URj~03@ykoq@Jy?%#>s(AV!Tf0lhC ztF9x+fhilooPmVE2R$HZ5_8#OghAX7jpqlC)9?WEDlT`4QYtXJ=O9AK7O%G{RH5u! zQIZx}&68po<)YZ9NJ<$OHjCLKI=y`l_gn7JxOEw{MZ(xkX9Ls)Js~e>w zt-_B3S_{-3+pWH?**AJmg<8aZ&DevgRZrn?eK0aEfz z0;)hPr2h*-IW&MAJz@?(i$^4h1t^BQa+J^>UemZkRlz3L9!(JUh9&zY9XPONX=x%7 z2xe~$p|t~Ug)(fV8xkTMO8fS37*43vCVQaV$t#KJJPBo)SxE>YMyTdOO(1&S#w4W_ zhJ;b69K(Zli1v23Zh?_jp;MSuD!JPQsB4(t*CR=cpteqVG&_nyXb|+6Wl?N>Tzgum zNI_6^qg;6qWVF-&Vo-qQ?4_3I`ENAqTdoc`h;cdOvF*caoWO7&76(&^;3^}|w#uN! z-INlKiAISC7DG$rIdn%p8iN$RaYS@F?-?`FOrse+_=XSJ3vCDr{%Ph09EwBlw8Hc(D5KSZxfH_(!JqE!!rhpzzI+k z*a3;|A~wcGQCwoMJaB>jzR>vTYJ-tMx1a?|3~@!_0%%OYgF8Y1OW}}V8!-SYq}6Mt zdaF0WOD7sAQ0zM1I~O951zj|;)VqXeJENZVQ=r`r+uK$pl$I(i>8lp^Q(d116wJH# ztn53|8A${%j4V2iR;f@3CbFj?q)J+aJchu)c@jEHd0H4jjZ9xM$S7n`tU|)wKLap- z0RSqkDijk*lbKNUI4slCt!U7ig-l{V3NEZ%DiSLw4&YE>BsInX)?L?-0L>B#&b$uq zE=mb)5{YRogxWs#iq-)@_oJv&CoQyGN-S2h@TqW=Q4tWNa8IP$WtY(c z*@L3vh6I7p@*a+0N;hj4+bR}pxYXU>6 zJsdKeh%8UGAVHa=kicREF@|67Q0;_v?L>=^O2h<`rETz{2`Zd(dvrKeu}2zpvC0tX z6}Dh8slP+A7F0#%{nWZFY5^<=O0MY|dzT{Gb&jX-V9|9t=tv`?dk;K$k<~UXdX7t2SQBb*V&kQ)u-&G~G1bYt`Je}LcV09Ig5l(U>O!KoCktmgI zse4*r0!}^>Pz!d01EQU%Yiq#*?woug=bH5UC2Wp{=sZqn^W^k?0Jz4*fm-g&8TSV& zFSh84UPj%#XNed=ma#5>@2+b$(+OB-hIW5wmn90weJ7*ugubr=150j0R0(SVh+*NW zw$ld@*|}q1vFbdg&{wb8>bv*p4k}G>`W9RL?+o^MUK!k=N1ScN*qL0Xr3>4P6sZerr^dvxj9dsLkf>2&+aU7p%%1J z6FXpC(`Ps_OSzj@GI!o$s4|yInc=V>PEA zB+Dns^JU@Q2$AHBP&8FgkhtnvpEK0S5+J4Mq*1}3>0meWf%10X9b@~Sb$#rUtMaGr z0Hj@-`2N{SKQG9Hv;st=0$_GG|6GeKiHzP38sNqia<+N03Yt&_z0uAVlM<>PK3pvF zY#)FiFe$A|u`(rIeHuHg8z2bv+&qBRNw^+UQgTOwszgO7GZ4iKa?7Q4RO zO>td@?EkN@;jES#?(5C1cb?e(bsLkAYx)3MaSyw?XT0jNnCT|J1Eg# zg!=#}hk~gNf#H9ctBlU4!<;xzSmh6zCyN{}9zTyjcrpWl)l1W#P#q2XyJg%#6uQeO z9OHWHAg)-Efi-`=0q4kFW`=iEdN@P_UCq%(uOW8u-#f<@w&-l2)7$Ij-${wjNr3eh zWge%8%=l}LVgrTYb}8+d-~DZKZ*kpPA>5tEem8}BSmYIkb*kvBd;y@$N-hQV&gW{> za7x}GoT|S49ZcF@-?nPbvJI46dF%~ox}b&A{hfyNsg$Vm0!{%X_tqVT$yra_Ro67j zhqTbRIkv7`^u%}FLRHBAP}jSEe_Q>;U`wgO^c+p177=s+ajhyhH46cX(azEx+ZqUM zeMR-pF0Q(6fbW;>hNal(h4vg@zei^co&&yz%Lwv#8fVe{*)%{_KoeWH?;@6<5`9Kd ziatC69)OtOr89)I$8m3mPRQjT)!U3~5ncsF#&dC>>w*DysO^_r2c7yQ1Sqp*8)oi>#M)WDTU_=aAE(vaOO>r))mZAJ(Pye%h|_ZU z-uQg8sQPMwEwWYLgm*!pD+$=6$YD)_sto@p14|1TP8w=i_0b_*RX|0r;j-Ez2(ZeQ z2f7pB1-yy|*x+r;GbzXy2s=5d4piNiJ26sNRSGkq*>rTf_WCbZqQI#Xzy6V;6yx(H}XF$B}6+WI36Lu5&qE#;Aw|VZsU90Fa{V{#lrw z_-kTkF2u;*eX2cm98ZJrOewI3(G^yU{Oz6rJ6n>72xRYIF`UFr03IHk7!WuMMJK44 z;aYcU8*;#RX&=jF9%czxuGSGkjNyd0WX{^<80G|$vL?CQQp$`LDHfs%gTzYj8xe(o zdCZJ%L{ym9%-$c-$ml90bvS+m?l-(Q5WgitU@ zNS9?Qh`n7zhWcQzTV9YTCFw1yoD8ZfzbU~@x9mO~vQWyJJdG1pT|@?1Qf-+BA@B7gocnfzf1*x0}iF5DJi&n=_!4*3m{yeDngUiAdeI)M1aT3SjX$(F9D|`_G%;LKUC`%9j0C``0}JA_M`q_0E+L)hVpQlLaMaR}#~%-+SW8Y4 zPVACxCvDRC(iYE+3OT(ar$={^2n?6;rY*f&$&ifU$XVhsjL2~n&J!B;RnYn7hRg&` zC*=rcrC5tdqi@^(GL|^aw-7Yf>Efm99ajP*j|fG8RWxenUE9%0lB#%_LNuflu@OJuJf|j>5kwxW8|X%hV;qn| z)Z&rQJjmP2LK4amoS=u)aP2%vMHLg!5Uik)*!hfB6sx3%6b}+dga(ID zYhg?v*J!CFfTbo&fNI4Iv{Pm~9l4LD6F#r*Mu`fS0M>E=o2P-(05~rQ6&}w*9Er>W zwKbG1T$-E-30XZWhJgv-44^_zSh^BR?#7xsqG2Eq>GB>0)FdW>N&uOdRTw-lj)6m+ z8x%1$Aq83mj8W-M9ub)XDHB7*4b4sYa6LAy2gNCO!2g0<(E6f~S7LUS3s#}G5U5w0aH zq87#B%yvoIL{T-`vs~7~X*NNnw!DntNeWV_N=O2y$Obf>2v?OZRk#pPhLVAM3=sj8 zQNPs$%9=uu7-J`@(xovQ!8T*rWRQ?O_tu})AcHdoNf^SSYBlJQTwUWfsvY{-u}4zSc#;gT?Ty9nmVDblo4VMZD~DzYfotSHSEZK6Y+VNvWc zHcoJ&SzxuyX*j7Wfr|iGcG3lfaPgur@dHBf;2!fL)z0H)V@#n|!Za>|;ADwaR?zgQ zaY3pA8KGuiK~g2LroV@XVQY1emsyHcJdKb}V6DC}98ZN9t{iEdz%)h2unb)hpsM;k z4OkC~X*!9$aGcf$eWwJ3DDzi?8V2c%Wj3*G5UYvWAX{ANZ#tMznr9DnjmoaK=^EWp zo*1xc=xhciP`%R!4iZ|00k49RofFE*lCPC|z5tDbjwWZSk85z;xB?MC8{g_Gh6HK? zVmX0HqgqVHCE!O8~*&8OW&M-wVZD>k$g232_W4L)6SB;4TeW4 z_heOvOD4Kb*6u;xiUA9d9Ter38Ey#Ec{BWa<1}t^tTHM#3pfrN;9M>Xb%ZbmR!Kr& z^~cbrl+++Id41!8Q~GcX?az))ba;7$r0HANTT~R%>;R&t7tYJlcyJG>fq7})JBG$E z<~x^!^7dlkPTah#U8Uoi4mNhk5A@}`3k1h+R!#xML3`E*+ zc@@P5(+~O%Nt$|MR|#V4+)p=d#+mk0XL8_DfVt@Y?^@H#*% z)WF@B?nu_8CJpvp=lb>4U|%X$INPf#v%y|8pvWb7j1(K9w!8`Er+psTyO&^Ep~3S0 z9T@^kg^B%#+gK;8M1YlR6cHwE=naj`42*ETRm-6HRjmv%Baj4#r5F}E+H8kW0$F|9 zXlw)~Q(H`cJr-wOg`RZr2xeCZ*Cs?m&pZem1n<$GuQw{JPG(4waV4v`%r{)&8Gvja zmW)7T(A7LVqN}%QIK}X)ZVT`$0bp4R5uIoS&`42pBYj08(SnlRseG5KGe-r&R9BeD zA&ju4qq9h1NlsS!b{tKWmf>bqG`G*vfa8_=DoLg*gQ4Q~P=l;{@Uj~t#1N_`lBwb{ z%UEF%FJ)x13mFGHZs~Q~by-y+T8UFp2wBOKY^|NFmYI!L)q+L5pooIq^ zrrPM6(JNa>gKG(uEs^VrZaA}}5XjL(ehZ2csfij;jUbU4vx$yPu*if@03y@SR$3L0 zl=@aj+CPh%N(%&%P}REP3KS8UPJaAF^zp@GBnr#ZDVA}DeWNWW28ve9UB8E3{7oP- z5U8ZYXnSoZ`v5dboGOuGM4IU{HQ~?TTY^2+TxG*ev9_d+y=OSFUY%1%r>*6@&XBm1 z+or!a4cz=Mon=wWD<-J1v70O>Q&(Y~wB-h~_9omVqv}k`G%NPRtlkINqG5|eRh`UuR{@&< z-+i;1U=7ro&MP(4~Hj!5I$86<5#ujawd=3y8p$I^;G;hzS z+gsHT@+~jn^!)SE<>K&ehb=6Z1Gs9}L9C*dL#DSVh7c2zg(2y{z`aPFOkbh|omCK1 z$Nh(>2hU-RP&FN^aK}wVpJRV-BdigazCc!d!#aa(aNx>Nl`Dd90bo((0;;6k`?ND; zparV|SviAj`A>v-Y&a>Z+T;uRpExSH8qJ--x%j;LWs!;U{>pJ`@3HaE`^?0 zsBp!QuJl~6MA%orTbZKB>Bf$h=lFG0Q|={LQEF!k4~;`m_IlFa5{=gqu0R<3Iv9&0Cyq zZV_5ov2dP+n-W$ekOMc3V3=}riQ_fi+W>pb-}uw-j<$w9`}Ff2k`Jc@4>xyzZdb2 zx8r_X+R%eq5L;3M=C{z9Zl*wc5CKBaywF zG`c#|-j3Oo)6UHJYGLliPDk~wWf7fNGC#Ye@ePlt1#`xMx^>CyRRgfS)wlT3I79)} z*>!ax`0_!#;~W23U;DTJir@Ixf1+>x;16-W{QWrn(7)92u75^;?@Q9@#6*djw%y>; zu|!@VGFSn`LTlX1SF{1zLid2PebGx>k1lAE5z^`4adXD`%U{v$7-T>R&!R(rR{yV$ zTdp3)u(tfdP>CFDt5np^->D#Uvb-#AE*f9{8u97>50C!Sf6$}9{3PqkUsRqR@hvaC zUk}Dhd|Vei(dej+J-GXyme2S$aE`Iz(Y^}3V-tOm_6HD%lq;v|T-YTHHKJrPWY^j( z3wpy-0GucF9nmnLiwukS_5}8goTzmXAgqemHKGdlN9i4T#=TGc-+280{5xH~_6T3# zL)Ab35gh;B4Ib;+E)Nl;ECO*iwV2;n?JXW2#}&Z~hB<3zRpzrHbQ7*Jg|*Ckub_@F)SSDk1AV>;M7TTj{>`mU|NMWz zy?1^O@UQ=s9)0#N@YR1)ddt837kK`^e^HMgO=uKi8XTBex^y;FC|fF^v}37&Z98GC zq|Ad4THn_@oFWWI4TUmcEW>gejOzZ~X0*)5p%}{o2f{qIH#wmy1oPJh^JQ@e?HH-$ zAzxwz$LK#w3k@HR;@jdIIRD2_==qzkP%phxUw`)x^WKmA3yc?DlAB1DR*^Lzl|{np z(Nq{xMmB@s^<3&MC+81dC_DLyrl>$Bq=@2Lr5eH867JuBtKvxNymq^BSG--Iq?ItW zpcTntsg_s^=JiJ)P*RBz=@3ywpu_}=q4}2Qd3yP+c=+-|t?`)W|Ld>y=r2FP%b)(K zUVPU-Ihm7}9ElO>^|Y2(-c}Nt9z&!X7URxv9C)Ix4+b7o;lY=`j``KE<8*(Z z-ts)~L+^y%_5#inZnZEWtZ-fHZWwosEVRWqfQ#JyF=Y<^7KIDUXPejVrCWtnR_jS_ zm=u7^D$H|XftclUTvb@L0K=*lRnNj&uG?2P8?Gt1Oe|m()+*Ez<|@?miD?m-K+T2Q zn)uo=Fn{13cX^iRT$F$R3cmjLpT$@5tZzR50OQ3Mv_Q-YpjDEyS!uzLNoOYo^ZB)w zd(p#nztcDGH9G=$#TrEGF673F4Pma9#uUt*3q-a=j6nqby6WIj^ggq2D9A)DpXZ;y=Hoz z_Cav>Mv#dBtKBPXAjnsxcTvg$Glrth9N+jdE?@ha9-o5i`M2sgo};-$xUmovmbf5Q zf)N1*l~w?`CMHoKm52VS!96r^X0mH{gHjf>9OLNGO zNM@TAE$2L}D=5`TY;;RQC$doUIt|0+y?e|To|BG)lT?AcHwQQ&9`5#I?dC(*PpZZk zo3le+?fWQLlZbxZHE9DF>BZK%ds#tM5KBYh4RCcx%!VZGqR@3AV3Sz{43yzcvrdN< z0ozRyvHNPAS7Olo{3#QswXn_?%s7yF-`mD=xUS)?$cd0mhfxOg2V9q;-*Xped&p4r z^Bc4b;A&VRGcL$TU=XLX``T}pHTG$Q?K<#g_2+~NFr2@g%y8uuUv91x1F;%6>?wW6$xqpQAoGYpoQfK0M&6WI%_o-uj_LSDZ?H03zU?VC@qaatO(Rx z8r_@80768nR82Z(-%IHz1I6}eb6EMyKG zT?1cCrWni`5PfsCG)6r=5%!abD-Pei>dx`1^L$oe0p5wsHDRna^AE4Z%S41c@VaR8Z$d9sx0<8$Cl} znWVD5-&UL%%&-R?v8;VM=$oJ#ErBIk7g391aha71YYi{e60!3QbKNQ=&U3lBVwg2a z9!)VxwVb`P+KPryx_7{;IRz=q1+jNXZ>wRGqW_cusBrr4;&94U_8E+G9X3=kZwOD5F;fKb1uye zO)M(Qm{K6ILYP{D0@3<=FHUdt02Nx6deK3O;jWum(p)~vn>96&R%=WESf)X{v0Kw& zBvdWn#Fnl|iQW9R6(^bnEL&E{(xiPm2#L~xiNr;zi2yW}sPhH5cgVfzvLdJJ@7~Uw z923rEKrEJ0fn;DrspW89BajA#vl5H$)!FL@D2$Z2dgVuh{#mw-HgD|C0V`chJO;@e z?PXNJgzbw!>&J=Gs^SuGVv5-YLg!+&NbBHYsdTyKFy@|fSQzy9y!7ZisS4}{O2@bB zjxJwOOJvbsdV}RA1e&Yv2(3+LVFob)#=$2$137nP?aFQ9pE)NBXr?74yAsb2dHzD3#BLR$} znCvL)?w;tv%pD78nM`T;yW~zew~g2}31N5C`}%sf&ykJQ5QSx{8kqiZnUoNT1vmd4 z0uBMA2VI-wWR243(luV48I@Jx5XB;Qj#cn4ED1}Qc#ifiGu3lm4@semf zc5&y&PEOQycrVF*)xOHO{(Iloy)OOo0kr$2BSBx)t5@8^HU5G}QV#;S7s9!ub2(8y z^;WpTow?o)oPaJAF10Yq#%m5x>@dNW0vXsQ;C_Vz!o9Tr86w0KOWUeYE$oTwvSXEJ zvJa9=idw|YE#lE*Wjv%Rb-swY?5G(Wa>w0%{F_h`B)oA;J5w?4CLYi-@; zzW7~~U@y;ZSlYKhl#{jzz{$bg>spuQ{*$X7RM$EpAk2RKUS0ul1WySO<&l5ld*e(O4@{bZ<4#eh}`xsG)X)I~lz5fvA>vyO{4%O;XX;VSo+>?iD%;EbHf6jV4Bt zjwnpX?%qg-s0brVXH)OyS9hAuv?q)+J(Arb>mF&9#F$NF2&fBeNexN~u9kQJ?$9WJ zH9{FdO~O9Wc6Bkr)I`d)bFi~6OSH&NcU-zc-RvU|qnOGgnR(!RnL3T+Tu{Zj9s>Y} zZ56$X>CRWiiLk$eYmHp})@d~hiMI8!i_#hb4+uA)kSYuU&?xd$ff1=Wf;c;2v=j{L zd|OQW=Q{PV7&PFJJj>tj>O^vOSB>F{Em|zEcmT0VLzhO50G!~aL!d0UBZ0ZuStqx5 z4UE11BCknqz~Y9{E3uXZX0hSUN3tWLQh|>YYoEYJ<2Nl<@ne490YQ0;kdb@XGmSle> zScFe?OMdl6;$(DUwL2zJGm#ol+=Jr4Br!vnmhyqiX-2ejg*T$*jHi?66p&%zIF(yDNK_I=?nV%^+38IDy+Z}3S305)5`ub&|*hHady*`&M#iwJG z4Eewa3lln0Mfd!#dujG>*+8gj3CrU+tY9i|hKZ;E+^0v7Ql`UAR+%6w8$hiyG!kGE zi=i0des&NlVz|e=VLf^c+V0Sse!43~;fd^6-bcw+lNft0trAfZhqIibxc0tSc5=r! zoLo)YfEB5TU^xG32SqzJB;99yL~Ao_QmjCaf`pwN*-n()S-I&Vqrw!Br7=h@JFiEC zDi-e@#G%96Op{36@FN!|HuFt}K@YHrq(uyWrV)mn1uzj>C2|p~$(>Y4ZGj#qs2-D* zsTd~eZzA~kbi(;@>7I8WO^Txf85Kr3qf-b$s}_rpLhNCPvYl)wf~<0aO9>&9T_$hn zvD+vOGQoDtRRPIyZQ)>x8MBuX8|%eNgu;S5wD2@KJc59h>&%uat2yFbO|_QU61)T| zj8|v;|8;#!uXWpT)fiQCt$ps>iJe$izOo&NAfPlrkpdDS4UkYIgrH4>Mrc9)0Y3oI zAss{mfk8?TK>`tpR|5&jK_G!82nNK%T;V_?U^~8X65IDXd(T;e#;Cc@mq1SEdz`cP z*=wyiYgUaKW0X(3QQ7I8OWeo;d%%z=&2LJ3D%QMjLKX% zC4dy_(Y^Uh428pb=atcX!|3C2SC$z7!Hc-s{SPp#9Rh@*z|qa5fG~j08f`A4=;n#- zXWWl9dA==42vd#yIc?u=5{A=TNveQQa-#$o5n5W{SV9`4urX0M%g%(Bkd)3KP)n~C z@Je=_bvwMnHQ7WwVyqGu>`m*ms|k+XWABYiaC0a%CcsB%Lda#=&4{o&jQoJqlB{5Z zZcc$L|5^qp+<)zE3V?WeZg z14%_SC>K^=hp1J}Ekm_YA+h>+MtEqzpclkwjyIrALgCEY{Fv_5c4c^FvM&X%#e$74 zcel&+(bjJhS}GPLRc-jEjeV+vvaW0#pcLdorF*pltvU;Bg^pVZ(XVQX)PC10b17P> z0d5MFGx{hAbFg~gC|1!I+x3mtt}_JfkGO07tNvG`0xz|`OH}`SQ46Hu=FajP!lhl5 zSL30M_mK;!xxF6XWqmbgA6H+a=WOaSalmc3!2E;sqQf~mhK zVVUyF4)1Efmv&U>+p%AxeWM1-QXTCYn^(fM6GQKG081uNGO$WoRql}OJUv_kcbd9? z*=}aM9^0<(T(8|f-4f_($BWnA!8df1eah^g>s>Yy=Z3TT80lKRe@d_Y9xN=SW_hGW z7X|%c2u*B&Li<_Gf)X8-U_9zD%-`&nowPu&qrwcd)X10O;pSUwbgkBnHbDq;6VSVQ zlNt}0uaJZoVw9cGENLp+fx9N-MlN3JBXGAu6BZS!z}l_|`vZF`2*?JBZCq54O2t*> zWFfNGUG(Q3jfCw+O1v~iHru5m&Gi6#4>yh6s9p(H3QWJpW@DJIf1!#yGQky+F7aAN zx$EaPf+xUaIT0vT1Q*dFOt?Xm7AwvPq5?+@%?BC7B1b=+l9mV$>T#4N#WX_+01K0R$wCg-yM||F?~oBbbb9kSLd*W3>c+>_0O{Wmcv-9H$d8xjgvJ!EKFSpaj1Rru zUul1;elK3{yWj14to7Qv^m}e@QiBv1a0pmlePs5&cVY(s6$y+)&`)?yzu{=MMvlZ< zL||R+A$jfbauczIDADWu(Z+(t>s#EbzP#Q6a$^xfVW{01V+ayti%cp&kL$SfG8PN^ z5y~4<(ww@dX6)2cRthYr zR&`I_2fCOld1$0MJWikshtN=8m8IJ3v&xr(QU&Px^6Id3=Hj}P0W7-%P_5z{puo5s z7$0sAYCA#f#H`s*+@m{IXio&_@6iK~q@K?e{kkTjn4O|vQQmg$ZCA;UyqQN4&@les z^uLHI8#G)rUUHiWnyTv?TV+qmY|%Yn-g|o}Y(j?7vdeM61R0RTXk*`H;(=Fu02~h0 zo|Xw5uSK$*3#H6%nBCzwVilN8y2LionSd5SEl~Gu|Aei%sg0`jUAOCOnA7I_t#&B>Dsfj`A zVVhOkNNiT2k6QKqaNRF~vCOLwB&4?Z}-YZo&k2 zb>Ij~*ZQ!9=&q-igvX+CxErShav974!ZQTZvas6{j|x0Ebf)E!+uAq!n8{7YqKObw zhOaAJcc0<9XRYpH0``J*F(N`d0F9J8@T)YO+yL7wkd%v}9?V(BZ9$e6ghv$)kFbOn z>cv182^{cb#U+W$VX24NInF2$ctXUpcoTF=3zky_sap`Y;mL#dfcND< zrf6xHpRVay8yn-peOp;i*K3yGZ3dHPliuM;k*j)IREKL2N&(|;7Y!FWVu__TtX%hmY>sU6--s7s9 z|KoJPQ0(O_xv>f~;)r`^gbOZg4dfCDvklR;En2bSjol-<&?0x ztKvS8V*=v=%$pEV7$8`}nuYnOD?wYpOD%jwTK{cvf3v?-ms$t=#|_7#kNB5bf1B;> zgL{|xjSF4>-gv-%!|MYHFDTws)%!C~^O|ni=U%}w9#6uB0>~3c+VGc^-PVmZ#xRcK zIu+OH5*vWHK!0^T--$3@BMbpfkkR#S|2ZOCCg+-3Ot%tig_W1Ekt_ll!-Sl_Cu<^KEb^#8{oSw(cK$JvW2(1yU; zJYs)8Y9Fk9Z~L=#uiZ71xBbE3(=l{}S$GGaGeM3+IuA}luM(_77z)klM$w3{$x|m} z?CaZN6h;?@GDy$dlWvU-7^7%iLpxh&L(sil#zUot&u=7Bwi}lY^nl#n>93Z3Xsqp& zYz4pDGhQ0Q`%$YkRH&xXW=P?wP7eSzKL#Gp!uf!X=>~%m(Olgc(pYW%?Uc4N^FFND zE3$g|_pa*ki$P|e2@J)$7ZRSEwLrBl8xBi5v%B~ zO9_Jm=NK9ppi0vq3WlI8HA@w^s}#87jY!PhXju}YFh)n8#kLr9sL!T*pxfKkL{D{V z^&naUhb9pB_V1C0D33HF6exLw73tY5hYLN;0PixUlG@jQDT6Pg)%J}wD4K2(RBL`2 z;Cd{9#V{K|(Bw!cjd_9AlXK6XVWbAc%@=21sgo8T?$rdf3NiqwJ&6DS6mCgGK~!2Z zp>A2Qw_o+7ifz|rT~6=;d&5NpBTK6;8mb>7t@aNIXpK|H30Cw@?{J$Wksg~B1sn)H zjo_dM>N)#!X%+UJ;G#5xJV|Itvm+&%e%?pt1vhOn=!ClkIZWAk^no@A4f@Y^l{D3j zVC-<*HmhTVwlf#va0;NUuz)bvYv^0s8E?D0_VPrE80L@pd2V7|+TL(SNF^Epqo*Pf zS92zf?6g(4(c=-G>Hv7Om0gmIbP>Rexbi0>c%83_*e-Ux>p_~Zxx1l+$%1B{1P*qi z$1g_KRqSB+%2)qU|drD6m3$P#$v;jdnqr7Dl<{ zD!`8ZhJhaK{9w^%cQzU-t**`y*}lDT)t=5LjWXMt*rG-sjpgWB3cMDwlcI1-PK(ij0H4u5|PA9KNS4}R?E|)xHI~z_3F`;J0U__&ov9rkzc&uI8 z0u_zwSrbnl1|t0VoB%F%oNd$QB6*h^0VuLvj(4-G?XM(>Ts_91RKTNaMOkI>ATf0c zDn`=Gk|j{?!7Hgsxx{TdxTV;NKNYG@OuB-)lytetIw(Yb+S#yfh?P94G zRZ~uPyFvO4L)^o(n=0FNMGPT|-QDAmaO4(}Qd5h;Gz6QL7w91rZQ`z9oB?^( z>ScKAAunAEhGTvRu&p&;dRZ>e&FN-!h}&>RC)WEka_bi*r;-z4lxCe4?h+nUv-UkE znm26far@Zs`03Vpo6#nZyz=x-JOLrf z=iy?{XhTS4%bA?Ou$V!s3QQvo5}*a`;kbeBzICXzVA=gx5_n*jg?OnZKrAz}t*cMl zfPhq>fLc-rclXXPCV(5HbW>69%&pycd=(F&up$K(O;%0mwO93Im;B90# zv{3u4)McR;OM5yoSV)LRY@H3Zui48LUzDY;k<>j!^|B9OMR4Ju7|?j){q`pABUl?Q zqMA_GEve0M>FTKyGCCg?(6OgqcfD4QTt1R1bWs7Y=;1VCsaWjG=4;#3;EdyYh`q-4 z_i`yWg*7Iy6w-$rXWL z#i4rVv(N`W0vxIDe(+h~ICMUHcT^YOyXJ~*!EKOA+n5wDUusyXaVa9g^kx6wMqSXJ zrN$};Q&XlD4W|!IPj=5%u4<{)Dp&*VNB*+w^uoI^289bbD&quxh)NlU;O%Yk{U5;b z{l8n|olk=2d#XIJ9IkalD`@~M6&6BE9ksd&+J-z^L6z9EY)o^u_nh585^OSt^OE3Z zIRT6W5@mbq7XP)DQxLeO5x24LW3y=p>?vYx`K_xi6x38+H*JtZ-(KMJ`=7)3i9fEl z60Fbvpq}-_6n1Dbq|#n8aox5?|4iE@fd(ly&g9|L4E2_lFEQPdmcWHjMzw4=_?U%Q zQYH-sbC4#PG!0@?f)Jsb?(rgxt)U=iUya+B7+Opjv=mlZ{&#$Qa@h-;?|2}>1 ze4FPd-_z}_&+v`|&$uhKNDM^=mw;7ai!ihCSw&15$wmuG(MRldtPBvKW?O3) ztj<|kcuYT?*lJ&wg>E3p*uz6=hKdP~8Z_sv_Ri@2od6bbU)r)cN3a6!_d*>f;s<{x z-hBT9+#)gJO-u>vmdFqex`DKl-aU^gI#VeSSshSE3rrzwhJ3Wc#tvA{V$d?_)!q%l zhzZ5bqbd;|)TULsRFvrc?(XdSW;(_U+JJf2v1=b|O%@~&6$mW_7E+%sHom}&1i!4J$65E#~jGf`z+K^+_WoY%p?dM=GK@LWR8 zrA!;ol$^zDV+RNudr#YuMZh+3Y5Kqvn0%MHw_?(jC)>2r;_5 z4jTx?>;@^5eQ-ND1|-+moigsM7080pwVHMPu0%9CGC?BNbb1#pVDngOr?=ULIWh); z(IKcLqgg?6XF=CPm_ zmgUPEMniQ{ogid)Srp=;qHm#JtwN5#{o{pu%Gf0gsree(0g~0MX4mhn0YkPIPj)h& zB*=tukfxv5Ar=GGK10IBcl7X}+jS-$2XLcs-hEiE0LCs3*aL!mz`MrxDeXdl23Y)u zYj+b{(dD5@b!>y@K5-!g#wln-U<^4h+wNX7fJXsyN;!yIQe27W$HJm?#BKl>2lh%X zca^4~)ndLwxIaQt;Hc1u!Yns#&u%|F+EIC`bncpX3l3x0Gyo7+nL^}r9Fets>6K-l zpJ@40kc#1uRZE()kOy=g=@31`!h;AQh??p-=ZPhlhTnsGl|Ehs06AnHnHq}j>>5A} z&pBtcvjo)Yf#1qmC@gBgvmJ;CEN{$jR=zAH0 zGVIoQrCAXk>Vpm`O*R+-4u%eb!-$+lG^x5EXtscn)X2aIA*ytrCMog&bO6z;jaBwS z9qy}cYiUu#2$v?-5;C0x&L!1K+-?K6r=j@@SZgU+t{ZKb)X-O-I{nw`L@p4`+Hq>1 zAO=1EWSM%Tolb5f*!pWnt%6alSI@$6JCT5%s~Sx+Rg2kRv`m`x0cmxI1hE>@&ZdwV zp@+ABo5zB!@IlX4^@NF|1U;lz4}bnRI@hL^JCc<|%}4TX4vMtlQNY&UN$T9m9sA&` z-FULl&)gC!2^>KI3*Y$iFV1m8k%v&vvBh>O7Vj^3564Kcic_?$Mr@mJa-gGW<#k>W6^Nc1_+w7Ji5K9 z<7@=fTn6$upz~II{`$A@^QVT378cqj42|$M_rYqr~}S7y;}0VO z2Vsn^Td3y%-Z}-$Z{vUb%U}4VZ~piH_S5H_0e^pz9@2FBTtQkF;>7%$k%x!^Z*V8(ndhIN8mAq6TmH9QzI-1I~X{^_^+w{UQmm> z>LE_L7|A3?08atDGl;kAyZDW-eg*&Z&;R64KY#Sm-^=;y-}-WX-v>Vtpa1N;aeHD` zf=whJu_Ff1l1^p;OFarY$U)L$$G2sXDf-<+r1cH*DAbMAIu`OwAX$tc-BReLTzGtS z1Q}i*j#h>i?UK`txaipxd~woojI(1lmxBd+N$@rX2GUkcSjgKBF3Y3069`n#H6r(A zsT_7QJkIEZZ5lEHgpGZU07si73u2_N!K24(lj*S-90BCCt|m=|<6S~j@RsBmo0H>q z#L=%|gM(8=HQztNrbnYyFG=tqd7i*qIay!(U-*wd^M!x@%m4ac{W$>2`uIEl``iEK zi~p7Hf9{VQpZfGW@zz^l1XJ{@`>LHm5*)xH_$VP#JksGOV_ODWJ`+u(gXvgY4GBfV zo3V<=5vT-bSg(;VGd9rKc!H$+*BKkkn0+dlGw4-v zB5<_%#sl)kLK7Sk2nG%k2d*RCMh+du(dne?G#`NjttO_BCvl#{n`0q<{cHHj&;E`2 z@?Za}KZ&(|VP`~FZlsUD^OcXk^u>Rn_dfN9_=!(^`u6r)d}9oZ;j113k3MEH3^!(o zL*kjc+|WrqiqRqW2+

    M>}#cZhZlmh!FgLgMen|d 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£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 t+yC8PCI0um^LM}Ym$cUR{z(t@{{ + + + + + Tamper Detection + + + + +

  • + + + + @@ -1228,6 +1253,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/parts/index.html b/parts/index.html index 25bba504..fab760d6 100644 --- a/parts/index.html +++ b/parts/index.html @@ -399,6 +399,8 @@ + + @@ -998,6 +1000,8 @@ + + @@ -1183,6 +1187,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1218,6 +1243,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/search/search_index.json b/search/search_index.json index d0b06efd..162cebd7 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"faq/","title":"FAQ","text":""},{"location":"faq/#is-krux-a-hardware-wallet","title":"Is Krux a hardware wallet?","text":"

    The term \"hardware wallet\" typically refers to devices dedicated to storing private keys and signing transactions. These devices often feature specific security components like secure element chips.

    Krux was initially developed as a signer, operating exclusively in amnesic mode, which requires users to load their keys each time the device is powered on. However, Krux has evolved and now offers the option to store mnemonics, similar to traditional hardware wallets. These mnemonics can be stored in the device's internal memory or on SD cards.

    Krux does not include hardware secure elements. The security of stored data relies on encryption.

    Note: Due to the inherent fragility of electronic components, never use your Krux device or SD card encrypted storage as your sole backup method. Always maintain a physical backup for added security.

    "},{"location":"faq/#what-is-beta-version","title":"What is Beta version?","text":"

    The Beta version includes the latest and most experimental features, which we occasionally share on our social media. These can be found exclusively in the test (beta) repository. Use and flash the beta firmware if you are curious about new features or want to participate in the development process by hunting bugs, providing feedback, and sharing ideas in our Telegram groups or other social media platforms.

    For regular use, flash the official releases, which are signed, thoroughly tested, and well-documented.

    "},{"location":"faq/#what-is-krux-android-app","title":"What is Krux Android app?","text":""},{"location":"faq/#how-can-i-find-it","title":"How can I find it?","text":"

    The Krux Android app is available as an APK in the test (beta) repository. It requires Android 6.0 or above.

    "},{"location":"faq/#how-can-i-install-it","title":"How can I install it?","text":"

    The APK is not available on the Play Store. You can download the APK directly or transfer it to your Android device via SD card or USB cable. To install it, you may need to configure your Android device to allow installations from unknown sources.

    "},{"location":"faq/#is-it-safe-to-use","title":"Is it safe to use?","text":"

    The Krux Android app is designed for learning about Krux and Bitcoin air-gapped transactions. Due to the numerous potential vulnerabilities inherent in smartphones, such as the lack of control over the operating system, libraries, and hardware peripherals, the Krux app should NOT be used to manage wallets containing savings or important keys and mnemonics. For secure management of your keys, a dedicated device is recommended.

    "},{"location":"","title":"Krux","text":"

    Krux is an open-source firmware that transforms off-the-shelf Kendryte K210 devices, such as the Maix Amigo, M5StickV and more, into versatile bitcoin transaction signers. Beyond its core functionality, Krux is a flexible platform that can adapt to devices with different form factors, providing a suite of tools to assist with the creation and recovery of mnemonic backups, some of which include encryption options for enhanced security.

    Devices like the Maix Amigo and Yahboom come ready to use, with large touchscreens that make it easy and user-friendly to operate. These devices are ideal for those looking for a plug-and-play solution. On the other hand, Krux also supports development board kits, which are perfect for DIY enthusiasts who enjoy customizing and building their own hardware setups.

    Interacting seamlessly with leading coordinator wallets through QR codes, SD cards, and even thermal printers, the user-friendly firmware offers unique features to support transactions and mnemonic backups in an offline environment.

    To learn more about Krux, check out Getting Started.

    "},{"location":"parts/","title":"Devices and Parts List","text":""},{"location":"parts/#krux-compatible-devices","title":"Krux Compatible Devices","text":""},{"location":"parts/#comparative-table","title":"Comparative Table","text":"Device M5StickV Maix Amigo Maix Dock Maix Bit Yahboom k210 module Maix Cube WonderMV Price range US$ 50-55 US$ 50-85 US$ 27-35 US$ 32-42 US$ 45-61 US$ 34-49 US$ 58-86 Screen size / resolution 1.14\" / 135*240 3.5\" / 320*480 2.4\" / 240*320 2.4\" / 240*320 2\" / 240*320 1.3\" / 240*240 2\" / 240*320 Brightness control Device size 48*24*22mm 104*63*17mm 98*59*18mm 69*84*41mm 57*41*17mm 40*40*16mm 59*41*17mm Touchscreen Capacitive Capacitive Capacitive Camera OV7740 OV7740 rearGC0328 front GC0328 OV2640 orOV5642 OV2640 (VER:1.0) orGC2145 (VER:1.1) OV7740 GC2145 Battery 200mAh 520mAh 200mAh Requirements None None Rotary encoder 3D printed case SolderingAssembly Buttons 3D printed case SolderingAssembly None None None Warnings Camera has lens distortion Micro USB 3-Way button None

    : Only OV7740, OV2640 and GC2145 have an anti-glare mode to better capture images from high brightness screens or with incident light.

    : M5StickV's USB-C port lacks pull up resistors required for it to be recognized and powered by host (computer) USB-C ports. If you don't have an USB-A available, you can use a USB hub connected between your computer's USB-C and M5StickV.

    : Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    : Some stores ship the Maix Dock with soldered pin connectors that do not fit into the 3D printed case.

    All devices feature Kendryte K210 chip: 28nm process, dual-core RISC-V 64bit @400MHz, 8 MB high-speed SRAM, DVP camera and MCU LCD interface, AES Accelerator, SHA256 Accelerator, FFT Accelerator.

    "},{"location":"parts/#m5stickv","title":"M5StickV","text":"

    Below is a list of some distributors where you can find this device:

    • M5Stack
    • Mouser
    • Digi-Key
    • Electromaker
    • Lee's Electronic
    • AliExpress
    • ABRA
    • Adafruit
    • Cytron
    "},{"location":"parts/#maix-amigo","title":"Maix Amigo","text":"

    Below is a list of some distributors where you can find this device:

    • AliExpress
    • Seeed Studio
    • Digi-Key
    • Mouser
    • Electromaker
    "},{"location":"parts/#yahboom-k210-module","title":"Yahboom k210 module","text":"

    It comes with a compatible 32G card, an USB card reader, one PH2.0 4Pin male-to-male connector and one PH2.0 female adapter (to connect to a thermal printer). Below is a list of some distributors where you can find this device:

    • AliExpress
    • Amazon
    • Yahboom Store
    • ETC HK Shop
    "},{"location":"parts/#maix-cube","title":"Maix Cube","text":"

    Below is a list of some distributors where you can find this device:

    • Seeed Studio
    • Mouser
    • Electromaker
    • Digi-Key
    • AliExpress
    • Amazon
    "},{"location":"parts/#maix-dock-and-maix-bit","title":"Maix Dock and Maix Bit","text":"

    For the DIYers, the Maix Dock and Maix Bit are also supported but will require sourcing the parts individually and building the device yourself.

    Below are example implementations with instructions on how to recreate them:

    • https://github.com/selfcustody/DockEncoderCase
    • https://github.com/selfcustody/MaixBitCase

    Below is a list of some distributors where you can find these devices:

    • Mouser
    • Electromaker
    • Digi-Key
    • AliExpress
    • Amazon
    "},{"location":"parts/#other-parts","title":"Other Parts","text":""},{"location":"parts/#usb-c-or-micro-usb-charge-cable","title":"USB-C or Micro USB Charge Cable","text":"

    This will come with the device. It will be necessary to power, charge the device (if it has battery) and to initially flash the firmware.

    "},{"location":"parts/#optional-microsd-card","title":"(Optional) MicroSD Card","text":"

    We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure, read the Troubleshooting for more info. Yahboom will come with a compatible 32G card. The size of the SD card isn't important; anything over a few megabytes will be plenty.

    "},{"location":"parts/#optional-ttl-serial-thermal-printer","title":"(Optional) TTL Serial Thermal Printer","text":"

    Warning/Disclaimer: This feature is intended for individuals with experience in electronics tinkering and soldering.

    Krux has the capability to print all QR codes it generates, including those for mnemonics, xpubs, wallet backups, and signed PSBTs, using a locally-connected thermal printer via its serial port.

    Many TTL serial thermal printers may be compatible, but currently, the Goojprt QR203 has the best support (except this printer only supports ASCII or Chinese characters, non-ASCII characters will be printed as Chinese). The Adafruit printer starter pack can also be a convenient option to get started, as it includes all the necessary components for printing (except the conversion cable). To ensure proper functionality, enable the printer driver in the Krux settings, set the Tx pin and baud rate value to either 19200 or 9600 (depends on the printer), as explained in this Adafruit printer tutorial. You will need to connect the device's Tx to the printer's Rx and device's ground to the printer's ground, do not connect any other pins because a wrong connection may damage your device. The printer requires a dedicated power supply, typically with an output of 5 to 9V (or 12V) and capable of supplying at least 2A. For more information, see this discussion.

    "},{"location":"parts/#optional-conversion-cable-for-thermal-printer","title":"(Optional) Conversion Cable for Thermal Printer","text":"

    To connect the printer to M5StickV, Amigo or Cube, you will need a grove conversion cable with a 4-pin male Grove connector on one end (to connect to the device) and 4-pin male jumpers on the other end (to connect to the printer). Check your device and printer model connection first, Yahboom comes with PH2.0 4Pin female connector; Dock and Bit doesn't have a connector. For a more reliable connection, it is recommended to cut and solder the wires of your custom cables instead of using jumpers.

    "},{"location":"support/","title":"Support the Project","text":""},{"location":"support/#ways-you-can-help","title":"Ways you can help","text":""},{"location":"support/#development","title":"Development","text":"

    Audit the code, file an issue, make a pull request, or do all three. :)

    "},{"location":"support/#documentation","title":"Documentation","text":"

    \"I'd like to see Krux help as many people as possible, and to do that, good documentation is needed. If you identify a better way to say something, please make a PR, any help is appreciated.\" - Jeff

    "},{"location":"support/#translation","title":"Translation","text":"

    Krux supports different languages. If you missed a language or saw an awkward translation, open an issue or make a PR! You can also make a difference by translating this documentation! For information on how to translate, see here

    "},{"location":"support/#social","title":"Social","text":"

    Reach out via our Telegram group or X profile (Twitter) for faster help, share ideas and join the Krux community. Help others get to know Krux.

    \"I'm an engineer, not a marketer. If you like Krux, help spread the word!\" - Jeff

    "},{"location":"support/#donations","title":"Donations","text":"

    Krux won't ask for, receive, manage or distribute donations. You can donate directly to a Krux contributor of your choice.

    "},{"location":"troubleshooting/","title":"Troubleshooting","text":""},{"location":"troubleshooting/#before-installing","title":"Before Installing","text":""},{"location":"troubleshooting/#linux-os-not-listing-serial-port","title":"Linux OS not listing serial port?","text":"

    If you get the following error when trying to flash your device: Failed to find device via USB. Is it connected and powered on? Make sure your device is being detected and serial ports are being mounted by running:

    ls /dev/ttyUSB*\n
    Expect one port to be listed for devices like M5StickV and Maix Dock /dev/ttyUSB0, and two ports for Maix Amigo and Maix Bit /dev/ttyUSB0 /dev/ttyUSB1.

    If you don't see them, your OS may not be loading the correct drivers to create the serial ports to connect to. Ubuntu has a known bug where the brltty driver \"kidnaps\" serial devices. You can solve this problem by removing it:

    sudo apt-get remove brltty\n

    "},{"location":"troubleshooting/#m5stickv-device-not-being-recognized-and-charged","title":"M5StickV device not being recognized and charged?","text":"

    M5StickV's USB-C port lacks pull up resistors required for it to be recognized and powered by host (computer) USB-C ports. If you don't have an USB-A available, you can use a USB hub connected between your computer's USB-C and M5StickV.

    "},{"location":"troubleshooting/#device-not-charging-or-being-recognized","title":"Device not charging or being recognized?","text":"

    If you have a Maix Amigo, make sure you're using the USB-C port at the bottom of the device, not the one on the left side.

    Different computer hosts have varying hardware, operating systems, and behaviors regarding connecting to their USB ports. Below are the expected behaviors:

    USB-A:

    Your device should charge and turn on when connected to a USB-A port, even if it was initially turned off. You can also turn off the device while it continues to charge. However, some hosts' USB-A ports may behave like USB-C ports, as described below.

    USB-C:

    • If the device is turned off and connected to a USB-C port, it should turn on and start charging. You can turn it off again, and it will continue to charge.

    • If the device is already turned on and connected to a USB-C port, it may not charge or be recognized by the computer. In this case, turn off the device to initiate recognition and charging. Once turned off and reconnected, the device should restart, be recognized by the computer, and charging should be triggered by USB-C hosts. If your device is not charging or being recognized as expected, try using a different USB port or a different computer to determine if the issue is with the device or the host's USB port.

    "},{"location":"troubleshooting/#device-randomly-freezes-or-restarts","title":"Device randomly freezes or restarts?","text":"

    If the device behaves this way when connected to the computer, Windows is known to have issues with USB-C devices. If you are experiencing random crashes or even reboots and your device does not have a battery, try using a phone charger or other power source such as a power bank.

    "},{"location":"troubleshooting/#after-installing","title":"After Installing","text":""},{"location":"troubleshooting/#maix-amigo-touchscreen-doesnt-work-with-v24030-but-worked-okay-with-v23091","title":"Maix Amigo touchscreen doesn't work with v24.03.0 but worked okay with v23.09.1?","text":"

    We added a hardware IRQ (interrupt request) to the firmware, so when you open your Maix Amigo, you will see a switch in the middle of the device board, it must be in the upper position for the touchscreen to work with v24.03.0 and later.

    "},{"location":"troubleshooting/#troubleshooting-lcd-settings-on-maix-amigo","title":"Troubleshooting LCD Settings on Maix Amigo","text":"

    Buttons in the Wrong Order

    If the buttons on keypad input screens appear to be in the wrong order, this might be due to inverted X coordinates. To correct this:

    1. Go to Settings > Hardware > Display.
    2. Change the value of Flipped X Coordinates.

    Incorrect Colors

    If the colors displayed on the interface or camera preview are incorrect, you can try the following options:

    Inverted Colors

    If, for example, the background color is white when it should be black, go to Settings > Hardware > Display and toggle Inverted Colors .

    BGR Colors

    If, for example, you are using the Orange theme, and instead of orange the colors appear bluish, toggle BGR Colors in the display settings.

    LCD Type

    WARNING! Only try changing this setting if you failed to fix colors with previous ones.

    If adjusting BGR Colors and Inverted Colors doesn't fix the color issue, try changing the LCD Type:

    1. After changing this setting, you will be warned that the device will reboot automatically if this change does not resolve the issue (if it fails, the screen will turn black, and you'll not see anything).
    2. After proceeding with the warning, if you see a message prompting you to press the PREVIOUS (UP) button, it means that the new setting worked. Follow the instructions and press UP.
    3. If you notice menu options but the colors are still wrong, try again with different combinations of Inverted Colors and BGR Colors. This time, it is likely you will find a combination that correctly displays the colors of themes and the camera feed.

    If, after the warning in step 1, the screen turns black and you don't see anything, don't panic or press any buttons. Just wait 5 seconds, and the device will automatically reboot with the previous display settings. This means you should keep the default LCD Type setting and maybe try again with Inverted Colors and BGR Colors.

    If you accidentally pressed PREVIOUS (UP) and saved the wrong setting, you will have to perform a wipe to remove all stored settings to be able to see the screen working again. On Linux, go to the folder where you downloaded the Krux firmware and use Ktool to fully wipe your device:

    ./ktool-linux -B goE -b 1500000 -E

    (Soon Krux-Installer will have a full wipe button too)

    Then flash the firmware again.

    ./ktool-linux -B goE -b 1500000 maixpy_amigo/kboot.kfpkg

    "},{"location":"troubleshooting/#device-didnt-reboot-and-screen-is-blank","title":"Device didn't reboot, and screen is blank","text":"

    If the device didn't reboot after successfully flashing the firmware, and the screen is blank after turning it off and on, check if the downloaded file matches the device (this can also occur due to data corruption). Try downloading binaries again.

    You can also install MaixPy IDE to help with debugging, Tools > Open Terminal > New Terminal > Connect to serial port > Select a COM port available (if it doesn't work, try another COM port). It will show the terminal and some messages, a message about an empty device or with corrupted firmware appears like: \"interesting, something's wrong, boot failed with exit code 233, go to find your vendor.\"

    "},{"location":"troubleshooting/#usage","title":"Usage","text":""},{"location":"troubleshooting/#why-isnt-krux-scanning-the-qr-code","title":"Why isn't Krux scanning the QR code?","text":"

    The level of detail that you see is what Krux sees. If the QR code shown on the device's screen is blurry, the camera lens of the device may be out of focus. It can be adjusted by rotating it clockwise or counter-clockwise to achieve a clearer result. The lenses usually comes with a drop of glue that makes id harder to adjust for the first time. You can use your fingertip, tweezers or small precision pliers to help, being careful to don't damage the fragile lenses.

    If you have adjusted the lens already, the device may be too far away or too close to the code to read it. Start by holding the device as close to the QR code as possible and pulling away slowly until all or most of the QR code is viewable within the screen. If the code on the screen looks crisp, Krux should read it quickly and give you immediate feedback.

    If you are in a dark environment, you can hold down the ENTER button of the M5StickV or Maix Amigo to turn on their LED light to potentially increase visibility. Some cameras (OV7740, OV2640 and GC2145) have an anti-glare mode to better capture images from high brightness screens or with incident light, they are present on M5StickV, Amigo, Cube and Yahboom. To enable/disable the anti-glare mode on a supported device just press the PAGE button while scanning.

    "},{"location":"troubleshooting/#error-when-scanning-qr-code","title":"Error when scanning QR code?","text":"

    If Krux is recognizing that it sees a QR code but is displaying an error message after reading it, the likely reason is that the QR code is not in a format that Krux works with. We have listed the supported formats below:

    For BIP-39 mnemonics:

    • BIP-39 Plaintext (Used by Krux and https://iancoleman.io/bip39/)
    • SeedSigner SeedQR and CompactSeedQR Formats
    • UR Type crypto-bip39
    • Encrypted QR Code (Format created by Krux, more information here)

    For Wallet output descriptor:

    • JSON with at least a descriptor key containing an output descriptor string
    • Key-value INI files with at least Format, Policy, and Derivation keys
    • UR Type crypto-output

    For PSBT (Partially Signed Bitcoin Transactions):

    • Base43, Base58, and Base64-encoded bytes
    • Raw Bytes
    • UR Type crypto-psbt

    Additionally, Krux recognizes animated QR codes that use either the plaintext pMofN (the Specter QR format) or binary UR encodings.

    "},{"location":"troubleshooting/#computer-not-reading-qr-code-that-krux-displays","title":"Computer not reading QR code that Krux displays?","text":"

    You can toggle brightness of QR codes from public keys and PSBTs by pressing PAGE button. In the future, more work will be done to support displaying lower density QR codes. If you are using an M5StickV, the small screen makes it difficult for laptop webcams to capture enough detail to parse the QR codes it displays.

    For now, a workaround you can do is to take a picture or video of the QR code with a better-quality camera (such as your phone), then enlarge and display the photo or video to your webcam. Alternatively, it may be simpler to use a mobile wallet such as BlueWallet with the M5StickV since phone cameras don't seem to have issues reading the small QR codes. You can also save the PSBT on a microSD card for Krux to sign and then save the signed transaction to the microSD card to transfer the file to the computer or phone.

    "},{"location":"troubleshooting/#why-does-krux-say-the-entropy-of-my-fifty-dice-rolls-does-not-contain-128-bits-of-entropy","title":"Why Does Krux Say the Entropy of My Fifty Dice Rolls Does Not Contain 128 Bits of Entropy?","text":"

    Please check how entropy measurement works.

    "},{"location":"troubleshooting/#why-isnt-krux-detecting-my-microsd-card-or-presenting-an-error","title":"Why isn't Krux detecting my microSD card or presenting an error?","text":"

    Starting from version 23.09.0, Krux supports SD card hot plugging. If you are using older versions, it may only detect the SD card at boot, so make sure Krux is turned off when inserting the microSD into it. To test the card compatibility use Krux Tools>Check SD Card. Make sure the SD card is using MBR/DOS partition table and FAT32 format.

    "},{"location":"uncommon-questions/","title":"Uncommon Questions","text":""},{"location":"uncommon-questions/#what-are-all-the-features-available","title":"What are all the features available?","text":"

    On the official releases page you will find all the features listed, with details on the Getting Started page with a brief summary on the Navigation Overview page.

    "},{"location":"uncommon-questions/#what-is-the-purpose-of-using-an-sd-card-with-the-device","title":"What is the purpose of using an SD card with the device?","text":"

    SD card use is optional, but can be used to upgrade the firmware, save settings, cnc/file, QR codes, XPUBs, encrypted mnemonics, and also to save and load PSBTs, messages and wallet output descriptors.

    "},{"location":"getting-started/","title":"Getting Started","text":"

    Krux is open-source Bitcoin signing firmware for devices with the K210 chipset; also known as a hardware signer.

    Signing operations in Krux are done offline via QR code or via SD card using the PSBT functionality. You can create/load your BIP-39 mnemonic, or import a wallet descriptor, and sign transactions all without having to plug the device into your computer (except to initially install the firmware). It reads QR codes with its camera and outputs QR codes to its screen, or to paper via an optional thermal printer attachment.

    Krux runs offline, and therefore never handles the broadcasting part of the PSBT transaction. Instead, you can use Krux with third-party wallet coordinators to broadcast transactions from your online computer or mobile device while keeping your keys offline. Krux was built to be vendor agnostic and works with many popular wallet coordinators, including:

    • Sparrow Wallet (desktop)
    • Specter Desktop (desktop)
    • Nunchuk (mobile)
    • BlueWallet (mobile)
    "},{"location":"getting-started/navigation/","title":"Navigation Overview","text":"

    Below is the mind map representation of the currently menus available. Click the circle with a number (Ex.: ) to the right of each node to expand and explore. Also, enable full screen in the top right menu for better viewing .

    "},{"location":"getting-started/navigation/#login-menu","title":"Login Menu","text":""},{"location":"getting-started/navigation/#home-menu-loaded-a-mnemonic","title":"Home Menu (Loaded a mnemonic)","text":""},{"location":"getting-started/settings/","title":"Settings","text":"

    In the Krux home menu, there is a Settings entry. Some submenu entries have too many options to fit on one screen, swipe up or down to navigate between the screens if your device has a touchscreen. Below is a breakdown of the options you can change:

    "},{"location":"getting-started/settings/#default-wallet","title":"Default Wallet","text":"

    Set the default attributes for wallet loading.

    "},{"location":"getting-started/settings/#multisig","title":"Multisig","text":"

    Set this to true if you are more likely to use Krux for multisig setups. This way, you won't need to \"Customize\" your wallet attributes every time you load a key.

    "},{"location":"getting-started/settings/#network","title":"Network","text":"

    This option allows you to switch between mainnet (the default) and testnet. Testnet can be used to try out different wallet coordinators or for development.

    "},{"location":"getting-started/settings/#encryption","title":"Encryption","text":"

    Modify the encryption method and parameters to fit your needs. This will be used when storing encrypted mnemonics or creating encrypted QR codes. For more info see Krux Encrypted Mnemonics.

    "},{"location":"getting-started/settings/#pbkdf2-iter-iterations","title":"PBKDF2 Iter. (Iterations)","text":"

    When you enter the encryption key, it is not directly used to encrypt your data. In order to protect against brute force attacks, the key is derived multiple times using hashing functions. PBKDF2 (Password-Based Key Derivation Function) iterations stands for the amount of derivations that will be performed over your key prior to encrypt/decrypt your mnemonic.

    If you increase this value it will make the encryption harder, at the cost of taking longer to encrypt/decrypt your mnemonics.

    Values must be multiple of 10,000. This was done to save data space on QR codes.

    "},{"location":"getting-started/settings/#encryption-mode","title":"Encryption Mode","text":"

    Choose between well known and widely used AES (Advanced Encryption Standard) modes:

    "},{"location":"getting-started/settings/#aes-ecb","title":"AES-ECB","text":"

    ECB (Electronic Codebook) is a simpler method where data blocks are encrypted individually. Compared to CBC, it will be faster and simpler to encrypt, QR codes will have a lower density and will be easier to transcribe.

    "},{"location":"getting-started/settings/#aes-cbc","title":"AES-CBC","text":"

    CBC (Cipher-block Chaining) is considered more secure than ECB. The first data block, an initialization vector (IV), is used to add random data to the encryption. The encryption of subsequent blocks depends on the data from previous blocks, ensuring chaining.

    Encryption will take longer because a snapshot will be needed to generate the IV. This IV will be stored together with the encrypted data, making encrypted QR codes denser and harder to transcribe.

    "},{"location":"getting-started/settings/#hardware","title":"Hardware","text":"

    Customize the parameters available for your device and change printer settings.

    "},{"location":"getting-started/settings/#encoder-maix-dock-only","title":"Encoder (Maix Dock only)","text":"

    If your device has a rotary encoder, you can change the debounce threshold in milliseconds. With lower values, faster movements and navigation will be allowed.

    The caveat is low values can cause issues, such as double step and unexpected movements, especially with lower quality encoders. If this is the case increase the value to make navigation more stable.

    "},{"location":"getting-started/settings/#display-maix-amigo-only","title":"Display (Maix Amigo only)","text":"

    Some Maix Amigo screens are different, here you can customize the BGR Colors, Flipped X Coordinates, Inverted Colors and LCD Type. For more info see Troubleshooting

    "},{"location":"getting-started/settings/#printer","title":"Printer","text":"

    You can set up a TTL serial thermal printer or tell Krux to store a GRBL CNC instructions file on a SD card to machine QR codes.

    "},{"location":"getting-started/settings/#cnc","title":"CNC","text":"

    Define several machining parameters according to the desired size, material you'll use, and your CNC characteristics and capabilities.

    "},{"location":"getting-started/settings/#thermal","title":"Thermal","text":"

    Printers can come with different baudrates from the manufacturer. By default, Krux assumes the connected printer will have a baudrate of 9600. If yours is different, you can change it here.

    Also setup the TX Pin you'll use (e.g. 35 for M5StickV and 7 for Maix Amigo) and tweak other parameters according to your printer recommendations. For most printers you will only need to connect 2 cables, the device TX to the printer RX and ground. Current uses of printing are listed here. Consult the parts list for supported printers.

    "},{"location":"getting-started/settings/#driver","title":"Driver","text":"

    Here you choose between Thermal, CNC or none (default). Leave this setting to \"none\" if you won't use a printer and don't want to be bothered by print prompts.

    "},{"location":"getting-started/settings/#touchscreen-maix-amigo-and-yahboom-only","title":"Touchscreen (Maix Amigo and Yahboom only)","text":"

    If your device has touchscreen you can change the touch detection threshold. If it is being too sensitive or detecting false or ghost touches, you should increase the threshold value, making it less sensitive. The other way is also valid, reduce the threshold to make the screen more sensitive to touches.

    "},{"location":"getting-started/settings/#language-locale","title":"Language - Locale","text":"

    Here you can change Krux to your desired language.

    "},{"location":"getting-started/settings/#persist","title":"Persist","text":"

    Choose between flash (device's internal memory) or SD card for the place where your settings will be stored.

    "},{"location":"getting-started/settings/#security","title":"Security","text":"

    Adjust settings that may impact your security protocols.

    "},{"location":"getting-started/settings/#shutdown-time","title":"Shutdown Time","text":"

    Set the time it takes for Krux to automatically shut down. This feature not only conserves your device's battery, if it has one, but also serves as an important security measure. If you forget your device with private keys loaded, it will shut down automatically after the set time.

    Please note that devices without batteries and power management will not shut down but will reboot instead, which is sufficient to unload private keys.

    "},{"location":"getting-started/settings/#hide-mnemonics","title":"Hide Mnemonics","text":"

    When \"Hide Mnemonics\" mode is set to \"True\", your device will not display private key data or backup tools when a key is loaded. It will only show public key information and allow signing operations.

    "},{"location":"getting-started/settings/#appearance","title":"Appearance","text":"

    Configure screensaver time and change Krux to your desired theme.

    "},{"location":"getting-started/settings/#screensaver-time","title":"Screensaver time","text":"

    Set how long to wait idle before the screensaver appears. Enter 0 to disable the screensaver.

    "},{"location":"getting-started/settings/#theme","title":"Theme","text":"

    Choose your color theme according to your preference. Some themes may be more suitable for some devices, coordinator cameras and environments. As an example, it may be easier to scan QR codes from Krux devices using light theme in brighter environments.

    "},{"location":"getting-started/settings/#factory-settings","title":"Factory Settings","text":"

    Restore device to factory settings and reboot.

    "},{"location":"getting-started/features/QR-transcript-tools/","title":"Transcribing QR Codes","text":"

    When you export a mnemonic, encrypted mnemonic or a generic text QR code, alternative visualization modes will be available. Swipe left or right to change modes, or if your device doesn't have a touchscreen, press the PAGE buttons. Find transcribe templates here.

    "},{"location":"getting-started/features/QR-transcript-tools/#standard-mode","title":"Standard Mode","text":"

    This mode is optimized for scanning, the raw QR code will be displayed

    "},{"location":"getting-started/features/QR-transcript-tools/#lines-mode","title":"Lines Mode","text":"

    If you are good at transcribing things like handwritten text, with this mode one QR code line will be highlighted at a time. Press Enter to highlight the next line.

    "},{"location":"getting-started/features/QR-transcript-tools/#zoomed-regions-mode","title":"Zoomed Regions Mode","text":"

    QR codes will be split into regions, of 5x5 or 7x7 \"blocks\". One QR code region will be shown at a time. Press Enter to display the next region.

    "},{"location":"getting-started/features/QR-transcript-tools/#highlighted-regions-mode","title":"Highlighted Regions Mode","text":"

    QR codes will be split into regions, of 5x5 or 7x7 \"blocks\". One QR code region will be highlighted at a time. Press Enter to highlight the next region.

    "},{"location":"getting-started/features/QR-transcript-tools/#grided-mode","title":"Grided Mode","text":"

    Grids will be added to a standard QR code. In a dark room, if you place a sheet of paper over the device's screen, you'll notice QR code will be visible and it will be possible to copy it directly from above (tracing). Be careful not to damage your screen with pen and markers, use an insulating plastic tape or film to protect the device when using this method.

    "},{"location":"getting-started/features/encrypted-mnemonics/","title":"Encrypted Mnemonics","text":""},{"location":"getting-started/features/encrypted-mnemonics/#introduction","title":"Introduction","text":"

    There are many possible security layers one could add to protect a wallet\u2019s private key. Adding a BIP-39 passphrase to the mnemonic is the most common method. Encrypting a BIP-39 mnemonic has a similar use case as the BIP-39 passphrase, but the user experience may differ depending on the implementation. The main difference between BIP-39 passphrases and Krux\u2019s encrypted mnemonic implementation is that when users type the wrong key, encrypted mnemonics will return an error instead of loading a different wallet, as BIP-39 passphrases do. This difference may be desired or not. The implementation also has the convenience of storing a mnemonic ID together with the stored or QR code encrypted mnemonics. Mnemonic encryption, with its own key, can be used together with BIP-39 passphrase as an extra security layer.

    We use standard AES encryption modes ECB and CBC:

    "},{"location":"getting-started/features/encrypted-mnemonics/#aes-ecb","title":"AES-ECB","text":"

    ECB (Electronic Codebook) is a simpler method where encryption data blocks are encrypted individually. This mode is faster and simpler to encrypt, resulting in QR codes with lower density and easier to transcribe. It is generally considered less secure than CBC because it does not provide data chaining, meaning identical plaintext blocks will produce identical ciphertext blocks, making it vulnerable to pattern analysis. However, in Krux's implementation, only one or two binary data blocks are encrypted, so there will be no patterns, and the lack of chaining is not as relevant as it would be for larger files, plain text, or media.

    "},{"location":"getting-started/features/encrypted-mnemonics/#aes-cbc","title":"AES-CBC","text":"

    CBC (Cipher-block Chaining) is considered more secure. In the first data block, an initialization vector (IV) is used to add random data to the encryption. The encryption of subsequent blocks depends on the data from previous blocks, characterizing chaining. The tradeoff is that the encryption process will take longer because a snapshot will be needed to generate the IV. This IV will be stored together with encrypted data, making encrypted QR codes denser and harder to transcribe.

    "},{"location":"getting-started/features/encrypted-mnemonics/#cbc-encryption-iv","title":"CBC Encryption IV","text":"

    The Initial Vector (IV) will be generated from a snapshot taken with the camera. The IV is a fixed-size input value used in the first block of the encryption process. It adds randomness to the encryption, ensuring that data encrypted with the same key will produce different ciphertexts each time. The IV is not secret and will be transmitted along with the ciphertext. However, like any nonce, it should not be reused to maintain security.

    "},{"location":"getting-started/features/encrypted-mnemonics/#pbkdf2-iterations","title":"PBKDF2 Iterations","text":"

    When you enter the encryption key, it is not directly used to encrypt your data. In order to protect against brute force attacks, the key is derived multiple times using hashing functions. PBKDF2 (Password-Based Key Derivation Function) iterations refer to the number of derivations that will be performed over your key prior to encrypting/decrypting your mnemonic.

    "},{"location":"getting-started/features/encrypted-mnemonics/#encrypted-qr-codes-data-and-parsing","title":"Encrypted QR Codes Data and Parsing","text":"

    In search of efficiency and smaller QR codes, all data is converted to bytes and organized like a Bitcoin transaction, with variable and fixed length fields. The following data is present on the QR code:

    ID length (1) ID (2) Version (3) Key Derivations (4) IV (5) Encrypted Mnemonic (6) Validation Block (7) 1 Byte Variable 1 Byte 3 Bytes 16 Bytes (optional) 16 Bytes (12 words) 32 Bytes (24 words) 16 Bytes
    • Visible data (1 to 4):
      • (1) Mnemonic ID length (1 Byte).
      • (2) Mnemonic ID (variable lenght): Custom ID or wallet fingerprint.
      • (3) Version (1 Byte): Version of encryption method, currently two are available:
        • 0: AES-ECB-PBKDF2: Electronic Codebook with PBKDF2 key derivation.
        • 1: AES-CBC-PBKDF2: Cypher Block Chaining with PBKDF2 key derivation.
      • (4) Key derivation iterations (3 Bytes): Number of PBKDF2 key derivations times 10,000.
    • Cipher data (5 to 7):
      • (5) IV (16 Bytes-optional): Initial vector for AES-CBC encryption, possibility to be nonce for future AES-CTR or other encryption methods.
      • (6) Encrypted Mnemonic (16 Bytes - 12 words, 32 Bytes - 24 words): Mnemonic ciphertext.
      • (7) Validation block (16 Bytes): Currently using first 16 bytes of sha256 of the mnemonic bytes as checksum, could be used in future to store AES-AEX validation tag.
    "},{"location":"getting-started/features/encrypted-mnemonics/#considerations","title":"Considerations","text":"

    Storage of encrypted mnemonics on the device or SD cards are meant for convenience only and should not be considered a form of backup. Always make a physical backup of your keys that is independent from electronic devices and test recovering your wallet from this backup before you send funds to it.

    Remember that the stored encrypted mnemonic is protected by the key you defined to encrypt it. If the defined key is weak, your encrypted mnemonic will not be protected. If you have stored a mnemonic with funds in the device's internal flash memory using a weak key, the best way to undo this is to wipe the device.

    "},{"location":"getting-started/features/entropy/","title":"Empirical Entropy Measurement","text":""},{"location":"getting-started/features/entropy/#why-does-krux-say-the-entropy-of-my-fifty-dice-rolls-does-not-contain-128-bits-of-entropy","title":"Why Does Krux Say the Entropy of My Fifty Dice Rolls Does Not Contain 128 Bits of Entropy?","text":"

    This question, frequently raised in Krux chat groups, highlights the need to clarify the concepts and tools used by Krux to help users detect possible issues in the mnemonic creation procedure. Tools in Krux were designed to help users understand the concepts involved in the process, present statistics and indicators, and encourage users to experiment and evaluate results. This way, users learn about best practices in key generation. Below, we will dive deeper into entropy concepts to better support users in the fundamental requirement for sovereign self-custody, which is to build up knowledge.

    "},{"location":"getting-started/features/entropy/#entropy-in-dice-rolls","title":"Entropy in Dice Rolls","text":"

    Rolling dice and collecting the resulting values can be an effective method for generating cryptographic keys due to the inherent randomness and unpredictability of each roll. Each roll of a die produces a random number within a specific range, and when multiple rolls are combined, they create a sequence that is difficult to predict or reproduce. This sequence can be used to generate cryptographic keys that are robust against attacks. By ensuring that the dice rolls are conducted in a controlled and secure environment, and by using a sufficient number of rolls to achieve the desired level of randomness, one can create cryptographic keys that are highly secure and resistant to brute-force attacks or other forms of cryptanalysis.

    "},{"location":"getting-started/features/entropy/#entropy-definitions","title":"Entropy Definitions","text":"

    Entropy, a fundamental concept in various scientific disciplines, measures the degree of disorder or uncertainty within a system. This notion is interpreted differently across fields, leading to distinct types of entropy: mechanical entropy, Shannon's entropy, and cryptographic entropy.

    Mechanical entropy, rooted in thermodynamics and statistical mechanics, quantifies the disorder in a physical system. It describes how energy is distributed among the particles in a system, reflecting the system's tendency towards equilibrium and maximum disorder.

    Shannon's entropy, from information theory, measures the uncertainty or information content in a message or data source. Introduced by Claude Shannon, it quantifies the average amount of information produced by a stochastic source of data, indicating how unpredictable the data is.

    Cryptographic entropy, crucial in security, refers to the unpredictability and randomness required for secure cryptographic keys and processes. High cryptographic entropy ensures that keys are difficult to predict or reproduce, providing robustness against attacks.

    While mechanical entropy deals with physical systems, Shannon's entropy focuses on information content, and cryptographic entropy emphasizes security through randomness.

    "},{"location":"getting-started/features/entropy/#measuring-dice-rolls-entropy","title":"Measuring Dice Rolls Entropy","text":"

    Entropy is a theoretical measure and is not directly measurable from a single roll but rather from the probability distribution of outcomes over many rolls. We can use Shannon's formula for theoretical and empirical calculations. Entropy S can be quantified with:

    S = -\\sum_{i=1}^{n} p_i \\log(p_i)
    1. Empirical Measurement:
    2. Roll the dice a large number of times to observe the frequency of each outcome.
    3. Estimate the probabilities p_i based on observed frequencies.

    4. Theoretical Calculation:

    5. Use the uniform distribution assumption (equal probability for all outcomes).

    where: - p_i is the probability of each possible outcome (or state) of the system. - n is the number of possible outcomes.

    "},{"location":"getting-started/features/entropy/#empirical-real-vs-theoretical-entropy-in-dice-rolls","title":"Empirical (Real) vs. Theoretical Entropy in Dice Rolls","text":"

    When calculating the entropy of dice rolls, the difference between real and theoretical results arises from the assumption of perfect fairness and uniformity versus the inherent imperfections in real-world experiments.

    "},{"location":"getting-started/features/entropy/#theoretical-entropy","title":"Theoretical Entropy","text":"

    The theoretical entropy calculation assumes that the dice are perfectly fair, meaning each face has an equal probability of landing face up.

    Consider a fair six-sided die. The possible outcomes when rolling one die are {1, 2, 3, 4, 5, 6}, each with an equal probability of \\frac{1}{6}.

    1. Single Die Roll:
    2. Each outcome has a probability p_i = \\frac{1}{6}.
    3. The entropy S for one die roll is calculated as:
    S = - \\sum_{i=1}^{6} \\left( \\frac{1}{6} \\log_2 \\left( \\frac{1}{6} \\right) \\right)

    Since \\log_2(1/6) = -\\log_2(6) :

    S = -6 \\left( \\frac{1}{6} \\times -\\log_2(6) \\right) = \\log_2(6) \\approx 2.585 \\text{ bits}
    1. Multiple Dice Rolls:
    2. For multiple dice, the entropy increases as the number of possible outcomes increases. For k fair dice, the number of possible outcomes is 6^k.
    3. The entropy S for k dice is:

      S = \\log_2(6^k) = k \\log_2(6) \\approx 2.585k \\text{ bits}

    4. For example, entropy for the roll of 50 fair dice is calculated as:

      S = \\log_2(6^{50}) = 50 \\log_2(6) \\approx 2.585 \\times 50 \\approx 129.25 \\text{ bits}

    This calculation assumes that every outcome (each face of the die) has an equal likelihood, leading to a uniform distribution.

    "},{"location":"getting-started/features/entropy/#empirical-entropy","title":"Empirical Entropy","text":"

    In a real sample of dice rolls, several factors can cause deviations from the perfect uniform distribution:

    1. Imperfect Dice: Real dice may not be perfectly balanced. Small manufacturing defects can make certain faces slightly heavier or lighter, causing biases.
    2. Rolling Conditions: The way the dice are rolled, the surface they land on, and even air currents can introduce slight biases.
    3. Finite Sample Size: When rolling dice a finite number of times, the observed frequencies of each face will naturally deviate from the expected uniform distribution due to random variations. This phenomenon is more pronounced with smaller sample sizes.

    When you roll a die multiple times and observe the outcomes, you can calculate the empirical probabilities p_i of each face. Using these probabilities, the entropy is calculated as:

    S = - \\sum_{i=1}^{6} p_i \\log_2(p_i)"},{"location":"getting-started/features/entropy/#example","title":"Example","text":"

    Suppose you roll a six-sided die 50 times and get the following results:

    • 1: 4 times
    • 2: 9 times
    • 3: 7 times
    • 4: 10 times
    • 5: 12 times
    • 6: 8 times

    We can calculate Shannon's entropy as follows:

    "},{"location":"getting-started/features/entropy/#step-1-calculate-probabilities","title":"Step 1: Calculate Probabilities","text":"

    Total number of rolls:

    N = 4 + 9 + 7 + 10 + 12 + 8 = 50

    Probabilities for each outcome:

    p_1 = \\frac{4}{50} = 0.08 p_2 = \\frac{9}{50} = 0.18 p_3 = \\frac{7}{50} = 0.14 p_4 = \\frac{10}{50} = 0.2 p_5 = \\frac{12}{50} = 0.24 p_6 = \\frac{8}{50} = 0.16"},{"location":"getting-started/features/entropy/#step-2-compute-entropy","title":"Step 2: Compute Entropy","text":"

    Using Shannon's entropy formula:

    S = -\\sum_{i=1}^{n} p_i \\log_2(p_i)

    Calculate each term:

    S_1 = -p_1 \\log_2(p_1) = -0.08 \\log_2(0.08) = -0.08 \\times (-3.64386) = 0.291509 S_2 = -p_2 \\log_2(p_2) = -0.18 \\log_2(0.18) = -0.18 \\times (-2.47393) = 0.445307 S_3 = -p_3 \\log_2(p_3) = -0.14 \\log_2(0.14) = -0.14 \\times (-2.8365) = 0.39711 S_4 = -p_4 \\log_2(p_4) = -0.2 \\log_2(0.2) = -0.2 \\times (-2.32193) = 0.464386 S_5 = -p_5 \\log_2(p_5) = -0.24 \\log_2(0.24) = -0.24 \\times (-2.05889) = 0.494132 S_6 = -p_6 \\log_2(p_6) = -0.16 \\log_2(0.16) = -0.16 \\times (-2.64386) = 0.423018

    Sum the contributions:

    S = S_1 + S_2 + S_3 + S_4 + S_5 + S_6 S = 0.291509 + 0.445307 + 0.39711 + 0.464386 + 0.494132 + 0.423018 = 2.515462

    Thus, the Shannon's entropy for the given distribution of dice rolls is approximately 2.52 bits per roll.

    This will give you a different value than \\log_2(6) due to the deviations in the empirical probabilities.

    The total entropy for the N = 50 rolls is:

    S_{total} = S \\times N = 2.515 + 50 \\approx 125.8 \\text{ bits}"},{"location":"getting-started/features/entropy/#shannons-entropy-in-practice","title":"Shannon's Entropy in Practice","text":"

    Calculating Shannon's entropy on a real sample of dice rolls provides insights into the actual randomness and fairness of the dice and rolling conditions. Deviations from the theoretical entropy reflect the natural imperfections and variances inherent in real-world scenarios. This understanding helps in evaluating and improving the fairness and randomness of dice or similar systems.

    Shannon's entropy evaluates the statistical probability distribution of samples of a dice roll. An even distribution results in higher entropy, closer to the theoretical maximum entropy, which assumes perfectly distributed rolls. An uneven distribution, created, for example, by a biased die, will result in lower Shannon's entropy. In an extreme case, with a terribly biased die that always lands on the same side, Shannon's entropy will be zero.

    "},{"location":"getting-started/features/entropy/#cryptographic-entropy","title":"Cryptographic Entropy","text":"

    Shannon's entropy, while a powerful measure of information content and uncertainty in a statistical distribution for natural samples, is not considered cryptographic entropy due to its inability to detect patterns or other sources of predictability within data. Shannon's formula quantifies the average information produced by a stochastic process, essentially measuring the expected surprise in a sequence of symbols based on their probabilities. However, it does not account for potential structure, correlations, or regularities within the data that could be inserted by a user and exploited by an attacker.

    Cryptographic entropy, on the other hand, requires a higher standard of unpredictability. It must ensure that every bit of the cryptographic key is as random and independent as possible, making it resilient against any form of analysis that could reveal patterns or reduce the effective randomness. While Shannon's entropy can evaluate the statistical distribution of symbols, it falls short in guaranteeing the absence of patterns or dependencies, which are crucial for maintaining the security of cryptographic systems. Thus, cryptographic entropy encompasses a broader concept of randomness, ensuring that the generated keys are not only statistically random but also free from any detectable structure or predictability.

    "},{"location":"getting-started/features/entropy/#pattern-detection","title":"Pattern Detection","text":"

    It is possible to have dice rolls with an even distribution but poor cryptographic entropy. This issue arises when patterns are present in the sequences. Examples include sequences like 123456123456123..., 111122223333..., and 654321654321..., which exhibit poor cryptographic entropy despite having even distribution and high Shannon's entropy.

    To mitigate this issue, Krux has implemented a pattern detection algorithm that evaluates the Shannon's entropy of the rolls' derivatives. In practice, this algorithm detects arithmetic progression components in the dice rolls and raises a warning if a certain threshold is crossed.

    "},{"location":"getting-started/features/entropy/#what-krux-does","title":"What Krux Does?","text":"
    • Krux requires a minimum number of rolls based on theoretical entropy.
    • Krux warns the user if low Shannon's entropy, calculated with the actual rolls, is detected.
    • Krux warns the user if it suspects there are patterns within the actual rolls.
    "},{"location":"getting-started/features/entropy/#conclusion","title":"Conclusion","text":"

    While Krux cannot ensure rolls have good or bad cryptographic entropy, it does provide indicators to help users detect issues and learn about the concepts involved in mnemonic generation.

    "},{"location":"getting-started/features/printing/","title":"Printing","text":"

    Warning/Disclaimer: This feature is intended for individuals with experience in electronics tinkering and soldering.

    Krux has the ability to print mnemonic backup (Words, Numbers, Tiny Seed template; but not Stackbit 1248) and any QR code (SeedQR, signed PSBT, Address, XPUB, Wallet output descriptor, ...) via a locally-connected TTL serial thermal printer. Consult the parts list page for supported printers.

    Once a thermal printer and driver have been enabled in Krux settings, all screens that display a QR code will offer the option to Print to QR. Other formats of mnemonic backup will also ask if you want to Print to QR?.

    There are many ways you can use this functionality, including:

    • Printing backups of your mnemonics and multisig wallet output descriptor
    • Printing your xpubs and receive addresses to share
    • Printing signed messages and PSBTs

    Since printed thermal paper fades quickly, you can also print your backups on sticker thermal paper to use as templates for punching into more resilient materials like steel.

    We also have plans to add support for other kinds of QR \"printers\" in the future, including CNC machines. In this case, gcode will be generated that can be sent directly to a GRBL controller to cut your QRs out of wood or metal!

    Just be careful what you do with the printed codes, since most smartphones can now quickly and easily read QR codes. Treat your QR mnemonic the same way you would treat a plaintext copy of it.

    "},{"location":"getting-started/features/sd-card-update/","title":"SD Card Updates","text":""},{"location":"getting-started/features/sd-card-update/#upgrade-via-microsd-card","title":"Upgrade via microSD card","text":"

    Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing via USB or you can perform upgrades via microSD card to keep the device airgapped.

    To perform an upgrade, simply copy the official release firmware.bin and firmware.bin.sig files to the root of a FAT-32 / MBR formatted microSD card, insert the card into your device, and reboot the device. If it detects the new firmware file and is able to verify the signature, you will be prompted to install it.

    Once installation is complete, eject the microSD card and delete the firmware files before reinserting and rebooting. Otherwise you will be prompted to install it again.

    We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure, read the Troubleshooting for more info. Only official releases are signed and can be installed via microSD card.

    "},{"location":"getting-started/features/tinyseed/","title":"Tiny Seed and other metal plates","text":""},{"location":"getting-started/features/tinyseed/#background","title":"Background","text":"

    The examples below have been created so that you can test the workflow for scanning both 12 and 24 word mnemonics. (Scanning the left plate for a 12 word mnemonic and both plates for 24) The resulting fingerprint from an successful scan is also incldued in the image.

    "},{"location":"getting-started/features/tinyseed/#tinyseed","title":"TinySeed","text":""},{"location":"getting-started/features/tinyseed/#onekey-keytag","title":"OneKey KeyTag","text":""},{"location":"getting-started/features/tinyseed/#binary-grid","title":"Binary Grid","text":""},{"location":"getting-started/features/tinyseed/#size-offset-and-padding-reference","title":"Size, Offset and Padding Reference","text":"

    The general logic for how these are processed is:

    1. Krux first looks for a square (Which works best if with a well lit square, with clean edges, on a dark background)
    2. This square is checked and if the ratio of length to height is within a defined range for the given seed type, the square is further processed. (Uses the aspect_high and aspect_low variables)
    3. An X and Y offset are applied to work out the corner of the seed grid within the seed plate. Some devices like the Maix Amigo use a mirrored coordinate system and some seed types will have a slightly different layout on the front and back of the plate. (Uses the x_offset and y_offset variables, p0 for the front face and p1 for the reverse face)
    4. The location of each cell within the 12x12 grid is calculated. (This uses the xpad and ypad variables)
    5. Krux uses the grid created in 4 to evaluate which cells are marked and which are blank, once a seed with a valid checksum is detected, the user can then confirm the dots.

    If you have a different type of grid that you want to use, you will need to edit the offsets and padding numbers in tiny_seed.py. (All of the sizes are scaled based on the size of the square detected in step 1...)

    You can match the pre-sets for supported key-types to the physical dimensions of the tag as shown below. (The numbers for these offsets are in 1/10th of a millimeter)

    "},{"location":"getting-started/features/tools/","title":"Tools","text":"

    Here are some useful tools that are available as soon as Krux starts! These are offered as a complement to managing your device and wallets.

    "},{"location":"getting-started/features/tools/#check-sd-card","title":"Check SD Card","text":"

    You can check if a SD card can be detected and read by your device and explore its content. If there are too many files to fit on one screen, swipe up or down to navigate between the screens if your device has a touchscreen.

    "},{"location":"getting-started/features/tools/#print-test-qr","title":"Print Test QR","text":"

    Quickly print a test QR code to check and optimize your printer setup.

    "},{"location":"getting-started/features/tools/#create-qr-code","title":"Create QR Code","text":"

    Enter text to create, print or transcribe a QR code that can later be used as an encryption key or passphrase. Swipe left or right to change modes if your device has a touchscreen.

    "},{"location":"getting-started/features/tools/#descriptor-addresses","title":"Descriptor Addresses","text":"

    Verify if an address or list of addresses belong to a wallet without needing to load private keys. Simply load a trusted wallet descriptor from a QR code or SD card.

    "},{"location":"getting-started/features/tools/#remove-mnemonic","title":"Remove Mnemonic","text":"

    This option allows you to remove any stored encrypted mnemonic from the device's internal memory or an SD card. For more information, see Krux Encrypted Mnemonics.

    When mnemonics are removed from the device's flash memory, Krux will no longer be able to access them. However, as with most operating systems, the data may still be recoverable using specialized tools. If you stored any important keys with a weak encryption key, it is recommended to use the \"Wipe Device\" feature below to ensure that the data is irrecoverable.

    When mnemonics are removed from an SD card, Krux will overwrite the region where the encrypted mnemonic was stored with empty data. This makes it more secure to delete mnemonics from SD cards using Krux rather than a PC or another device. However, Krux does not have a \"Wipe\" feature for SD cards; you can find this feature in third-party applications.

    "},{"location":"getting-started/features/tools/#wipe-device","title":"Wipe Device","text":"

    This option permanently removes all stored encrypted mnemonics and settings from the device's internal flash memory. It ensures that the data is irrecoverable, making it an adequate measure to take if any important mnemonics were stored with a weak encryption key.

    "},{"location":"getting-started/installing/from-pre-built-release/","title":"From pre-built official release","text":"

    This page explains how to install Krux from an official, pre-built release.

    "},{"location":"getting-started/installing/from-pre-built-release/#download-the-latest-release","title":"Download the latest release","text":"

    Head over to the releases page and download the latest signed release.

    "},{"location":"getting-started/installing/from-pre-built-release/#verify-the-files","title":"Verify the files","text":"

    Before installing the release, it's a good idea to check that:

    1. The SHA256 hash of krux-v24.09.1.zip matches the hash in krux-v24.09.1.zip.sha256.txt
    2. The signature file krux-v24.09.1.zip.sig can be verified with the selfcustody.pem public key found in the root of the krux repository.

    You can either do this manually or with the krux shell script, which contains helper commands for this:

    ./krux sha256 krux-v24.09.1.zip\n./krux verify krux-v24.09.1.zip selfcustody.pem\n

    On Mac you may need to install coreutils to be able to use sha256sum

    brew install coreutils\n

    Fun fact: Each Krux release is signed with Krux!

    "},{"location":"getting-started/installing/from-pre-built-release/#flash-the-firmware-onto-the-device","title":"Flash the firmware onto the device","text":"

    Extract the latest version of Krux you downloaded and enter the folder:

    unzip krux-v24.09.1.zip && cd krux-v24.09.1\n

    Connect the device to your computer via USB (for Maix Amigo, make sure you\u2019re using bottom port), power it on, and run the following, replacing DEVICE with either m5stickv, amigo, bit, cube, dock or yahboom (to yahboom you may need to manually specify the port, for example /dev/ttyUSB0 on Linux or COM6 on Windows):

    ./ktool -B goE -b 1500000 maixpy_DEVICE/kboot.kfpkg\n

    For dock use the -B dan parameter:

    ./ktool -B dan -b 1500000 maixpy_dock/kboot.kfpkg\n

    When the flashing process completes, you should see the Krux logo:

    If it doesn't, try turning your device off and on by holding down the power button for six seconds.

    Congrats, you're now running Krux!

    "},{"location":"getting-started/installing/from-pre-built-release/#a-note-about-the-maix-amigo","title":"A note about the Maix Amigo","text":"

    Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    "},{"location":"getting-started/installing/from-pre-built-release/#troubleshooting","title":"Troubleshooting","text":"

    If ktool fails to run, you may need to give it executable permissions with chmod +x ./ktool, or you might need to use \"sudo\" if your user don't have access to serial port. In Windows or Mac you may need to explicitly allow the tool to run by adding an exception for it.

    If the flashing process fails midway through, check the connection, restart the device, and try the command again.

    Two serial ports are created when Amigo and Bit are connected to a PC. Sometimes Ktool will pick the wrong port and flashing will fail. Manually specify the serial port to overcome this issue using -p argument:

    "},{"location":"getting-started/installing/from-pre-built-release/#linux","title":"Linux","text":"

    See the correct port using ls /dev/ttyUSB*, in the example below we use /dev/ttyUSB0:

    ./ktool-linux -B goE -b 1500000 maixpy_amigo/kboot.kfpkg -p /dev/ttyUSB1\n

    "},{"location":"getting-started/installing/from-pre-built-release/#windows","title":"Windows","text":"

    See the correct port at Device Manager > Ports (COM & LPT), in the example below we use COM6:

    .\\ktool-win.exe -B goE -b 1500000 maixpy_amigo\\kboot.kfpkg -p COM6\n

    "},{"location":"getting-started/installing/from-pre-built-release/#mac","title":"Mac","text":"

    Remove the Gatekeeper quarantine extended attribute from ktool-mac:

    xattr -d com.apple.quarantine ktool-mac\n

    See the correct port using the command line: ls /dev/cu.usbserial*, in the example below we use /dev/cu.usbserial-10 (If the output isn't what you expect try a different cable, preferably a smartphone usb-c charger cable):

    ./ktool-mac -B goE -b 1500000 maixpy_amigo/kboot.kfpkg -p /dev/cu.usbserial-10\n

    Different OS versions may have different port names, and the absence of ports may indicate a connection, driver or hardware related issue. See Troubleshooting for more info.

    "},{"location":"getting-started/installing/from-pre-built-release/#multilingual-support","title":"Multilingual support","text":"

    Prefer a different language? Krux has support for multiple languages. Once at the start screen, go to Settings, followed by Locale, and select the locale you wish to use.

    "},{"location":"getting-started/installing/from-pre-built-release/#upgrade-via-microsd-card","title":"Upgrade via microSD card","text":"

    Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades via microSD card to keep the device airgapped.

    "},{"location":"getting-started/installing/from-source/","title":"From source","text":"

    This page explains how to install Krux from source. You can check a simplified version of these instructions in our README too.

    "},{"location":"getting-started/installing/from-source/#fetch-the-code","title":"Fetch the code","text":"

    This will download the source code of Krux as well as the code of all its dependencies inside a new folder called krux (needs git):

    git clone --recurse-submodules https://github.com/selfcustody/krux\n

    Note: When you wish to pull updates (to all submodules, their submodules, ...) to this repo, use:

    git pull origin main && git submodule update --init --recursive\n

    "},{"location":"getting-started/installing/from-source/#prerequisite-for-upgrading-via-microsd","title":"Prerequisite for upgrading via microSD","text":"

    If you wish to perform airgapped upgrades via microSD card later, you will need to have a private and public key pair to sign your builds and verify the signatures. If you do not want to perform further airgapped upgrades, jump to build section.

    You can use an existing Krux installation and mnemonic to sign your builds with, or you can generate a keypair and sign from the openssl CLI. Commands have been added to the krux shell script to make this easier.

    In either case, you will need to update the SIGNER_PUBKEY field in src/krux/metadata.py to store your public key so that Krux can verify future builds before installing.

    To generate a keypair:

    ./krux generate-keypair\n./krux pem-to-pubkey pubkey.pem\n

    The first command will create privkey.pem and pubkey.pem files you can use with openssl, and the second command will output your public key in the form expected by Krux.

    Once you've updated the SIGNER_PUBKEY with this value, you can proceed with the regular build process.

    "},{"location":"getting-started/installing/from-source/#build-the-firmware-linux-or-wsl","title":"Build the firmware (Linux or WSL)","text":"

    The krux bash script contains commands for common development tasks. It assumes a Linux host, you will need to have Docker Desktop or Docker Engine, openssl, and wget installed at a minimum for the commands to work as expected. It works on Windows using WSL. The channel Crypto Guide from Youtube made a step-by-step video - Krux DIY Bitcoin Signer: Build From Source & Verify (With Windows + WSL2 + Docker)

    To build and flash the firmware:

    # build firmware for Maix Amigo\n./krux build maixpy_amigo\n

    The first time, the build can take around an hour or so to complete. Subsequent builds should take only a few minutes. If all goes well, you should see a new build folder containing firmware.bin and kboot.kfpkg files when the build completes.

    Note: if you encounter any of these errors while building, it is a problem connecting to github, try again (if the error persists, try changing the DNS/VPN or correcting the hostname resolution of github.com to an IP that is working for you):

    error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err8)\nfatal: the remote end hung up unexpectedly\nfatal: early EOF\nfatal: index-pack failed\nfatal: clone of ... failed\nFailed to clone ...\n

    "},{"location":"getting-started/installing/from-source/#reproducibility","title":"Reproducibility","text":"

    If you build from the main branch of the source code, you should be able to reproduce the build process used to generate the last release binaries and obtain exact copies of the firmware.bin and kboot.kfpkg files, with matching hash checksums.

    To extract and verify the firmware.bin contained in kboot.kfpkg, you can use the following command:

    unzip kboot.kfpkg -d ./kboot/\n
    "},{"location":"getting-started/installing/from-source/#flash-the-firmware-onto-the-device","title":"Flash the firmware onto the device","text":"

    Connect the device to your computer via USB (for Maix Amigo, make sure you\u2019re using bottom port), power it on, and run the following, replacing DEVICE with either m5stickv, amigo, bit, cube, dock or yahboom:

    # build firmware for DEVICE\n./krux flash maixpy_DEVICE\n
    If the flashing fails try one of the following common solutions listed on FAQ

    When the flashing process completes, you should see the Krux logo:

    If it doesn't, try turning your device off and on by holding down the power button for six seconds.

    Congrats, you're now running Krux!

    "},{"location":"getting-started/installing/from-source/#a-note-about-the-maix-amigo","title":"A note about the Maix Amigo","text":"

    Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    "},{"location":"getting-started/installing/from-source/#signing-the-firmware","title":"Signing the firmware","text":"

    You can sign the firmware to perform airgapped upgrades using one of the two methods listed below:

    "},{"location":"getting-started/installing/from-source/#method-1-signing-from-krux","title":"Method 1: Signing from Krux","text":"

    First, calculate the SHA256 hash of the new firmware by running:

    ./krux sha256 build/firmware.bin\n

    Copy this hex string and turn it into a QR code using whichever QR code generator you'd like.

    In Krux, enter the mnemonic of your private key that will be used for signing, and go to Sign > Message. Scan the QR code you generated, and you will be asked if you wish to sign the hash. Proceed, and you will be presented with a base64-encoded string containing the signature, as text and as a QR code.

    Take this string and create a signature file by running:

    ./krux b64decode \"signature-in-base64\" > build/firmware.bin.sig\n

    This will generate a firmware.bin.sig file containing a signature of the firmware's SHA256 hash.

    "},{"location":"getting-started/installing/from-source/#method-2-signing-from-your-computer-with-openssl","title":"Method 2: Signing from your computer with OpenSSL","text":"

    With the keypair you generated before, you can now run:

    ./krux sign build/firmware.bin privkey.pem\n

    This will generate a firmware.bin.sig file containing a signature of the firmware's SHA256 hash.

    "},{"location":"getting-started/installing/from-test-release/","title":"From pre-built test release","text":"

    This page explains how to install Krux from a test (beta), pre-built release.

    "},{"location":"getting-started/installing/from-test-release/#warning","title":"Warning","text":"

    Keep in mind that these are unsigned binaries.

    "},{"location":"getting-started/installing/from-test-release/#download","title":"Download","text":"

    Download experimental compiled firmware or the Android app apk from our test (beta) repository.

    "},{"location":"getting-started/installing/from-test-release/#android","title":"Android","text":"

    The Krux Android app is designed for learning about Krux and Bitcoin air-gapped transactions. Due to the numerous potential vulnerabilities inherent in smartphones, such as the lack of control over the operating system, libraries, and hardware peripherals, the Krux app should NOT be used to manage wallets containing savings or important keys and mnemonics. For secure management of your keys, a dedicated device is recommended.

    "},{"location":"getting-started/installing/from-test-release/#compiled-firmware-for-kendryte-k210-devices","title":"Compiled firmware for Kendryte K210 devices","text":""},{"location":"getting-started/installing/from-test-release/#m5stickv","title":"M5StickV","text":"

    To Flash M5StickV run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_m5stickv/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_m5stickv/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_m5stickv\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-amigo","title":"Sipeed Maix Amigo","text":"

    To Flash Maix Amigo run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux_1","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_amigo/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_1","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_amigo/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_1","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_amigo\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#a-note-about-the-maix-amigo","title":"A note about the Maix Amigo","text":"

    Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-bit","title":"Sipeed Maix Bit","text":"

    To Flash Maix Bit run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux_2","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_bit/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_2","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_bit/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_2","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_bit\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-cube","title":"Sipeed Maix Cube","text":"

    To Flash Maix Cube run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux_3","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_cube/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_3","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_cube/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_3","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_cube\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-dock","title":"Sipeed Maix Dock","text":"

    To Flash Maix Dock you need to pass the -B dan parameter.

    "},{"location":"getting-started/installing/from-test-release/#linux_4","title":"Linux","text":"
    ./ktool-linux -B dan -b 1500000 maixpy_dock/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_4","title":"Mac","text":"
    ./ktool-mac -B dan -b 1500000 maixpy_dock/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_4","title":"Windows","text":"
    .\\ktool-win.exe -B dan -b 1500000 maixpy_dock\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#aimotion-yahboom-k210-module","title":"Aimotion Yahboom k210 module","text":"

    To Flash Yahboom k210 module you'll have to manually specify the port.

    "},{"location":"getting-started/installing/from-test-release/#linux_5","title":"Linux","text":"

    See the correct port using ls /dev/ttyUSB*, in the example below we use /dev/ttyUSB0:

    ./ktool-linux -B goE -b 1500000 -p /dev/ttyUSB0 maixpy_yahboom/kboot.kfpkg\n

    "},{"location":"getting-started/installing/from-test-release/#mac_5","title":"Mac","text":"

    See the correct port using the command line: ls /dev/cu.usbserial*, in the example below we use /dev/cu.usbserial-10:

    ./ktool-mac -B goE -b 1500000 -p /dev/cu.usbserial-10 maixpy_yahboom/kboot.kfpkg\n

    "},{"location":"getting-started/installing/from-test-release/#windows_5","title":"Windows","text":"

    See the correct port at Device Manager > Ports (COM & LPT), in the example below we use COM6:

    .\\ktool-win.exe -B goE -b 1500000 -p COM6 maixpy_yahboom\\kboot.kfpkg\n

    "},{"location":"getting-started/installing/","title":"Installing","text":"

    You can install Krux in four different ways:

    • From GUI application
    • From pre-built official release
    • From pre-built test (beta) release
    • From source
    "},{"location":"getting-started/installing/#requirements","title":"Requirements","text":"

    Please, check the parts list for the compatible devices and requirements.

    After the first firmware install, you can use a microSD card if you wish to perform further airgapped updates.

    "},{"location":"getting-started/installing/from-gui/debian-like/","title":"Download assets","text":"
    • krux-installer_0.0.20-beta_amd64.deb
    • krux-installer_0.0.20-beta_amd64.deb.sha256.txt
    • krux-installer_0.0.20-beta_amd64.deb.sig
    "},{"location":"getting-started/installing/from-gui/debian-like/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_amd64.deb.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/debian-like/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_amd64.deb.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/debian-like/#install","title":"Install","text":"

    krux-installer isn't available on Debian or Ubuntu repositories. Therefore, only the apt-get install command will not work. To install, it'll be necessary two steps:

    • Install the .deb package itself:
    sudo dpkg -i krux-installer_0.0.20-beta_amd64.deb\n
    • Update the installed package:
    sudo apt-get install -f\n

    It will warn you that your system user was added to dialout group and maybe you need to reboot to activate the sudoless flash procedure.

    "},{"location":"getting-started/installing/from-gui/debian-like/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/fedora-like/","title":"Download assets","text":"
    • krux-installer-0.0.20_beta-1.x86_64.rpm
    • krux-installer-0.0.20_beta-1.x86_64.rpm.sha256.txt
    • krux-installer-0.0.20_beta-1.x86_64.rpm.sig
    "},{"location":"getting-started/installing/from-gui/fedora-like/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer-0.0.20_beta-1.x86_64.rpm.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/fedora-like/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer-0.0.20_beta-1.x86_64.rpm.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/fedora-like/#install","title":"Install","text":"

    krux-installer isn't available on Fedora or RedHat repositories. You'll need to add it manually:

    "},{"location":"getting-started/installing/from-gui/fedora-like/#fedora","title":"Fedora","text":"
    sudo  dnf install krux-installer-0.0.20_beta-1.x86_64.rpm\n
    "},{"location":"getting-started/installing/from-gui/fedora-like/#other-redhat-based-distros","title":"Other RedHat based distros:","text":"
    sudo yum localinstall krux-installer-0.0.20_beta-1.x86_64.rpm\n

    It will warn you that your system user was added to dialout group and maybe you need to reboot to activate the sudoless flash procedure.

    "},{"location":"getting-started/installing/from-gui/fedora-like/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/","title":"From GUI application","text":"

    You can install Krux (both official or beta releases) onto your K210-based device using our official desktop application, KruxInstaller, available for:

    \u26a0\ufe0f WARNING: Krux-Installer latest version is in it's alpha version. Maybe you can experience bugs or don't like something. If it is the case, please submit a issue.

    • Windows
    • MacOS Intel
    • MacOS M1/M2/M3
    • Debian and like
    • Fedora and like
    • Other linux distros
    "},{"location":"getting-started/installing/from-gui/macos-arm64/","title":"Download assets","text":"
    • krux-installer_0.0.20-beta_arm64.dmg
    • krux-installer_0.0.20-beta_arm64.dmg.sha256.txt
    • krux-installer_0.0.20-beta_arm64.dmg.sig
    "},{"location":"getting-started/installing/from-gui/macos-arm64/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_arm64.dmg.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/macos-arm64/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_arm64.dmg.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/macos-arm64/#install","title":"Install","text":"

    Open the dmg file and a new volume will be presented; drag'n'drop the krux-installer to the Applications folder:

    Before run, you'll need to remove the quarantine flag from application. This occurs because we don't added the Apple's code signing and notarization.

    To fix this, open your terminal and execute the following command:

    xattr -d com.apple.quarantine -r /Applications/krux-installer.app\n

    \ud83d\udee1\ufe0f TIP: If you followed the steps presented in authenticity section, you already have the assurance that the software is from a verified and genuine software publisher. This will also help establish a chain of trust when you perform the firmware verification step before flashing.

    "},{"location":"getting-started/installing/from-gui/macos-arm64/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/macos-intel/","title":"Download assets","text":"
    • krux-installer_0.0.20-beta_x86_64.dmg
    • krux-installer_0.0.20-beta_x86_64.dmg.sha256.txt
    • krux-installer_0.0.20-beta_x86_64.dmg.sig
    "},{"location":"getting-started/installing/from-gui/macos-intel/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_x86_64.dmg.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/macos-intel/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_x86_64.dmg.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/macos-intel/#install","title":"Install","text":"

    Open the dmg file and a new volume will be presented; drag'n'drop the krux-installer to the Applications folder:

    Before run, you'll need to remove the quarantine flag from application. This occurs because we don't added the Apple's code signing and notarization.

    To fix this, open your terminal and execute the following command:

    xattr -d com.apple.quarantine -r /Applications/krux-installer.app\n

    \ud83d\udee1\ufe0f TIP: If you followed the steps presented in authenticity section, you already have the assurance that the software is from a verified and genuine software publisher. This will also help establish a chain of trust when you perform the firmware verification step before flashing.

    "},{"location":"getting-started/installing/from-gui/macos-intel/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/other-linux-distro/","title":"Download assets","text":"

    For this installation, we'll use the .deb sources:

    • krux-installer_0.0.20-beta_amd64.deb
    • krux-installer_0.0.20-beta_amd64.deb.sha256.txt
    • krux-installer_0.0.20-beta_amd64.deb.sig
    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_amd64.deb.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_amd64.deb.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#install","title":"Install","text":"

    This step it's not really an installation. At least it will make the program's binary available somewhere on your computer; it can be useful if you want to develop a package for your distro.

    To do this you'll need two tools:

    • ar;
    • bsdtar.
    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#extract-contents","title":"Extract contents","text":"
    • Extract the .deb contents:
    ar xv krux-installer_0.0.20-beta_amd64.deb\n
    • Extract the data.tar.zst contents:
    bsdtar -xvf data.tar.zst\n

    The binary will be located at ./usr/local/bin/krux-installer.

    "},{"location":"getting-started/installing/from-gui/usage/","title":"Usage","text":"

    This guide will walk through the basic use of the installer. At startup, it can differ in some operational systems. In the rest, the procedures will be similar.

    "},{"location":"getting-started/installing/from-gui/usage/#main-menu","title":"Main Menu","text":"

    When executing the Krux Installer, you will be presented with a menu of 4 enabled buttons and two disabled buttons:

    • Enabled buttons:

      • Version: select a firmware version;

      • Device: select a supported device for the selected version;

      • Settings: change some application settings;

      • About: just show some information about the application.

    • Disabled buttons:

      • Flash firmware: This button will start the flash firmware procedure;

        • It will be enabled when user select both version and device;
      • Wipe device: This button will start the wipe device procedure.

        • It will be enabled when user select the device.
    "},{"location":"getting-started/installing/from-gui/usage/#select-version","title":"Select version","text":"

    At startup, the application will setup it to the latest one, krux-v24.09.1. But you can select even a beta release or older versions:

    • Click in the button that show the text Version: krux-v24.09.1;

    • To select a beta release, click on button that show the text odudex/krux_binaries;

    • To select an older version, click on button that show the text Old versions;

    "},{"location":"getting-started/installing/from-gui/usage/#beta-release","title":"Beta release","text":"

    After choose odudex/krux_binaries, you'll be warned with a message:

    "},{"location":"getting-started/installing/from-gui/usage/#older-versions","title":"Older versions","text":"
    • We put this option in case you have any interest in the history of firmware development;
    • Each version supports one device or the other;

    • For example: the version v22.03.0 has support only for m5stickv.

    "},{"location":"getting-started/installing/from-gui/usage/#settings","title":"Settings","text":"

    krux-Installer will give to you some freedom of choices for:

    • Krux-Installer settings;

    • General settings;

    "},{"location":"getting-started/installing/from-gui/usage/#krux-installer-specific-settings","title":"krux-installer specific settings","text":"

    Here you can configure some of the specifics of krux firmare, like:

    • Where you'll save downloaded assets;

    • The flash baudrate

    • The natural language that will be used in the application (system locale).

    "},{"location":"getting-started/installing/from-gui/usage/#flash-baudrate","title":"Flash baudrate","text":"

    The flash baudrate is how quickly the firmware will be written to the device.

    But not any value can be used. The valid ones are: 9600, 19200, 28800, 38400, 57600, 76800, 115200, 230400, 460800, 576000, 921600, 1500000.

    "},{"location":"getting-started/installing/from-gui/usage/#system-locale","title":"System locale","text":"

    At startup, krux-installer recognize the locale used in your system. If your language isn't supported, it will defaults to en_US.

    "},{"location":"getting-started/installing/from-gui/usage/#select-device","title":"Select Device","text":"

    Everytime you select a new version, you'll see that the device button will be reseted to Device: select a new one state. Once a version is selected you can choose a device on which the firmware will be written.

    First, select the device we want to flash. After that the menu will shown three items:

    Note that some devices may be disabled if they are not supported by the chosen version

    "},{"location":"getting-started/installing/from-gui/usage/#flash-device","title":"Flash device","text":"

    Once you choose the device and version, it enables the \"flash device\" button. It will start an automatic process of:

    • For official firmware's releases:

      • Warning;

      • Download;

      • Verification:

      • Unzip the correct firmware;

      • Flash:

        • The flash itself via USB;

        • Air-gapped update via SD card;

    • For beta releases:

      • Download asset;

      • The flash itself;

    "},{"location":"getting-started/installing/from-gui/usage/#warning","title":"Warning","text":"

    If you already downloaded assets, you'll be warned about this and will be offered the possibility to download again or continue without downloading:

    "},{"location":"getting-started/installing/from-gui/usage/#download","title":"Download","text":"

    Krux-installer download can download four assets for official releases or one for beta releases.

    "},{"location":"getting-started/installing/from-gui/usage/#official-releases","title":"Official releases","text":"
    • A zip file containing all firmwares for each device;

    • Download a zip.sha256.txt file containing a zip's digital fingerprint;

    • Download a zip.sig file containing a zip's digital signature;

    • Download the selfcustody.pem file containing a public key certificate, signed by odudex;

    "},{"location":"getting-started/installing/from-gui/usage/#beta-releases","title":"Beta releases","text":"
    • A kfpkg file containing the specific firmware for choosen device;
    "},{"location":"getting-started/installing/from-gui/usage/#verification","title":"Verification","text":"
    • Integrity verification compares the computed hash of zip against thei provided zip.sha256.txt;

    • Authenticity verification check if the zip file was really signed by odudex, using the zip.sig and selfcustody.pem.

    "},{"location":"getting-started/installing/from-gui/usage/#unzip","title":"Unzip","text":"

    Now you will be able to select if you do a flash process or need to do an airgap process:

    Click on Flash with to install via USB or Air-gapped update with to perform upgrades via a SD card.

    "},{"location":"getting-started/installing/from-gui/usage/#flash-with","title":"Flash with","text":"

    When flash starts, it will warn you to not disconnect the device until the process is complete. You'll be able to see the flash progress:

    \u26a0\ufe0f TIP: You must connect and turn on your device before click extract and flashing starts!.

    As well a done icon:

    \u26a0\ufe0f TIP: When the flashing process completes, you should see the Krux logo:

    If it doesn't, try turning your device off and on by holding down the power button for six seconds.

    Congrats, you're now running Krux!

    "},{"location":"getting-started/installing/from-gui/usage/#air-gapped-update-with","title":"Air-gapped update with","text":"

    Once you've installed the initial firmware on your device via USB, you can perform upgrades via SD card to keep the device airgapped.

    \u26a0\ufe0f Click on \"Air-gapped update with\"

    Once the firmware.bin and firmware.bin.sig are extracted, you'll see a warning message.

    Insert the SD card and click 'Proceed' to allow the installer to detect it.

    \u26a0\ufe0f If a single SD card is inserted, the screen will display a large button. If multiple removable drives are detected, both SD cards and other drives will be listed.

    Select the desired removable drive to copy both firmware.bin and firmware.bin.sig. The first is the Krux firmware, and the second is a signature file that verifies the firmware\u2019s integrity and authenticity.

    Now you can compare the firmware's hash computed by installer with the firmware's hash computed by the device.

    \u26a0\ufe0f Once files are copied, remove the SD card from computer, connect to device and compare the hashes

    "},{"location":"getting-started/installing/from-gui/usage/#wipe-device","title":"Wipe device","text":"

    This is two step process:

    • Warning

    • Wipe

    "},{"location":"getting-started/installing/from-gui/usage/#warning_1","title":"Warning","text":"

    Before the wipe starts, it will show to you a message:

    \u26a0\ufe0f TIP: It's useful when your device is not working or for security reasons. To use Krux again, you'll need to re-flash the firmware.

    "},{"location":"getting-started/installing/from-gui/usage/#wipe","title":"Wipe","text":"

    Once the process starts, the screen will appear frozen and a spinner will keep moving. When it's done, you can scroll down you will see a check icon.

    \u26a0\ufe0f TIP: Do not unplug or poweroff your device or computer. Wait until the process finishes.

    "},{"location":"getting-started/installing/from-gui/usage/#tips-after-install","title":"Tips after install","text":""},{"location":"getting-started/installing/from-gui/usage/#multilingual-support","title":"Multilingual support","text":"

    Prefer a different language? Krux has support for multiple languages. Once at the start screen, go to Settings, followed by Locale, and select the locale you wish to use.

    "},{"location":"getting-started/installing/from-gui/usage/#upgrade-via-microsd-card","title":"Upgrade via microSD card","text":"

    Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades via microSD card to keep the device airgapped.

    "},{"location":"getting-started/installing/from-gui/windows/","title":"Download assets","text":"
    • krux-installer_v0.0.20-beta.Setup.exe
    • krux-installer_v0.0.20-beta.Setup.exe.sha256.txt
    • krux-installer_v0.0.20-beta.Setup.exe.sig
    "},{"location":"getting-started/installing/from-gui/windows/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    (Get-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe').Hash.ToLower() -eq (Get-Content '.\\krux-installer_v0.0.20-beta.Setup.exe.sha256.txt').split(\" \")[0]\n

    The result in prompt should be True.

    Alternatively, you can check more closely in two steps:

    • Compute the binary sha256sum hash:
    # Option 1: Compute in default way\nGet-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe'\n\n# Option 2: Compute and filter the necessary information\n(Get-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe').Hash\n\n# Option 3: Compute, filter and process the Hash for lowercase letters\n(Get-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe').Hash.ToLower()\n
    • Compare with provided hash:
    # Option 1: Get content \nGet-Content '.\\krux-installer_v0.0.20-beta.Setup.exe.sha256.txt'\n\n# Option 2: Get content and filter the necessary information\n(Get-Content '.\\krux-installer_v0.0.20-beta.Setup.exe.sha256.txt').split(\" \")[0]\n
    "},{"location":"getting-started/installing/from-gui/windows/#verify-the-authenticity","title":"Verify the authenticity","text":"
    • You'll need have GPG installed;
    • We recommend installing GPG4Win.

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_v0.0.20-beta.Setup.exe.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/windows/#install","title":"Install","text":"

    Execute the krux-installer_v0.0.20-beta.Setup.exe. You'll be faced with a blue window saying \"Windows protected your PC\". This occurs because we don't have a code signing certificate:

    \ud83d\udee1\ufe0f TIP: If you followed the steps presented in authenticity section, you already have the assurance that the software is from a verified and genuine software publisher. This will also help establish a chain of trust when you perform the firmware verification step before flashing.

    Follow the installer's instructions to complete the installation. At the end, click on \"Create desktop icon\":

    "},{"location":"getting-started/installing/from-gui/windows/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/usage/generating-a-mnemonic/","title":"Generating a Mnemonic","text":"

    Krux supports creating 12 and 24-word BIP-39 mnemonic seed phrases. Since generating true entropy is challenging, especially with an embedded device, we recommend outsourcing entropy generation using dice rolls. However, it is also possible to randomly pick words (e.g., SeedPicker) or use the camera as a source of entropy to quickly create a mnemonic.

    At the start screen, after selecting New Mnemonic, you will be taken to a second menu where you can choose to create a mnemonic via the camera, words, rolls of a D6 (standard six-sided die), or a D20 (20-sided die).

    "},{"location":"getting-started/usage/generating-a-mnemonic/#camera","title":"Camera","text":"

    (Experimental!) Choose between 12, 24 words or double mnemonic, then take a random picture and Krux will generate a mnemonic from the hash of the image bytes.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#image-entropy-quality-estimation","title":"Image Entropy Quality Estimation","text":"

    During image capture, entropy quality estimation is displayed to assist you in obtaining a high-quality image source for your key. After a snapshot is taken, Shannon's entropy and pixel deviation indices are presented. Minimum thresholds are established to prevent the use of poor-quality images with low entropy for key generation. It's important to note that these values serve as indicators or estimations of entropy quality, but they are not absolute entropy values in a cryptographic context.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#double-mnemonic","title":"Double mnemonic","text":"

    It is the combination of two 12-word mnemonics that also forms a valid 24-word BIP-39 mnemonic. This is achieved by using the first 16 bytes (128 bits) of the image's entropy to generate the first 12-word, then using the next 16 bytes to generate the second 12-word and checking if these two 12-word together forms a valid 24-word, if not, we iterate over the second 12-word incrementing its entropy bytes until the two 12-word forms a valid 24-word.

    Some might say that the name double mnemonic is incorrect because we end up with two 12-word plus a 24-word mnemonic (12 + 12 + 24), so it's a triple mnemonic! But we only use entropy for the two 12-word ones, hence the name double mnemonic. Also, this name has already been used in this double mnemonic generator since July 2023.

    Some may wonder what is the use of this, it may be useful to some plausible deniability or even a way to improve your OPSEC.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#words","title":"Words","text":"

    Print the BIP39 word list in 3D or on paper, then cut out the words and place them in a bucket. Manually draw 11 or 23 words from the bucket. For the final word, Krux will assist you in picking a valid 12th or 24th word by adjusting its smart keypad to only allow typing words with a valid checksum. Alternatively, you can leave it empty, and Krux will select a final, valid checksum word for you.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#dice-rolls","title":"Dice Rolls","text":""},{"location":"getting-started/usage/generating-a-mnemonic/#via-d6","title":"Via D6","text":"

    Choose between 12 or 24 words. The entropy in a single roll of a D6 is 2.585 bits ( log2(6) ); therefore a minimum of a 50 rolls will be required for 128 bits of entropy, enough to generate a 12-word mnemonic. For 24-word, or an entropy of 256 bits, a minimum of 99 rolls will be required.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#via-d20","title":"Via D20","text":"

    Since a D20 has more possible outcomes, the entropy is increased per roll to 4.322 bits ( log2(20) ). This means that only 30 rolls are necessary to create a 12-word mnemonic and 60 rolls for a 24-word mnemonic.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#dice-rolls-entropy-quality-estimation","title":"Dice Rolls Entropy Quality Estimation","text":"

    When you input your dice rolls, you'll see two progress bars filling up. The top progress bar shows how many rolls you've entered compared to the minimum number needed. The bottom progress bar shows the real-time calculated Shannon's entropy compared to the required minimum (128 bits for 12 words and 256 bits for 24 words). When the Shannon's entropy estimation reaches the recommended level, the progress bar will be full, and its frame will change color. If you've met the minimum number of rolls but the entropy estimation is still below the recommended level, a warning will appear, suggesting you add more rolls to increase entropy. Note: Similar to image entropy quality estimation, dice rolls Shannon's entropy serves as an indicator and should not be considered an absolute measure of cryptographic entropy.

    Learn more about Krux Entropy Quality Estimation.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#stats-for-nerds","title":"Stats for Nerds","text":"

    A low Shannon's entropy value could suggest that your dice are biased or that there's a problem with how you're gathering entropy. To investigate further, examine the \"Stats for Nerds\" section to check the distribution of your rolls and look for any abnormalities.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#editing-a-new-mnemonic-optional","title":"Editing a New Mnemonic - Optional","text":"

    After entering dice rolls, random words, or captured entropy through the camera, you can manually add custom entropy by editing some of the words. Edited words will be highlighted, and the final word will automatically update to ensure a valid checksum. However, proceed with caution, modifying words can negatively impact the natural entropy previously captured.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#how-entropy-capture-works","title":"How Entropy Capture Works","text":"

    For dice rolls, Krux keeps track of every roll you enter and displays the cumulative string of outcomes after each roll.

    When you have entered your final roll, Krux will hash this string using SHA256 and output the resulting hash to the screen so that you can verify it for yourself.

    In case a camera snapshot is used as a source, the image bytes, which contain pixels data in RGB565 format, will be hashed in the same way as the dice rolls.

    Krux then takes this hash, runs unhexlify on it to encode it as bytes, and deterministically converts it into a mnemonic according to the BIP-39 Reference Implementation.

    Note: For 12-word mnemonics, only the first half of the SHA256 hash is used (128 bits), while 24-word mnemonics use the full hash (256 bits).

    "},{"location":"getting-started/usage/generating-a-mnemonic/#how-to-verify","title":"How to Verify","text":"

    Don't trust, verify. We encourage you not to trust any claim you cannot verify yourself. Therefore, there are wallets that use compatible algorithms to calculate the entropy derived from dice rolls. You can use the SeedSigner or Coldcard hardware wallets, or even the Bitcoiner Guide website, they share the same logic that Krux uses and will give the same mnemonic for the dice roll method.

    "},{"location":"getting-started/usage/loading-a-mnemonic/","title":"Loading a Mnemonic","text":"

    Once you have either a 12 or 24-word BIP-39 mnemonic, choose Load Mnemonic on Krux's start menu (aka login menu), and you will be presented with several input methods:

    "},{"location":"getting-started/usage/loading-a-mnemonic/#input-methods","title":"Input Methods","text":""},{"location":"getting-started/usage/loading-a-mnemonic/#via-camera","title":"Via Camera","text":"

    You can choose to use the camera to scan a QR code, Tiny Seed, OneKey KeyTag or a Binary Grid.

    If you are in a dark environment, you can hold down the ENTER button of the M5StickV or Maix Amigo to turn on their LED light to potentially increase visibility. Some cameras (OV7740, OV2640 and GC2145) have an anti-glare mode to better capture images from high brightness screens or with incident light, they are present on M5StickV, Amigo, Cube and Yahboom. To enable/disable the anti-glare mode on a supported device just press the PAGE button while scanning.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#qr-code","title":"QR Code","text":"

    It's unpleasant having to manually enter 12 or 24 words every time you want to use Krux. To remedy this you can instead use the device's camera to read a QR code containing the words. Krux will decode QR codes of four types:

    • Plain text QR: The mnemonic words encoded as text, with words separated by spaces.
    • SeedQR: Basically, it is the mnemonic words of the respective BIP-39 numbers concatenated, encoded as text.
    • Compact SeedQR: Basically, it is the mnemonic words bits concatenated as bytes.
    • Encrypted Mnemonic: A specification created by Krux that encrypts the mnemonic words bits and adds some information about the encryption used.

    After opening a wallet via one of the methods available you can use Krux to backup the mnemonic as QR code, transcribe them to paper or metal using the transcription helpers or attach a thermal printer to your Krux and print out the mnemonic as QR. Check out the printing section for more information. You can also use an offline QR code generator for this (ideally on an airgapped device).

    "},{"location":"getting-started/usage/loading-a-mnemonic/#tiny-seed-onekey-keytag-or-binary-grid","title":"Tiny Seed, OneKey KeyTag or Binary Grid","text":"

    Tiny Seed, Onekey KeyTag and others directly encode a seed as binary, allowing for a very compact mnemonic storage. Krux devices have machine vision capabilities that allow users to scan these metal plates and instantly load mnemonics engraved on them (this feature is not available in Krux Android app).

    To properly scan, place the backup plate over a black background and paint the punched bits black to increase contrast. You can also scan the thermally printed version, or a filled template. You can find some examples of mnemonics encoded here. Alternatively, you can find templates to scan or print here.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#via-manual-input","title":"Via Manual Input","text":"

    Manually type Words, Word Numbers, Tiny Seed (toggle the bits or punches) or Stackbit 1248.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#words","title":"Words","text":"

    Enter each word of your BIP-39 mnemonic one at a time. Krux will disable impossible-to-reach letters as you type and will attempt to autocomplete your words to speed up the process.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#word-numbers","title":"Word Numbers","text":""},{"location":"getting-started/usage/loading-a-mnemonic/#decimal","title":"Decimal","text":"

    Enter each word of your BIP-39 mnemonic as a number (1-2048) one at a time. You can use this list for reference.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#hexadecimal-and-octal","title":"Hexadecimal and Octal","text":"

    You can also enter your BIP-39 mnemonic word's numbers (1-2048) in hexadecimal format, with values ranging from 0x1 to 0x800, or in octal format, with values ranging from 01 to 04000. This is useful with some metal plate backups that uses those formats.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#tiny-seed-bits","title":"Tiny Seed (Bits)","text":"

    Enter the BIP-39 mnemonic word's numbers (1-2048) in binary format, toggling necessary bits to recreate each of the word's respective number. The last word will have checksum bits dynamically toggled while you fill the bits.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#stackbit-1248","title":"Stackbit 1248","text":"

    Enter the BIP-39 mnemonic word's numbers (1-2048) using the Stackbit 1248 metal plate backup method, where each of the four digits of the word's number is a sum of the numbers marked (punched) 1, 2, 4, or 8. For example, to enter the word \"oyster\", number 1268, you must punch (1)(2)(2,4)(8).

    "},{"location":"getting-started/usage/loading-a-mnemonic/#from-storage","title":"From Storage","text":"

    You can retrieve mnemonics previously stored on device's internal flash or external (SD card). All stored mnemonics are encrypted, to load them you'll have to enter the same key you used to encrypt them.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#wallet-loading","title":"Wallet Loading","text":""},{"location":"getting-started/usage/loading-a-mnemonic/#confirm-mnemonic-words","title":"Confirm Mnemonic Words","text":"

    Once you have entered your mnemonic, you will be presented with the full list of words to confirm.

    If you see an asterisk (*) in the header, it means this is a double mnemonic.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#edit-mnemonic-optional","title":"Edit Mnemonic - Optional","text":"

    If you make a mistake while loading a mnemonic, you can easily edit it. Simply touch or navigate to the word you want to change and replace it. Edited words will be highlighted in a different color. If the final word contains an invalid checksum, it will appear in red. If your checksum word is red, please review your mnemonic carefully, as there may be an error.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#confirm-wallet-attributes","title":"Confirm Wallet Attributes","text":"

    You will be presented with a screen containing wallet attributes, if they are as expected just press Load Wallet and you'll be ready to use your loaded key.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#fingerprint","title":"Fingerprint","text":"
    • 73c5da0a: The BIP-32 master wallet's fingerprint, if you have it noted down, will help you make sure you entered the correct mnemonic and passphrase (optional) and will load the expected wallet.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#network","title":"Network","text":"
    • Mainnet: Check if you are loading a Testnet or Mainnet wallet.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#single-multisig","title":"Single / Multisig","text":"
    • Single-sig: Check if you are loading a Single-sig or Multisig wallet.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#derivation-path","title":"Derivation Path","text":"
    • m/84'/0'/0': The derivation path is a sequence of numbers, or \"nodes\", that define the script type, network, and account index of your wallet.
      • Script Type 84': The first number defines the script type. The default is 84', corresponding to a Native Segwit wallet. Other values include:
        • 44' for Legacy
        • 49' for Nested Segwit
        • 86' for Taproot
        • 48' for Multisig
      • Network 0': The second number defines the network:
        • 0' for Mainnet
        • 1' for Testnet
      • Account Index 0': The third number is the account index, with 0' being the default.
      • Additional: For multisig wallets, a fourth node with the value 2' is added to the derivation path.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#passphrase","title":"Passphrase","text":"
    • No Passphrase: Informs if the wallet has a loaded passphrase.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#customize","title":"Customize","text":"

    You can change any of the attributes before and after loading a wallet. It is also possible to change default settings for Network and Single/Multisig on settings.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#passphrase_1","title":"Passphrase","text":"

    You can type or scan a BIP-39 passphrase. When typing, swipe left or right to change keypads if your device has a touchscreen. You can also hold the button PAGE or PAGE_PREV when navigating among letters while typing text to fast forward or backward. For scanning, you can also create a QR code from your offline passphrase using the create QR code tool.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#customize_1","title":"Customize","text":"

    Press Customize to open a menu where you can change the Network, Single/Multisig, Script Type and Account.

    Now, onto the main menu...

    "},{"location":"getting-started/usage/navigating-the-main-menu/","title":"Navigating the Main Menu","text":"

    After entering your mnemonic, and loading a wallet, you will find yourself on Krux's main menu. Below is a breakdown of the entries available:

    "},{"location":"getting-started/usage/navigating-the-main-menu/#backup-mnemonic","title":"Backup Mnemonic","text":"

    This will open a new submenu with different types of backups. QR Code based, Encrypted and Other Formats

    If you set a printer, it will also give the option to print them!

    "},{"location":"getting-started/usage/navigating-the-main-menu/#qr-code","title":"QR Code","text":"
    • Plaintext QR

    Generate a QR containing the mnemonic words as regular text, where words are separated by spaces. Any QR code can be printed if a thermal printer driver is set.

    • Compact SeedQR

    A QR code is created from a binary representation of mnemonic words. Format created by SeedSigner, more info here.

    • SeedQR

    Words are converted to their BIP-39 numeric indexes, those numbers are then concatenated as a string and finally converted to a QR code. Format created by SeedSigner, more info here.

    • Encrypted QR Code

    This option converts the encrypted mnemonic into a QR code. Enter an encryption key and, optionally, a custom ID. When you scan this QR code through \"Load Mnemonic\" -> \"Via Camera\" -> \"QR Code,\" you will be prompted to enter the decryption key to load the mnemonic stored in it. Like any QR code, it can be printed if a thermal printer driver is set up.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#encrypted","title":"Encrypted","text":"

    This feature allows you to back up your mnemonic by encrypting it and storing it on the device's flash memory, an SD card, or in QR code format. You can customize the encryption method and parameters in the settings.

    For convenience, you may choose to store the encrypted mnemonic on flash memory or an SD card, but it is advisable not to rely solely on these methods for backup. Flash storage can degrade over time and may be subject to permanent damage, resulting in the loss of stored information.

    When using any of the encryption methods, you will be prompted to enter an encryption key. This key can be provided in text or QR code format. Additionally, you have the option to set a custom ID for easier management of your mnemonics. If a custom key is not specified, the device's current loaded wallet fingerprint will be used as the ID.

    See this page to find out more about: Krux Mnemonics Encryption.

    • Store on Flash

    This option stores the encrypted mnemonic in the device's flash memory. You can decrypt and load it later through the \"Load Mnemonic\" -> \"From Storage\" option.

    • Store on SD Card

    If an SD card is available, this option stores the encrypted mnemonic on it. You can decrypt and load it later through the \"Load Mnemonic\" -> \"From Storage\" option.

    • Encrypted QR Code It's another path for the same functionality present on QR Code backups, described above.
    "},{"location":"getting-started/usage/navigating-the-main-menu/#other-formats","title":"Other Formats","text":"
    • Words

    Display the BIP-39 mnemonic words as text so you can write them down.

    • Numbers

    Display the BIP-39 mnemonic word numbers (1-2048) in decimal, hex, or octal format.

    • Stackbit 1248

    This metal backup format represents the BIP-39 mnemonic word's numbers (1-2048). Each of the four digits is converted to a sum of 1, 2, 4 or 8. This option does not print even if a printer driver is set.

    • Tiny Seed

    This metal backup format represents the BIP-39 mnemonic word's numbers (1-2048) in binary format on a metal plate, where the 1's are marked (punched) and the 0's are left intact. You can also print your mnemonic in this format if a thermal printer driver is set.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#extended-public-key","title":"Extended Public Key","text":"

    A menu will be presented with options to display your master extended public key (xpub) as text and as a QR code. Depending on the script type or whether a single-sig or multisig wallet was loaded, the options shown will be xpub, ypub, zpub, or Zpub. When displayed as text, the extended public key can be stored on an SD card if available. If you choose to export a QR code, you can not only scan it but also save it as an image on an SD card or print it if a thermal printer is attached.

    All QR codes will contain key origin information in key expressions. If your coordinator cannot parse this information, it will not be capable of importing the wallet's fingerprint. As a result, Krux will not perform important verifications when signing transactions created by it unless you manually add the fingerprint so that it can be used to create Krux-compatible PSBTs.

    Always prefer to import extended public keys directly from Krux when setting up a coordinator instead of copying it (or parts of it) from other sources.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#wallet","title":"Wallet","text":"

    Here you can load view and save wallet descriptors, add or change passphrases, customize wallet's attributes, generate and load a BIP85 child mnemonic.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#wallet-descriptor","title":"Wallet Descriptor","text":"

    A Bitcoin Wallet Output Script Descriptor defines a set of addresses in a wallet. It includes the following information: - Script Type: Specifies the type of script (e.g., P2PKH, P2SH, P2WPKH). - Origin Info: Defines the master fingerprint and derivation path used to derive keys. - Extended Public Keys: usually represented as an xpub, but could be ypub, zpub, etc.

    Output descriptors standardize how wallets generate addresses, ensuring compatibility and security. They help wallets and other software understand how to derive and verify the addresses used in transactions.

    For multisig wallets, it is essential to load a descriptor to check addresses and perform full PSBT verification. For single-sig wallets, loading a descriptor is optional and serves as a redundancy check of the coordinator's wallet attributes.

    When you select the \"Wallet Descriptor\" option for the first time, you will be prompted to load a wallet descriptor via QR code or SD card. After loading, a preview of the wallet attributes will be displayed for confirmation.

    If you access the \"Wallet Descriptor\" option again after loading your wallet, you will see the wallet's name, fingerprints, and the abbreviated XPUBs of all cosigners, along with a QR code containing the exact data that was initially loaded. If an SD card is inserted, you can save the descriptor to it for later use without the assistance of a coordinator. Additionally, if you have a thermal printer attached, you can print this QR code.

    Krux also allows you to verify a descriptor's receive and change addresses without the need to load private keys. Simply turn on your Krux, access \"Tools\" -> \"Descriptor Addresses,\" and load a trusted descriptor from a QR code or SD card.

    Please note that if you customize the wallet parameters or restart the device, the descriptor will be unloaded, and you may need to load it again to check addresses.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#passphrase","title":"Passphrase","text":"

    If you forgot to load a passphrase while loading your wallet, or if you use multiple passphrases with the same mnemonic, you can add, replace, or remove a passphrase here. Simply choose between typing or scanning it.

    To remove a passphrase, select \"Type BIP39 Passphrase,\" leave the field blank, and press \"Go.\"

    Don't forget to verify the resulting fingerprint in the status bar to ensure you've loaded the correct key.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#customize","title":"Customize","text":"

    Here you are presented to the exact same customization options you have while loading a key and wallet. You can change the Network, Single/Multisig, Script Type and Account. More about wallet attributes

    "},{"location":"getting-started/usage/navigating-the-main-menu/#bip85","title":"BIP85","text":"

    Bitcoin BIP85, also known as the Deterministic Entropy From BIP32 Keychains, allows for the generation of deterministic entropy using a BIP32 master key. This entropy can then be used to create various cryptographic keys and mnemonics (e.g., BIP39 seed phrases). BIP85 ensures that all derived keys and mnemonics are deterministic and reproducible, meaning they can be recreated from the same master key. This feature is useful for securely managing multiple child keys from a single master key without the need to store each one separately.

    Choose between a 12 or 24 words child then type the desired index to export a child mnemonic. After being presented to the new mnemonic, you can choose to load and use it right away.

    Please note passphrases will be removed when loading a BIP85 child.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#address","title":"Address","text":"

    Scan, verify, export or print your wallet addresses.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#scan-address","title":"Scan Address","text":"

    This option turns on the camera and allows you to scan in a QR code of a receive address. Upon scanning, it will render its own QR code of the address back to the display along with the (text) address below it. You could use this feature to scan the address of someone you want to send coins to and display the QR back to your wallet coordinator rather than copy-pasting an address. If you have a thermal printer attached, you can also print this QR code.

    After proceeding through this screen, you will be asked if you want to check that the address belongs to your wallet. If you confirm, it will exhaustively search through as many addresses derived from your wallet as you want in order to find a match.

    This option exists as an extra security check to verify that the address your wallet coordinator has generated is authentic and belongs to your wallet.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#receive-addresses","title":"Receive Addresses","text":"

    List your wallet receiving addresses, you can browse to select an arbitrary address to show your QR code and print if you want.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#change-addresses","title":"Change Addresses","text":"

    List your wallet change addresses, you can browse to select an arbitrary address to show your QR code and print if you want.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#sign","title":"Sign","text":"

    Under Sign, you can choose to sign a PSBT or a message. You can load both PSBTs and messages scanning QR codes or loading from files on a SD card.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#psbt","title":"PSBT","text":"

    To sign a Bitcoin PSBT, you have the following options:

    • Scan an Animated QR Code: Turn on the camera and scan an animated QR code of a PSBT generated by your wallet coordinator software. If you have any issues, see Troubleshooting.
    • Load from SD Card: Load an unsigned PSBT file from your SD card.

    Upon loading the PSBT, you will be presented with a preview showing the amount of BTC being sent, the recipient's address, and the transaction fee. Amounts are displayed according to your locale and the International Bureau of Weights and Measures, while still adhering to the concept of the Satcomma standard format.

    If you choose to proceed and sign the transaction, the signed PSBT can be exported in two ways:

    • As an animated QR code, which can be scanned back into your coordinator wallet.
    • As a signed PSBT file, which can be saved to your SD card and then loaded back into your coordinator wallet for broadcasting.

    If a thermal printer is attached to your device, you can also print the PSBT QR codes for record-keeping or further processing.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#message","title":"Message","text":"

    Similar to PSBTs, Krux can load, sign, and export signatures for messages. This feature allows you to attest not only to the ownership of the messages themselves but also to the ownership of Bitcoin addresses and the authorship of documents and files.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#standard-messages-and-files","title":"Standard Messages and Files","text":"

    You can scan or load a file from an SD card, the content can be plaintext or the SHA-256 hash of a message. Upon loading, you will be shown a preview of the message's SHA-256 hash for confirmation before signing.

    If you confirm, a signature will be generated, and you will see a base64-encoded version of it. You can then choose to export it as a QR code or save it to an SD card. If a thermal printer is attached, you can also print the QR code.

    Following this, you will see and be allowed to export your raw (master) public key in hexadecimal form, which can be used by others to verify your signature. If a thermal printer is attached, you can also print this QR code.

    This feature is used to sign Krux releases, airgapped, using a Krux device.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#messages-at-address","title":"Messages at Address","text":"

    Coordinators like Sparrow and Specter offer the possibility to sign messages at a Bitcoin receive address, allowing you to attest ownership of that address. Krux will detect if the message is of this type and present a similar workflow for signing. The main difference is that the address will be displayed along with the raw message, and since the message is signed with a derived address instead of the master public key, Krux won't offer the option to export the raw public key after the signature.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/","title":"Setting a Coordinator and Signing","text":"

    After creating a mnemonic, making a safe backup, and testing to recover your mnemonic, it's time to set up a coordinator.

    Krux can work with multiple coordinator wallets. Popular options include:

    • Sparrow Wallet (desktop)

    • Specter Desktop (desktop)

    • Nunchuk (mobile)

    • BlueWallet (mobile)

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-1-install-the-coordinator-wallet","title":"Step 1: Install the Coordinator Wallet","text":"

    Download and install the appropriate version of your chosen coordinator wallet for your device and operating system.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-2-create-a-new-wallet-with-krux-as-a-signer","title":"Step 2: Create a New Wallet with Krux as a Signer","text":"

    Depending on the coordinator, the steps to add Krux as a signer may vary slightly:

    Specter and Nunchuk Single-sig: Add Krux as signer device, then create a wallet that uses it.

    Specter and Nunchuk Multisig: Add Krux as signer device, add other devices, then create a wallet that uses them.

    Sparrow and BlueWallet: Create a wallet (or vault in Blue Wallet) first, then add signer device(s).

    1. Load a mnemonic and wallet in Krux.

    1. On your coordinator, when presented with possible signer devices to add, choose Krux if available, otherwise choose \"other\" or even another QR code compatible signer. As Krux is compatible with many QR code formats, most of available alternatives should work.

    2. When prompted by your coordinator to import signer's public key, access the \"Extended Public Key\" on Krux.

    1. Export an XPUB (or YPUB, ZPUB, etc., based on the script type) as a QR code.

    1. Scan this QR code with your coordinator.

    2. Ensure the coordinator\u2019s wallet attributes (policy type, script type, fingerprint, and derivation) match those in Krux.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-3-load-and-backup-wallet-descriptor-multisig-only","title":"Step 3: Load and Backup Wallet Descriptor (Multisig Only)","text":"
    1. In your coordinator, export the wallet descriptor containing information about the wallet and all cosigners:
      • Sparrow: \"Descriptor\"
      • Specter: \"Export Wallet\"
      • Nunchuk: \"Export Wallet Configuration\"
      • BlueWallet: \"Export Coordination Setup\"
    2. Export the descriptor as a QR code or file.
    3. On Krux, go to \"Wallet\" -> \"Wallet Descriptor\" to scan the descriptor QR code or load it via SD card.
    1. If you access \"Wallet\" -> \"Wallet Descriptor\" again, you will be able to:

      • Check the wallet cosigners.
      • Save the descriptor on an SD card (useful if you initially loaded it from QR codes).

      It is crucial to have a backup of this descriptor to recover your wallet in case one of the cosigners is lost.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-4-verify-addresses","title":"Step 4: Verify Addresses","text":"

    For single-sig or multisig (after loading a descriptor):

    • Go to \"Address\" on Krux.

    • List \"Receive Addresses\" and \"Change Addresses\" or use \"Scan Address\" to verify if addresses from your coordinator are matched by Krux.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-5-funding-your-wallet","title":"Step 5: Funding your Wallet","text":"

    Once addresses are verified, send a small test amount to your wallet. Test signing and sending a transaction before adding more funds.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-6-sign-psbts-and-messages","title":"Step 6: Sign PSBTs and Messages","text":""},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#psbts","title":"PSBTs","text":"
    1. Create a transaction in your coordinator.

    2. Export the transaction as a QR code.

    3. On Krux, go to \"Sign\" -> \"PSBT\" -> \"Load from camera\".

    4. Scan the animated QR code.

    5. Verify the transaction details.

    6. If correct, press \"Sign to QR code\".

    7. Scan the signed transaction QR code back into the coordinator to broadcast it.

    Alternatively, you can use an SD card:

    Save the transaction as a file on an SD card. On Krux, go to \"Sign\" -> \"PSBT\" -> \"Load from SD card\" and \"Sign to SD card\". Load the signed transaction on the coordinator and broadcast it.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#messages","title":"Messages","text":"

    Some coordinators, like Sparrow, allow you to sign messages linked to your wallet's addresses. Signing and verifying a message signature attests to the ownership of an address and serves as an additional test for your setup.

    "},{"location":"getting-started/usage/video-tutorials/","title":"Video Tutorials","text":""},{"location":"getting-started/usage/video-tutorials/#krux-video-tutorials","title":"Krux Video Tutorials","text":"

    Most people prefer to learn by watching videos, and we are fortunate to have excellent content creators in the Bitcoin space, here are some examples of Krux related content and tutorials.

    "},{"location":"getting-started/usage/video-tutorials/#english","title":"English","text":""},{"location":"getting-started/usage/video-tutorials/#krux-on-m5stickv-sparrow","title":"Krux on M5StickV + Sparrow","text":"

    Krux on M5StickV + Sparrow Wallet by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#krux-on-maix-amigo-blue","title":"Krux on Maix Amigo + Blue","text":"

    Krux on Maix Amigo + Blue Wallet by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#diy-only-multisig","title":"DIY-Only MultiSig","text":"

    DIY-Only Multivendor Hardware Wallet MultiSig: SeedSigner, Jade, Krux, Satochip + Sparrow & Electrum by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#build-from-source-verify","title":"Build From Source & Verify","text":"

    Krux DIY Bitcoin Signer: Build From Source & Verify (With Windows + WSL2 + Docker) by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#portuguese","title":"Portuguese","text":""},{"location":"getting-started/usage/video-tutorials/#krux-facil-de-instalar","title":"Krux f\u00e1cil de instalar","text":"

    Hardwallet Krux f\u00e1cil de instalar + QRs criptografados - por Bitdov

    "},{"location":"getting-started/usage/video-tutorials/#multisig-com-krux","title":"Multisig com Krux","text":"

    Multisig com Krux e Nunchuk no celular - por Bitdov

    "},{"location":"getting-started/usage/video-tutorials/#krux-com-impressora-termica","title":"Krux com impressora t\u00e9rmica","text":"

    Usando a Krux com impressora t\u00e9rmica - por Bitdov

    "},{"location":"getting-started/usage/video-tutorials/#krux-no-celular","title":"Krux no celular","text":"

    Carteira Bitcoin com celular OFFLINE - Krux mobile APK - por Dig

    "},{"location":"getting-started/usage/video-tutorials/#krux-no-celular-ii","title":"Krux no celular II","text":"

    Como utilizar a carteira Krux no celular - por Jo\u00e3o Trein

    "},{"location":"getting-started/usage/video-tutorials/#faca-sua-krux","title":"Fa\u00e7a sua Krux","text":"

    Fa\u00e7a sua hardware wallet em casa com a KRUX! - por Caiovski

    "},{"location":"getting-started/usage/video-tutorials/#korean","title":"Korean","text":"

    Krux \uc6d4\ub81b \uc124\uce58 \ubc0f \uac80\uc99d \ubc29\ubc95

    \uc548\uc0ac\uba74 \uc190\ud574? \uc138\uc0c1\uc5d0\uc11c \uac00\uc7a5 \ud22c\uba85\ud55c \ube44\ud2b8\ucf54\uc778 \uc804\uc6a9 \uc9c0\uac11

    "},{"location":"snippets/after-install-installer/","title":"After install installer","text":"

    Once installed, you can proceed to firmware installation.

    "}]} \ No newline at end of file +{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"faq/","title":"FAQ","text":""},{"location":"faq/#is-krux-a-hardware-wallet","title":"Is Krux a hardware wallet?","text":"

    The term \"hardware wallet\" typically refers to devices dedicated to storing private keys and signing transactions. These devices often feature specific security components like secure element chips.

    Krux was initially developed as a signer, operating exclusively in amnesic mode, which requires users to load their keys each time the device is powered on. However, Krux has evolved and now offers the option to store mnemonics, similar to traditional hardware wallets. These mnemonics can be stored in the device's internal memory or on SD cards.

    Krux does not include hardware secure elements. The security of stored data relies on encryption.

    Note: Due to the inherent fragility of electronic components, never use your Krux device or SD card encrypted storage as your sole backup method. Always maintain a physical backup for added security.

    "},{"location":"faq/#what-is-beta-version","title":"What is Beta version?","text":"

    The Beta version includes the latest and most experimental features, which we occasionally share on our social media. These can be found exclusively in the test (beta) repository. Use and flash the beta firmware if you are curious about new features or want to participate in the development process by hunting bugs, providing feedback, and sharing ideas in our Telegram groups or other social media platforms.

    For regular use, flash the official releases, which are signed, thoroughly tested, and well-documented.

    "},{"location":"faq/#what-is-krux-android-app","title":"What is Krux Android app?","text":""},{"location":"faq/#how-can-i-find-it","title":"How can I find it?","text":"

    The Krux Android app is available as an APK in the test (beta) repository. It requires Android 6.0 or above.

    "},{"location":"faq/#how-can-i-install-it","title":"How can I install it?","text":"

    The APK is not available on the Play Store. You can download the APK directly or transfer it to your Android device via SD card or USB cable. To install it, you may need to configure your Android device to allow installations from unknown sources.

    "},{"location":"faq/#is-it-safe-to-use","title":"Is it safe to use?","text":"

    The Krux Android app is designed for learning about Krux and Bitcoin air-gapped transactions. Due to the numerous potential vulnerabilities inherent in smartphones, such as the lack of control over the operating system, libraries, and hardware peripherals, the Krux app should NOT be used to manage wallets containing savings or important keys and mnemonics. For secure management of your keys, a dedicated device is recommended.

    "},{"location":"","title":"Krux","text":"

    Krux is an open-source firmware that transforms off-the-shelf Kendryte K210 devices, such as the Maix Amigo, M5StickV and more, into versatile bitcoin transaction signers. Beyond its core functionality, Krux is a flexible platform that can adapt to devices with different form factors, providing a suite of tools to assist with the creation and recovery of mnemonic backups, some of which include encryption options for enhanced security.

    Devices like the Maix Amigo and Yahboom come ready to use, with large touchscreens that make it easy and user-friendly to operate. These devices are ideal for those looking for a plug-and-play solution. On the other hand, Krux also supports development board kits, which are perfect for DIY enthusiasts who enjoy customizing and building their own hardware setups.

    Interacting seamlessly with leading coordinator wallets through QR codes, SD cards, and even thermal printers, the user-friendly firmware offers unique features to support transactions and mnemonic backups in an offline environment.

    To learn more about Krux, check out Getting Started.

    "},{"location":"parts/","title":"Devices and Parts List","text":""},{"location":"parts/#krux-compatible-devices","title":"Krux Compatible Devices","text":""},{"location":"parts/#comparative-table","title":"Comparative Table","text":"Device M5StickV Maix Amigo Maix Dock Maix Bit Yahboom k210 module Maix Cube WonderMV Price range US$ 50-55 US$ 50-85 US$ 27-35 US$ 32-42 US$ 45-61 US$ 34-49 US$ 58-86 Screen size / resolution 1.14\" / 135*240 3.5\" / 320*480 2.4\" / 240*320 2.4\" / 240*320 2\" / 240*320 1.3\" / 240*240 2\" / 240*320 Brightness control Device size 48*24*22mm 104*63*17mm 98*59*18mm 69*84*41mm 57*41*17mm 40*40*16mm 59*41*17mm Touchscreen Capacitive Capacitive Capacitive Camera OV7740 OV7740 rearGC0328 front GC0328 OV2640 orOV5642 OV2640 (VER:1.0) orGC2145 (VER:1.1) OV7740 GC2145 Battery 200mAh 520mAh 200mAh Requirements None None Rotary encoder 3D printed case SolderingAssembly Buttons 3D printed case SolderingAssembly None None None Warnings Camera has lens distortion Micro USB 3-Way button None

    : Only OV7740, OV2640 and GC2145 have an anti-glare mode to better capture images from high brightness screens or with incident light.

    : M5StickV's USB-C port lacks pull up resistors required for it to be recognized and powered by host (computer) USB-C ports. If you don't have an USB-A available, you can use a USB hub connected between your computer's USB-C and M5StickV.

    : Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    : Some stores ship the Maix Dock with soldered pin connectors that do not fit into the 3D printed case.

    All devices feature Kendryte K210 chip: 28nm process, dual-core RISC-V 64bit @400MHz, 8 MB high-speed SRAM, DVP camera and MCU LCD interface, AES Accelerator, SHA256 Accelerator, FFT Accelerator.

    "},{"location":"parts/#m5stickv","title":"M5StickV","text":"

    Below is a list of some distributors where you can find this device:

    • M5Stack
    • Mouser
    • Digi-Key
    • Electromaker
    • Lee's Electronic
    • AliExpress
    • ABRA
    • Adafruit
    • Cytron
    "},{"location":"parts/#maix-amigo","title":"Maix Amigo","text":"

    Below is a list of some distributors where you can find this device:

    • AliExpress
    • Seeed Studio
    • Digi-Key
    • Mouser
    • Electromaker
    "},{"location":"parts/#yahboom-k210-module","title":"Yahboom k210 module","text":"

    It comes with a compatible 32G card, an USB card reader, one PH2.0 4Pin male-to-male connector and one PH2.0 female adapter (to connect to a thermal printer). Below is a list of some distributors where you can find this device:

    • AliExpress
    • Amazon
    • Yahboom Store
    • ETC HK Shop
    "},{"location":"parts/#maix-cube","title":"Maix Cube","text":"

    Below is a list of some distributors where you can find this device:

    • Seeed Studio
    • Mouser
    • Electromaker
    • Digi-Key
    • AliExpress
    • Amazon
    "},{"location":"parts/#maix-dock-and-maix-bit","title":"Maix Dock and Maix Bit","text":"

    For the DIYers, the Maix Dock and Maix Bit are also supported but will require sourcing the parts individually and building the device yourself.

    Below are example implementations with instructions on how to recreate them:

    • https://github.com/selfcustody/DockEncoderCase
    • https://github.com/selfcustody/MaixBitCase

    Below is a list of some distributors where you can find these devices:

    • Mouser
    • Electromaker
    • Digi-Key
    • AliExpress
    • Amazon
    "},{"location":"parts/#other-parts","title":"Other Parts","text":""},{"location":"parts/#usb-c-or-micro-usb-charge-cable","title":"USB-C or Micro USB Charge Cable","text":"

    This will come with the device. It will be necessary to power, charge the device (if it has battery) and to initially flash the firmware.

    "},{"location":"parts/#optional-microsd-card","title":"(Optional) MicroSD Card","text":"

    We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure, read the Troubleshooting for more info. Yahboom will come with a compatible 32G card. The size of the SD card isn't important; anything over a few megabytes will be plenty.

    "},{"location":"parts/#optional-ttl-serial-thermal-printer","title":"(Optional) TTL Serial Thermal Printer","text":"

    Warning/Disclaimer: This feature is intended for individuals with experience in electronics tinkering and soldering.

    Krux has the capability to print all QR codes it generates, including those for mnemonics, xpubs, wallet backups, and signed PSBTs, using a locally-connected thermal printer via its serial port.

    Many TTL serial thermal printers may be compatible, but currently, the Goojprt QR203 has the best support (except this printer only supports ASCII or Chinese characters, non-ASCII characters will be printed as Chinese). The Adafruit printer starter pack can also be a convenient option to get started, as it includes all the necessary components for printing (except the conversion cable). To ensure proper functionality, enable the printer driver in the Krux settings, set the Tx pin and baud rate value to either 19200 or 9600 (depends on the printer), as explained in this Adafruit printer tutorial. You will need to connect the device's Tx to the printer's Rx and device's ground to the printer's ground, do not connect any other pins because a wrong connection may damage your device. The printer requires a dedicated power supply, typically with an output of 5 to 9V (or 12V) and capable of supplying at least 2A. For more information, see this discussion.

    "},{"location":"parts/#optional-conversion-cable-for-thermal-printer","title":"(Optional) Conversion Cable for Thermal Printer","text":"

    To connect the printer to M5StickV, Amigo or Cube, you will need a grove conversion cable with a 4-pin male Grove connector on one end (to connect to the device) and 4-pin male jumpers on the other end (to connect to the printer). Check your device and printer model connection first, Yahboom comes with PH2.0 4Pin female connector; Dock and Bit doesn't have a connector. For a more reliable connection, it is recommended to cut and solder the wires of your custom cables instead of using jumpers.

    "},{"location":"support/","title":"Support the Project","text":""},{"location":"support/#ways-you-can-help","title":"Ways you can help","text":""},{"location":"support/#development","title":"Development","text":"

    Audit the code, file an issue, make a pull request, or do all three. :)

    "},{"location":"support/#documentation","title":"Documentation","text":"

    \"I'd like to see Krux help as many people as possible, and to do that, good documentation is needed. If you identify a better way to say something, please make a PR, any help is appreciated.\" - Jeff

    "},{"location":"support/#translation","title":"Translation","text":"

    Krux supports different languages. If you missed a language or saw an awkward translation, open an issue or make a PR! You can also make a difference by translating this documentation! For information on how to translate, see here

    "},{"location":"support/#social","title":"Social","text":"

    Reach out via our Telegram group or X profile (Twitter) for faster help, share ideas and join the Krux community. Help others get to know Krux.

    \"I'm an engineer, not a marketer. If you like Krux, help spread the word!\" - Jeff

    "},{"location":"support/#krux-ethos","title":"Krux Ethos","text":"

    The purpose of this ethos is not to virtue signal, but to introduce newcomers to Krux's philosophy and provide a guiding reference for decision-making and the long-term mission for dedicated Krux users.

    "},{"location":"support/#mission","title":"Mission","text":"

    To implement ideas that make self-custody more powerful, accessible, and user-friendly.

    "},{"location":"support/#dont-trust-verify","title":"Don't Trust, Verify","text":"

    Do not trust developers\u2019 intentions or competence. Krux is a DIY, use-at-your-own-risk project. We are committed to continuously improving security, but will not make claims or create marketing narratives about it. It is up to the users verify their hardware, the firmware and Krux-Installer

    "},{"location":"support/#donations","title":"Donations","text":"

    Krux will not solicit, receive, manage, or distribute donations. Therefore, Krux has no budget for publicity, audits, or similar activities. Contributors to Krux will fund their own work\u2014whether by promoting their efforts, applying for grants, or seeking direct individual donations.

    "},{"location":"support/#krux-is-public-domain","title":"Krux is Public Domain","text":"

    Krux users should feel completely free from any obligation to donate or support developers. Use Krux without guilt or expectation.

    The same applies to any company profiting from Krux-based products or services, such as educational content, custom hardware, or accessories. The \"don't trust\" principle clearly extends here as well\u2014it is the users\u2019 responsibility to determine if these products align with the Krux ethos and their personal values.

    "},{"location":"troubleshooting/","title":"Troubleshooting","text":""},{"location":"troubleshooting/#before-installing","title":"Before Installing","text":""},{"location":"troubleshooting/#linux-os-not-listing-serial-port","title":"Linux OS not listing serial port?","text":"

    If you get the following error when trying to flash your device: Failed to find device via USB. Is it connected and powered on? Make sure your device is being detected and serial ports are being mounted by running:

    ls /dev/ttyUSB*\n
    Expect one port to be listed for devices like M5StickV and Maix Dock /dev/ttyUSB0, and two ports for Maix Amigo and Maix Bit /dev/ttyUSB0 /dev/ttyUSB1.

    If you don't see them, your OS may not be loading the correct drivers to create the serial ports to connect to. Ubuntu has a known bug where the brltty driver \"kidnaps\" serial devices. You can solve this problem by removing it:

    sudo apt-get remove brltty\n

    "},{"location":"troubleshooting/#m5stickv-device-not-being-recognized-and-charged","title":"M5StickV device not being recognized and charged?","text":"

    M5StickV's USB-C port lacks pull up resistors required for it to be recognized and powered by host (computer) USB-C ports. If you don't have an USB-A available, you can use a USB hub connected between your computer's USB-C and M5StickV.

    "},{"location":"troubleshooting/#device-not-charging-or-being-recognized","title":"Device not charging or being recognized?","text":"

    If you have a Maix Amigo, make sure you're using the USB-C port at the bottom of the device, not the one on the left side.

    Different computer hosts have varying hardware, operating systems, and behaviors regarding connecting to their USB ports. Below are the expected behaviors:

    USB-A:

    Your device should charge and turn on when connected to a USB-A port, even if it was initially turned off. You can also turn off the device while it continues to charge. However, some hosts' USB-A ports may behave like USB-C ports, as described below.

    USB-C:

    • If the device is turned off and connected to a USB-C port, it should turn on and start charging. You can turn it off again, and it will continue to charge.

    • If the device is already turned on and connected to a USB-C port, it may not charge or be recognized by the computer. In this case, turn off the device to initiate recognition and charging. Once turned off and reconnected, the device should restart, be recognized by the computer, and charging should be triggered by USB-C hosts. If your device is not charging or being recognized as expected, try using a different USB port or a different computer to determine if the issue is with the device or the host's USB port.

    "},{"location":"troubleshooting/#device-randomly-freezes-or-restarts","title":"Device randomly freezes or restarts?","text":"

    If the device behaves this way when connected to the computer, Windows is known to have issues with USB-C devices. If you are experiencing random crashes or even reboots and your device does not have a battery, try using a phone charger or other power source such as a power bank.

    "},{"location":"troubleshooting/#after-installing","title":"After Installing","text":""},{"location":"troubleshooting/#maix-amigo-touchscreen-doesnt-work-with-v24030-but-worked-okay-with-v23091","title":"Maix Amigo touchscreen doesn't work with v24.03.0 but worked okay with v23.09.1?","text":"

    We added a hardware IRQ (interrupt request) to the firmware, so when you open your Maix Amigo, you will see a switch in the middle of the device board, it must be in the upper position for the touchscreen to work with v24.03.0 and later.

    "},{"location":"troubleshooting/#troubleshooting-lcd-settings-on-maix-amigo","title":"Troubleshooting LCD Settings on Maix Amigo","text":"

    Buttons in the Wrong Order

    If the buttons on keypad input screens appear to be in the wrong order, this might be due to inverted X coordinates. To correct this:

    1. Go to Settings > Hardware > Display.
    2. Change the value of Flipped X Coordinates.

    Incorrect Colors

    If the colors displayed on the interface or camera preview are incorrect, you can try the following options:

    Inverted Colors

    If, for example, the background color is white when it should be black, go to Settings > Hardware > Display and toggle Inverted Colors .

    BGR Colors

    If, for example, you are using the Orange theme, and instead of orange the colors appear bluish, toggle BGR Colors in the display settings.

    LCD Type

    WARNING! Only try changing this setting if you failed to fix colors with previous ones.

    If adjusting BGR Colors and Inverted Colors doesn't fix the color issue, try changing the LCD Type:

    1. After changing this setting, you will be warned that the device will reboot automatically if this change does not resolve the issue (if it fails, the screen will turn black, and you'll not see anything).
    2. After proceeding with the warning, if you see a message prompting you to press the PREVIOUS (UP) button, it means that the new setting worked. Follow the instructions and press UP.
    3. If you notice menu options but the colors are still wrong, try again with different combinations of Inverted Colors and BGR Colors. This time, it is likely you will find a combination that correctly displays the colors of themes and the camera feed.

    If, after the warning in step 1, the screen turns black and you don't see anything, don't panic or press any buttons. Just wait 5 seconds, and the device will automatically reboot with the previous display settings. This means you should keep the default LCD Type setting and maybe try again with Inverted Colors and BGR Colors.

    If you accidentally pressed PREVIOUS (UP) and saved the wrong setting, you will have to perform a wipe to remove all stored settings to be able to see the screen working again. On Linux, go to the folder where you downloaded the Krux firmware and use Ktool to fully wipe your device:

    ./ktool-linux -B goE -b 1500000 -E

    (Soon Krux-Installer will have a full wipe button too)

    Then flash the firmware again.

    ./ktool-linux -B goE -b 1500000 maixpy_amigo/kboot.kfpkg

    "},{"location":"troubleshooting/#device-didnt-reboot-and-screen-is-blank","title":"Device didn't reboot, and screen is blank","text":"

    If the device didn't reboot after successfully flashing the firmware, and the screen is blank after turning it off and on, check if the downloaded file matches the device (this can also occur due to data corruption). Try downloading binaries again.

    You can also install MaixPy IDE to help with debugging, Tools > Open Terminal > New Terminal > Connect to serial port > Select a COM port available (if it doesn't work, try another COM port). It will show the terminal and some messages, a message about an empty device or with corrupted firmware appears like: \"interesting, something's wrong, boot failed with exit code 233, go to find your vendor.\"

    "},{"location":"troubleshooting/#usage","title":"Usage","text":""},{"location":"troubleshooting/#why-isnt-krux-scanning-the-qr-code","title":"Why isn't Krux scanning the QR code?","text":"

    The level of detail that you see is what Krux sees. If the QR code shown on the device's screen is blurry, the camera lens of the device may be out of focus. It can be adjusted by rotating it clockwise or counter-clockwise to achieve a clearer result. The lenses usually comes with a drop of glue that makes id harder to adjust for the first time. You can use your fingertip, tweezers or small precision pliers to help, being careful to don't damage the fragile lenses.

    If you have adjusted the lens already, the device may be too far away or too close to the code to read it. Start by holding the device as close to the QR code as possible and pulling away slowly until all or most of the QR code is viewable within the screen. If the code on the screen looks crisp, Krux should read it quickly and give you immediate feedback.

    If you are in a dark environment, you can hold down the ENTER button of the M5StickV or Maix Amigo to turn on their LED light to potentially increase visibility. Some cameras (OV7740, OV2640 and GC2145) have an anti-glare mode to better capture images from high brightness screens or with incident light, they are present on M5StickV, Amigo, Cube and Yahboom. To enable/disable the anti-glare mode on a supported device just press the PAGE button while scanning.

    "},{"location":"troubleshooting/#error-when-scanning-qr-code","title":"Error when scanning QR code?","text":"

    If Krux is recognizing that it sees a QR code but is displaying an error message after reading it, the likely reason is that the QR code is not in a format that Krux works with. We have listed the supported formats below:

    For BIP-39 mnemonics:

    • BIP-39 Plaintext (Used by Krux and https://iancoleman.io/bip39/)
    • SeedSigner SeedQR and CompactSeedQR Formats
    • UR Type crypto-bip39
    • Encrypted QR Code (Format created by Krux, more information here)

    For Wallet output descriptor:

    • JSON with at least a descriptor key containing an output descriptor string
    • Key-value INI files with at least Format, Policy, and Derivation keys
    • UR Type crypto-output

    For PSBT (Partially Signed Bitcoin Transactions):

    • Base43, Base58, and Base64-encoded bytes
    • Raw Bytes
    • UR Type crypto-psbt

    Additionally, Krux recognizes animated QR codes that use either the plaintext pMofN (the Specter QR format) or binary UR encodings.

    "},{"location":"troubleshooting/#computer-not-reading-qr-code-that-krux-displays","title":"Computer not reading QR code that Krux displays?","text":"

    You can toggle brightness of QR codes from public keys and PSBTs by pressing PAGE button. In the future, more work will be done to support displaying lower density QR codes. If you are using an M5StickV, the small screen makes it difficult for laptop webcams to capture enough detail to parse the QR codes it displays.

    For now, a workaround you can do is to take a picture or video of the QR code with a better-quality camera (such as your phone), then enlarge and display the photo or video to your webcam. Alternatively, it may be simpler to use a mobile wallet such as BlueWallet with the M5StickV since phone cameras don't seem to have issues reading the small QR codes. You can also save the PSBT on a microSD card for Krux to sign and then save the signed transaction to the microSD card to transfer the file to the computer or phone.

    "},{"location":"troubleshooting/#why-does-krux-say-the-entropy-of-my-fifty-dice-rolls-does-not-contain-128-bits-of-entropy","title":"Why Does Krux Say the Entropy of My Fifty Dice Rolls Does Not Contain 128 Bits of Entropy?","text":"

    Please check how entropy measurement works.

    "},{"location":"troubleshooting/#why-isnt-krux-detecting-my-microsd-card-or-presenting-an-error","title":"Why isn't Krux detecting my microSD card or presenting an error?","text":"

    Starting from version 23.09.0, Krux supports SD card hot plugging. If you are using older versions, it may only detect the SD card at boot, so make sure Krux is turned off when inserting the microSD into it. To test the card compatibility use Krux Tools>Check SD Card. Make sure the SD card is using MBR/DOS partition table and FAT32 format.

    "},{"location":"uncommon-questions/","title":"Uncommon Questions","text":""},{"location":"uncommon-questions/#what-are-all-the-features-available","title":"What are all the features available?","text":"

    On the official releases page you will find all the features listed, with details on the Getting Started page with a brief summary on the Navigation Overview page.

    "},{"location":"uncommon-questions/#what-is-the-purpose-of-using-an-sd-card-with-the-device","title":"What is the purpose of using an SD card with the device?","text":"

    SD card use is optional, but can be used to upgrade the firmware, save settings, cnc/file, QR codes, XPUBs, encrypted mnemonics, and also to save and load PSBTs, messages and wallet output descriptors.

    "},{"location":"getting-started/","title":"Getting Started","text":"

    Krux is open-source Bitcoin signing firmware for devices with the K210 chipset; also known as a hardware signer.

    Signing operations in Krux are done offline via QR code or via SD card using the PSBT functionality. You can create/load your BIP-39 mnemonic, or import a wallet descriptor, and sign transactions all without having to plug the device into your computer (except to initially install the firmware). It reads QR codes with its camera and outputs QR codes to its screen, or to paper via an optional thermal printer attachment.

    Krux runs offline, and therefore never handles the broadcasting part of the PSBT transaction. Instead, you can use Krux with third-party wallet coordinators to broadcast transactions from your online computer or mobile device while keeping your keys offline. Krux was built to be vendor agnostic and works with many popular wallet coordinators, including:

    • Sparrow Wallet (desktop)
    • Specter Desktop (desktop)
    • Nunchuk (mobile)
    • BlueWallet (mobile)
    "},{"location":"getting-started/navigation/","title":"Navigation Overview","text":"

    Below is the mind map representation of the currently menus available. Click the circle with a number (Ex.: ) to the right of each node to expand and explore. Also, enable full screen in the top right menu for better viewing .

    "},{"location":"getting-started/navigation/#login-menu","title":"Login Menu","text":""},{"location":"getting-started/navigation/#home-menu-loaded-a-mnemonic","title":"Home Menu (Loaded a mnemonic)","text":""},{"location":"getting-started/settings/","title":"Settings","text":"

    In the Krux home menu, there is a Settings entry. Some submenu entries have too many options to fit on one screen, swipe up or down to navigate between the screens if your device has a touchscreen. Below is a breakdown of the options you can change:

    "},{"location":"getting-started/settings/#default-wallet","title":"Default Wallet","text":"

    Set the default attributes for wallet loading.

    "},{"location":"getting-started/settings/#multisig","title":"Multisig","text":"

    Set this to true if you are more likely to use Krux for multisig setups. This way, you won't need to \"Customize\" your wallet attributes every time you load a key.

    "},{"location":"getting-started/settings/#network","title":"Network","text":"

    This option allows you to switch between mainnet (the default) and testnet. Testnet can be used to try out different wallet coordinators or for development.

    "},{"location":"getting-started/settings/#encryption","title":"Encryption","text":"

    Modify the encryption method and parameters to fit your needs. This will be used when storing encrypted mnemonics or creating encrypted QR codes. For more info see Krux Encrypted Mnemonics.

    "},{"location":"getting-started/settings/#pbkdf2-iter-iterations","title":"PBKDF2 Iter. (Iterations)","text":"

    When you enter the encryption key, it is not directly used to encrypt your data. In order to protect against brute force attacks, the key is derived multiple times using hashing functions. PBKDF2 (Password-Based Key Derivation Function) iterations stands for the amount of derivations that will be performed over your key prior to encrypt/decrypt your mnemonic.

    If you increase this value it will make the encryption harder, at the cost of taking longer to encrypt/decrypt your mnemonics.

    Values must be multiple of 10,000. This was done to save data space on QR codes.

    "},{"location":"getting-started/settings/#encryption-mode","title":"Encryption Mode","text":"

    Choose between well known and widely used AES (Advanced Encryption Standard) modes:

    "},{"location":"getting-started/settings/#aes-ecb","title":"AES-ECB","text":"

    ECB (Electronic Codebook) is a simpler method where data blocks are encrypted individually. Compared to CBC, it will be faster and simpler to encrypt, QR codes will have a lower density and will be easier to transcribe.

    "},{"location":"getting-started/settings/#aes-cbc","title":"AES-CBC","text":"

    CBC (Cipher-block Chaining) is considered more secure than ECB. The first data block, an initialization vector (IV), is used to add random data to the encryption. The encryption of subsequent blocks depends on the data from previous blocks, ensuring chaining.

    Encryption will take longer because a snapshot will be needed to generate the IV. This IV will be stored together with the encrypted data, making encrypted QR codes denser and harder to transcribe.

    "},{"location":"getting-started/settings/#hardware","title":"Hardware","text":"

    Customize the parameters available for your device and change printer settings.

    "},{"location":"getting-started/settings/#encoder-maix-dock-only","title":"Encoder (Maix Dock only)","text":"

    If your device has a rotary encoder, you can change the debounce threshold in milliseconds. With lower values, faster movements and navigation will be allowed.

    The caveat is low values can cause issues, such as double step and unexpected movements, especially with lower quality encoders. If this is the case increase the value to make navigation more stable.

    "},{"location":"getting-started/settings/#display-maix-amigo-only","title":"Display (Maix Amigo only)","text":"

    Some Maix Amigo screens are different, here you can customize the BGR Colors, Flipped X Coordinates, Inverted Colors and LCD Type. For more info see Troubleshooting

    "},{"location":"getting-started/settings/#printer","title":"Printer","text":"

    You can set up a TTL serial thermal printer or tell Krux to store a GRBL CNC instructions file on a SD card to machine QR codes.

    "},{"location":"getting-started/settings/#cnc","title":"CNC","text":"

    Define several machining parameters according to the desired size, material you'll use, and your CNC characteristics and capabilities.

    "},{"location":"getting-started/settings/#thermal","title":"Thermal","text":"

    Printers can come with different baudrates from the manufacturer. By default, Krux assumes the connected printer will have a baudrate of 9600. If yours is different, you can change it here.

    Also setup the TX Pin you'll use (e.g. 35 for M5StickV and 7 for Maix Amigo) and tweak other parameters according to your printer recommendations. For most printers you will only need to connect 2 cables, the device TX to the printer RX and ground. Current uses of printing are listed here. Consult the parts list for supported printers.

    "},{"location":"getting-started/settings/#driver","title":"Driver","text":"

    Here you choose between Thermal, CNC or none (default). Leave this setting to \"none\" if you won't use a printer and don't want to be bothered by print prompts.

    "},{"location":"getting-started/settings/#touchscreen-maix-amigo-and-yahboom-only","title":"Touchscreen (Maix Amigo and Yahboom only)","text":"

    If your device has touchscreen you can change the touch detection threshold. If it is being too sensitive or detecting false or ghost touches, you should increase the threshold value, making it less sensitive. The other way is also valid, reduce the threshold to make the screen more sensitive to touches.

    "},{"location":"getting-started/settings/#language-locale","title":"Language - Locale","text":"

    Here you can change Krux to your desired language.

    "},{"location":"getting-started/settings/#persist","title":"Persist","text":"

    Choose between flash (device's internal memory) or SD card for the place where your settings will be stored.

    "},{"location":"getting-started/settings/#security","title":"Security","text":"

    Adjust settings that may impact your security protocols.

    "},{"location":"getting-started/settings/#shutdown-time","title":"Shutdown Time","text":"

    Set the time it takes for Krux to automatically shut down. This feature not only conserves your device's battery, if it has one, but also serves as an important security measure. If you forget your device with private keys loaded, it will shut down automatically after the set time.

    Please note that devices without batteries and power management will not shut down but will reboot instead, which is sufficient to unload private keys.

    "},{"location":"getting-started/settings/#tc-flash-hash-at-boot","title":"TC Flash Hash at Boot","text":"

    Chose if you would like to run Tamper Check Flash Hash every time the device is powered on.

    Activating TC Flash Hash at boot helps prevent unauthorized use by requiring the TC Code. But is important to note, unlike a PIN, the TC Code does not provide access control over USB. This means that the device's memory remains accessible for reading and writing via USB, allowing it to be flashed with firmware that does not require the TC Code, which could then allow unauthorized use through its human interface.

    "},{"location":"getting-started/settings/#hide-mnemonics","title":"Hide Mnemonics","text":"

    When \"Hide Mnemonics\" mode is set to \"True\", your device will not display private key data or backup tools when a key is loaded. It will only show public key information and allow signing operations.

    "},{"location":"getting-started/settings/#tamper-check-code","title":"Tamper Check Code","text":"

    Create or modify a Tamper Check Code. This code will be required every time Tamper Check Flash Hash is executed.

    After creating the code, you will be prompted to fill the empty memory spaces with random entropy from the camera. This step is important to make TC Flash Hash more resilient to data manipulation by eliminating empty memory spaces that could be exploited in a sophisticated tamper attempt.

    The filling process requires good entropy images. If, for any reason, such as starting the process in a dark room, you fail to capture good entropy images, you can restart the filling process by resetting your TC Code.

    The TC Code will be deleted if the device is wiped or user data is erased, which will consequently disable TC Flash Hash.

    "},{"location":"getting-started/settings/#appearance","title":"Appearance","text":"

    Configure screensaver time and change Krux to your desired theme.

    "},{"location":"getting-started/settings/#screensaver-time","title":"Screensaver time","text":"

    Set how long to wait idle before the screensaver appears. Enter 0 to disable the screensaver.

    "},{"location":"getting-started/settings/#theme","title":"Theme","text":"

    Choose your color theme according to your preference. Some themes may be more suitable for some devices, coordinator cameras and environments. As an example, it may be easier to scan QR codes from Krux devices using light theme in brighter environments.

    "},{"location":"getting-started/settings/#factory-settings","title":"Factory Settings","text":"

    Restore device to factory settings and reboot.

    "},{"location":"getting-started/features/QR-transcript-tools/","title":"Transcribing QR Codes","text":"

    When you export a mnemonic, encrypted mnemonic or a generic text QR code, alternative visualization modes will be available. Swipe left or right to change modes, or if your device doesn't have a touchscreen, press the PAGE buttons. Find transcribe templates here.

    "},{"location":"getting-started/features/QR-transcript-tools/#standard-mode","title":"Standard Mode","text":"

    This mode is optimized for scanning, the raw QR code will be displayed

    "},{"location":"getting-started/features/QR-transcript-tools/#lines-mode","title":"Lines Mode","text":"

    If you are good at transcribing things like handwritten text, with this mode one QR code line will be highlighted at a time. Press Enter to highlight the next line.

    "},{"location":"getting-started/features/QR-transcript-tools/#zoomed-regions-mode","title":"Zoomed Regions Mode","text":"

    QR codes will be split into regions, of 5x5 or 7x7 \"blocks\". One QR code region will be shown at a time. Press Enter to display the next region.

    "},{"location":"getting-started/features/QR-transcript-tools/#highlighted-regions-mode","title":"Highlighted Regions Mode","text":"

    QR codes will be split into regions, of 5x5 or 7x7 \"blocks\". One QR code region will be highlighted at a time. Press Enter to highlight the next region.

    "},{"location":"getting-started/features/QR-transcript-tools/#grided-mode","title":"Grided Mode","text":"

    Grids will be added to a standard QR code. In a dark room, if you place a sheet of paper over the device's screen, you'll notice QR code will be visible and it will be possible to copy it directly from above (tracing). Be careful not to damage your screen with pen and markers, use an insulating plastic tape or film to protect the device when using this method.

    "},{"location":"getting-started/features/encrypted-mnemonics/","title":"Encrypted Mnemonics","text":""},{"location":"getting-started/features/encrypted-mnemonics/#introduction","title":"Introduction","text":"

    There are many possible security layers one could add to protect a wallet\u2019s private key. Adding a BIP-39 passphrase to the mnemonic is the most common method. Encrypting a BIP-39 mnemonic has a similar use case as the BIP-39 passphrase, but the user experience may differ depending on the implementation. The main difference between BIP-39 passphrases and Krux\u2019s encrypted mnemonic implementation is that when users type the wrong key, encrypted mnemonics will return an error instead of loading a different wallet, as BIP-39 passphrases do. This difference may be desired or not. The implementation also has the convenience of storing a mnemonic ID together with the stored or QR code encrypted mnemonics. Mnemonic encryption, with its own key, can be used together with BIP-39 passphrase as an extra security layer.

    We use standard AES encryption modes ECB and CBC:

    "},{"location":"getting-started/features/encrypted-mnemonics/#aes-ecb","title":"AES-ECB","text":"

    ECB (Electronic Codebook) is a simpler method where encryption data blocks are encrypted individually. This mode is faster and simpler to encrypt, resulting in QR codes with lower density and easier to transcribe. It is generally considered less secure than CBC because it does not provide data chaining, meaning identical plaintext blocks will produce identical ciphertext blocks, making it vulnerable to pattern analysis. However, in Krux's implementation, only one or two binary data blocks are encrypted, so there will be no patterns, and the lack of chaining is not as relevant as it would be for larger files, plain text, or media.

    "},{"location":"getting-started/features/encrypted-mnemonics/#aes-cbc","title":"AES-CBC","text":"

    CBC (Cipher-block Chaining) is considered more secure. In the first data block, an initialization vector (IV) is used to add random data to the encryption. The encryption of subsequent blocks depends on the data from previous blocks, characterizing chaining. The tradeoff is that the encryption process will take longer because a snapshot will be needed to generate the IV. This IV will be stored together with encrypted data, making encrypted QR codes denser and harder to transcribe.

    "},{"location":"getting-started/features/encrypted-mnemonics/#cbc-encryption-iv","title":"CBC Encryption IV","text":"

    The Initial Vector (IV) will be generated from a snapshot taken with the camera. The IV is a fixed-size input value used in the first block of the encryption process. It adds randomness to the encryption, ensuring that data encrypted with the same key will produce different ciphertexts each time. The IV is not secret and will be transmitted along with the ciphertext. However, like any nonce, it should not be reused to maintain security.

    "},{"location":"getting-started/features/encrypted-mnemonics/#pbkdf2-iterations","title":"PBKDF2 Iterations","text":"

    When you enter the encryption key, it is not directly used to encrypt your data. In order to protect against brute force attacks, the key is derived multiple times using hashing functions. PBKDF2 (Password-Based Key Derivation Function) iterations refer to the number of derivations that will be performed over your key prior to encrypting/decrypting your mnemonic.

    "},{"location":"getting-started/features/encrypted-mnemonics/#encrypted-qr-codes-data-and-parsing","title":"Encrypted QR Codes Data and Parsing","text":"

    In search of efficiency and smaller QR codes, all data is converted to bytes and organized like a Bitcoin transaction, with variable and fixed length fields. The following data is present on the QR code:

    ID length (1) ID (2) Version (3) Key Derivations (4) IV (5) Encrypted Mnemonic (6) Validation Block (7) 1 Byte Variable 1 Byte 3 Bytes 16 Bytes (optional) 16 Bytes (12 words) 32 Bytes (24 words) 16 Bytes
    • Visible data (1 to 4):
      • (1) Mnemonic ID length (1 Byte).
      • (2) Mnemonic ID (variable lenght): Custom ID or wallet fingerprint.
      • (3) Version (1 Byte): Version of encryption method, currently two are available:
        • 0: AES-ECB-PBKDF2: Electronic Codebook with PBKDF2 key derivation.
        • 1: AES-CBC-PBKDF2: Cypher Block Chaining with PBKDF2 key derivation.
      • (4) Key derivation iterations (3 Bytes): Number of PBKDF2 key derivations times 10,000.
    • Cipher data (5 to 7):
      • (5) IV (16 Bytes-optional): Initial vector for AES-CBC encryption, possibility to be nonce for future AES-CTR or other encryption methods.
      • (6) Encrypted Mnemonic (16 Bytes - 12 words, 32 Bytes - 24 words): Mnemonic ciphertext.
      • (7) Validation block (16 Bytes): Currently using first 16 bytes of sha256 of the mnemonic bytes as checksum, could be used in future to store AES-AEX validation tag.
    "},{"location":"getting-started/features/encrypted-mnemonics/#considerations","title":"Considerations","text":"

    Storage of encrypted mnemonics on the device or SD cards are meant for convenience only and should not be considered a form of backup. Always make a physical backup of your keys that is independent from electronic devices and test recovering your wallet from this backup before you send funds to it.

    Remember that the stored encrypted mnemonic is protected by the key you defined to encrypt it. If the defined key is weak, your encrypted mnemonic will not be protected. If you have stored a mnemonic with funds in the device's internal flash memory using a weak key, the best way to undo this is to wipe the device.

    "},{"location":"getting-started/features/entropy/","title":"Empirical Entropy Measurement","text":""},{"location":"getting-started/features/entropy/#why-does-krux-say-the-entropy-of-my-fifty-dice-rolls-does-not-contain-128-bits-of-entropy","title":"Why Does Krux Say the Entropy of My Fifty Dice Rolls Does Not Contain 128 Bits of Entropy?","text":"

    This question, frequently raised in Krux chat groups, highlights the need to clarify the concepts and tools used by Krux to help users detect possible issues in the mnemonic creation procedure. Tools in Krux were designed to help users understand the concepts involved in the process, present statistics and indicators, and encourage users to experiment and evaluate results. This way, users learn about best practices in key generation. Below, we will dive deeper into entropy concepts to better support users in the fundamental requirement for sovereign self-custody, which is to build up knowledge.

    "},{"location":"getting-started/features/entropy/#entropy-in-dice-rolls","title":"Entropy in Dice Rolls","text":"

    Rolling dice and collecting the resulting values can be an effective method for generating cryptographic keys due to the inherent randomness and unpredictability of each roll. Each roll of a die produces a random number within a specific range, and when multiple rolls are combined, they create a sequence that is difficult to predict or reproduce. This sequence can be used to generate cryptographic keys that are robust against attacks. By ensuring that the dice rolls are conducted in a controlled and secure environment, and by using a sufficient number of rolls to achieve the desired level of randomness, one can create cryptographic keys that are highly secure and resistant to brute-force attacks or other forms of cryptanalysis.

    "},{"location":"getting-started/features/entropy/#entropy-definitions","title":"Entropy Definitions","text":"

    Entropy, a fundamental concept in various scientific disciplines, measures the degree of disorder or uncertainty within a system. This notion is interpreted differently across fields, leading to distinct types of entropy: mechanical entropy, Shannon's entropy, and cryptographic entropy.

    Mechanical entropy, rooted in thermodynamics and statistical mechanics, quantifies the disorder in a physical system. It describes how energy is distributed among the particles in a system, reflecting the system's tendency towards equilibrium and maximum disorder.

    Shannon's entropy, from information theory, measures the uncertainty or information content in a message or data source. Introduced by Claude Shannon, it quantifies the average amount of information produced by a stochastic source of data, indicating how unpredictable the data is.

    Cryptographic entropy, crucial in security, refers to the unpredictability and randomness required for secure cryptographic keys and processes. High cryptographic entropy ensures that keys are difficult to predict or reproduce, providing robustness against attacks.

    While mechanical entropy deals with physical systems, Shannon's entropy focuses on information content, and cryptographic entropy emphasizes security through randomness.

    "},{"location":"getting-started/features/entropy/#measuring-dice-rolls-entropy","title":"Measuring Dice Rolls Entropy","text":"

    Entropy is a theoretical measure and is not directly measurable from a single roll but rather from the probability distribution of outcomes over many rolls. We can use Shannon's formula for theoretical and empirical calculations. Entropy S can be quantified with:

    S = -\\sum_{i=1}^{n} p_i \\log(p_i)
    1. Empirical Measurement:
    2. Roll the dice a large number of times to observe the frequency of each outcome.
    3. Estimate the probabilities p_i based on observed frequencies.

    4. Theoretical Calculation:

    5. Use the uniform distribution assumption (equal probability for all outcomes).

    where: - p_i is the probability of each possible outcome (or state) of the system. - n is the number of possible outcomes.

    "},{"location":"getting-started/features/entropy/#empirical-real-vs-theoretical-entropy-in-dice-rolls","title":"Empirical (Real) vs. Theoretical Entropy in Dice Rolls","text":"

    When calculating the entropy of dice rolls, the difference between real and theoretical results arises from the assumption of perfect fairness and uniformity versus the inherent imperfections in real-world experiments.

    "},{"location":"getting-started/features/entropy/#theoretical-entropy","title":"Theoretical Entropy","text":"

    The theoretical entropy calculation assumes that the dice are perfectly fair, meaning each face has an equal probability of landing face up.

    Consider a fair six-sided die. The possible outcomes when rolling one die are {1, 2, 3, 4, 5, 6}, each with an equal probability of \\frac{1}{6}.

    1. Single Die Roll:
    2. Each outcome has a probability p_i = \\frac{1}{6}.
    3. The entropy S for one die roll is calculated as:
    S = - \\sum_{i=1}^{6} \\left( \\frac{1}{6} \\log_2 \\left( \\frac{1}{6} \\right) \\right)

    Since \\log_2(1/6) = -\\log_2(6) :

    S = -6 \\left( \\frac{1}{6} \\times -\\log_2(6) \\right) = \\log_2(6) \\approx 2.585 \\text{ bits}
    1. Multiple Dice Rolls:
    2. For multiple dice, the entropy increases as the number of possible outcomes increases. For k fair dice, the number of possible outcomes is 6^k.
    3. The entropy S for k dice is:

      S = \\log_2(6^k) = k \\log_2(6) \\approx 2.585k \\text{ bits}

    4. For example, entropy for the roll of 50 fair dice is calculated as:

      S = \\log_2(6^{50}) = 50 \\log_2(6) \\approx 2.585 \\times 50 \\approx 129.25 \\text{ bits}

    This calculation assumes that every outcome (each face of the die) has an equal likelihood, leading to a uniform distribution.

    "},{"location":"getting-started/features/entropy/#empirical-entropy","title":"Empirical Entropy","text":"

    In a real sample of dice rolls, several factors can cause deviations from the perfect uniform distribution:

    1. Imperfect Dice: Real dice may not be perfectly balanced. Small manufacturing defects can make certain faces slightly heavier or lighter, causing biases.
    2. Rolling Conditions: The way the dice are rolled, the surface they land on, and even air currents can introduce slight biases.
    3. Finite Sample Size: When rolling dice a finite number of times, the observed frequencies of each face will naturally deviate from the expected uniform distribution due to random variations. This phenomenon is more pronounced with smaller sample sizes.

    When you roll a die multiple times and observe the outcomes, you can calculate the empirical probabilities p_i of each face. Using these probabilities, the entropy is calculated as:

    S = - \\sum_{i=1}^{6} p_i \\log_2(p_i)"},{"location":"getting-started/features/entropy/#example","title":"Example","text":"

    Suppose you roll a six-sided die 50 times and get the following results:

    • 1: 4 times
    • 2: 9 times
    • 3: 7 times
    • 4: 10 times
    • 5: 12 times
    • 6: 8 times

    We can calculate Shannon's entropy as follows:

    "},{"location":"getting-started/features/entropy/#step-1-calculate-probabilities","title":"Step 1: Calculate Probabilities","text":"

    Total number of rolls:

    N = 4 + 9 + 7 + 10 + 12 + 8 = 50

    Probabilities for each outcome:

    p_1 = \\frac{4}{50} = 0.08 p_2 = \\frac{9}{50} = 0.18 p_3 = \\frac{7}{50} = 0.14 p_4 = \\frac{10}{50} = 0.2 p_5 = \\frac{12}{50} = 0.24 p_6 = \\frac{8}{50} = 0.16"},{"location":"getting-started/features/entropy/#step-2-compute-entropy","title":"Step 2: Compute Entropy","text":"

    Using Shannon's entropy formula:

    S = -\\sum_{i=1}^{n} p_i \\log_2(p_i)

    Calculate each term:

    S_1 = -p_1 \\log_2(p_1) = -0.08 \\log_2(0.08) = -0.08 \\times (-3.64386) = 0.291509 S_2 = -p_2 \\log_2(p_2) = -0.18 \\log_2(0.18) = -0.18 \\times (-2.47393) = 0.445307 S_3 = -p_3 \\log_2(p_3) = -0.14 \\log_2(0.14) = -0.14 \\times (-2.8365) = 0.39711 S_4 = -p_4 \\log_2(p_4) = -0.2 \\log_2(0.2) = -0.2 \\times (-2.32193) = 0.464386 S_5 = -p_5 \\log_2(p_5) = -0.24 \\log_2(0.24) = -0.24 \\times (-2.05889) = 0.494132 S_6 = -p_6 \\log_2(p_6) = -0.16 \\log_2(0.16) = -0.16 \\times (-2.64386) = 0.423018

    Sum the contributions:

    S = S_1 + S_2 + S_3 + S_4 + S_5 + S_6 S = 0.291509 + 0.445307 + 0.39711 + 0.464386 + 0.494132 + 0.423018 = 2.515462

    Thus, the Shannon's entropy for the given distribution of dice rolls is approximately 2.52 bits per roll.

    This will give you a different value than \\log_2(6) due to the deviations in the empirical probabilities.

    The total entropy for the N = 50 rolls is:

    S_{total} = S \\times N = 2.515 + 50 \\approx 125.8 \\text{ bits}"},{"location":"getting-started/features/entropy/#shannons-entropy-in-practice","title":"Shannon's Entropy in Practice","text":"

    Calculating Shannon's entropy on a real sample of dice rolls provides insights into the actual randomness and fairness of the dice and rolling conditions. Deviations from the theoretical entropy reflect the natural imperfections and variances inherent in real-world scenarios. This understanding helps in evaluating and improving the fairness and randomness of dice or similar systems.

    Shannon's entropy evaluates the statistical probability distribution of samples of a dice roll. An even distribution results in higher entropy, closer to the theoretical maximum entropy, which assumes perfectly distributed rolls. An uneven distribution, created, for example, by a biased die, will result in lower Shannon's entropy. In an extreme case, with a terribly biased die that always lands on the same side, Shannon's entropy will be zero.

    "},{"location":"getting-started/features/entropy/#cryptographic-entropy","title":"Cryptographic Entropy","text":"

    Shannon's entropy, while a powerful measure of information content and uncertainty in a statistical distribution for natural samples, is not considered cryptographic entropy due to its inability to detect patterns or other sources of predictability within data. Shannon's formula quantifies the average information produced by a stochastic process, essentially measuring the expected surprise in a sequence of symbols based on their probabilities. However, it does not account for potential structure, correlations, or regularities within the data that could be inserted by a user and exploited by an attacker.

    Cryptographic entropy, on the other hand, requires a higher standard of unpredictability. It must ensure that every bit of the cryptographic key is as random and independent as possible, making it resilient against any form of analysis that could reveal patterns or reduce the effective randomness. While Shannon's entropy can evaluate the statistical distribution of symbols, it falls short in guaranteeing the absence of patterns or dependencies, which are crucial for maintaining the security of cryptographic systems. Thus, cryptographic entropy encompasses a broader concept of randomness, ensuring that the generated keys are not only statistically random but also free from any detectable structure or predictability.

    "},{"location":"getting-started/features/entropy/#pattern-detection","title":"Pattern Detection","text":"

    It is possible to have dice rolls with an even distribution but poor cryptographic entropy. This issue arises when patterns are present in the sequences. Examples include sequences like 123456123456123..., 111122223333..., and 654321654321..., which exhibit poor cryptographic entropy despite having even distribution and high Shannon's entropy.

    To mitigate this issue, Krux has implemented a pattern detection algorithm that evaluates the Shannon's entropy of the rolls' derivatives. In practice, this algorithm detects arithmetic progression components in the dice rolls and raises a warning if a certain threshold is crossed.

    "},{"location":"getting-started/features/entropy/#what-krux-does","title":"What Krux Does?","text":"
    • Krux requires a minimum number of rolls based on theoretical entropy.
    • Krux warns the user if low Shannon's entropy, calculated with the actual rolls, is detected.
    • Krux warns the user if it suspects there are patterns within the actual rolls.
    "},{"location":"getting-started/features/entropy/#conclusion","title":"Conclusion","text":"

    While Krux cannot ensure rolls have good or bad cryptographic entropy, it does provide indicators to help users detect issues and learn about the concepts involved in mnemonic generation.

    "},{"location":"getting-started/features/printing/","title":"Printing","text":"

    Warning/Disclaimer: This feature is intended for individuals with experience in electronics tinkering and soldering.

    Krux has the ability to print mnemonic backup (Words, Numbers, Tiny Seed template; but not Stackbit 1248) and any QR code (SeedQR, signed PSBT, Address, XPUB, Wallet output descriptor, ...) via a locally-connected TTL serial thermal printer. Consult the parts list page for supported printers.

    Once a thermal printer and driver have been enabled in Krux settings, all screens that display a QR code will offer the option to Print to QR. Other formats of mnemonic backup will also ask if you want to Print to QR?.

    There are many ways you can use this functionality, including:

    • Printing backups of your mnemonics and multisig wallet output descriptor
    • Printing your xpubs and receive addresses to share
    • Printing signed messages and PSBTs

    Since printed thermal paper fades quickly, you can also print your backups on sticker thermal paper to use as templates for punching into more resilient materials like steel.

    We also have plans to add support for other kinds of QR \"printers\" in the future, including CNC machines. In this case, gcode will be generated that can be sent directly to a GRBL controller to cut your QRs out of wood or metal!

    Just be careful what you do with the printed codes, since most smartphones can now quickly and easily read QR codes. Treat your QR mnemonic the same way you would treat a plaintext copy of it.

    "},{"location":"getting-started/features/sd-card-update/","title":"SD Card Updates","text":""},{"location":"getting-started/features/sd-card-update/#upgrade-via-microsd-card","title":"Upgrade via microSD card","text":"

    Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing via USB or you can perform upgrades via microSD card to keep the device airgapped.

    To perform an upgrade, simply copy the official release firmware.bin and firmware.bin.sig files to the root of a FAT-32 / MBR formatted microSD card, insert the card into your device, and reboot the device. If it detects the new firmware file and is able to verify the signature, you will be prompted to install it.

    Once installation is complete, eject the microSD card and delete the firmware files before reinserting and rebooting. Otherwise you will be prompted to install it again.

    We cannot guarantee that a microSD card is compatible and will work in your device; you'll need to test it on the device to be sure, read the Troubleshooting for more info. Only official releases are signed and can be installed via microSD card.

    "},{"location":"getting-started/features/tamper-detection/","title":"Tamper Detection Mechanism (Experimental)","text":"

    Krux's tamper detection tool combines cryptographic hashes, a Tamper Check Code, and camera-generated entropy to create a tamper indicator that is unique to each device, represented by a memorable image and four words.

    Before we get into details, let's start with some limitations and necessary prerequisites to allow the feature to work.

    "},{"location":"getting-started/features/tamper-detection/#krux-security-model-good-practices-and-limitations","title":"Krux Security Model - Good Practices and Limitations","text":"

    To secure your Krux device, always verify firmware authenticity before installation, particularly when flashing via USB.

    "},{"location":"getting-started/features/tamper-detection/#firmware-verification-methods","title":"Firmware Verification Methods","text":"
    • Using OpenSSL Command-Line Tool: Follow the Krux documentation to verify the firmware's signature manually. This method provides a high level of assurance but requires familiarity with command-line operations.

    • Using Krux-Installer: For a more user-friendly experience, verify the Krux-Installer's signature using GPG. Graphical interfaces like Sparrow Wallet can facilitate this process. Krux-Installer automatically downloads the firmware from Github, verifies the firmware signature, informs you of the results, and guides you through manual verification if desired.

    "},{"location":"getting-started/features/tamper-detection/#recommendations","title":"Recommendations","text":"
    • Learn Verification Tools: Familiarize yourself with verification methods and tools to maintain control over your device's security.

    • Build from Source: Consider building the firmware from source code and verifying its reproducibility for maximum assurance.

    • Use SD Card for Updates: After the initial flash through USB, perform subsequent updates via the SD card. This keeps your device air-gapped and allows the existing firmware to verify new updates before installation.

    Note: The effectiveness of the TC Flash Hash tamper detection feature relies on running legitimate, uncompromised firmware and safely protecting your Tamper Check Code.

    "},{"location":"getting-started/features/tamper-detection/#tamper-check-code-tc-code","title":"Tamper Check Code (TC Code)","text":"

    A Tamper Check Code, composed of numbers, letters and special characters, with a minimum length of six characters, can be stored and required to execute Tamper Check (TC) Flash Hash tamper verification before Krux boots at the main application, or optionally as a feature available in Tools -> Flash Tools.

    Before being stored in the device\u2019s flash, the TC Code is hashed together with the K210 chip\u2019s unique ID and stretched using PBKDF2. This ensures the TC Code is not retrievable via a flash dump and can only be brute-forced outside the device if the attacker also has access to the device\u2019s unique ID. By allowing letters, special characters, and running 100k iterations of PBKDF2, brute-forcing the TC Code from dumped data becomes more time-consuming and resource-intensive.

    "},{"location":"getting-started/features/tamper-detection/#enhancing-tamper-detection","title":"Enhancing Tamper Detection","text":"

    After setting the TC Code, you are prompted to fill empty flash memory blocks with random entropy from the camera. This process ensures that attackers cannot exploit unused memory space.

    "},{"location":"getting-started/features/tamper-detection/#tamper-check-tc-flash-hash-a-tamper-detection-tool","title":"Tamper Check (TC) Flash Hash - A Tamper Detection Tool","text":""},{"location":"getting-started/features/tamper-detection/#introduction","title":"Introduction","text":"

    The \"TC Flash Hash\" tool enables you to verify if the flash memory content has been altered.

    "},{"location":"getting-started/features/tamper-detection/#how-it-works","title":"How It Works","text":"

    The tool generates a unique image and four tamper detection words based on a hash of your TC Code, the device's UID, and the flash content. The flash memory is divided into two regions:

    • Firmware Region: Generates the image and the first two words.

    • User's Region: Generates the last two words.

    Example: The blue symbol and words 'tail monkey' represent the firmware region, while 'wrestle over' reflects the user region.

    Any change in the flash content results in a different image or words:

    • Firmware Changes: Alterations in the firmware region, including the bootloader, change the image and the first two words.

    • User's Data Changes: Modifications in the user's region, such as new settings or stored mnemonics, change the last two words.

    • TC Code Changes: Replacing the TC Code alters the image and all four words.

    "},{"location":"getting-started/features/tamper-detection/#filling-empty-flash-blocks","title":"Filling Empty Flash Blocks","text":"

    Krux performs a memory sweep while simultaneously capturing a live feed from the camera. Whenever an empty block is found in the flash memory, Krux estimates the image's entropy by evaluating its color variance. Krux waits until minimum threshold is met, then uses the data from the image to fill these empty spaces with rich, random entropy.

    "},{"location":"getting-started/features/tamper-detection/#ensuring-tamper-detection","title":"Ensuring Tamper Detection","text":"

    The TC Flash Hash function securely hashes the combination of the TC Code, UID, and flash content:

    hash(TC Code,UID,Flash content) -> Image + Words

    Hash properties ensure that without knowing the TC Code, UID, and flash content, an attacker cannot reproduce the TC Flash Hash results.

    "},{"location":"getting-started/features/tamper-detection/#executing-tc-flash-hash","title":"Executing TC Flash Hash","text":"

    After setting a TC Code user can use the TC Flash Hash feature, available in Tools -> Flash Tools -> TC Flash Hash.

    By navigating to Settings -> Security -> TC Flash Hash at Boot, you can set Krux to always require TC Flash Hash verification after device is turned on.

    If a wrong TC Code is typed at boot, the device will turn off. As storing code typing attempts count on flash would change its contents, there will be no consequences if wrong TC Code is typed multiple times.

    As TC Code verification data is stored in the user's region of memory, TC Flash Hash and TC Code requirement is disabled if the user wipes the device. Flashing an older firmware version will also disable the feature.

    "},{"location":"getting-started/features/tamper-detection/#potential-attack-scenarios-and-their-mitigation","title":"Potential Attack Scenarios and Their Mitigation","text":""},{"location":"getting-started/features/tamper-detection/#challenge-for-an-attacker","title":"Challenge for an Attacker","text":"

    An attacker faces major challenges in replacing the firmware:

    • Lack of Original Flash Data: Without the exact original flash content, the attacker cannot reproduce the correct hash.

    • Sequential Hash Dependency: The hash function processes data sequentially (TC Code, UID, flash content), preventing the attacker from injecting or rearranging data to produce the same hash.

    • One-Way Hash Functions: Cryptographic hash functions like SHA-256 are one-way, making it infeasible to reverse-engineer or manipulate the hash without the original inputs.

    "},{"location":"getting-started/features/tamper-detection/#why-tampered-firmware-cannot-bypass-verification","title":"Why Tampered Firmware Cannot Bypass Verification","text":"
    • Cannot Reconstruct the Hash: Without the original flash data, the attacker cannot generate the correct hash, even if they know the UID and TC Code after the user enters it.

    • Hash Sensitivity: Any alteration in the flash content changes the hash output, which will be evident through a different image or tamper detection words.

    • Entropy Filling: Filling empty flash blocks with camera-generated entropy leaves no space for malicious code and any changes to these blocks will alter the hash.

    "},{"location":"getting-started/features/tamper-detection/#possible-attack-strategies-and-failures","title":"Possible Attack Strategies and Failures","text":"
    • Precomputing Hashes: The attacker cannot precompute the correct hash without the TC Code, UID, and exact flash content.

    • Storing Hashes: Storing hash(flash content) is ineffective because the overall hash depends on the sequential combination of TC Code, UID, and flash data.

    • Inserting Malicious Code: Attempting to insert code into empty spaces fails because the entropy filling process and hash verification will detect any changes.

    • Using an SD Card to Store a Copy of Original Flash Content: An attacker could extract an exact copy of the flash contents to an SD card and subsequently install malicious firmware. This firmware could capture the chip's UID and the user's TC Code, then hash the content of the SD card instead of the flash memory. Although this would make the verification process slower, it introduces a potential security risk. To mitigate this vulnerability, it is advisable to avoid performing verifications while an SD card is inserted.

    "},{"location":"getting-started/features/tamper-detection/#conclusion","title":"Conclusion","text":"

    The TC Flash Hash tool significantly enhances security by making it infeasible for attackers to tamper with the firmware without detection. By combining TC Code hashing, filling empty memory with random entropy, and verifying flash integrity through unique images and words, Krux significantly enhances the detection of any tamper attempts.

    Note: The strength of this defense strategy depends on maintaining a strong, confidential TC Code and following secure practices when unlocking the device.

    "},{"location":"getting-started/features/tinyseed/","title":"Tiny Seed and other metal plates","text":""},{"location":"getting-started/features/tinyseed/#background","title":"Background","text":"

    The examples below have been created so that you can test the workflow for scanning both 12 and 24 word mnemonics. (Scanning the left plate for a 12 word mnemonic and both plates for 24) The resulting fingerprint from an successful scan is also incldued in the image.

    "},{"location":"getting-started/features/tinyseed/#tinyseed","title":"TinySeed","text":""},{"location":"getting-started/features/tinyseed/#onekey-keytag","title":"OneKey KeyTag","text":""},{"location":"getting-started/features/tinyseed/#binary-grid","title":"Binary Grid","text":""},{"location":"getting-started/features/tinyseed/#size-offset-and-padding-reference","title":"Size, Offset and Padding Reference","text":"

    The general logic for how these are processed is:

    1. Krux first looks for a square (Which works best if with a well lit square, with clean edges, on a dark background)
    2. This square is checked and if the ratio of length to height is within a defined range for the given seed type, the square is further processed. (Uses the aspect_high and aspect_low variables)
    3. An X and Y offset are applied to work out the corner of the seed grid within the seed plate. Some devices like the Maix Amigo use a mirrored coordinate system and some seed types will have a slightly different layout on the front and back of the plate. (Uses the x_offset and y_offset variables, p0 for the front face and p1 for the reverse face)
    4. The location of each cell within the 12x12 grid is calculated. (This uses the xpad and ypad variables)
    5. Krux uses the grid created in 4 to evaluate which cells are marked and which are blank, once a seed with a valid checksum is detected, the user can then confirm the dots.

    If you have a different type of grid that you want to use, you will need to edit the offsets and padding numbers in tiny_seed.py. (All of the sizes are scaled based on the size of the square detected in step 1...)

    You can match the pre-sets for supported key-types to the physical dimensions of the tag as shown below. (The numbers for these offsets are in 1/10th of a millimeter)

    "},{"location":"getting-started/features/tools/","title":"Tools","text":"

    Here are some useful tools that are available as soon as Krux starts! These are offered as a complement to managing your device and wallets.

    "},{"location":"getting-started/features/tools/#check-sd-card","title":"Check SD Card","text":"

    You can check if a SD card can be detected and read by your device and explore its content. If there are too many files to fit on one screen, swipe up or down to navigate between the screens if your device has a touchscreen.

    "},{"location":"getting-started/features/tools/#print-test-qr","title":"Print Test QR","text":"

    Quickly print a test QR code to check and optimize your printer setup.

    "},{"location":"getting-started/features/tools/#create-qr-code","title":"Create QR Code","text":"

    Enter text to create, print or transcribe a QR code that can later be used as an encryption key or passphrase. Swipe left or right to change modes if your device has a touchscreen.

    "},{"location":"getting-started/features/tools/#descriptor-addresses","title":"Descriptor Addresses","text":"

    Verify if an address or list of addresses belong to a wallet without needing to load private keys. Simply load a trusted wallet descriptor from a QR code or SD card.

    "},{"location":"getting-started/features/tools/#flash-tools","title":"Flash Tools","text":"

    Tools to inspect the content of device's flash memory and clear user's area

    "},{"location":"getting-started/features/tools/#flash-map","title":"Flash Map","text":"

    Flash map indicates which memory blocks (4086 Bytes each) are empty. Memory is separated in two regions: Firmware and User's Data. White or colored blocks contain data, while grey blocks are empty.

    This is an interesting tool to visualize the effects of filling the memory with ramdom entropy, what is done during the setup of a new TC Code, used with TC Flash Hash tool, described below.

    "},{"location":"getting-started/features/tools/#tc-flash-hash","title":"TC Flash Hash","text":"

    Tamper Check Flash Hash is a tamper detection mechanism that enables you to verify if the flash memory content has been altered. To use it first, need to create a TC Code on Settings -> Security -> Tamper Check Code. TC Flash Hash will hash this code, K210 chip's unique ID and the content of the whole flash memory together and produce an image. The tool generates a unique image and four tamper detection words based on a hash of your TC Code, the device's UID, and the flash content. The flash memory is divided into two regions:

    • Firmware Region: Generates the image and the first two words.

    • User's Region: Generates the last two words.

    Learn more about Tamper Check Flash Hash on Tamper Detection

    "},{"location":"getting-started/features/tools/#erase-users-data","title":"Erase User's Data","text":"

    This option permanently removes all stored encrypted mnemonics, settings and TC Code from the device's internal flash memory. It ensures that the data is irrecoverable, making it an adequate measure to take if any important mnemonics were stored with a weak encryption key.

    "},{"location":"getting-started/features/tools/#remove-mnemonic","title":"Remove Mnemonic","text":"

    This option allows you to remove any stored encrypted mnemonic from the device's internal memory or an SD card. For more information, see Krux Encrypted Mnemonics.

    When mnemonics are removed from the device's flash memory, Krux will no longer be able to access them. However, as with most operating systems, the data may still be recoverable using specialized tools. If you stored any important keys with a weak encryption key, it is recommended to use the \"Wipe Device\" feature below to ensure that the data is irrecoverable.

    When mnemonics are removed from an SD card, Krux will overwrite the region where the encrypted mnemonic was stored with empty data. This makes it more secure to delete mnemonics from SD cards using Krux rather than a PC or another device. However, Krux does not have a \"Wipe\" feature for SD cards; you can find this feature in third-party applications.

    "},{"location":"getting-started/installing/from-pre-built-release/","title":"From pre-built official release","text":"

    This page explains how to install Krux from an official, pre-built release.

    "},{"location":"getting-started/installing/from-pre-built-release/#download-the-latest-release","title":"Download the latest release","text":"

    Head over to the releases page and download the latest signed release.

    "},{"location":"getting-started/installing/from-pre-built-release/#verify-the-files","title":"Verify the files","text":"

    Before installing the release, it's a good idea to check that:

    1. The SHA256 hash of krux-v24.11.0.zip matches the hash in krux-v24.11.0.zip.sha256.txt
    2. The signature file krux-v24.11.0.zip.sig can be verified with the selfcustody.pem public key found in the root of the krux repository.

    You can either do this manually or with the krux shell script, which contains helper commands for this:

    ./krux sha256 krux-v24.11.0.zip\n./krux verify krux-v24.11.0.zip selfcustody.pem\n

    On Mac you may need to install coreutils to be able to use sha256sum

    brew install coreutils\n

    Fun fact: Each Krux release is signed with Krux!

    "},{"location":"getting-started/installing/from-pre-built-release/#flash-the-firmware-onto-the-device","title":"Flash the firmware onto the device","text":"

    Extract the latest version of Krux you downloaded and enter the folder:

    unzip krux-v24.11.0.zip && cd krux-v24.11.0\n

    Connect the device to your computer via USB (for Maix Amigo, make sure you\u2019re using bottom port), power it on, and run the following, replacing DEVICE with either m5stickv, amigo, bit, cube, dock or yahboom (to yahboom you may need to manually specify the port, for example /dev/ttyUSB0 on Linux or COM6 on Windows):

    ./ktool -B goE -b 1500000 maixpy_DEVICE/kboot.kfpkg\n

    For dock use the -B dan parameter:

    ./ktool -B dan -b 1500000 maixpy_dock/kboot.kfpkg\n

    When the flashing process completes, you should see the Krux logo:

    If it doesn't, try turning your device off and on by holding down the power button for six seconds.

    Congrats, you're now running Krux!

    "},{"location":"getting-started/installing/from-pre-built-release/#a-note-about-the-maix-amigo","title":"A note about the Maix Amigo","text":"

    Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    "},{"location":"getting-started/installing/from-pre-built-release/#troubleshooting","title":"Troubleshooting","text":"

    If ktool fails to run, you may need to give it executable permissions with chmod +x ./ktool, or you might need to use \"sudo\" if your user don't have access to serial port. In Windows or Mac you may need to explicitly allow the tool to run by adding an exception for it.

    If the flashing process fails midway through, check the connection, restart the device, and try the command again.

    Two serial ports are created when Amigo and Bit are connected to a PC. Sometimes Ktool will pick the wrong port and flashing will fail. Manually specify the serial port to overcome this issue using -p argument:

    "},{"location":"getting-started/installing/from-pre-built-release/#linux","title":"Linux","text":"

    See the correct port using ls /dev/ttyUSB*, in the example below we use /dev/ttyUSB0:

    ./ktool-linux -B goE -b 1500000 maixpy_amigo/kboot.kfpkg -p /dev/ttyUSB1\n

    "},{"location":"getting-started/installing/from-pre-built-release/#windows","title":"Windows","text":"

    See the correct port at Device Manager > Ports (COM & LPT), in the example below we use COM6:

    .\\ktool-win.exe -B goE -b 1500000 maixpy_amigo\\kboot.kfpkg -p COM6\n

    "},{"location":"getting-started/installing/from-pre-built-release/#mac","title":"Mac","text":"

    Remove the Gatekeeper quarantine extended attribute from ktool-mac:

    xattr -d com.apple.quarantine ktool-mac\n

    See the correct port using the command line: ls /dev/cu.usbserial*, in the example below we use /dev/cu.usbserial-10 (If the output isn't what you expect try a different cable, preferably a smartphone usb-c charger cable):

    ./ktool-mac -B goE -b 1500000 maixpy_amigo/kboot.kfpkg -p /dev/cu.usbserial-10\n

    Different OS versions may have different port names, and the absence of ports may indicate a connection, driver or hardware related issue. See Troubleshooting for more info.

    "},{"location":"getting-started/installing/from-pre-built-release/#multilingual-support","title":"Multilingual support","text":"

    Prefer a different language? Krux has support for multiple languages. Once at the start screen, go to Settings, followed by Locale, and select the locale you wish to use.

    "},{"location":"getting-started/installing/from-pre-built-release/#upgrade-via-microsd-card","title":"Upgrade via microSD card","text":"

    Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades via microSD card to keep the device airgapped.

    "},{"location":"getting-started/installing/from-source/","title":"From source","text":"

    This page explains how to install Krux from source. You can check a simplified version of these instructions in our README too.

    "},{"location":"getting-started/installing/from-source/#fetch-the-code","title":"Fetch the code","text":"

    This will download the source code of Krux as well as the code of all its dependencies inside a new folder called krux (needs git):

    git clone --recurse-submodules https://github.com/selfcustody/krux\n

    Note: When you wish to pull updates (to all submodules, their submodules, ...) to this repo, use:

    git pull origin main && git submodule update --init --recursive\n

    "},{"location":"getting-started/installing/from-source/#prerequisite-for-upgrading-via-microsd","title":"Prerequisite for upgrading via microSD","text":"

    If you wish to perform airgapped upgrades via microSD card later, you will need to have a private and public key pair to sign your builds and verify the signatures. If you do not want to perform further airgapped upgrades, jump to build section.

    You can use an existing Krux installation and mnemonic to sign your builds with, or you can generate a keypair and sign from the openssl CLI. Commands have been added to the krux shell script to make this easier.

    In either case, you will need to update the SIGNER_PUBKEY field in src/krux/metadata.py to store your public key so that Krux can verify future builds before installing.

    To generate a keypair:

    ./krux generate-keypair\n./krux pem-to-pubkey pubkey.pem\n

    The first command will create privkey.pem and pubkey.pem files you can use with openssl, and the second command will output your public key in the form expected by Krux.

    Once you've updated the SIGNER_PUBKEY with this value, you can proceed with the regular build process.

    "},{"location":"getting-started/installing/from-source/#build-the-firmware-linux-or-wsl","title":"Build the firmware (Linux or WSL)","text":"

    The krux bash script contains commands for common development tasks. It assumes a Linux host, you will need to have Docker Desktop or Docker Engine, openssl, and wget installed at a minimum for the commands to work as expected. It works on Windows using WSL. The channel Crypto Guide from Youtube made a step-by-step video - Krux DIY Bitcoin Signer: Build From Source & Verify (With Windows + WSL2 + Docker)

    To build and flash the firmware:

    # build firmware for Maix Amigo\n./krux build maixpy_amigo\n

    The first time, the build can take around an hour or so to complete. Subsequent builds should take only a few minutes. If all goes well, you should see a new build folder containing firmware.bin and kboot.kfpkg files when the build completes.

    Note: if you encounter any of these errors while building, it is a problem connecting to github, try again (if the error persists, try changing the DNS/VPN or correcting the hostname resolution of github.com to an IP that is working for you):

    error: RPC failed; curl 92 HTTP/2 stream 0 was not closed cleanly: CANCEL (err8)\nfatal: the remote end hung up unexpectedly\nfatal: early EOF\nfatal: index-pack failed\nfatal: clone of ... failed\nFailed to clone ...\n

    "},{"location":"getting-started/installing/from-source/#reproducibility","title":"Reproducibility","text":"

    If you build from the main branch of the source code, you should be able to reproduce the build process used to generate the last release binaries and obtain exact copies of the firmware.bin and kboot.kfpkg files, with matching hash checksums.

    To extract and verify the firmware.bin contained in kboot.kfpkg, you can use the following command:

    unzip kboot.kfpkg -d ./kboot/\n
    "},{"location":"getting-started/installing/from-source/#flash-the-firmware-onto-the-device","title":"Flash the firmware onto the device","text":"

    Connect the device to your computer via USB (for Maix Amigo, make sure you\u2019re using bottom port), power it on, and run the following, replacing DEVICE with either m5stickv, amigo, bit, cube, dock or yahboom:

    # build firmware for DEVICE\n./krux flash maixpy_DEVICE\n
    If the flashing fails try one of the following common solutions listed on FAQ

    When the flashing process completes, you should see the Krux logo:

    If it doesn't, try turning your device off and on by holding down the power button for six seconds.

    Congrats, you're now running Krux!

    "},{"location":"getting-started/installing/from-source/#a-note-about-the-maix-amigo","title":"A note about the Maix Amigo","text":"

    Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    "},{"location":"getting-started/installing/from-source/#signing-the-firmware","title":"Signing the firmware","text":"

    You can sign the firmware to perform airgapped upgrades using one of the two methods listed below:

    "},{"location":"getting-started/installing/from-source/#method-1-signing-from-krux","title":"Method 1: Signing from Krux","text":"

    First, calculate the SHA256 hash of the new firmware by running:

    ./krux sha256 build/firmware.bin\n

    Copy this hex string and turn it into a QR code using whichever QR code generator you'd like.

    In Krux, enter the mnemonic of your private key that will be used for signing, and go to Sign > Message. Scan the QR code you generated, and you will be asked if you wish to sign the hash. Proceed, and you will be presented with a base64-encoded string containing the signature, as text and as a QR code.

    Take this string and create a signature file by running:

    ./krux b64decode \"signature-in-base64\" > build/firmware.bin.sig\n

    This will generate a firmware.bin.sig file containing a signature of the firmware's SHA256 hash.

    "},{"location":"getting-started/installing/from-source/#method-2-signing-from-your-computer-with-openssl","title":"Method 2: Signing from your computer with OpenSSL","text":"

    With the keypair you generated before, you can now run:

    ./krux sign build/firmware.bin privkey.pem\n

    This will generate a firmware.bin.sig file containing a signature of the firmware's SHA256 hash.

    "},{"location":"getting-started/installing/from-test-release/","title":"From pre-built test release","text":"

    This page explains how to install Krux from a test (beta), pre-built release.

    "},{"location":"getting-started/installing/from-test-release/#warning","title":"Warning","text":"

    Keep in mind that these are unsigned binaries.

    "},{"location":"getting-started/installing/from-test-release/#download","title":"Download","text":"

    Download experimental compiled firmware or the Android app apk from our test (beta) repository.

    "},{"location":"getting-started/installing/from-test-release/#android","title":"Android","text":"

    The Krux Android app is designed for learning about Krux and Bitcoin air-gapped transactions. Due to the numerous potential vulnerabilities inherent in smartphones, such as the lack of control over the operating system, libraries, and hardware peripherals, the Krux app should NOT be used to manage wallets containing savings or important keys and mnemonics. For secure management of your keys, a dedicated device is recommended.

    "},{"location":"getting-started/installing/from-test-release/#compiled-firmware-for-kendryte-k210-devices","title":"Compiled firmware for Kendryte K210 devices","text":""},{"location":"getting-started/installing/from-test-release/#m5stickv","title":"M5StickV","text":"

    To Flash M5StickV run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_m5stickv/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_m5stickv/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_m5stickv\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-amigo","title":"Sipeed Maix Amigo","text":"

    To Flash Maix Amigo run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux_1","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_amigo/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_1","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_amigo/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_1","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_amigo\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#a-note-about-the-maix-amigo","title":"A note about the Maix Amigo","text":"

    Some Amigo screens have inverted X coordinates, others display colors differently. For more info see Troubleshooting.

    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-bit","title":"Sipeed Maix Bit","text":"

    To Flash Maix Bit run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux_2","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_bit/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_2","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_bit/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_2","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_bit\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-cube","title":"Sipeed Maix Cube","text":"

    To Flash Maix Cube run the following.

    "},{"location":"getting-started/installing/from-test-release/#linux_3","title":"Linux","text":"
    ./ktool-linux -B goE -b 1500000 maixpy_cube/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_3","title":"Mac","text":"
    ./ktool-mac -B goE -b 1500000 maixpy_cube/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_3","title":"Windows","text":"
    .\\ktool-win.exe -B goE -b 1500000 maixpy_cube\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#sipeed-maix-dock","title":"Sipeed Maix Dock","text":"

    To Flash Maix Dock you need to pass the -B dan parameter.

    "},{"location":"getting-started/installing/from-test-release/#linux_4","title":"Linux","text":"
    ./ktool-linux -B dan -b 1500000 maixpy_dock/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#mac_4","title":"Mac","text":"
    ./ktool-mac -B dan -b 1500000 maixpy_dock/kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#windows_4","title":"Windows","text":"
    .\\ktool-win.exe -B dan -b 1500000 maixpy_dock\\kboot.kfpkg\n
    "},{"location":"getting-started/installing/from-test-release/#aimotion-yahboom-k210-module","title":"Aimotion Yahboom k210 module","text":"

    To Flash Yahboom k210 module you'll have to manually specify the port.

    "},{"location":"getting-started/installing/from-test-release/#linux_5","title":"Linux","text":"

    See the correct port using ls /dev/ttyUSB*, in the example below we use /dev/ttyUSB0:

    ./ktool-linux -B goE -b 1500000 -p /dev/ttyUSB0 maixpy_yahboom/kboot.kfpkg\n

    "},{"location":"getting-started/installing/from-test-release/#mac_5","title":"Mac","text":"

    See the correct port using the command line: ls /dev/cu.usbserial*, in the example below we use /dev/cu.usbserial-10:

    ./ktool-mac -B goE -b 1500000 -p /dev/cu.usbserial-10 maixpy_yahboom/kboot.kfpkg\n

    "},{"location":"getting-started/installing/from-test-release/#windows_5","title":"Windows","text":"

    See the correct port at Device Manager > Ports (COM & LPT), in the example below we use COM6:

    .\\ktool-win.exe -B goE -b 1500000 -p COM6 maixpy_yahboom\\kboot.kfpkg\n

    "},{"location":"getting-started/installing/","title":"Installing","text":"

    You can install Krux in four different ways:

    • From GUI application
    • From pre-built official release
    • From pre-built test (beta) release
    • From source
    "},{"location":"getting-started/installing/#requirements","title":"Requirements","text":"

    Please, check the parts list for the compatible devices and requirements.

    After the first firmware install, you can use a microSD card if you wish to perform further airgapped updates.

    "},{"location":"getting-started/installing/from-gui/debian-like/","title":"Download assets","text":"
    • krux-installer_0.0.20-beta_amd64.deb
    • krux-installer_0.0.20-beta_amd64.deb.sha256.txt
    • krux-installer_0.0.20-beta_amd64.deb.sig
    "},{"location":"getting-started/installing/from-gui/debian-like/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_amd64.deb.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/debian-like/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_amd64.deb.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/debian-like/#install","title":"Install","text":"

    krux-installer isn't available on Debian or Ubuntu repositories. Therefore, only the apt-get install command will not work. To install, it'll be necessary two steps:

    • Install the .deb package itself:
    sudo dpkg -i krux-installer_0.0.20-beta_amd64.deb\n
    • Update the installed package:
    sudo apt-get install -f\n

    It will warn you that your system user was added to dialout group and maybe you need to reboot to activate the sudoless flash procedure.

    "},{"location":"getting-started/installing/from-gui/debian-like/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/fedora-like/","title":"Download assets","text":"
    • krux-installer-0.0.20_beta-1.x86_64.rpm
    • krux-installer-0.0.20_beta-1.x86_64.rpm.sha256.txt
    • krux-installer-0.0.20_beta-1.x86_64.rpm.sig
    "},{"location":"getting-started/installing/from-gui/fedora-like/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer-0.0.20_beta-1.x86_64.rpm.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/fedora-like/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer-0.0.20_beta-1.x86_64.rpm.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/fedora-like/#install","title":"Install","text":"

    krux-installer isn't available on Fedora or RedHat repositories. You'll need to add it manually:

    "},{"location":"getting-started/installing/from-gui/fedora-like/#fedora","title":"Fedora","text":"
    sudo  dnf install krux-installer-0.0.20_beta-1.x86_64.rpm\n
    "},{"location":"getting-started/installing/from-gui/fedora-like/#other-redhat-based-distros","title":"Other RedHat based distros:","text":"
    sudo yum localinstall krux-installer-0.0.20_beta-1.x86_64.rpm\n

    It will warn you that your system user was added to dialout group and maybe you need to reboot to activate the sudoless flash procedure.

    "},{"location":"getting-started/installing/from-gui/fedora-like/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/","title":"From GUI application","text":"

    You can install Krux (both official or beta releases) onto your K210-based device using our official desktop application, KruxInstaller, available for:

    \u26a0\ufe0f WARNING: Krux-Installer latest version is in it's alpha version. Maybe you can experience bugs or don't like something. If it is the case, please submit a issue.

    • Windows
    • MacOS Intel
    • MacOS M1/M2/M3
    • Debian and like
    • Fedora and like
    • Other linux distros
    "},{"location":"getting-started/installing/from-gui/macos-arm64/","title":"Download assets","text":"
    • krux-installer_0.0.20-beta_arm64.dmg
    • krux-installer_0.0.20-beta_arm64.dmg.sha256.txt
    • krux-installer_0.0.20-beta_arm64.dmg.sig
    "},{"location":"getting-started/installing/from-gui/macos-arm64/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_arm64.dmg.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/macos-arm64/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_arm64.dmg.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/macos-arm64/#install","title":"Install","text":"

    Open the dmg file and a new volume will be presented; drag'n'drop the krux-installer to the Applications folder:

    Before run, you'll need to remove the quarantine flag from application. This occurs because we don't added the Apple's code signing and notarization.

    To fix this, open your terminal and execute the following command:

    xattr -d com.apple.quarantine -r /Applications/krux-installer.app\n

    \ud83d\udee1\ufe0f TIP: If you followed the steps presented in authenticity section, you already have the assurance that the software is from a verified and genuine software publisher. This will also help establish a chain of trust when you perform the firmware verification step before flashing.

    "},{"location":"getting-started/installing/from-gui/macos-arm64/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/macos-intel/","title":"Download assets","text":"
    • krux-installer_0.0.20-beta_x86_64.dmg
    • krux-installer_0.0.20-beta_x86_64.dmg.sha256.txt
    • krux-installer_0.0.20-beta_x86_64.dmg.sig
    "},{"location":"getting-started/installing/from-gui/macos-intel/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_x86_64.dmg.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/macos-intel/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_x86_64.dmg.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/macos-intel/#install","title":"Install","text":"

    Open the dmg file and a new volume will be presented; drag'n'drop the krux-installer to the Applications folder:

    Before run, you'll need to remove the quarantine flag from application. This occurs because we don't added the Apple's code signing and notarization.

    To fix this, open your terminal and execute the following command:

    xattr -d com.apple.quarantine -r /Applications/krux-installer.app\n

    \ud83d\udee1\ufe0f TIP: If you followed the steps presented in authenticity section, you already have the assurance that the software is from a verified and genuine software publisher. This will also help establish a chain of trust when you perform the firmware verification step before flashing.

    "},{"location":"getting-started/installing/from-gui/macos-intel/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/installing/from-gui/other-linux-distro/","title":"Download assets","text":"

    For this installation, we'll use the .deb sources:

    • krux-installer_0.0.20-beta_amd64.deb
    • krux-installer_0.0.20-beta_amd64.deb.sha256.txt
    • krux-installer_0.0.20-beta_amd64.deb.sig
    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    sha256sum --check ./krux-installer_0.0.20-beta_amd64.deb.sha256.txt\n
    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#verify-the-authenticity","title":"Verify the authenticity","text":"

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_0.0.20-beta_amd64.deb.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#install","title":"Install","text":"

    This step it's not really an installation. At least it will make the program's binary available somewhere on your computer; it can be useful if you want to develop a package for your distro.

    To do this you'll need two tools:

    • ar;
    • bsdtar.
    "},{"location":"getting-started/installing/from-gui/other-linux-distro/#extract-contents","title":"Extract contents","text":"
    • Extract the .deb contents:
    ar xv krux-installer_0.0.20-beta_amd64.deb\n
    • Extract the data.tar.zst contents:
    bsdtar -xvf data.tar.zst\n

    The binary will be located at ./usr/local/bin/krux-installer.

    "},{"location":"getting-started/installing/from-gui/usage/","title":"Usage","text":"

    This guide will walk through the basic use of the installer. At startup, it can differ in some operational systems. In the rest, the procedures will be similar.

    "},{"location":"getting-started/installing/from-gui/usage/#main-menu","title":"Main Menu","text":"

    When executing the Krux Installer, you will be presented with a menu of 4 enabled buttons and two disabled buttons:

    • Enabled buttons:

      • Version: select a firmware version;

      • Device: select a supported device for the selected version;

      • Settings: change some application settings;

      • About: just show some information about the application.

    • Disabled buttons:

      • Flash firmware: This button will start the flash firmware procedure;

        • It will be enabled when user select both version and device;
      • Wipe device: This button will start the wipe device procedure.

        • It will be enabled when user select the device.
    "},{"location":"getting-started/installing/from-gui/usage/#select-version","title":"Select version","text":"

    At startup, the application will setup it to the latest one, krux-v24.11.0. But you can select even a beta release or older versions:

    • Click in the button that show the text Version: krux-v24.11.0;

    • To select a beta release, click on button that show the text odudex/krux_binaries;

    • To select an older version, click on button that show the text Old versions;

    "},{"location":"getting-started/installing/from-gui/usage/#beta-release","title":"Beta release","text":"

    After choose odudex/krux_binaries, you'll be warned with a message:

    "},{"location":"getting-started/installing/from-gui/usage/#older-versions","title":"Older versions","text":"
    • We put this option in case you have any interest in the history of firmware development;
    • Each version supports one device or the other;

    • For example: the version v22.03.0 has support only for m5stickv.

    "},{"location":"getting-started/installing/from-gui/usage/#settings","title":"Settings","text":"

    krux-Installer will give to you some freedom of choices for:

    • Krux-Installer settings;

    • General settings;

    "},{"location":"getting-started/installing/from-gui/usage/#krux-installer-specific-settings","title":"krux-installer specific settings","text":"

    Here you can configure some of the specifics of krux firmare, like:

    • Where you'll save downloaded assets;

    • The flash baudrate

    • The natural language that will be used in the application (system locale).

    "},{"location":"getting-started/installing/from-gui/usage/#flash-baudrate","title":"Flash baudrate","text":"

    The flash baudrate is how quickly the firmware will be written to the device.

    But not any value can be used. The valid ones are: 9600, 19200, 28800, 38400, 57600, 76800, 115200, 230400, 460800, 576000, 921600, 1500000.

    "},{"location":"getting-started/installing/from-gui/usage/#system-locale","title":"System locale","text":"

    At startup, krux-installer recognize the locale used in your system. If your language isn't supported, it will defaults to en_US.

    "},{"location":"getting-started/installing/from-gui/usage/#select-device","title":"Select Device","text":"

    Everytime you select a new version, you'll see that the device button will be reseted to Device: select a new one state. Once a version is selected you can choose a device on which the firmware will be written.

    First, select the device we want to flash. After that the menu will shown three items:

    Note that some devices may be disabled if they are not supported by the chosen version

    "},{"location":"getting-started/installing/from-gui/usage/#flash-device","title":"Flash device","text":"

    Once you choose the device and version, it enables the \"flash device\" button. It will start an automatic process of:

    • For official firmware's releases:

      • Warning;

      • Download;

      • Verification:

      • Unzip the correct firmware;

      • Flash:

        • The flash itself via USB;

        • Air-gapped update via SD card;

    • For beta releases:

      • Download asset;

      • The flash itself;

    "},{"location":"getting-started/installing/from-gui/usage/#warning","title":"Warning","text":"

    If you already downloaded assets, you'll be warned about this and will be offered the possibility to download again or continue without downloading:

    "},{"location":"getting-started/installing/from-gui/usage/#download","title":"Download","text":"

    Krux-installer download can download four assets for official releases or one for beta releases.

    "},{"location":"getting-started/installing/from-gui/usage/#official-releases","title":"Official releases","text":"
    • A zip file containing all firmwares for each device;

    • Download a zip.sha256.txt file containing a zip's digital fingerprint;

    • Download a zip.sig file containing a zip's digital signature;

    • Download the selfcustody.pem file containing a public key certificate, signed by odudex;

    "},{"location":"getting-started/installing/from-gui/usage/#beta-releases","title":"Beta releases","text":"
    • A kfpkg file containing the specific firmware for choosen device;
    "},{"location":"getting-started/installing/from-gui/usage/#verification","title":"Verification","text":"
    • Integrity verification compares the computed hash of zip against thei provided zip.sha256.txt;

    • Authenticity verification check if the zip file was really signed by odudex, using the zip.sig and selfcustody.pem.

    "},{"location":"getting-started/installing/from-gui/usage/#unzip","title":"Unzip","text":"

    Now you will be able to select if you do a flash process or need to do an airgap process:

    Click on Flash with to install via USB or Air-gapped update with to perform upgrades via a SD card.

    "},{"location":"getting-started/installing/from-gui/usage/#flash-with","title":"Flash with","text":"

    When flash starts, it will warn you to not disconnect the device until the process is complete. You'll be able to see the flash progress:

    \u26a0\ufe0f TIP: You must connect and turn on your device before click extract and flashing starts!.

    As well a done icon:

    \u26a0\ufe0f TIP: When the flashing process completes, you should see the Krux logo:

    If it doesn't, try turning your device off and on by holding down the power button for six seconds.

    Congrats, you're now running Krux!

    "},{"location":"getting-started/installing/from-gui/usage/#air-gapped-update-with","title":"Air-gapped update with","text":"

    Once you've installed the initial firmware on your device via USB, you can perform upgrades via SD card to keep the device airgapped.

    \u26a0\ufe0f Click on \"Air-gapped update with\"

    Once the firmware.bin and firmware.bin.sig are extracted, you'll see a warning message.

    Insert the SD card and click 'Proceed' to allow the installer to detect it.

    \u26a0\ufe0f If a single SD card is inserted, the screen will display a large button. If multiple removable drives are detected, both SD cards and other drives will be listed.

    Select the desired removable drive to copy both firmware.bin and firmware.bin.sig. The first is the Krux firmware, and the second is a signature file that verifies the firmware\u2019s integrity and authenticity.

    Now you can compare the firmware's hash computed by installer with the firmware's hash computed by the device.

    \u26a0\ufe0f Once files are copied, remove the SD card from computer, connect to device and compare the hashes

    "},{"location":"getting-started/installing/from-gui/usage/#wipe-device","title":"Wipe device","text":"

    This is two step process:

    • Warning

    • Wipe

    "},{"location":"getting-started/installing/from-gui/usage/#warning_1","title":"Warning","text":"

    Before the wipe starts, it will show to you a message:

    \u26a0\ufe0f TIP: It's useful when your device is not working or for security reasons. To use Krux again, you'll need to re-flash the firmware.

    "},{"location":"getting-started/installing/from-gui/usage/#wipe","title":"Wipe","text":"

    Once the process starts, the screen will appear frozen and a spinner will keep moving. When it's done, you can scroll down you will see a check icon.

    \u26a0\ufe0f TIP: Do not unplug or poweroff your device or computer. Wait until the process finishes.

    "},{"location":"getting-started/installing/from-gui/usage/#tips-after-install","title":"Tips after install","text":""},{"location":"getting-started/installing/from-gui/usage/#multilingual-support","title":"Multilingual support","text":"

    Prefer a different language? Krux has support for multiple languages. Once at the start screen, go to Settings, followed by Locale, and select the locale you wish to use.

    "},{"location":"getting-started/installing/from-gui/usage/#upgrade-via-microsd-card","title":"Upgrade via microSD card","text":"

    Once you've installed the initial firmware on your device via USB, you can either continue updating the device by flashing or you can perform upgrades via microSD card to keep the device airgapped.

    "},{"location":"getting-started/installing/from-gui/windows/","title":"Download assets","text":"
    • krux-installer_v0.0.20-beta.Setup.exe
    • krux-installer_v0.0.20-beta.Setup.exe.sha256.txt
    • krux-installer_v0.0.20-beta.Setup.exe.sig
    "},{"location":"getting-started/installing/from-gui/windows/#verify-the-integrity","title":"Verify the integrity","text":"

    Open your terminal and type the command below:

    (Get-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe').Hash.ToLower() -eq (Get-Content '.\\krux-installer_v0.0.20-beta.Setup.exe.sha256.txt').split(\" \")[0]\n

    The result in prompt should be True.

    Alternatively, you can check more closely in two steps:

    • Compute the binary sha256sum hash:
    # Option 1: Compute in default way\nGet-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe'\n\n# Option 2: Compute and filter the necessary information\n(Get-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe').Hash\n\n# Option 3: Compute, filter and process the Hash for lowercase letters\n(Get-FileHash '.\\krux-installer_v0.0.20-beta.Setup.exe').Hash.ToLower()\n
    • Compare with provided hash:
    # Option 1: Get content \nGet-Content '.\\krux-installer_v0.0.20-beta.Setup.exe.sha256.txt'\n\n# Option 2: Get content and filter the necessary information\n(Get-Content '.\\krux-installer_v0.0.20-beta.Setup.exe.sha256.txt').split(\" \")[0]\n
    "},{"location":"getting-started/installing/from-gui/windows/#verify-the-authenticity","title":"Verify the authenticity","text":"
    • You'll need have GPG installed;
    • We recommend installing GPG4Win.

    The first step is import the developer's key:

    gpg --keyserver hkps://keys.openpgp.org --recv-keys B4281DDDFBBD207BFA4113138974C90299326322\n

    Then, to verify yourself, run this command on your terminal:

    gpg --verify ./krux-installer_v0.0.20-beta.Setup.exe.sig\n

    \u26a0\ufe0f TIP: If the verification was successful, you may get a message similar to: Good signature from \"qlrddev <qlrddev@gmail.com>\"

    "},{"location":"getting-started/installing/from-gui/windows/#install","title":"Install","text":"

    Execute the krux-installer_v0.0.20-beta.Setup.exe. You'll be faced with a blue window saying \"Windows protected your PC\". This occurs because we don't have a code signing certificate:

    \ud83d\udee1\ufe0f TIP: If you followed the steps presented in authenticity section, you already have the assurance that the software is from a verified and genuine software publisher. This will also help establish a chain of trust when you perform the firmware verification step before flashing.

    Follow the installer's instructions to complete the installation. At the end, click on \"Create desktop icon\":

    "},{"location":"getting-started/installing/from-gui/windows/#after-install","title":"After install","text":"

    Once installed, you can proceed to firmware installation.

    "},{"location":"getting-started/templates/templates/","title":"Templates","text":""},{"location":"getting-started/templates/templates/#templates","title":"Templates","text":"

    Here we offer a few templates to transcribe QR codes, TinySeed or Binary Grid backups.

    "},{"location":"getting-started/templates/templates/#qr-code-templates","title":"QR Code Templates","text":"

    Print the templates in standard, wax or slide paper, make sure the scale is set to 1:1 in printer setup. You can manually copy compact SeedQR codes or place a proper sized template over the device screen. Protect the template backside with a transparent tape so you won't bleed ink through the paper to your device's screen. Then, using a marker, paint the QR code.

    Transcribe Templates - pdf

    Transcribe Templates - svg

    "},{"location":"getting-started/templates/templates/#tinyseed-templates","title":"TinySeed Templates","text":"

    TinySeed background of blank templates to be manually filled.

    "},{"location":"getting-started/templates/templates/#binary-grid-templates","title":"Binary Grid Templates","text":"

    Binary Grid labeled and and \"stealth\" clean templates

    Binary Grid svg source

    Binary Grid Clean svg source

    "},{"location":"getting-started/templates/templates/#edit-templates","title":"Edit Templates","text":"

    To edit the source file (.svg) it is recommended to use Inkscape and set it to use mm unit. \"Unscaled models\" from QR code templates have the 21x21 or 25x25mm size for 12 or 24 respectively, this way making them easier to edit.

    "},{"location":"getting-started/usage/generating-a-mnemonic/","title":"Generating a Mnemonic","text":"

    Krux supports creating 12 and 24-word BIP-39 mnemonic seed phrases. Since generating true entropy is challenging, especially with an embedded device, we recommend outsourcing entropy generation using dice rolls. However, it is also possible to randomly pick words (e.g., SeedPicker) or use the camera as a source of entropy to quickly create a mnemonic.

    At the start screen, after selecting New Mnemonic, you will be taken to a second menu where you can choose to create a mnemonic via the camera, words, rolls of a D6 (standard six-sided die), or a D20 (20-sided die).

    "},{"location":"getting-started/usage/generating-a-mnemonic/#camera","title":"Camera","text":"

    (Experimental!) Choose between 12, 24 words or double mnemonic, then take a random picture and Krux will generate a mnemonic from the hash of the image bytes.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#image-entropy-quality-estimation","title":"Image Entropy Quality Estimation","text":"

    During image capture, entropy quality estimation is displayed to assist you in obtaining a high-quality image source for your key. After a snapshot is taken, Shannon's entropy and pixel deviation indices are presented. Minimum thresholds are established to prevent the use of poor-quality images with low entropy for key generation. It's important to note that these values serve as indicators or estimations of entropy quality, but they are not absolute entropy values in a cryptographic context.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#double-mnemonic","title":"Double mnemonic","text":"

    It is the combination of two 12-word mnemonics that also forms a valid 24-word BIP-39 mnemonic. This is achieved by using the first 16 bytes (128 bits) of the image's entropy to generate the first 12-word, then using the next 16 bytes to generate the second 12-word and checking if these two 12-word together forms a valid 24-word, if not, we iterate over the second 12-word incrementing its entropy bytes until the two 12-word forms a valid 24-word.

    Some might say that the name double mnemonic is incorrect because we end up with two 12-word plus a 24-word mnemonic (12 + 12 + 24), so it's a triple mnemonic! But we only use entropy for the two 12-word ones, hence the name double mnemonic. Also, this name has already been used in this double mnemonic generator since July 2023.

    Some may wonder what is the use of this, it may be useful to some plausible deniability or even a way to improve your OPSEC.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#words","title":"Words","text":"

    Print the BIP39 word list in 3D or on paper, then cut out the words and place them in a bucket. Manually draw 11 or 23 words from the bucket. For the final word, Krux will assist you in picking a valid 12th or 24th word by adjusting its smart keypad to only allow typing words with a valid checksum. Alternatively, you can leave it empty, and Krux will select a final, valid checksum word for you.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#dice-rolls","title":"Dice Rolls","text":""},{"location":"getting-started/usage/generating-a-mnemonic/#via-d6","title":"Via D6","text":"

    Choose between 12 or 24 words. The entropy in a single roll of a D6 is 2.585 bits ( log2(6) ); therefore a minimum of a 50 rolls will be required for 128 bits of entropy, enough to generate a 12-word mnemonic. For 24-word, or an entropy of 256 bits, a minimum of 99 rolls will be required.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#via-d20","title":"Via D20","text":"

    Since a D20 has more possible outcomes, the entropy is increased per roll to 4.322 bits ( log2(20) ). This means that only 30 rolls are necessary to create a 12-word mnemonic and 60 rolls for a 24-word mnemonic.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#dice-rolls-entropy-quality-estimation","title":"Dice Rolls Entropy Quality Estimation","text":"

    When you input your dice rolls, you'll see two progress bars filling up. The top progress bar shows how many rolls you've entered compared to the minimum number needed. The bottom progress bar shows the real-time calculated Shannon's entropy compared to the required minimum (128 bits for 12 words and 256 bits for 24 words). When the Shannon's entropy estimation reaches the recommended level, the progress bar will be full, and its frame will change color. If you've met the minimum number of rolls but the entropy estimation is still below the recommended level, a warning will appear, suggesting you add more rolls to increase entropy. Note: Similar to image entropy quality estimation, dice rolls Shannon's entropy serves as an indicator and should not be considered an absolute measure of cryptographic entropy.

    Learn more about Krux Entropy Quality Estimation.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#stats-for-nerds","title":"Stats for Nerds","text":"

    A low Shannon's entropy value could suggest that your dice are biased or that there's a problem with how you're gathering entropy. To investigate further, examine the \"Stats for Nerds\" section to check the distribution of your rolls and look for any abnormalities.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#editing-a-new-mnemonic-optional","title":"Editing a New Mnemonic - Optional","text":"

    After entering dice rolls, random words, or captured entropy through the camera, you can manually add custom entropy by editing some of the words. Edited words will be highlighted, and the final word will automatically update to ensure a valid checksum. However, proceed with caution, modifying words can negatively impact the natural entropy previously captured.

    "},{"location":"getting-started/usage/generating-a-mnemonic/#how-entropy-capture-works","title":"How Entropy Capture Works","text":"

    For dice rolls, Krux keeps track of every roll you enter and displays the cumulative string of outcomes after each roll.

    When you have entered your final roll, Krux will hash this string using SHA256 and output the resulting hash to the screen so that you can verify it for yourself.

    In case a camera snapshot is used as a source, the image bytes, which contain pixels data in RGB565 format, will be hashed in the same way as the dice rolls.

    Krux then takes this hash, runs unhexlify on it to encode it as bytes, and deterministically converts it into a mnemonic according to the BIP-39 Reference Implementation.

    Note: For 12-word mnemonics, only the first half of the SHA256 hash is used (128 bits), while 24-word mnemonics use the full hash (256 bits).

    "},{"location":"getting-started/usage/generating-a-mnemonic/#how-to-verify","title":"How to Verify","text":"

    Don't trust, verify. We encourage you not to trust any claim you cannot verify yourself. Therefore, there are wallets that use compatible algorithms to calculate the entropy derived from dice rolls. You can use the SeedSigner or Coldcard hardware wallets, or even the Bitcoiner Guide website, they share the same logic that Krux uses and will give the same mnemonic for the dice roll method.

    "},{"location":"getting-started/usage/loading-a-mnemonic/","title":"Loading a Mnemonic","text":"

    Once you have either a 12 or 24-word BIP-39 mnemonic, choose Load Mnemonic on Krux's start menu (aka login menu), and you will be presented with several input methods:

    "},{"location":"getting-started/usage/loading-a-mnemonic/#input-methods","title":"Input Methods","text":""},{"location":"getting-started/usage/loading-a-mnemonic/#via-camera","title":"Via Camera","text":"

    You can choose to use the camera to scan a QR code, Tiny Seed, OneKey KeyTag or a Binary Grid.

    If you are in a dark environment, you can hold down the ENTER button of the M5StickV or Maix Amigo to turn on their LED light to potentially increase visibility. Some cameras (OV7740, OV2640 and GC2145) have an anti-glare mode to better capture images from high brightness screens or with incident light, they are present on M5StickV, Amigo, Cube and Yahboom. To enable/disable the anti-glare mode on a supported device just press the PAGE button while scanning.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#qr-code","title":"QR Code","text":"

    It's unpleasant having to manually enter 12 or 24 words every time you want to use Krux. To remedy this you can instead use the device's camera to read a QR code containing the words. Krux will decode QR codes of four types:

    • Plain text QR: The mnemonic words encoded as text, with words separated by spaces.
    • SeedQR: Basically, it is the mnemonic words of the respective BIP-39 numbers concatenated, encoded as text.
    • Compact SeedQR: Basically, it is the mnemonic words bits concatenated as bytes.
    • Encrypted Mnemonic: A specification created by Krux that encrypts the mnemonic words bits and adds some information about the encryption used.

    After opening a wallet via one of the methods available you can use Krux to backup the mnemonic as QR code, transcribe them to paper or metal using the transcription helpers or attach a thermal printer to your Krux and print out the mnemonic as QR. Check out the printing section for more information. You can also use an offline QR code generator for this (ideally on an airgapped device).

    "},{"location":"getting-started/usage/loading-a-mnemonic/#tiny-seed-onekey-keytag-or-binary-grid","title":"Tiny Seed, OneKey KeyTag or Binary Grid","text":"

    Tiny Seed, Onekey KeyTag and others directly encode a seed as binary, allowing for a very compact mnemonic storage. Krux devices have machine vision capabilities that allow users to scan these metal plates and instantly load mnemonics engraved on them (this feature is not available in Krux Android app).

    To properly scan, place the backup plate over a black background and paint the punched bits black to increase contrast. You can also scan the thermally printed version, or a filled template. You can find some examples of mnemonics encoded here. Alternatively, you can find templates to scan or print here.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#via-manual-input","title":"Via Manual Input","text":"

    Manually type Words, Word Numbers, Tiny Seed (toggle the bits or punches) or Stackbit 1248.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#words","title":"Words","text":"

    Enter each word of your BIP-39 mnemonic one at a time. Krux will disable impossible-to-reach letters as you type and will attempt to autocomplete your words to speed up the process.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#word-numbers","title":"Word Numbers","text":""},{"location":"getting-started/usage/loading-a-mnemonic/#decimal","title":"Decimal","text":"

    Enter each word of your BIP-39 mnemonic as a number (1-2048) one at a time. You can use this list for reference.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#hexadecimal-and-octal","title":"Hexadecimal and Octal","text":"

    You can also enter your BIP-39 mnemonic word's numbers (1-2048) in hexadecimal format, with values ranging from 0x1 to 0x800, or in octal format, with values ranging from 01 to 04000. This is useful with some metal plate backups that uses those formats.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#tiny-seed-bits","title":"Tiny Seed (Bits)","text":"

    Enter the BIP-39 mnemonic word's numbers (1-2048) in binary format, toggling necessary bits to recreate each of the word's respective number. The last word will have checksum bits dynamically toggled while you fill the bits.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#stackbit-1248","title":"Stackbit 1248","text":"

    Enter the BIP-39 mnemonic word's numbers (1-2048) using the Stackbit 1248 metal plate backup method, where each of the four digits of the word's number is a sum of the numbers marked (punched) 1, 2, 4, or 8. For example, to enter the word \"oyster\", number 1268, you must punch (1)(2)(2,4)(8).

    "},{"location":"getting-started/usage/loading-a-mnemonic/#from-storage","title":"From Storage","text":"

    You can retrieve mnemonics previously stored on device's internal flash or external (SD card). All stored mnemonics are encrypted, to load them you'll have to enter the same key you used to encrypt them.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#wallet-loading","title":"Wallet Loading","text":""},{"location":"getting-started/usage/loading-a-mnemonic/#confirm-mnemonic-words","title":"Confirm Mnemonic Words","text":"

    Once you have entered your mnemonic, you will be presented with the full list of words to confirm.

    If you see an asterisk (*) in the header, it means this is a double mnemonic.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#edit-mnemonic-optional","title":"Edit Mnemonic - Optional","text":"

    If you make a mistake while loading a mnemonic, you can easily edit it. Simply touch or navigate to the word you want to change and replace it. Edited words will be highlighted in a different color. If the final word contains an invalid checksum, it will appear in red. If your checksum word is red, please review your mnemonic carefully, as there may be an error.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#confirm-wallet-attributes","title":"Confirm Wallet Attributes","text":"

    You will be presented with a screen containing wallet attributes, if they are as expected just press Load Wallet and you'll be ready to use your loaded key.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#fingerprint","title":"Fingerprint","text":"
    • 73c5da0a: The BIP-32 master wallet's fingerprint, if you have it noted down, will help you make sure you entered the correct mnemonic and passphrase (optional) and will load the expected wallet.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#network","title":"Network","text":"
    • Mainnet: Check if you are loading a Testnet or Mainnet wallet.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#single-multisig","title":"Single / Multisig","text":"
    • Single-sig: Check if you are loading a Single-sig or Multisig wallet.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#derivation-path","title":"Derivation Path","text":"
    • m/84'/0'/0': The derivation path is a sequence of numbers, or \"nodes\", that define the script type, network, and account index of your wallet.
      • Script Type 84': The first number defines the script type. The default is 84', corresponding to a Native Segwit wallet. Other values include:
        • 44' for Legacy
        • 49' for Nested Segwit
        • 86' for Taproot
        • 48' for Multisig
      • Network 0': The second number defines the network:
        • 0' for Mainnet
        • 1' for Testnet
      • Account Index 0': The third number is the account index, with 0' being the default.
      • Additional: For multisig wallets, a fourth node with the value 2' is added to the derivation path.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#passphrase","title":"Passphrase","text":"
    • No Passphrase: Informs if the wallet has a loaded passphrase.
    "},{"location":"getting-started/usage/loading-a-mnemonic/#customize","title":"Customize","text":"

    You can change any of the attributes before and after loading a wallet. It is also possible to change default settings for Network and Single/Multisig on settings.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#passphrase_1","title":"Passphrase","text":"

    You can type or scan a BIP-39 passphrase. When typing, swipe left or right to change keypads if your device has a touchscreen. You can also hold the button PAGE or PAGE_PREV when navigating among letters while typing text to fast forward or backward. For scanning, you can also create a QR code from your offline passphrase using the create QR code tool.

    "},{"location":"getting-started/usage/loading-a-mnemonic/#customize_1","title":"Customize","text":"

    Press Customize to open a menu where you can change the Network, Single/Multisig, Script Type and Account.

    Now, onto the main menu...

    "},{"location":"getting-started/usage/navigating-the-main-menu/","title":"Navigating the Main Menu","text":"

    After entering your mnemonic, and loading a wallet, you will find yourself on Krux's main menu. Below is a breakdown of the entries available:

    "},{"location":"getting-started/usage/navigating-the-main-menu/#backup-mnemonic","title":"Backup Mnemonic","text":"

    This will open a new submenu with different types of backups. QR Code based, Encrypted and Other Formats

    If you set a printer, it will also give the option to print them!

    "},{"location":"getting-started/usage/navigating-the-main-menu/#qr-code","title":"QR Code","text":"
    • Plaintext QR

    Generate a QR containing the mnemonic words as regular text, where words are separated by spaces. Any QR code can be printed if a thermal printer driver is set.

    • Compact SeedQR

    A QR code is created from a binary representation of mnemonic words. Format created by SeedSigner, more info here.

    • SeedQR

    Words are converted to their BIP-39 numeric indexes, those numbers are then concatenated as a string and finally converted to a QR code. Format created by SeedSigner, more info here.

    • Encrypted QR Code

    This option converts the encrypted mnemonic into a QR code. Enter an encryption key and, optionally, a custom ID. When you scan this QR code through \"Load Mnemonic\" -> \"Via Camera\" -> \"QR Code,\" you will be prompted to enter the decryption key to load the mnemonic stored in it. Like any QR code, it can be printed if a thermal printer driver is set up.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#encrypted","title":"Encrypted","text":"

    This feature allows you to back up your mnemonic by encrypting it and storing it on the device's flash memory, an SD card, or in QR code format. You can customize the encryption method and parameters in the settings.

    For convenience, you may choose to store the encrypted mnemonic on flash memory or an SD card, but it is advisable not to rely solely on these methods for backup. Flash storage can degrade over time and may be subject to permanent damage, resulting in the loss of stored information.

    When using any of the encryption methods, you will be prompted to enter an encryption key. This key can be provided in text or QR code format. Additionally, you have the option to set a custom ID for easier management of your mnemonics. If a custom key is not specified, the device's current loaded wallet fingerprint will be used as the ID.

    See this page to find out more about: Krux Mnemonics Encryption.

    • Store on Flash

    This option stores the encrypted mnemonic in the device's flash memory. You can decrypt and load it later through the \"Load Mnemonic\" -> \"From Storage\" option.

    • Store on SD Card

    If an SD card is available, this option stores the encrypted mnemonic on it. You can decrypt and load it later through the \"Load Mnemonic\" -> \"From Storage\" option.

    • Encrypted QR Code It's another path for the same functionality present on QR Code backups, described above.
    "},{"location":"getting-started/usage/navigating-the-main-menu/#other-formats","title":"Other Formats","text":"
    • Words

    Display the BIP-39 mnemonic words as text so you can write them down.

    • Numbers

    Display the BIP-39 mnemonic word numbers (1-2048) in decimal, hex, or octal format.

    • Stackbit 1248

    This metal backup format represents the BIP-39 mnemonic word's numbers (1-2048). Each of the four digits is converted to a sum of 1, 2, 4 or 8. This option does not print even if a printer driver is set.

    • Tiny Seed

    This metal backup format represents the BIP-39 mnemonic word's numbers (1-2048) in binary format on a metal plate, where the 1's are marked (punched) and the 0's are left intact. You can also print your mnemonic in this format if a thermal printer driver is set.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#extended-public-key","title":"Extended Public Key","text":"

    A menu will be presented with options to display your master extended public key (xpub) as text and as a QR code. Depending on the script type or whether a single-sig or multisig wallet was loaded, the options shown will be xpub, ypub, zpub, or Zpub. When displayed as text, the extended public key can be stored on an SD card if available. If you choose to export a QR code, you can not only scan it but also save it as an image on an SD card or print it if a thermal printer is attached.

    All QR codes will contain key origin information in key expressions. If your coordinator cannot parse this information, it will not be capable of importing the wallet's fingerprint. As a result, Krux will not perform important verifications when signing transactions created by it unless you manually add the fingerprint so that it can be used to create Krux-compatible PSBTs.

    Always prefer to import extended public keys directly from Krux when setting up a coordinator instead of copying it (or parts of it) from other sources.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#wallet","title":"Wallet","text":"

    Here you can load view and save wallet descriptors, add or change passphrases, customize wallet's attributes, derive BIP85 mnemonics and passwords.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#wallet-descriptor","title":"Wallet Descriptor","text":"

    A Bitcoin Wallet Output Script Descriptor defines a set of addresses in a wallet. It includes the following information: - Script Type: Specifies the type of script (e.g., P2PKH, P2SH, P2WPKH). - Origin Info: Defines the master fingerprint and derivation path used to derive keys. - Extended Public Keys: usually represented as an xpub, but could be ypub, zpub, etc.

    Output descriptors standardize how wallets generate addresses, ensuring compatibility and security. They help wallets and other software understand how to derive and verify the addresses used in transactions.

    For multisig wallets, it is essential to load a descriptor to check addresses and perform full PSBT verification. For single-sig wallets, loading a descriptor is optional and serves as a redundancy check of the coordinator's wallet attributes.

    When you select the \"Wallet Descriptor\" option for the first time, you will be prompted to load a wallet descriptor via QR code or SD card. After loading, a preview of the wallet attributes will be displayed for confirmation.

    If you access the \"Wallet Descriptor\" option again after loading your wallet, you will see the wallet's name, fingerprints, and the abbreviated XPUBs of all cosigners, along with a QR code containing the exact data that was initially loaded. If an SD card is inserted, you can save the descriptor to it for later use without the assistance of a coordinator. Additionally, if you have a thermal printer attached, you can print this QR code.

    Krux also allows you to verify a descriptor's receive and change addresses without the need to load private keys. Simply turn on your Krux, access \"Tools\" -> \"Descriptor Addresses,\" and load a trusted descriptor from a QR code or SD card.

    Please note that if you customize the wallet parameters or restart the device, the descriptor will be unloaded, and you may need to load it again to check addresses.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#passphrase","title":"Passphrase","text":"

    If you forgot to load a passphrase while loading your wallet, or if you use multiple passphrases with the same mnemonic, you can add, replace, or remove a passphrase here. Simply choose between typing or scanning it.

    To remove a passphrase, select \"Type BIP39 Passphrase,\" leave the field blank, and press \"Go.\"

    Don't forget to verify the resulting fingerprint in the status bar to ensure you've loaded the correct key.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#customize","title":"Customize","text":"

    Here you are presented to the exact same customization options you have while loading a key and wallet. You can change the Network, Single/Multisig, Script Type and Account. More about wallet attributes

    "},{"location":"getting-started/usage/navigating-the-main-menu/#bip85","title":"BIP85","text":"

    Bitcoin BIP85, also known as Deterministic Entropy From BIP32 Keychains, allows for the generation of deterministic entropy using a BIP32 master key. This entropy can then be used to create various cryptographic keys and mnemonics (e.g., BIP39 seed phrases). BIP85 ensures that all derived keys and mnemonics are deterministic and reproducible, meaning they can be recreated from the same master key. This feature is useful for securely managing multiple child keys from a single master key without the need to store each one separately.

    BIP39 Mnemonic

    Choose between 12 or 24 words, then type the desired index to export a child mnemonic. After being presented with the new mnemonic, you can choose to load and use it right away.

    Please note that any passphrase from the parent mnemonic will be removed when loading a BIP85 child mnemonic.

    Base64 Password

    To create a Base64 password, which can be used in a variety of logins, from email to social media accounts, choose an index and then a length of at least 20 characters.

    The resulting password will be displayed on the screen and can also be exported to an SD Card or as a QR code.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#address","title":"Address","text":"

    Scan, verify, export or print your wallet addresses.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#scan-address","title":"Scan Address","text":"

    This option turns on the camera and allows you to scan in a QR code of a receive address. Upon scanning, it will render its own QR code of the address back to the display along with the (text) address below it. You could use this feature to scan the address of someone you want to send coins to and display the QR back to your wallet coordinator rather than copy-pasting an address. If you have a thermal printer attached, you can also print this QR code.

    After proceeding through this screen, you will be asked if you want to check that the address belongs to your wallet. If you confirm, it will exhaustively search through as many addresses derived from your wallet as you want in order to find a match.

    This option exists as an extra security check to verify that the address your wallet coordinator has generated is authentic and belongs to your wallet.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#receive-addresses","title":"Receive Addresses","text":"

    List your wallet receiving addresses, you can browse to select an arbitrary address to show your QR code and print if you want.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#change-addresses","title":"Change Addresses","text":"

    List your wallet change addresses, you can browse to select an arbitrary address to show your QR code and print if you want.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#sign","title":"Sign","text":"

    Under Sign, you can choose to sign a PSBT or a message. You can load both PSBTs and messages scanning QR codes or loading from files on a SD card.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#psbt","title":"PSBT","text":"

    To sign a Bitcoin PSBT, you have the following options:

    • Scan an Animated QR Code: Turn on the camera and scan an animated QR code of a PSBT generated by your wallet coordinator software. If you have any issues, see Troubleshooting.
    • Load from SD Card: Load an unsigned PSBT file from your SD card.

    Upon loading the PSBT, you will be presented with a preview showing the amount of BTC being sent, the recipient's address, and the transaction fee. Amounts are displayed according to your locale and the International Bureau of Weights and Measures, while still adhering to the concept of the Satcomma standard format.

    If you choose to proceed and sign the transaction, the signed PSBT can be exported in two ways:

    • As an animated QR code, which can be scanned back into your coordinator wallet.
    • As a signed PSBT file, which can be saved to your SD card and then loaded back into your coordinator wallet for broadcasting.

    If a thermal printer is attached to your device, you can also print the PSBT QR codes for record-keeping or further processing.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#message","title":"Message","text":"

    Similar to PSBTs, Krux can load, sign, and export signatures for messages. This feature allows you to attest not only to the ownership of the messages themselves but also to the ownership of Bitcoin addresses and the authorship of documents and files.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#standard-messages-and-files","title":"Standard Messages and Files","text":"

    You can scan or load a file from an SD card, the content can be plaintext or the SHA-256 hash of a message. Upon loading, you will be shown a preview of the message's SHA-256 hash for confirmation before signing.

    If you confirm, a signature will be generated, and you will see a base64-encoded version of it. You can then choose to export it as a QR code or save it to an SD card. If a thermal printer is attached, you can also print the QR code.

    Following this, you will see and be allowed to export your raw (master) public key in hexadecimal form, which can be used by others to verify your signature. If a thermal printer is attached, you can also print this QR code.

    This feature is used to sign Krux releases, airgapped, using a Krux device.

    "},{"location":"getting-started/usage/navigating-the-main-menu/#messages-at-address","title":"Messages at Address","text":"

    Coordinators like Sparrow and Specter offer the possibility to sign messages at a Bitcoin receive address, allowing you to attest ownership of that address. Krux will detect if the message is of this type and present a similar workflow for signing. The main difference is that the address will be displayed along with the raw message, and since the message is signed with a derived address instead of the master public key, Krux won't offer the option to export the raw public key after the signature.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/","title":"Setting a Coordinator and Signing","text":"

    After creating a mnemonic, making a safe backup, and testing to recover your mnemonic, it's time to set up a coordinator.

    Krux can work with multiple coordinator wallets. Popular options include:

    • Sparrow Wallet (desktop)

    • Specter Desktop (desktop)

    • Nunchuk (mobile)

    • BlueWallet (mobile)

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-1-install-the-coordinator-wallet","title":"Step 1: Install the Coordinator Wallet","text":"

    Download and install the appropriate version of your chosen coordinator wallet for your device and operating system.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-2-create-a-new-wallet-with-krux-as-a-signer","title":"Step 2: Create a New Wallet with Krux as a Signer","text":"

    Depending on the coordinator, the steps to add Krux as a signer may vary slightly:

    Specter and Nunchuk Single-sig: Add Krux as signer device, then create a wallet that uses it.

    Specter and Nunchuk Multisig: Add Krux as signer device, add other devices, then create a wallet that uses them.

    Sparrow and BlueWallet: Create a wallet (or vault in Blue Wallet) first, then add signer device(s).

    1. Load a mnemonic and wallet in Krux.

    1. On your coordinator, when presented with possible signer devices to add, choose Krux if available, otherwise choose \"other\" or even another QR code compatible signer. As Krux is compatible with many QR code formats, most of available alternatives should work.

    2. When prompted by your coordinator to import signer's public key, access the \"Extended Public Key\" on Krux.

    1. Export an XPUB (or YPUB, ZPUB, etc., based on the script type) as a QR code.

    1. Scan this QR code with your coordinator.

    2. Ensure the coordinator\u2019s wallet attributes (policy type, script type, fingerprint, and derivation) match those in Krux.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-3-load-and-backup-wallet-descriptor-multisig-only","title":"Step 3: Load and Backup Wallet Descriptor (Multisig Only)","text":"
    1. In your coordinator, export the wallet descriptor containing information about the wallet and all cosigners:
      • Sparrow: \"Descriptor\"
      • Specter: \"Export Wallet\"
      • Nunchuk: \"Export Wallet Configuration\"
      • BlueWallet: \"Export Coordination Setup\"
    2. Export the descriptor as a QR code or file.
    3. On Krux, go to \"Wallet\" -> \"Wallet Descriptor\" to scan the descriptor QR code or load it via SD card.
    1. If you access \"Wallet\" -> \"Wallet Descriptor\" again, you will be able to:

      • Check the wallet cosigners.
      • Save the descriptor on an SD card (useful if you initially loaded it from QR codes).

      It is crucial to have a backup of this descriptor to recover your wallet in case one of the cosigners is lost.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-4-verify-addresses","title":"Step 4: Verify Addresses","text":"

    For single-sig or multisig (after loading a descriptor):

    • Go to \"Address\" on Krux.

    • List \"Receive Addresses\" and \"Change Addresses\" or use \"Scan Address\" to verify if addresses from your coordinator are matched by Krux.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-5-funding-your-wallet","title":"Step 5: Funding your Wallet","text":"

    Once addresses are verified, send a small test amount to your wallet. Test signing and sending a transaction before adding more funds.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#step-6-sign-psbts-and-messages","title":"Step 6: Sign PSBTs and Messages","text":""},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#psbts","title":"PSBTs","text":"
    1. Create a transaction in your coordinator.

    2. Export the transaction as a QR code.

    3. On Krux, go to \"Sign\" -> \"PSBT\" -> \"Load from camera\".

    4. Scan the animated QR code.

    5. Verify the transaction details.

    6. If correct, press \"Sign to QR code\".

    7. Scan the signed transaction QR code back into the coordinator to broadcast it.

    Alternatively, you can use an SD card:

    Save the transaction as a file on an SD card. On Krux, go to \"Sign\" -> \"PSBT\" -> \"Load from SD card\" and \"Sign to SD card\". Load the signed transaction on the coordinator and broadcast it.

    "},{"location":"getting-started/usage/setting-a-coordinator-and-signing/#messages","title":"Messages","text":"

    Some coordinators, like Sparrow, allow you to sign messages linked to your wallet's addresses. Signing and verifying a message signature attests to the ownership of an address and serves as an additional test for your setup.

    "},{"location":"getting-started/usage/video-tutorials/","title":"Video Tutorials","text":""},{"location":"getting-started/usage/video-tutorials/#krux-video-tutorials","title":"Krux Video Tutorials","text":"

    Most people prefer to learn by watching videos, and we are fortunate to have excellent content creators in the Bitcoin space, here are some examples of Krux related content and tutorials.

    "},{"location":"getting-started/usage/video-tutorials/#english","title":"English","text":""},{"location":"getting-started/usage/video-tutorials/#krux-on-m5stickv-sparrow","title":"Krux on M5StickV + Sparrow","text":"

    Krux on M5StickV + Sparrow Wallet by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#krux-on-maix-amigo-blue","title":"Krux on Maix Amigo + Blue","text":"

    Krux on Maix Amigo + Blue Wallet by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#diy-only-multisig","title":"DIY-Only MultiSig","text":"

    DIY-Only Multivendor Hardware Wallet MultiSig: SeedSigner, Jade, Krux, Satochip + Sparrow & Electrum by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#build-from-source-verify","title":"Build From Source & Verify","text":"

    Krux DIY Bitcoin Signer: Build From Source & Verify (With Windows + WSL2 + Docker) by Crypto Guide

    "},{"location":"getting-started/usage/video-tutorials/#portuguese","title":"Portuguese","text":""},{"location":"getting-started/usage/video-tutorials/#krux-facil-de-instalar","title":"Krux f\u00e1cil de instalar","text":"

    Hardwallet Krux f\u00e1cil de instalar + QRs criptografados - por Bitdov

    "},{"location":"getting-started/usage/video-tutorials/#multisig-com-krux","title":"Multisig com Krux","text":"

    Multisig com Krux e Nunchuk no celular - por Bitdov

    "},{"location":"getting-started/usage/video-tutorials/#krux-com-impressora-termica","title":"Krux com impressora t\u00e9rmica","text":"

    Usando a Krux com impressora t\u00e9rmica - por Bitdov

    "},{"location":"getting-started/usage/video-tutorials/#krux-no-celular","title":"Krux no celular","text":"

    Carteira Bitcoin com celular OFFLINE - Krux mobile APK - por Dig

    "},{"location":"getting-started/usage/video-tutorials/#krux-no-celular-ii","title":"Krux no celular II","text":"

    Como utilizar a carteira Krux no celular - por Jo\u00e3o Trein

    "},{"location":"getting-started/usage/video-tutorials/#faca-sua-krux","title":"Fa\u00e7a sua Krux","text":"

    Fa\u00e7a sua hardware wallet em casa com a KRUX! - por Caiovski

    "},{"location":"getting-started/usage/video-tutorials/#korean","title":"Korean","text":"

    Krux \uc6d4\ub81b \uc124\uce58 \ubc0f \uac80\uc99d \ubc29\ubc95

    \uc548\uc0ac\uba74 \uc190\ud574? \uc138\uc0c1\uc5d0\uc11c \uac00\uc7a5 \ud22c\uba85\ud55c \ube44\ud2b8\ucf54\uc778 \uc804\uc6a9 \uc9c0\uac11

    "},{"location":"snippets/after-install-installer/","title":"After install installer","text":"

    Once installed, you can proceed to firmware installation.

    "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index e77e6933..600f22a0 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,205 +2,217 @@ https://selfcustody.github.io/krux/faq/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/parts/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/support/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/troubleshooting/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/uncommon-questions/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/navigation/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/settings/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/features/QR-transcript-tools/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/features/encrypted-mnemonics/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/features/entropy/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/features/printing/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/features/sd-card-update/ - 2024-10-29 + 2024-11-12 daily + + https://selfcustody.github.io/krux/getting-started/features/tamper-detection/ + 2024-11-12 + daily + + https://selfcustody.github.io/krux/getting-started/features/tinyseed/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/features/tools/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-pre-built-release/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-source/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-test-release/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/debian-like/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/fedora-like/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/macos-arm64/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/macos-intel/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/other-linux-distro/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/usage/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/installing/from-gui/windows/ - 2024-10-29 + 2024-11-12 daily + + https://selfcustody.github.io/krux/getting-started/templates/templates/ + 2024-11-12 + daily + + https://selfcustody.github.io/krux/getting-started/usage/generating-a-mnemonic/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/usage/loading-a-mnemonic/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/usage/navigating-the-main-menu/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/usage/setting-a-coordinator-and-signing/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/getting-started/usage/video-tutorials/ - 2024-10-29 + 2024-11-12 daily https://selfcustody.github.io/krux/snippets/after-install-installer/ - 2024-10-29 + 2024-11-12 daily diff --git a/sitemap.xml.gz b/sitemap.xml.gz index c6de0fbfb312db718c844e92545fc62edd5f3d15..d69caa23870a6b099ca11b7fc90d995d86ae3330 100644 GIT binary patch literal 785 zcmV+s1Md7EiwFpSnlfhs|8r?{Wo=<_E_iKh0Nt9+a@!yffbV$Y8JdkpiyjW@V;n>+#To3<#LRQpcM|s*4G@%CKizID*5$zT6BHx zRt>fKP0!_*ZJ)_>I_2BF#r$d%m(8)dt!+u$a=z(>u^WP}%7A3$dR!}N!eXo}fAnF+ zEAhlSa~UEOP|vJs|+%EQxK3Z>UGeo*t;Y#ZX8R_1Z! zA(9A9;Ef&Q1F2K$4^FH7%aVV#K>BmyuABLS=o7@{@tNurSOskCnHKW29L1% z_ei33;F$!1GKWOweXs#sDzipNKVSYEXaILvTwLJ7mPddzMJ9^(z_wE}6q z$kyv2-k@GHbUCQMR+JW*@a@;z99j!P zK{=@9fTGUwKGlH@>T;=!v`fs<<{qs#p9HPbkpd6468CrtsW*S!aIe9D7uy};<*P^P z9zR0s*{8Nb<|y+7SI;K*U)1A{c*kR{P=>W&LLNTfrR&-1?%R7jkEOLfo>D>9Ghrk{ zRhtZ6j(irgXV1?{f@KuqVUfiwFpSB_L-4|8r?{Wo=<_E_iKh0Nt9+a@!yffbV?@kM0;J&2;LF-=@@lD7YPKT{XU^Ze~bG~t0zz3P+4*qK2wYXn?T6m`sXc8J5yek@_?w0fQdObx&(25SH*3}%#CKQnGEBS0XFNQw1 zn}%Bbs^|LiuFutcKIgl=#q!f6Ed8;DtzAjma@qI7&<#OXrAM-IJFOKpel=B=KRCbP zm3ZU}-Zwt#Dv(+$m)EoF8+J8g*YnU~U-#0gY=o(ya`3p6Lh0>-AJx1x+l6?mm3f#r z2qZ!iI3oy(N#mf>q8A2cC=H+=2)W>UX#Pz7Z~Td|UyQpGjxaU)A?S-aK;L!NQEC(2c(eble=Kf5M0bo4b6zk+nK`dvCJEHyZBb z-L?x=tThnQrz-O?dX8-jqhXfrwi#I*c;cJuoH8limAwxX-yKR;3MZNGWI)Nr;0acI zkD+#pkp4a1pFktH%W6K3JOe8ewzTfEL*;DCItOg!l_nOzKw$FM@cV$Hxkc+;nVrx* z)o2zeJXhyBIA5`iVKg6qqm94XD=uNBgkf4eWH$s)@kaGpfwWF!>-89KRIeGj9MxYd zN{dXm_RCFEoY?IU&u^Mj_xToDWS`m!nWM}zT#-#4zG8+QA!D;vD8pJX zJ`bONrHgEJ|GhJu$I@CCPN^X4m@tx|s!awD_aDWK?DN+6gq6(3-{d{;>gG=t$ulIOP% +
    + + + + Tamper Detection + + + + +
  • + + + + @@ -1207,6 +1232,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/support/index.html b/support/index.html index 63fdcdc3..55f09e17 100644 --- a/support/index.html +++ b/support/index.html @@ -399,6 +399,8 @@ + + @@ -998,6 +1000,8 @@ + + @@ -1183,6 +1187,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1218,6 +1243,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • @@ -1412,6 +1458,39 @@ +
  • + + + + +

  • + +
  • + + + Krux Ethos + + + + @@ -1218,6 +1243,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +
  • diff --git a/uncommon-questions/index.html b/uncommon-questions/index.html index d496f537..3918bc31 100644 --- a/uncommon-questions/index.html +++ b/uncommon-questions/index.html @@ -399,6 +399,8 @@ + + @@ -998,6 +1000,8 @@ + + @@ -1183,6 +1187,27 @@ + + + + + + +
  • + + + + + Tamper Detection + + + + +
  • + + + + @@ -1218,6 +1243,27 @@ +
  • + + + + + Templates + + + + +
  • + + + + + + + + + +