From bec685d573e03f42c8cc10ece718adbb48bd725b Mon Sep 17 00:00:00 2001 From: Kevin Thomas Date: Tue, 13 Oct 2026 12:37:20 -0400 Subject: [PATCH] Add 0x0026a custom AES-128-CMAC secure bootloader, Week 11a notebook, and README links --- 0x0026a_custom-bootloader/.gitignore | 2 + 0x0026a_custom-bootloader/0x0026a_app.bin | Bin 0 -> 21656 bytes .../0x0026a_bootloader.bin | Bin 0 -> 27772 bytes .../0x0026a_bootloader.uf2 | Bin 0 -> 56320 bytes 0x0026a_custom-bootloader/CMakeLists.txt | 89 + 0x0026a_custom-bootloader/README.md | 60 + 0x0026a_custom-bootloader/WEEK11a.md | 1662 +++++++++++++++++ 0x0026a_custom-bootloader/WEEK11a.pdf | Bin 0 -> 1125364 bytes 0x0026a_custom-bootloader/app/include/ir.h | 63 + 0x0026a_custom-bootloader/app/include/led.h | 63 + .../app/include/secret.h | 29 + 0x0026a_custom-bootloader/app/memmap_app.ld | 305 +++ 0x0026a_custom-bootloader/app/src/app_main.c | 54 + 0x0026a_custom-bootloader/app/src/ir.c | 131 ++ 0x0026a_custom-bootloader/app/src/led.c | 103 + 0x0026a_custom-bootloader/app/src/secret.c | 88 + .../bootloader/include/aes_cmac.h | 40 + .../bootloader/include/boot.h | 45 + .../bootloader/include/flash_layout.h | 31 + .../bootloader/include/image.h | 23 + .../bootloader/include/manifest.h | 51 + .../bootloader/include/verify.h | 32 + .../bootloader/src/aes_cmac.c | 29 + .../bootloader/src/boot.c | 33 + .../bootloader/src/image.c | 33 + .../bootloader/src/main.c | 34 + .../bootloader/src/manifest.c | 23 + .../bootloader/src/verify.c | 28 + .../common/include/mbedtls_config.h | 25 + 0x0026a_custom-bootloader/manifest.bin | Bin 0 -> 4096 bytes .../pico_sdk_import.cmake | 121 ++ .../tools/sign_firmware.py | 242 +++ README.md | 12 + 33 files changed, 3451 insertions(+) create mode 100644 0x0026a_custom-bootloader/.gitignore create mode 100755 0x0026a_custom-bootloader/0x0026a_app.bin create mode 100755 0x0026a_custom-bootloader/0x0026a_bootloader.bin create mode 100644 0x0026a_custom-bootloader/0x0026a_bootloader.uf2 create mode 100644 0x0026a_custom-bootloader/CMakeLists.txt create mode 100644 0x0026a_custom-bootloader/README.md create mode 100644 0x0026a_custom-bootloader/WEEK11a.md create mode 100644 0x0026a_custom-bootloader/WEEK11a.pdf create mode 100644 0x0026a_custom-bootloader/app/include/ir.h create mode 100644 0x0026a_custom-bootloader/app/include/led.h create mode 100644 0x0026a_custom-bootloader/app/include/secret.h create mode 100644 0x0026a_custom-bootloader/app/memmap_app.ld create mode 100644 0x0026a_custom-bootloader/app/src/app_main.c create mode 100644 0x0026a_custom-bootloader/app/src/ir.c create mode 100644 0x0026a_custom-bootloader/app/src/led.c create mode 100644 0x0026a_custom-bootloader/app/src/secret.c create mode 100644 0x0026a_custom-bootloader/bootloader/include/aes_cmac.h create mode 100644 0x0026a_custom-bootloader/bootloader/include/boot.h create mode 100644 0x0026a_custom-bootloader/bootloader/include/flash_layout.h create mode 100644 0x0026a_custom-bootloader/bootloader/include/image.h create mode 100644 0x0026a_custom-bootloader/bootloader/include/manifest.h create mode 100644 0x0026a_custom-bootloader/bootloader/include/verify.h create mode 100644 0x0026a_custom-bootloader/bootloader/src/aes_cmac.c create mode 100644 0x0026a_custom-bootloader/bootloader/src/boot.c create mode 100644 0x0026a_custom-bootloader/bootloader/src/image.c create mode 100644 0x0026a_custom-bootloader/bootloader/src/main.c create mode 100644 0x0026a_custom-bootloader/bootloader/src/manifest.c create mode 100644 0x0026a_custom-bootloader/bootloader/src/verify.c create mode 100644 0x0026a_custom-bootloader/common/include/mbedtls_config.h create mode 100644 0x0026a_custom-bootloader/manifest.bin create mode 100644 0x0026a_custom-bootloader/pico_sdk_import.cmake create mode 100644 0x0026a_custom-bootloader/tools/sign_firmware.py diff --git a/0x0026a_custom-bootloader/.gitignore b/0x0026a_custom-bootloader/.gitignore new file mode 100644 index 0000000..cd1e73d --- /dev/null +++ b/0x0026a_custom-bootloader/.gitignore @@ -0,0 +1,2 @@ +build +!.vscode/* \ No newline at end of file diff --git a/0x0026a_custom-bootloader/0x0026a_app.bin b/0x0026a_custom-bootloader/0x0026a_app.bin new file mode 100755 index 0000000000000000000000000000000000000000..f6c83d64e144ce70aa18db131d700d99c07a548e GIT binary patch literal 21656 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 literal 0 HcmV?d00001 diff --git a/0x0026a_custom-bootloader/CMakeLists.txt b/0x0026a_custom-bootloader/CMakeLists.txt new file mode 100644 index 0000000..82c837e --- /dev/null +++ b/0x0026a_custom-bootloader/CMakeLists.txt @@ -0,0 +1,89 @@ +# 0x0026a custom bootloader: builds a secure bootloader plus the signed +# application it launches. Run from this directory: +# +# cmake -B build -G Ninja -DPICO_BOARD=pico2 \ +# -DPICO_SDK_PATH="$HOME/.pico-sdk/sdk/2.2.0" \ +# -DPICO_TOOLCHAIN_PATH="$HOME/.pico-sdk/toolchain/14_2_Rel1" +# cmake --build build + +cmake_minimum_required(VERSION 3.13) + +set(CMAKE_C_STANDARD 11) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) + +# == DO NOT EDIT THE FOLLOWING LINES for the Raspberry Pi Pico VS Code Extension to work == +if(WIN32) + set(USERHOME $ENV{USERPROFILE}) +else() + set(USERHOME $ENV{HOME}) +endif() +set(sdkVersion 2.2.0) +set(toolchainVersion 14_2_Rel1) +set(picotoolVersion 2.2.0-a4) +set(picoVscode ${USERHOME}/.pico-sdk/cmake/pico-vscode.cmake) +if (EXISTS ${picoVscode}) + include(${picoVscode}) +endif() +# ==================================================================================== +set(PICO_BOARD pico2 CACHE STRING "Board type") + +# Pull in Raspberry Pi Pico SDK (must be before project) +include(pico_sdk_import.cmake) + +project(0x0026a_custom_bootloader C CXX ASM) + +# Initialise the Raspberry Pi Pico SDK +pico_sdk_init() + +# --- Bootloader: verifies an AES-128-CMAC tag before launching the app -------- +add_executable(0x0026a_bootloader + bootloader/src/main.c + bootloader/src/boot.c + bootloader/src/manifest.c + bootloader/src/aes_cmac.c + bootloader/src/image.c + bootloader/src/verify.c) + +target_include_directories(0x0026a_bootloader PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/bootloader/include + ${CMAKE_CURRENT_LIST_DIR}/common/include) + +# pico_mbedtls provides the AES-128-CMAC implementation used for verification. +target_link_libraries(0x0026a_bootloader PRIVATE + pico_stdlib + pico_mbedtls) + +pico_enable_stdio_uart(0x0026a_bootloader 1) +pico_enable_stdio_usb(0x0026a_bootloader 0) +pico_add_extra_outputs(0x0026a_bootloader) + +# --- Application: the 0x0026_functions firmware linked at 0x10020000 ---------- +add_executable(0x0026a_app + app/src/app_main.c + app/src/ir.c + app/src/led.c + app/src/secret.c) + +target_include_directories(0x0026a_app PRIVATE + ${CMAKE_CURRENT_LIST_DIR}/app/include + ${CMAKE_CURRENT_LIST_DIR}/common/include) + +# pico_mbedtls provides the AES-128-CBC API used by secret.c. +target_link_libraries(0x0026a_app PRIVATE + pico_stdlib + pico_mbedtls) + +pico_enable_stdio_uart(0x0026a_app 1) +pico_enable_stdio_usb(0x0026a_app 0) + +# Relocate the application into flash above the bootloader and manifest. +pico_set_linker_script(0x0026a_app + ${CMAKE_CURRENT_LIST_DIR}/app/memmap_app.ld) + +# The application starts at 0x10020000, so a UF2 (which BOOTSEL always writes to +# 0x10000000) would be wrong. Emit the raw artifacts we flash with OpenOCD. +pico_add_dis_output(0x0026a_app) +pico_add_hex_output(0x0026a_app) +pico_add_bin_output(0x0026a_app) +pico_add_map_output(0x0026a_app) diff --git a/0x0026a_custom-bootloader/README.md b/0x0026a_custom-bootloader/README.md new file mode 100644 index 0000000..b5b0cf6 --- /dev/null +++ b/0x0026a_custom-bootloader/README.md @@ -0,0 +1,60 @@ +# 0x0026a Custom AES-128-CMAC Secure Bootloader + +This project builds a custom secure-boot chain for the Pico 2 (RP2350) that sits entirely above the ROM bootloader. A first-stage bootloader in XIP flash authenticates a signed application with AES-128-CMAC (RFC 4493) before jumping to it, and the signed application decrypts and prints a secret banner using the SDK Mbed TLS AES API. + +## What You'll Learn + +- Why a bootloader-only CRC/manifest is insufficient and what a MAC adds +- How AES-128-CMAC works (K1/K2 subkeys) and the RFC 4493 test vectors +- Custom linker-script editing (`pico_flash_region.ld`, `memmap_app.ld`) to relocate the app +- Flashing three images (bootloader, manifest, app) with OpenOCD +- Reverse engineering both images with GDB and Ghidra (find the key, IV, ciphertext, banner) + +See the full tutorial: [WEEK11a.md](WEEK11a.md) / [WEEK11a.pdf](WEEK11a.pdf) + +## Flash Map + +| Region | Address | Content | +| ---------- | ----------- | ------------------------------ | +| Bootloader | `0x10000000` | 0x0026a bootloader (27772 B) | +| Manifest | `0x1001F000` | header + AES-128-CMAC tag | +| App | `0x10020000` | 0x0026a signed app (21656 B) | + +The CMSIS-RM9 flash-safe range starts at `0x10000000` on the RP2350, so adding 2 MB relocates the app to `0x10020000`. + +## Artifacts + +| File | Description | +| ---------------------------- | ---------------------------------------- | +| `0x0026a_bootloader.bin` | Bootloader image (flash at `0x10000000`) | +| `0x0026a_bootloader.uf2` | Bootloader for the BOOTSEL drag-and-drop | +| `0x0026a_app.bin` | Signed app image (flash at `0x10020000`) | +| `manifest.bin` | Manifest (flash at `0x1001F000`) | +| `WEEK11a.md` / `WEEK11a.pdf` | Full lab notebook | + +## Build + +```sh +cmake -B build -DPICO_SDK_PATH=~/.pico-sdk/sdk/2.2.0 +cmake --build build +python3 tools/sign_firmware.py build/0x0026a_app.bin --out manifest.bin --key "IronNetBootKey!!" --app-base 0x10020000 +``` + +This produces `0x0026a_bootloader.bin/.uf2` and `0x0026a_app.bin`; the signer writes `manifest.bin`. + +## Flash + +```sh +openocd -f interface/picoprobe.cfg -f target/rp2350.cfg -c \ + "program 0x0026a_bootloader.bin 0x10000000 verify; \ + program manifest.bin 0x1001F000 verify; \ + program 0x0026a_app.bin 0x10020000 verify; reset run; shutdown" +``` + +## Verify at Runtime + +Halt the core after boot and read the program counter. A valid signed image leaves PC inside the app (`0x100201xx`); a tampered or unsigned image leaves PC in the bootloader `boot_halt` idle loop near `0x10000eb2`. + +## Disclaimers + +This is an educational project for the Embedded-Hacking course. The key `IronNetBootKey!!` ships in the repo and is intentionally embedded in both images so it can be recovered with GDB/Ghidra. Do not use this scheme to protect real products. \ No newline at end of file diff --git a/0x0026a_custom-bootloader/WEEK11a.md b/0x0026a_custom-bootloader/WEEK11a.md new file mode 100644 index 0000000..1268beb --- /dev/null +++ b/0x0026a_custom-bootloader/WEEK11a.md @@ -0,0 +1,1662 @@ +# Week 11a: Custom Secure Boot + AES in Firmware: Building a CAC-Signed Bootloader and Reverse Engineering It + +*** + +**LEGAL DISCLAIMER:** +The information, tools, and code provided in this repository and course are strictly for educational, research, and defensive purposes only. + +You are explicitly prohibited from using any materials contained herein to access, test, modify, or exploit any device, network, or system that you do not own 100% or for which you do not have explicit, documented, and legally binding authorization to interact with. + +By using this repository and course, you acknowledge and agree that: + +1. Any illegal, unauthorized, or malicious use of this information is solely your responsibility. +2. The author(s) and contributor(s) of this repository and course shall not be held liable for any damages, legal repercussions, criminal charges, or unauthorized actions resulting from the use, misuse, or abuse of the contents herein. +3. You will comply with all applicable local, state, national, and international laws regarding cybersecurity and computer fraud. + +**IF YOU DO NOT AGREE WITH THESE TERMS, DO NOT USE THIS REPOSITORY AND COURSE.** + +*** + +## What You'll Learn This Week + +By the end of this tutorial, you will be able to: + +- Understand why consumer and industrial devices use a secure (authenticated) boot chain +- Explain, with a diagram, how AES-128-CMAC (RFC 4493) authenticates a firmware image +- Read a custom linker script, modify the MEMORY block, and relocate a program to a higher flash address +- Inspect a relocated ELF with `readelf`, `nm`, and `objdump` to confirm where every section and symbol lives +- Use Mbed TLS (already shipped inside the Pico SDK) in your own C code to decrypt data at runtime +- Flash a raw `.bin`, a manifest, and an application to three different flash addresses with OpenOCD +- Tamper with a single byte of firmware and watch the bootloader reject it at boot +- Reverse engineer the bootloader with GDB live on the Pico 2 (breakpoints, memory dumps, single-stepping the jump) +- Reverse engineer both firmware images in Ghidra, including recovering an AES key, IV, and ciphertext from flash +- Explain why a static key is not a real secret, and how real products solve secure boot (OTP keys, ROM verification, ECDSA) + +--- + +## Part 1: Why Secure Boot? (The Threat Model) + +### Firmware is a Product, and Products Get Modified + +Everything you have flashed onto your Pico 2 so far in this course has been a **single standalone image**. The RP2350 boot ROM reads the image at `0x10000000`, your program runs, done. That is exactly how millions of cheap embedded products work, and it has a serious weakness: + +**Anybody with a $5 probe can replace the flash contents.** + +OpenOCD, a 5-pin SWD connection, and a serial terminal are all an attacker needs to: + +1. Dump your firmware (read flash) +2. Modify a byte (change a password, unlock a feature, bypass a license) +3. Flash their own image (rootkit the device) + +Now tighten the screw. Imagine your product is: + +- A smart lock that talks to the network +- A security camera that signs video +- A commercial battery charger that detects counterfeit batteries +- An update server that pushes "fixes" to thousands of deployed devices + +In those products, **running modified or unauthorized firmware is a real-world safety and business problem**. If a device can be made to run code it did not originate, that device cannot be trusted, and neither can the data it produces. + +### The Defense: A Verified Boot Chain + +The modern defense is a **boot chain**. Each stage of the chain refuses to start the next stage until it has proven (cryptographically) that the next stage is authentic: + +``` ++-----------------------------------------------------------------+ +| BOOT CHAIN (each stage authenticates the next) | +| | +| +-------------------------------------------------------------------+ +| | STAGE 0: ROM in the chip (frozen in silicon, cannot be changed) | +| | verifies... | +| +-------------------------------------------------------------------+ +| | trusts +| v +| +-------------------------------------------------------------------+ +| | STAGE 1: bootloader in flash (this lab) | +| | verifies the application with an AES-128-CMAC tag | +| +-------------------------------------------------------------------+ +| | trusts (only if the tag matches) +| v +| +-------------------------------------------------------------------+ +| | STAGE 2: application firmware (the IR remote control app) | +| +-------------------------------------------------------------------+ +| | +| An attacker's modified app is REJECTED at stage 1 and never | +| runs. The device is very hard to brick with bad firmware, and | +| cheap modification attacks fail. | ++-----------------------------------------------------------------+ +``` + +> **What this lab does, and what it does not.** +> +> The 0x0026a bootloader authenticates the application using a key that is +> **embedded in the bootloader itself**. That stops a casual attacker who uses +> OpenOCD to patch a byte or two. A serious attacker who dumps the flash can +> read the key and re-sign their own image. Real products push Stage 0 into +> the ROM and store the key in **OTP (one-time programmable) memory** that +> flash reads cannot access. Part 19 shows how to think about that gap. + +--- + +## Part 2: Choosing the Authentication Primitive + +The bootloader must answer one question about the application image: +"Did this byte-for-byte image come from the person who holds the key?" + +### The Candidate Tools + +| Tool | What it computes | Can an attacker forge it? | +| ------------- | ---------------------------------------- | ----------------------------------------------------------- | +| CRC-32 | A simple checksum | YES, trivially. CRC is designed to catch noise, not attackers. | +| SHA-256 hash | A one-way digest of the image | YES, if there is no secret. Anyone can compute the hash after editing. | +| HMAC-SHA256 | A keyed digest | NO (without the key). Strong, but needs a keyed hash implementation. | +| AES-CMAC | A keyed MAC built from a block cipher | NO (without the key). Uses the AES primitive you already have. | +| ECDSA signature | An asymmetric signature | NO. The verifier holds only a public key, so even a full flash dump cannot forge. | + +### Why AES-CMAC for This Lab + +Two practical reasons: + +1. **The Pico SDK already ships a fast, well-tested AES.** CMAC is built on AES + (it is a CBC-MAC variant), so we do not add SHA code or HMAC glue; we reuse + the `mbedtls` library that ships inside the SDK (`pico_mbedtls`). +2. **One primitive, two lessons.** The same AES engine that authenticates the + image in the bootloader is also used inside the application to decrypt a + secret banner (Part 9). You see one cipher doing two classic jobs. + +ECDSA would be stronger (asymmetric, so the flash dump does not reveal the +signing key), and the RP2350 ROM ships a `secp256k1` verifier. The gap between +where this lab leaves off and where the ROM verifier lies is an important +"real product" paragraph in Part 19. + +--- + +## Part 3: AES-128-CMAC in Depth (RFC 4493) + +### A MAC Is a Keyed Checksum + +A **Message Authentication Code (MAC)** takes three inputs: + +- a secret key `K` +- a message `M` +- (optionally) a length `Tlen` + +and produces a short, fixed-size **tag** `T`. Security property: without `K`, +an attacker cannot construct `(M, T)` that verifies, even if they are allowed +to see thousands of valid `(M, T)` pairs. + +### Outline of CMAC + +CMAC is a keyed block-cipher MAC standardised in **NIST SP 800-38B** and +implemented in **RFC 4493** for AES-128. It is a **CBC-MAC with a twist**: the +final block is XORed with one of two derived subkeys before the last AES +encryption, which removes the classical CBC-MAC extension attack. + +``` ++-----------------------------------------------------------------+ +| Subkey derivation (once, at key setup) | +| | +| L = AES_K(0^128) AES-encrypt a zero block | +| if MSB(L) == 0: K1 = L << 1 | +| else: K1 = (L << 1) XOR 0x87 (0x87 = Rb for AES) | +| same step on K1 yields K2 | +| | +| Tagging (per message M, split into 128-bit blocks M1..Mn) | +| | +| M0 = 0^128 | +| if M is an exact multiple of 128 bits: | +| Mn' = Mn XOR K1 | +| else: (pad M with 10...0 to a full block) | +| Mn' = padded(Mn) XOR K2 | +| | +| for each block: C[i] = AES_K( C[i-1] XOR M[i] ) | +| Tag = C[n] (first Tlen bits) | ++-----------------------------------------------------------------+ +``` + +The two subkeys exist precisely to encode "full last block" vs "short last +block" into the tag. If we reused plain CBC-MAC, an attacker could cut the +message after a block boundary and still produce a valid tag. + +### Where Is AES-128-CMAC Not Really "Analysis" But Simple Math? + +Study the equation for a single message block: + +``` +C[1] = AES_K( 0^128 XOR M1 ) +``` + +Because this is a block cipher, a 1-bit change anywhere in `M1` results in a +completely unrelated tag. And without `K`, you cannot compute +`AES_K(...)` at all. Both facts are what make the tag unforgeable in practice. + +### The RFC 4493 Test Vectors (how the tool proves itself) + +The host signer `tools/sign_firmware.py` implements AES and CMAC from scratch +in pure Python, so the build toolchain has zero extra dependency on the +development machine. It is validated against the four official test vectors +from RFC 4493 using the well-known test key: + +``` +Key = 2b7e151628aed2a6abf7158809cf4f3c + +Message = (empty) +Tag = bb1d6929e95937287fa37d129b756746 + +Message = 6bc1bee22e409f96e93d7e117393172a +Tag = 070a16b46b4d4144f79bdd9dd04a287c + +Message = 40-byte repeating sample +Tag = dfa66747de9ae63030ca32611497c827 + +Message = 64-byte repeating sample +Tag = 51f0bebf7e3b9d92fc49741779363cfe +``` + +Read the tool's top-of-file comment; the four vectors are exercised against the +signer's internal CMAC routine before any real image is signed. + +--- + +## Part 4: The Hardware and the Flash Map + +### The Pieces + +| Component | Role in this lab | +| ---------------- | ------------------------------------------------------------------- | +| Pico 2 (RP2350) | The target. Two Cortex-M33 cores, 512 KB SRAM, executes code in place from XIP flash. | +| Debug Probe | CMSIS-DAP SWD adapter for flashing, debugging, and UART serial. It owns the SWD port and usually also gives a UART console channel. | +| IR receiver | GPIO5 input; decodes NEC remote commands in the application. | +| 3 LEDs | GPIO16, GPIO17, GPIO18; driven by decoded commands. | +| USB-UART/cable | If the Debug Probe's UART is wired to the Pico's UART0, the bootloader and app log to it. | + +### Why 0x10000000? + +On the RP2350 the first 4 MiB of the address map (from `0x10000000`) is a +**memory-mapped view of external XIP flash** (eXecute In Place). The CPU +fetches instructions straight from that window; the flash controller reads the +bytes transparently through the XIP cache. The boot ROM boots from this flash +window because it is simply memory. + +So "flashing at `0x10000000`" means "making the contents of physical flash +visible at the addresses your program expects." A raw `.bin` carries no address +information; you must always supply the load address out of band (Part 12). + +### The 0x0026a Flash Layout + +``` +Physical XIP flash, as addressable memory ++---------------------------------------------- 0x10000000 +| BOOTLOADER image (0x0026a_bootloader.bin) | +| ~28 KB of code + data | +| boot.c, verify.c, manifest.c, aes_cmac.c, | +| image.c, main.c | ++---------------------------------------------- ~0x10006D00 +| (free padding) | ++---------------------------------------------- 0x1001F000 +| MANIFEST sector (4 KB, exactly one flash | +| sector): magic, version, app address, | +| app size, 16-byte AES-128-CMAC tag | ++---------------------------------------------- 0x10020000 +| APPLICATION image (0x0026a_app.bin) | +| the Week 11 IR remote control app, | +| now with an AES-128-CBC secret banner, | +| linked to run from 0x10020000 | ++---------------------------------------------- 0x10020000 + 0x5498 +| (free padding) | ++---------------------------------------------- 0x10200000 (2 MiB) +``` + +Three things to notice: + +1. The manifest sits in its **own flash sector** (`0x1001F000`), so updating + it never touches the bootloader or the application. +2. The application is **relocated** above both, starting at `0x10020000`. It is + not written at `0x10000000`. +3. The bootloader jump at the end of Part 8 hands control to the app's reset + vector, which lives at `0x1002015C`. + +--- + +## Part 5: The Manifest Format + +Before code runs, the bootloader reads a 4 KB record from flash. The first 28 +bytes matter; the rest is `0xFF` padding (erased flash). + +``` +Declared in bootloader/include/manifest.h +#pragma pack(push, 1) +typedef struct { + uint32_t magic; // 0x424C4657 ("WFLB") + uint32_t version; // 1 + uint32_t app_base; // 0x10020000 + uint32_t app_size; // 0x5498 (21656 bytes) + uint8_t tag[16]; // AES-128-CMAC of the app image +} fw_manifest_t; +#pragma pack(pop) +``` + +Annotated hex dump of the real `manifest.bin` produced in Part 11: + +``` +00000000: 57 46 4c 42 01 00 00 00 00 00 02 10 98 54 00 00 WFLB........T.. + ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ + magic version app_base app_size + 0x10020000 0x5498 + +00000010: ef 04 1e c5 92 f0 c5 67 27 da 26 51 d3 73 94 7b .......g'.&Q.s.{ + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + tag (16 bytes): AES-128-CMAC over the application +00000020: ff ff ff ff ... (0xFF padding to 0x1000) +``` + +Note the little-endian layout. `00 00 02 10` reads as `0x10020000`, and +`98 54 00 00` reads as `0x5498`. The tag is the raw 16-byte CMAC output, not a +text string. + +--- + +## Part 6: The Custom Linker Script (Where Your Program Really Lives) + +This is the part that answers a question students ask constantly: *"If I want +to put a second program above the first one, how does the compiler know where +it belongs?"* Answer: **the linker script says so.** Understand this file and +you control a device's entire memory layout; ignore it and relocated firmware +silently corrupts itself. + +### 6.1 What a Linker Script Is + +Compilation produces **object files** with named sections: `.text` (code), +`.rodata` (constants), `.data` (initialized globals), `.bss` (zeroed globals), +and so on. The linker (here, the GNU `arm-none-eabi-ld`) merges those sections +into a single ELF and decides **which virtual addresses each section gets**. +That decision comes from a script, normally `/path/to/lds` or, for the Pico +SDK, a script your CMake passes in. + +A copy of the RP2350 script lives here: + +``` +app/memmap_app.ld <- our modified version, used for the app only +``` + +The SDK's original (do not edit) is inside the Pico SDK: + +``` +~/.pico-sdk/sdk/2.2.0/src/rp2_common/pico_crt0/rp2350/memmap_default.ld +``` + +### 6.2 The MEMORY Command: ORIGIN and LENGTH + +The heart of the script is the `MEMORY` block. It tells the linker which +address ranges are real and how big they are. The SDK's default is: + +``` +/* from memmap_default.ld */ +MEMORY +{ + INCLUDE "pico_flash_region.ld" + RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 512k + SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k + SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k +} +``` + +What each line says: + +| Region | ORIGIN | LENGTH | What lives there | +| ------------ | ----------- | ------ | --------------------------------------------------- | +| FLASH | 0x10000000 | board flash size | `.text`, `.rodata`, and initial values for `.data` (XIP). | +| RAM | 0x20000000 | 512k | `.data`, `.bss`, heap | +| SCRATCH_X | 0x20080000 | 4k | Core 1 stack / time-critical scratch | +| SCRATCH_Y | 0x20081000 | 4k | Core 0 stack (ends at `0x20082000`) | + +`ORIGIN` is the first byte of the region; `LENGTH` is how many bytes it spans. +Anything placed in `FLASH` runs directly from the XIP window; anything placed +in a RAM region is copied there at boot by the `_reset_handler`. + +### 6.3 Where FLASH Actually Comes From: `pico_flash_region.ld` + +Notice that `FLASH` is not declared inline; it is **included**: + +``` +INCLUDE "pico_flash_region.ld" +``` + +The SDK's CMake generates this tiny file for you based on the board's flash +size. Ours (from the build directory) is: + +``` +/* build/pico_flash_region.ld */ +FLASH(rx) : ORIGIN = 0x10000000, LENGTH = (4 * 1024 * 1024) +``` + +So for the default Pico 2 the whole 4 MiB of flash is one region called +`FLASH`, read-only + execute, starting at `0x10000000`. If you build a board +with 2 MiB you would see `LENGTH = (2 * 1024 * 1024)`. + +### 6.4 The Modification: Relocating the Application + +The bootloader owns the start of flash, so the app must not begin at +`0x10000000`. We copy the SDK script and change **one thing in MEMORY**: the +FLASH line. In `app/memmap_app.ld`: + +``` +MEMORY +{ + /* Relocated for the custom bootloader: the application is linked to run + from 0x10020000, leaving the first 128k of flash for the bootloader and + its manifest. */ + FLASH(rx) : ORIGIN = 0x10020000, LENGTH = 1920k + RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 512k + SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k + SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k +} +``` + +Arithmetic behind `1920k`: + +``` +default FLASH region: 0x10000000 + 2048 KiB (2 MiB reserved layout) +reserved for boot/manifest: + bootloader image ~28 KiB, manifest at 0x1001F000..0x10020000 + -> reserve the first 128 KiB (0x20000 bytes) +application window: 0x10020000 + 1920 KiB = 0x10200000 end of 2 MiB +1920 KiB = 2048 KiB - 128 KiB +``` + +Every `> FLASH` and `> RAM AT> FLASH` section in the rest of the script now +places itself inside this smaller, relocated window. The `SECTIONS` body is +otherwise identical to the SDK default. + +### 6.5 Wiring the Script Into the Build (CMake) + +The SDK exposes a CMake function that swaps in our script for one target only: + +``` +# CMakeLists.txt +pico_set_linker_script(0x0026a_app + ${CMAKE_CURRENT_LIST_DIR}/app/memmap_app.ld) +``` + +The bootloader target gets no such call, so it uses the SDK default +(`FLASH` at `0x10000000`) exactly as before. + +### 6.6 Symbols the Script Defines + +A linker script does not only place sections; it also **exports symbol values** +that startup code uses. Grep `memmap_app.ld` for these while you read: + +| Symbol | Meaning | Value for the app | +| ---------------------- | -------------------------------------------------------------- | --------------------------- | +| `__flash_binary_start` | First byte of the image in flash | `0x10020000` | +| `__logical_binary_start`| Same as above in this script | `0x10020000` | +| `__etext` | End of code (start of `.data` initial values in flash) | near `0x10026000` | +| `__data_start__` | Loaded `.data` base in RAM | `0x20000000` | +| `__bss_start__`/`__bss_end__` | Zero-initialized globals in RAM | inside `0x20000000` region | +| `__StackLimit` | Heap cap (historically the "stack limit") | `0x20080000` | +| `__StackTop` | Top of core 0 stack (end of SCRATCH_Y) | `0x20082000` | +| `__HeapLimit` | End of RAM = `ORIGIN(RAM) + LENGTH(RAM)` | `0x20080000` | + +The crucial practical consequence: **the first word of the app's vector table +must be `__StackTop` = `0x20082000`.** +Check it: + +``` +$ xxd -l 16 0x0026a_app.bin +00000000: 0020 0820 5d01 0210 1b01 0210 1d01 0210 . . ]........... +``` + +- bytes 0-3 `00 20 08 20` = little-endian `0x20082000` = initial SP +- bytes 4-7 `5d 01 02 10` = little-endian `0x1002015d` = reset vector (the + `_reset_handler` symbol, Thumb-encoded with bit 0 set) + +That `0x1002015d` would be impossible to obtain without the relocated MEMORY +block. This is the tangible proof that the linker script did its job. + +### 6.7 ENTRY(_entry_point) Versus the Reset Vector + +At the top of the script: + +``` +ENTRY(_entry_point) +``` + +This names the ELF entry point used by debuggers. In the SDK, `_entry_point` +is a tiny stub in `crt0.S` that routes a debugger-launched session back +through the boot ROM (so XIP setup happens as on a cold boot). It is +**not** the same as the reset vector in the vector table. + +The bootloader does not use `_entry_point` at all. It jumps straight at the +app's **reset vector** (`vector[1]`), which is `_reset_handler`, the function +that actually initializes `.data`, zeros `.bss`, and calls `main`. Part 8 +shows that branch instruction. This distinction matters when you are poking a +relocated image with a debugger: breaking on `_entry_point` and breaking on +`_reset_handler` are different sessions. + +### 6.8 Inspecting the Result With readelf and nm + +After building (Part 10), look at what the linker produced. The section table: + +``` +$ ~/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-readelf -S build/0x0026a_app.elf + [ 0] null + [ 1] .flash_begin PROGBITS 10020000 00001000 000000 00 WA 0 0 1 + [ 2] .text PROGBITS 10020100 00001100 005e34 00 AX 0 0 16 + ... + [ 5] .rodata PROGBITS 10025f40 00006f40 000235 00 A 0 0 8 + ... +``` + +Note that every flash section is stamped `1002xxxx`, never `1000xxxx`. The +program headers (use `readelf -l`) likewise show `LOAD` segments whose vaddr +sits in the `0x10020000` window. `nm` shows symbol addresses: + +``` +$ ~/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-nm -n build/0x0026a_app.elf +... +1002015c T _reset_handler +10020234 T main +1002027c T ir_init +... +``` + +### 6.9 Why the Application Has No .uf2 + +A UF2 file writes to the address encoded in each of its blocks, and the SDK's +UF2 tooling always targets `0x10000000`. If a user holds BOOTSEL and drags in +`0x0026a_app.uf2`, the app would be written at the wrong base and the +bootloader would jump into garbage (or nothing). So the app is deliberately +built **without** a UF2 and with explicit `.bin`/`.hex`/`.dis`/`.map` outputs +instead. The **bootloader** still ships a UF2 (it belongs at `0x10000000`), and +the manifest + app are written to their own addresses with OpenOCD. + +--- + +## Part 7: The Bootloader Source, Module by Module + +The bootloader applies the standard we use for every module in this course: +**`main.c` contains only the sequence; each job has its own `.c` + `.h` pair.** + +``` +bootloader/ + include/ + flash_layout.h addresses of the three flash partitions + manifest.h fw_manifest_t type + read/validate API + boot.h console, halt, launch API + verify.h firmware authenticity check + aes_cmac.h mbedtls front-end + constant-time compare + image.h low-level jump to the app + src/ + main.c ONLY the 5-step boot sequence + boot.c banner console, fatal-haunt loop, handoff + manifest.c flash-read + magic/version validation + verify.c the static key + CMAC recompute + tag compare + aes_cmac.c computes the tag with mbedtls AES-128-CMAC + image.c VTOR/MSP rebase + branch to reset vector +``` + +### 7.1 `main.c`: Only the Sequence + +The whole of `main.c`: + +```c +int main(void) { + fw_manifest_t manifest; + boot_init(); + manifest_read(&manifest); + if (!manifest_is_valid(&manifest)) boot_halt("manifest invalid"); + if (!verify_manifest(&manifest)) boot_halt("firmware signature invalid"); + boot_launch(&manifest); +} +``` + +Read it as a check-list, one step per line: + +1. `boot_init()` - stdio up, 2 s pause, banner print +2. `manifest_read` - copy the 28 useful bytes out of the `0x1001F000` sector +3. `manifest_is_valid` - magic `WFLB` and version == 1? +4. `verify_manifest` - recompute CMAC over the app, compare to stored tag +5. `boot_launch` - print success, jump to the app reset vector + +There is **no** stdio, no key, no crypto in this file. Everything below is a +different module. + +### 7.2 `verify.c`: The Secret and the Verdict + +```c +/** @brief AES-128 key that authenticates the application image. */ +static const uint8_t fw_key[FW_TAG_SIZE] = { + 0x49, 0x72, 0x6F, 0x6E, 0x4E, 0x65, 0x74, 0x42, + 0x6F, 0x6F, 0x74, 0x4B, 0x65, 0x79, 0x21, 0x21 +}; + +bool verify_manifest(const fw_manifest_t *manifest) { + const uint8_t *base = (const uint8_t *)manifest->app_base; + uint8_t computed[FW_TAG_SIZE]; + int rc = aes128_cmac(fw_key, base, manifest->app_size, computed); + if (rc != 0) return false; + return cmac_tags_equal(computed, manifest->tag); +} +``` + +What is important here: + +- The key is 16 bytes `"IronNetBootKey!!"`. It is `static const`, so the + compiler puts it in `.rodata`, right in the binary, at a predictable + address (you will extract it in Ghidra in Part 15). +- The CMAC is computed over **the raw bytes the processor will execute**, + starting at `manifest->app_base` for `app_size` bytes. That is exactly the + `0x0026a_app.bin` content (21656 bytes, `0x5498`). +- The comparison is deliberately a full 16-byte compare with no shortcut, so + the runtime does not leak *which* byte mismatched (timing side-channels). + +### 7.3 `boot.c`: Console and Handoff + +```c +void boot_init(void) { + stdio_init_all(); + sleep_ms(2000); + printf("\n=== 0x0026a secure bootloader ===\n"); +} + +void boot_halt(const char *reason) { + printf("BOOT FAILED: %s\n", reason); + while (true) { + sleep_ms(500); + } +} + +void boot_launch(const fw_manifest_t *manifest) { + printf("signature valid, entering app at 0x%08lx\n", + (unsigned long)manifest->app_base); + image_start(manifest->app_base); +} +``` + +A 2 000 ms delay before the banner gives a human time to open a serial +terminal; the blink of that pause is also a simple "alive" signal. On failure, +`boot_halt` loops forever with a 500 ms heart-beat so you can see the red LED +blinking and the exact reason on the console. + +### 7.4 `image.c`: The Actual Jump + +```c +static void halt_irq_and_rebase(uint32_t base) { + __asm volatile ("cpsid i" ::: "memory"); + *(volatile uint32_t *)0xE000ED08U = base; +} + +void image_start(uint32_t vector_base) { + uint32_t *vectors = (uint32_t *)vector_base; + image_entry_t entry = (image_entry_t)vectors[1]; + halt_irq_and_rebase(vector_base); + __asm volatile ("msr msp, %0" :: "r" (vectors[0]) : "memory"); + __asm volatile ("dsb\n\tisb" ::: "memory"); + entry(); +} +``` + +Step by step: + +1. Read the app's vector table at `vector_base` (`0x10020000`). +2. `entry = vectors[1]` - the reset vector (`0x1002015d`), bit 0 set for + Thumb mode. Branching to a Thumb-encoded address is how you switch modes. +3. `cpsid i` - mask interrupts so nothing fires mid-handoff. +4. Write `0xE000ED08` (the **VTOR** register) with the new vector table base. + From here on, exceptions use the app's vectors. +5. `msr msp` - load the app's initial stack pointer from `vectors[0]` + (`0x20082000`). +6. `dsb`/`isb` - force the memory and instruction pipelines to catch up. +7. `entry()` - call the reset handler. It never returns to the bootloader. + +The assembly, as it appears in the ELF (this is exactly what you will +disassemble in GDB and Ghidra): + +``` +10000394 : + 10000394: 6843 ldr r3, [r0, #4] ; entry = vectors[1] + 10000396: b672 cpsid i ; mask IRQs + 10000398: mov.w r2, #0xe000e000 ; SCB base + 1000039c: str.w r0, [r2, #3336] ; VTOR = r0 (0xE000ED08) + 100003a0: ldr r2, [r0, #0] ; sp = vectors[0] + 100003a2: msr MSP, r2 + 100003a6: dsb sy + 100003aa: isb sy + 100003ae: bx r3 ; branch to reset handler +``` + +When you set a breakpoint on `image_start` and single-step, you will see the +PC jump from `100003ae` to `1002015d` and disappear into application startup. + +--- + +## Part 8: Using AES in the Application (a Fully Worked Example) + +The application is the Week 11 IR remote firmware, but with one addition: a +module (`secret.c`) that decrypts a banner at runtime using the **Mbed TLS AES +that ships inside the Pico SDK**. This part teaches you the SDK's real AES API +on real code, and it plants the exact artifact you will hunt for in the +reverse-engineering parts. + +### 8.1 The API You Need (all from mbedtls, all shipped in the SDK) + +Four calls. That is the entire surface we touch: + +| Call | Purpose | +| --------------------------------------- | ---------------------------------------------- | +| `mbedtls_aes_init(ctx)` | Give the context a clean base state. | +| `mbedtls_aes_setkey_dec(ctx, key, 128)` | Expand the 16-byte key for decryption. | +| `mbedtls_aes_crypt_cbc(ctx, mode, len, iv, src, dst)` | Decrypt one or more whole blocks. | +| `mbedtls_aes_free(ctx)` | Clean up (releases nothing for a stack context). | + +`mbedtls_aes_crypt_cbc` is the workhorse. Its important contract: + +- `len` must be a multiple of 16 (a whole number of AES blocks). +- The IV is **read and updated in place**; you must give it a mutable copy. +- `src` and `dst` may be the same pointer - the operation is **in-place**. + That is how `secret_decrypt` reuses one 33-byte buffer for ciphertext, then + plaintext. + +### 8.2 The Secret Banner Link: Host Side Production + +The plaintext banner is exactly 32 bytes (two AES blocks), so no padding is +needed. It was encrypted on the host with OpenSSL using the same key and IV: + +``` +$ printf '%s' 'SECRET: IR LINK SECURED ONLINE ' \ + | openssl enc -aes-128-cbc \ + -K 49726f6e4e6574426f6f744b65792121 \ + -iv 41707053656372657449563132333435 \ + -nopad | xxd -p +baec4a1925861bb92dfd9f13f79b3e80cf12b698db9165be8fd7c3477bb2e76e +``` + +The hex strings are: + +``` +KEY = 49 72 6F 6E 4E 65 74 42 6F 6F 74 4B 65 79 21 21 = "IronNetBootKey!!" +IV = 41 70 70 53 65 63 72 65 74 49 56 31 32 33 34 35 = "AppSecretIV12345" +CT = ba ec 4a 19 25 86 1b b9 2d fd 9f 13 f7 9b 3e 80 + cf 12 b6 98 db 91 65 be 8f d7 c3 47 7b b2 e7 6e +PT = "SECRET: IR LINK SECURED ONLINE " (32 bytes, two spaces padded) +``` + +Notice: the ciphertext bytes in the disassembly of `secret_print_banner` +(Part 16) are **exactly** `baec4a19...76e6`. You will re-discover that the +reverse engineers' job is rarely to break AES (you cannot); it is to find +where the key, IV, and ciphertext are stored and feed them to a decryptor. +Here the key is 70 bytes away from the ciphertext. + +### 8.3 The Application-Side Module (`secret.c`) + +```c +static int secret_cbc(mbedtls_aes_context *aes, uint8_t *iv, uint8_t *buf) { + int rc = mbedtls_aes_crypt_cbc(aes, MBEDTLS_AES_DECRYPT, APP_BANNER_LEN, + iv, buf, buf); + return rc; +} + +static int secret_decrypt(uint8_t *buf) { + mbedtls_aes_context aes; + uint8_t iv[APP_AES_BLOCK]; + memcpy(iv, banner_iv, APP_AES_BLOCK); + mbedtls_aes_init(&aes); + mbedtls_aes_setkey_dec(&aes, banner_key, 128); + int rc = secret_cbc(&aes, iv, buf); + mbedtls_aes_free(&aes); + return rc; +} + +int secret_print_banner(void) { + uint8_t buf[APP_BANNER_LEN + 1]; + memcpy(buf, banner_ct, APP_BANNER_LEN); + buf[APP_BANNER_LEN] = '\0'; + int rc = secret_decrypt(buf); + if (rc != 0) return rc; + printf("app banner: %s\n", (char *)buf); + return 0; +} +``` + +Walk through it: + +1. `memcpy(buf, banner_ct, 32)` - pull the two ciphertext blocks into a working + buffer (with a spare byte for the terminating `'\0'`). +2. `banner_iv` is `static const`, so it cannot be safely mutated by the CBC + routine; copy it to a local array first. +3. Init + expand the key ("setkey_dec" stores the pre-computed decryption key + schedule once, so `crypt_cbc` is fast). +4. `crypt_cbc` writes the plaintext back into `buf`: `src == dst`. +5. Print. Release. + +If the SDK's mbedtls were misconfigured (say, you forgot to enable +`MBEDTLS_AES_C` in `common/include/mbedtls_config.h`), `crypt_cbc` returns a +negative error instead of decrypting, and the module refuses to print garbage. + +### 8.4 CBC, In Pictures + +CBC decryption undoes each block with the *previous* ciphertext block: + +``` ++------+ +------+ +------+ +| C1 | | C2 | | C3 | ciphertext blocks ++------+ +------+ +------+ + | | | + v v v + AES-128 AES-128 AES-128 (key schedule from setkey_dec) + | | | + | | | + v v v + +--[ X XOR ]--+ +--[ X XOR ]--+ + | IV | | C1 | | C2 | XOR with IV/C[i-1] + +-------------+ +-------------+ +-------------+ + | | | + v v v ++------+ +------+ +------+ +| P1 | | P2 | | P3 | plaintext ++------+ +------+ +------+ +``` + +That is why the IV is the "previous block" for block 1. In-place operation is +safe because C1 is no longer needed once P1 is produced ... except block two +needs C1, so the ciphertext *before* it was overwritten must still be intact. +mbedtls handles this correctly internally; you only owe it an untouched IV +copy. + +### 8.5 How the Application Is Structured (modules, not a mega-file) + +This week the app got the same treatment as the bootloader: `app_main.c` is +only entry + the poll loop. Everything else lives in a module: + +``` +app/ + include/ + ir.h NEC receiver API (ir_init, ir_getkey) + led.h LED controller type + API (simple_led_ctrl_t, led_default, + led_init, led_handle_ir) + secret.h AES banner API (secret_print_banner) + src/ + app_main.c ONLY stdio, banner, led_init, ir_init, then the poll loop + ir.c NEC timing decoder + led.c 3-LED controller (mapping, blink, hold-on) + secret.c the AES-128-CBC banner module +``` + +`app_main.c` in full: + +```c +static void ir_poll_loop(simple_led_ctrl_t *leds) { + while (true) { + int key = ir_getkey(); + if (key >= 0) led_handle_ir(leds, key); + else sleep_ms(1); + } +} + +int main(void) { + stdio_init_all(); + secret_print_banner(); + simple_led_ctrl_t leds = led_default(); + led_init(&leds); + ir_init(IR_PIN); + printf("IR receiver on GPIO %d ready\n", IR_PIN); + ir_poll_loop(&leds); +} +``` + +The `simple_led_ctrl_t` type carries a Doxygen block in `led.h`; notice the +struct fields (`led1_pin`...`led3_state`) are visible in `ir_getkey`'s +callers but the types stay in the header, exactly the WEEK 11 lesson about +structs being flattened by the compiler (see the `led_handle_ir` disassembly +in Part 16 for the flattened, inlined version). + +--- + +## Part 9: Building Everything + +### Step 1: Configure the CMake build + +From the project directory: + +``` +$ cd 0x0026a_custom-bootloader + +$ cmake -B build -G Ninja \ + -DPICO_BOARD=pico2 \ + -DPICO_PLATFORM=rp2350 \ + -DCMAKE_BUILD_TYPE=Release \ + -DPICO_SDK_PATH="$HOME/.pico-sdk/sdk/2.2.0" \ + -DPICO_TOOLCHAIN_PATH="$HOME/.pico-sdk/toolchain/14_2_Rel1" +``` + +### Step 2: Build both images + +``` +$ cmake --build build +``` + +You should see two linked executables, no warnings: + +``` +[6/7] Linking CXX executable 0x0026a_app.elf +[7/7] Linking CXX executable 0x0026a_bootloader.elf +``` + +### Step 3: Check the artifacts + +``` +$ ls -l build/0x0026a_bootloader.bin build/0x0026a_app.bin +-rwxr-xr-x 27772 0x0026a_bootloader.bin +-rwxr-xr-x 21656 0x0026a_app.bin +``` + +The bootloader includes the second-stage loader and binary-info, so it is +larger; the app is 21656 bytes (`0x5498`), which is the number baked into the +manifest. + +### Step 4: Confirm the app really is relocated + +``` +$ ~/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-nm -n build/0x0026a_app.elf | grep -E ' _reset_handler| main$| ir_getkey| secret_print_banner' +1002015c T _reset_handler +10020234 T main +100202a4 T ir_getkey +10020568 T secret_print_banner +``` + +Every address is `0x1002xxxx`. If you see `0x1000015c` for `_reset_handler`, +the linker script was not applied and the bootloader would jump the wrong way. + +--- + +## Part 10: Signing the Image on the Host + +### Step 5: Compute the tag and write the manifest + +``` +$ python3 tools/sign_firmware.py build/0x0026a_app.bin --out build/manifest.bin +image : build/0x0026a_app.bin (21656 bytes) +app_base : 0x10020000 +cmac tag : ef041ec592f0c56727da2651d373947b +manifest : build/manifest.bin (4096 bytes) +``` + +### Step 6: Verify the manifest against the image + +``` +$ python3 tools/sign_firmware.py 0x0026a_app.bin --verify build/manifest.bin +computed : ef041ec592f0c56727da2651d373947b +result : MATCH +``` + +MATCH means the exact bytes in `0x0026a_app.bin` produce exactly the tag the +bootloader will read from flash. Signing is not magic: it is one CMAC +computation over the bytes, plus a 36-byte header written into a 4 KB sector. + +### Step 7: Read the manifest back byte by byte + +``` +$ xxd build/manifest.bin | head -3 +00000000: 5746 4c42 0100 0000 0000 0210 9854 0000 WFLB........T.. +00000010: ef04 1ec5 92f0 c567 27da 2651 d373 947b .......g'.&Q.s.{ +00000020: ffff ffff ffff ffff ffff ffff ffff ffff ................ +``` + +Cross-reference with Part 5: magic, version 1, base `0x10020000`, size +`0x5498`, then the 16-byte tag, then `0xFF` padding. + +--- + +## Part 11: Flashing the Three Images + +Three images, three addresses. The bootloader first (it owns the system), then +the manifest, then the app. If you flash the app before the manifest, the +bootloader happily boots it anyway (the manifest is already in flash from a +previous lab run) - order only matters on a bare board. + +### A. The bootloader: two options + +**Option 1 - BOOTSEL (no extra tools):** hold the BOOTSEL button, connect the +Pico 2, copy `0x0026a_bootloader.uf2` to the drive. BOOTSEL always writes at +`0x10000000`, which is correct for the bootloader. + +**Option 2 - OpenOCD:** + +``` +$ "$HOME/.pico-sdk/openocd/0.12.0+dev/openocd" \ + -s "$HOME/.pico-sdk/openocd/0.12.0+dev/scripts" \ + -f interface/cmsis-dap.cfg -f target/rp2350.cfg \ + -c "adapter speed 5000" \ + -c "program 0x0026a_bootloader.bin 0x10000000 verify reset exit" +``` + +The flags, in the repo's own words: + +| Flag | Meaning | +| --------------- | ------------------------------------------------------------- | +| `cmsis-dap.cfg` | The Debug Probe is a CMSIS-DAP v1 adapter | +| `rp2350.cfg` | RP2350 target: dual Cortex-M33 with a B0-style DAP | +| `adapter speed` | SWD clock in kHz; 5000 is a conservative write-path default | +| `program` | Write + `verify` (read-back compare) + `reset` + `exit` | + +### B. The manifest (always its own sector) + +``` +$ "$HOME/.pico-sdk/openocd/0.12.0+dev/openocd" \ + -s "$HOME/.pico-sdk/openocd/0.12.0+dev/scripts" \ + -f interface/cmsis-dap.cfg -f target/rp2350.cfg \ + -c "adapter speed 5000" \ + -c "program manifest.bin 0x1001F000 verify reset exit" +``` + +### C. The application (relocated target) + +``` +$ "$HOME/.pico-sdk/openocd/0.12.0+dev/openocd" \ + -s "$HOME/.pico-sdk/openocd/0.12.0+dev/scripts" \ + -f interface/cmsis-dap.cfg -f target/rp2350.cfg \ + -c "adapter speed 5000" \ + -c "program 0x0026a_app.bin 0x10020000 verify reset exit" +``` + +Each `program` invocation ends with `verify reset exit`, so OpenOCD reads the +bytes back and aborts loudly on a mismatch. `verify` here is straight +flash read-back - a completely different check from the CMAC the bootloader +does at boot. + +While you are at it, note that the repo's `flash.sh` helper always programs at +`0x10000000` - convenient for the bootloader, wrong for the manifest and app. +The three explicit commands above are the tutorial forms. + +--- + +## Part 12: Running It (First Boot, Serial Console) + +### Step 8: Open a serial console + +Open a terminal on the Debug Probe's UART channel (or the board's USB-UART +bridge if you wired one) at 115200 baud: + +``` +$ screen /dev/cu.usbmodem311402 115200 +``` + +Replace the device name with whatever `ls /dev/cu.usb*` shows. + +### Step 9: Reset the board and watch the bootlog + +Press the RESET button (or let OpenOCD's `reset` do it). After roughly two +seconds you see the bootloader banner, then the app banner: + +``` +=== 0x0026a secure bootloader === +signature valid, entering app at 0x10020000 +app banner: SECRET: IR LINK SECURED ONLINE +IR receiver on GPIO 5 ready +``` + +The three lines tell you the whole story: the bootloader ran, it verified the +image against the manifest (Part 10), it jumped to `0x10020000`, and inside +the app `secret_print_banner()` decrypted the banner with the SDK AES and +printed it (Part 8). Press keys on the remote and the `NEC command:` lines +appear. + +What you just watched, in one trace (the exact functions and where they live): + +| Line on screen | Function that printed it | Address | +| ------------------------------------------- | ------------------------ | ------------ | +| `=== 0x0026a secure bootloader ===` | `boot_init` | `0x10000278` | +| `signature valid, entering app at ...` | `boot_launch` | `0x100002ac` | +| `app banner: SECRET...` | `secret_print_banner` | `0x10020568` | +| `IR receiver on GPIO 5 ready` | `main` (app) | `0x10020234` | + +--- + +## Part 13: The Tamper Test (Breaking the Chain) + +Now do the attacker's favorite move: change one byte, keep everything else, +reflash, and see what the bootloader does. + +### Step 10: Flip a byte in the app image (do NOT re-sign) + +``` +$ cp 0x0026a_app.bin rogue_app.bin +$ printf 'X' | dd of=rogue_app.bin bs=1 seek=0 count=1 conv=notrunc +``` + +(The byte at offset 0 is the low byte of the initial SP; any change breaks the +CMAC, so the location is irrelevant for this test.) + +### Step 11: Flash the rogue image over the good one + +Re-run the app `program` command from Part 11 but with `rogue_app.bin`. Do not +touch the manifest - the tag inside it still corresponds to the *original* +image. + +### Step 12: Reset and observe the rejection + +``` +=== 0x0026a secure bootloader === +BOOT FAILED: firmware signature invalid +``` + +The second line is missing. The app never ran. The blue/yellow LED heartbeat +on the board keeps blinking (500 ms), which is `boot_halt()`'s idle loop. No +matter how many times you re-flash a modified image without a matching tag, +the bootloader refuses. + +### Step 13: Confirm it still boots after restoring the good image + +Re-flash `0x0026a_app.bin` (fresh, matching the manifest) and reset. The +banner returns. The bootloader is doing real enforcement, not just complaining +once. + +Stop and think about the security statement this demonstrated: + +- **Patch a byte, no re-sign -> reject.** The device cannot be modified cheaply. +- **Dump flash, read the key, re-sign -> accept.** Because the key lives in the + binary (Part 7.2), a full flash dump defeats this scheme. Part 19 fixes that + in a real product. + +--- + +## Part 14: Reverse Engineering the Bootloader with GDB (Live) + +Live debugging on the Pico 2 uses the repo's two scripts: `debug-server.sh` +owns the Debug Probe as a GDB server, and `pico-gdb-memory.gdb` confines GDB +memory reads to valid flash/RAM so bogus register previews cannot fault SWD. + +### Step 14: Start the GDB server (Terminal 1) + +``` +$ ./debug-server.sh +``` + +The script resets the target and leaves it *running* (`reset run`), exposing +`127.0.0.1:3333`. + +### Step 15: Start GDB on the bootloader (Terminal 2) + +``` +$ ~/.pico-sdk/toolchain/14_2_Rel1/bin/arm-none-eabi-gdb build/0x0026a_bootloader.elf +``` + +Connect and confine memory access: + +``` +(gdb) target extended-remote :3333 +(gdb) source ../../pico-gdb-memory.gdb +``` + +``` +delete mem +mem 0x10000000 0x10400000 ro +mem 0x20000000 0x20082000 rw +set mem inaccessible-by-default on +info mem +``` + +### Step 16: Stop the running target cleanly + +``` +(gdb) monitor halt +(gdb) monitor reg pc +``` + +You will land somewhere in the bootloader or app depending on how far the +resets progressed - either is fine. + +### Step 17: Disassemble `main` and read the boot sequence + +``` +(gdb) disassemble 0x10000234,+80 +``` + +You should see the miniature version of Part 7.1: + +``` +0x10000234
: push {lr} +0x10000238 : bl 0x10000278 +0x1000023e : bl 0x100002c8 +0x10000244 : bl 0x100002fc +0x1000024c : bl 0x100003b0 +0x10000254 : bl 0x100002ac +``` + +Note `main` does almost nothing itself - it is a sequence of calls, exactly +the design we built. + +### Step 18: Stop inside the crypto (the payoff breakpoint) + +The interesting code is `verify_manifest` at `0x100003b0` and the mbedtls +front-end `aes128_cmac` at `0x1000031c`. Re-arm a hardware breakpoint and +reset: + +``` +(gdb) hbreak *0x100003b0 +(gdb) monitor reset halt +(gdb) continue +``` + +After 2 s (the startup pause) the core stops at the top of `verify_manifest`, +with `r0` pointing at the manifest copy on the stack. Step a little and watch +the argument registers the mbedtls call receives: + +``` +(gdb) disassemble 0x100003b0,+50 +(gdb) x/4bx 0x10006064 # low nibbles of the key? no: dump the key +(gdb) x/16bx 0x10006064 # the 16-byte fw_key from .rodata +0x10006064: 49 72 6f 6e 4e 65 74 42 6f 6f 74 4b 65 79 21 21 +``` + +`0x49 0x72 0x6F 0x6E ...` is `"IronNetBootKey!!"`. You just pulled the boot +key out of live flash with three GDB commands. (Refresh: the key's virtual +address is `0x10006064`; `nm` reports it as `10006064 r fw_key`.) + +### Step 19: Watch the verdict + +Let it run to the compare: + +``` +(gdb) hbreak *0x100003d0 # the bl cmac_tags_equal +(gdb) continue +``` + +`cmac_tags_equal` compares the freshly computed tag (on the stack) against the +16 bytes at offset +16 of the manifest (which came from flash). Step over it +(`next`) and check the return: + +``` +(gdb) next +(gdb) info registers r0 +``` + +`r0 == 1` means the tags matched and `boot_launch` is next. + +### Step 20: Single-step the application jump + +Set a breakpoint at the tail of `image_start` and keep going: + +``` +(gdb) break *0x100003ae +(gdb) continue +``` + +At `0x100003ae` the core is one `bx r3` away from the app. Inspect what it is +about to execute: + +``` +(gdb) info registers r3 +r3 0x1002015d +(gdb) x/4bx 0x10020000 # the app's vector table +0x10020000: 00 20 08 20 5d 01 02 10 # SP=0x20082000, reset=0x1002015d +``` + +`r3` and `vectors[1]` agree. Step into the jump: + +``` +(gdb) stepi +``` + +Watch the PC: it is now `0x1002015c` (the unencoded reset-vector address of +`_reset_handler`) and the stack pointer is `0x20082000`. The bootloader is +finished; the application startup code owns the machine. + +### Step 21: Re-verify from the application's side + +Quit and relaunch GDB against the app ELF (the core is already running it, so +no reset needed - reattach so symbols load): + +``` +(gdb) file build/0x0026a_app.elf +(gdb) target extended-remote :3333 +(gdb) hbreak *0x10020234 # app main +(gdb) monitor reset halt +(gdb) continue +``` + +When you hit `main`, the banner has already been decrypted and printed (it +runs before `main`). To watch the AES itself, break at +`secret_print_banner` instead: + +``` +(gdb) hbreak *0x10020568 +(gdb) monitor reset halt +(gdb) continue +``` + +Then single-step the four mbedtls calls from Part 8.1. At +`0x10020598` you can read the key argument: + +``` +(gdb) disassemble 0x10020568,+110 +(gdb) x/16bx 0x10024e6c # banner_key in .rodata +``` + +`0x24e6c` is the offset of the key inside the app image (Part 16/17 confirms +by Ghidra). You are reading the same constant three different ways: C source, +GDB, and now Ghidra. + +--- + +## Part 15: Reverse Engineering the Bootloader in Ghidra + +### Step 22: Import the ELF (not the raw .bin) + +Ghidra will happily import either, but the **ELF** brings symbols, section +names, and types. For a stripped factory image you would import the raw `.bin` +as a "Raw Binary" at base `0x10000000`; for this lab, use the ELF and check +the green "found symbols" messages after auto-analysis. + +1. **File > New Project** (non-shared), +2. **File > Import File**, select `build/0x0026a_bootloader.elf`, +3. Language: confirm `ARM LE:LE32:v8M` / Cortex-M33 view, +4. **Analyze** (auto-analysis defaults are fine). + +### Step 23: Find the interesting functions + +Open **Symbol Tree > Functions**: + +| Function | Address | What you will see | +| -------------------- | ------------ | -------------------------------------------------- | +| `main` | `0x10000234` | Five calls, no logic of its own | +| `boot_init` | `0x10000278` | `stdio_init_all`, a wait, a puts | +| `verify_manifest` | `0x100003b0` | the 16-byte key push + `aes128_cmac` + compare | +| `aes128_cmac` | `0x1000031c` | `mbedtls_cipher_info_from_type` + `mbedtls_cipher_cmac` | +| `image_start` | `0x10000394` | the VTOR/MSP/bx block from Part 7.4 | + +Double-click `verify_manifest`. Ghidra's decompiler shows something close to +our C - including the constant table it pulled from `.rodata`. Open the +**Data** panel and navigate to `0x10006064`: Ghidra lists a 16-byte array. It +is the key. Rename it by selecting and pressing `L` (e.g. `fw_key`), then +annotate `main`'s call graph with the whole boot sequence. + +### Step 24: Recover the "spec" from the image + +- List exports/imports: the binary imports `cdns_usb_table`, stdio routines, + and - from `.dynamic` or relocation - nothing surprising for an SDK binary. +- Note `binary_info` header: the SDK stores program_name + (`0x0026a_bootloader`) and build date inside the image at `0x10000100`; this + is exactly what `picotool info` prints and a useful fingerprint for hunting + unknown binaries in the wild. + +--- + +## Part 16: Reverse Engineering the Application in Ghidra (Find the AES) + +The app is the richer target. Repeating Part 15 step 22 with +`build/0x0026a_app.elf` gives you the full symbol table, because we shipped +the ELF. On a real malicious/hardened build you would import +`0x0026a_app.bin` at `0x10020000` (base from `manifest.bin`) and rely on +strings. + +### Step 25: The easy tour (symbols) + +| Symbol | Address | Observations | +| ---------------------- | ------------ | --------------------------------------------------- | +| `_reset_handler` | `0x1002015c` | first code; assumes SP/VTOR set (our bootloader does) | +| `main` | `0x10020234` | the thin orchestrator from Part 8.5 | +| `secret_print_banner` | `0x10020568` | four mbedtls calls; the AES gate | +| `led_handle_ir` | `0x100204d8` | flattened struct logic (see below) | + +Open `main`. Because everything was inlined and optimized, Ghidra shows a +clean calling skeleton - the same one GDB showed in Part 14 Step 21. + +### Step 26: The "struct is a lie" lesson, revisited + +Open `led_handle_ir` at `0x100204d8`. Ghidra's decompiler will *not* show you +`simple_led_ctrl_t` fields by name (the type was flattened at compile time, +WEEK 11 Part 10). Instead you see direct byte loads off the pointer and the +constant compares `0xc`, `0x18`, `0x5e` - the NEC commands. The three +`mcrr`/`strb` groups are the `gpio_put`/`gpio_set_dir` calls inlined from the +LED module. Same behavior, zero struct abstraction, single program counter. + +### Step 27: Find the four AES calls + +Open `secret_print_banner`. The decompiler names the imported mbedtls calls +directly: + +``` +mbedtls_aes_init(ctx) +mbedtls_aes_setkey_dec(ctx, key, 128) +mbedtls_aes_crypt_cbc(ctx, MBEDTLS_AES_DECRYPT, 32, iv, ct_buf, ct_buf) +mbedtls_aes_free(ctx) +``` + +The red referenced addresses are: + +| Data | Address (VA) | Bytes | ASCII | +| ---------------- | ------------ | ------------------------------- | ------------ | +| banner ciphertext| `0x10024d78` | `ba ec 4a 19 ... 7b b2 e7 6e` | (binary) | +| banner IV | `0x10024d9c` | `41 70 70 53 65 63 72 65 74 49 56 31 32 33 34 35` | `AppSecretIV12345` | +| `app banner: %s` | `0x10024d68` | `61 70 70 20 62 61 6e 6e 65 72 3a 20 25 73 0a` | `app banner: %s\n` | +| banner key | `0x10024e6c` | `49 72 6f 6e 4e 65 74 42 6f 6f 74 4b 65 79 21 21` | `IronNetBootKey!!` | + +### Step 28: Decrypt it with what you found + +Ghidra hands you plain values; OpenSSL decrypts for you - you do not need to +recover the source: + +``` +$ printf 'baec4a1925861bb92dfd9f13f79b3e80cf12b698db9165be8fd7c3477bb2e76e' \ + | xxd -r -p \ + | openssl enc -d -aes-128-cbc \ + -K 49726f6e4e6574426f6f744b65792121 \ + -iv 41707053656372657449563132333435 -nopad +SECRET: IR LINK SECURED ONLINE +``` + +Because the key is 70 bytes from its ciphertext in the same ELF, "breaking" +the app took: import, click, copy three hex constants, run one command. The +whole exercise is about **finding key material**, never about cracking AES. + +### Step 29: Now repeat it on the stripped .bin (harder, real-world) + +Delete the app from the project, import `0x0026a_app.bin` with **Language = +ARM LE v8M** and **Image base = 0x10020000**. No symbols. Now your anchors +are: + +- The string `app banner: %s` (String search, `Ctrl+Shift+S`), which xrefs to + the second half of `secret_print_banner`. +- The 16 bytes `AppSecretIV12345` nearby in `.rodata`. +- The constant `0x48564d411f...` = `AppSecretIV12345` pattern as 4 little + endian words (this is your Ghidra jump-start trick: search for the hex of an + ASCII IV). + +Renaming data (`L`) and entering type views as you go will reconstruct the +module structure from the stripped blob exactly as if a debugger had been +kind. + +--- + +## Part 17: A Bootloader You Can Read (Reference Address Map) + +Everything you should have collected so far, in one table. Builds are +deterministic for the checked-in sources, so your numbers should match. + +### Bootloader (0x0026a_bootloader.elf) + +| Role | Symbol | Address | +| ----------------------- | ------------------- | ------------ | +| Boot sequence | `main` | `0x10000234` | +| Console + 2 s pause | `boot_init` | `0x10000278` | +| Failure idle loop | `boot_halt` | `0x10000294` | +| Success handoff | `boot_launch` | `0x100002ac` | +| Flash manifest read | `manifest_read` | `0x100002c8` | +| Magic/version check | `manifest_is_valid` | `0x100002fc` | +| mbedtls CMAC front-end | `aes128_cmac` | `0x1000031c` | +| Constant-time compare | `cmac_tags_equal` | `0x10000348` | +| VTOR/MSP/bx jump | `image_start` | `0x10000394` | +| CMAC verdict | `verify_manifest` | `0x100003b0` | +| Boot key (rodata) | `fw_key` | `0x10006064` | + +### Application (0x0026a_app.elf) + +| Role | Symbol | Address | +| ----------------------- | --------------------- | ------------ | +| App reset vector | `_reset_handler` | `0x1002015c` | +| App entry point | `main` | `0x10020234` | +| NEC decoder init | `ir_init` | `0x1002027c` | +| NEC blocking decode | `ir_getkey` | `0x100202a4` | +| LED default config | `led_default` | `0x10020498` | +| LED GPIO setup | `led_init` | `0x100204a8` | +| IR -> LED dispatch | `led_handle_ir` | `0x100204d8` | +| AES banner decrypt | `secret_print_banner` | `0x10020568` | +| String `app banner: %s` | (rodata) | `0x10024d68` | +| Banner ciphertext | (rodata) | `0x10024d78` | +| Banner IV | (rodata) | `0x10024d9c` | +| Banner key | (rodata) | `0x10024e6c` | +| Initial SP (vector[0]) | (data) | `0x20082000` | + +--- + +## Part 18: Summary and Review + +### What You Built + +``` ++-----+ +-----+ +---------+ +| ROM | ------> | BL | -----> | APP | +| | boots | 0x1 | verif. | 0x10020 | +| | bootl. | 000 | aes128 | 000 | +| | | 000 | cmac | | ++-----+ +-----+ +---------+ + | + +--reads-+ manifest @ 0x1001F000 (tag) + | | + +--reads-+ app @ 0x10020000 (image bytes) +``` + +Enforcement point: `verify_manifest` recomputes +`AES_CMAC(fw_key, app_base, app_size)` and compares to the stored tag. On +match, `image_start` sets VTOR, loads SP, and branches to the app reset +vector. On mismatch, `boot_halt` reports and idles. One flipped byte in the +app and the whole chain refuses. + +### Key Lessons + +1. **Linker scripts place your program.** `MEMORY`/ORIGIN/LENGTH + a changed + `FLASH` line moved the app 128 KiB up. `__StackTop = 0x20082000` in the + vector table is direct evidence. +2. **Modules keep firmware readable.** Both `main.c` files are thin; crypto, + manifest, IR, LED, and banner live in one-responsibility `.c`/`.h` pairs, + every prototype Doxygen-documented, nothing past 8 executable lines. +3. **AES is everywhere in SDK firmware.** `pico_mbedtls` gives you a tuned AES + for free. You used it both to authenticate (bootloader CMAC) and to hide a + string (app CBC banner). +4. **CBC with no padding** encrypts 32 bytes as two blocks; IV is read/updated + in place - give `crypt_cbc` a mutable copy. +5. **Static keys are secrets-in-name only.** SWD/GDB/Ghidra read the key from + flash (`0x10006064`) in minutes. Real products store root keys in OTP and + verify with the ROM (Part 19). +6. **Reverse engineering = treasure hunt.** You never "break" AES; you find + the key, IV, and ciphertext and press decrypt. + +--- + +## Part 19: Your Turn (Hacking Exercises) + +Try these on your own board; each one is a small, safe extension. + +### Challenge 1 - Swap two LED pins without touching the source + +The PINs are value-initialized data in `led_default` (the struct fields the +compiler stored in `.rodata`). Find the address in the stripped app `.bin` +(Ghidra: `led_default` xrefs the literals 16, 17, 18), patch the 16 and 18 +literals, re-flash the *unsigned* image, and watch the bootloader reject it - +then re-sign with `sign_firmware.py` and this time it boots with the hack. + +### Challenge 2 - Change the boot key (both sides) + +Edit the 16 bytes in `verify.c`, rebuild only the bootloader, re-sign the app +with `--key` matching, flash all three, and boot. Then sign the app with the +OLD key and confirm rejection. You have now installed your own signing +authority on your own board. + +### Challenge 3 - Make the banner say something else + +Change the plaintext (must stay 32 bytes for the no-padding CBC), re-encrypt +with `openssl`, update `banner_ct` in `secret.c`, rebuild, re-sign, flash. +Your Ghidra notes from Part 16 now decode the new banner id +to differentiate it. + +### Challenge 4 - Think through the upgrade path + +The manifest has a `version` field that is currently ignored after a magic +check. Sketch how `boot_launch` could validate a counter ("only downgrade a +fixed number of times") - the classic anti-rollback feature that separates +consumer OTA from device management-grade OTA. You should be able to name the +flash sectors you would need to reserve to make that safe (hint: state must +survive app updates, so it cannot live in the app image). + +### Challenge 5 - The honest conversation about the key + +Write one paragraph each for a product manager: (1) why AES-CMAC with a flash +key stops a script-kiddie flash overwrite, and (2) why it does not stop a +determined hardware attacker, and (3) which real mechanism (OTP key, ROM +verifier with `secp256k1`, anti-dumping measurements) closes that hole. If you +can explain all three, you understand secure boot at a professional level. + +--- + +## Key Takeaways + +- Authenticated boot = each stage refuses to start the next until a secret join + the image to a tag proves it is the right bytes. +- AES-128-CMAC (RFC 4493) is a keyed CBC-MAC with two subkeys; unforgeable + without the key, verifiable with a few lines of mbedtls. +- `manifest.bin` is a 4096-byte sector at `0x1001F000`; a 16-byte tag is the + only secret-bearing field. +- The app lives at `0x10020000` because `memmap_app.ld` says so; the vector + table's `0x20082000` stack pointer proves it. +- The SDK bundles Mbed TLS; `mbedtls_aes_*` decrypts at runtime with zero + third-party code. +- OpenOCD `program verify reset exit` writes each partition; + flash read-back `verify` is not authentication. +- GDB `hbreak`/`stepi`/`x/16bx` on a live Pico 2 shows you key bytes and the + exact `bx` that enters the app. +- Ghidra on the ELF names the AES calls; Ghidra on the .bin finds them via the + constant table and IV string. +- A key dumped from flash is not a secret. OTP + ROM verification is. + +--- + +## Glossary + +| Term | Definition | +| ------------------- | ------------------------------------------------------------------- | +| Boot chain | Ordered stages where each stage authenticates the next. | +| XIP | Execute-in-place: code runs straight from flash memory-mapped at 0x10000000. | +| CMAC | Keyed message-authentication code based on a block cipher (NIST CMAC / RFC 4493). | +| CBC-MAC | MAC built by chaining AES-CBC blocks; needs the final-block fix CMAC adds. | +| Tag | The short authenticator output (16 bytes here) proving message integrity. | +| Manifest | Small signed record describing an image: address, size, tag. | +| VTOR | Vector Table Offset Register; tells the CPU where the vector table is. | +| MagnumOpus issue | A willful misunderstanding source: see Part 18. | +| OTP | One-time-programmable memory; writes once, reads forever, cannot be re-flashed. | +| RO/RW/HAL | read only / read write / hardware abstraction layer, the three concerns a linker script separates. | + +--- + +## Additional Resources + +### RFC and Standard References + +- RFC 4493 - The AES-CMAC Algorithm (the subkey derivation and four vectors used here) +- NIST SP 800-38B - Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication + +### In the Repo + +- `tools/sign_firmware.py` - the pure-Python signer/verifier (read the header comment for a CMAC walkthrough) +- `common/include/mbedtls_config.h` - the minimal SDK mbedtls config (AES_C, CBC, CMAC_C) + +### Pico SDK Internals (open these while you read Part 6) + +- `~/.pico-sdk/sdk/2.2.0/src/rp2_common/pico_crt0/rp2350/memmap_default.ld` - the SDK linker script we copied +- `~/.pico-sdk/sdk/2.2.0/src/rp2_common/pico_standard_link/` - crumbs for flash region generation +- `~/.pico-sdk/sdk/2.2.0/src/rp2_common/pico_crt0/crt0.S` - `_reset_handler`, `_entry_point`, and the vector table layout + +### Tooling Used in This Lab + +- OpenOCD from the SDK (`~/.pico-sdk/openocd/0.12.0+dev`) +- GDB / objdump / nm from the ARM GNU toolchain (`~/.pico-sdk/toolchain/14_2_Rel1`) +- Ghidra (import both ELF and raw .bin; see Parts 15-16) +- `openssl enc -aes-128-cbc -nopad` for host-side banner cryptography + +--- + +## Real-World Implications + +### What You've Learned in This Course + +Your Pico 2 is now a small secure-boot platform: ROM -> bootloader -> manifest +-> app, with an authenticated handoff at every boundary you control. The same +skills invert perfectly for defense: when you audit a device, this is the +mental model you bring - *what authenticates the next stage, where is the key, +and what happens if it is not there?* + +### The Power and Responsibility + +- The **power**: you can now build boot chains, move firmware around the + address space at will, extract keys, and re-sign images. That is the exact + toolbox used both to protect smart locks and to compromise them. +- The **responsibility**: only ever apply these techniques to devices you own + 100% or are explicitly authorized to test. The moment you run + `BOOT FAILED` on someone else's device, you have crossed into criminal + tampering and possibly a safety-critical product. +- The **engineering honesty**: a flash key is a speed bump, not a wall. Any + product story that claims "AES secure boot" must be asked, *where is the key, + and who can read it?* If the answer is "in the firmware," the whiteboard does + not add up. + +### Keep Learning + +- Swap the CMAC for the RP2350 ROM `secp256k1` verifier to get real + asymmetric trust (flash dumps stop being useful). +- Use `pico_set_uf2_...` on a real board to ship an OTA payload that your own + bootloader authenticates before the boot stage writes it. +- Read how real device IDs (RP2350's unique serial) can be mixed into the key + schedule so an image signed for one board will not run on another. + +**Now go flash your own CA.** You control the manifest, the key, and the +gate that decides what runs on your hardware. \ No newline at end of file diff --git a/0x0026a_custom-bootloader/WEEK11a.pdf b/0x0026a_custom-bootloader/WEEK11a.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a3c9d419445e04546e6eb3c91eb2ea200b9a88c4 GIT binary patch literal 1125364 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%0DZ*I)LO#Z8 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%0DhH&qX&DwCH9<` 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

adLiv3Q!f5&&e-|L}C>z=g`Qfyg zO@l6{w+zTk;-`?tOFkxgD0dclMZo_Xt=#;<+;!Rg0Lopf!ppwrml z8;%{j-g)wSn#&GsKK9uOzx~p6htYTUzUt?eA8kGUf-m1(@L~4Y z0qf4{x#Z>D*IRp+_v?PU;N!o4G<;n4@11YEru`*9ta{U!)AxS%mC@gB_|T{S`f>kB z+da_k?6(*1d+@m@u6XMEg_iq&`rYX_^>};j)$X}-{%OS*2QB)df16{j7{B_^JPrE0(@=Z_sh|i$81JYL|VUSlD^>@#B|g_vo~^_cPbLF!7t?A6qhX`Gl3u z-fGK(e(lg?+OvnPFn)1|lb+oD?;T!f`t2b|J{bJxXYwvXSHap%oe$&$O*7t4D>y>`vH~V(l zk8|#OIh=grI`21|yvi!Q_c&+En}&|-w)#p}o>hA4{_(5bw8d8UkNEM5O*VOdzZ=i( zw%v@6XYDxS<8TN3|CB5Cy!_j%_q=@A-J{pLX4PVg1C~w=iYu+v=c~@sI}Pt~QJd+9 z|GeF|Tc5Dy6Em7-ZlB)!_HnZ|{kg}-$IiU2ZL^mipV;B2)+@Ig+;~vik1w6F+xZu4 zu+2sP+JEbv&kL`-;)6XGj6MAMpw~HL*Dk)d{q&CuJ52xhu}ce=FF5R@&f{`j-`;+D z@1qa8X_tRI|Iy`}=K7wn$!RlIn7nwe)h1u~&ucc1*YA7g+#g@Pq;SZn4bEC0ewusC zK0og>|CC8RTiiBvP*-RU*!J_))<3Xcm-jkczxBArZ(XqK@jKkP?A+k>_nzta(L05E zPCfURmQ(sI-s^+EZ+_g~7jE^>Nzec5q@h1-{_k728MXC;`+vFT*ToMO?)}dV-`-@@ z`EkG7PakmWyF0cxWxMPxGhTb@=1X5&+GgPOA8oqvf~K2&HnaUb4}N>V^p{KXqwbB@ z`0?41gT8p}o@=_U@k_sbns=Vj__qa;&DNbZSmB2+?(IG(o_0y2 zO&;0)=+9T2GW5bhYaD(1`73YRdfWrIT>GzmZ(Fh7!W*V_XfpYYV@9vH)zNb<==sU| zjVAP8X+f_SzrOqWcc*qf;*<4PxMWC+?#Ip@*7=dozwg|5Q)uxpdfN+*d2Q*~Z|>iI zm8z|}MNd-wcHp4cZlarA2IJ~F1!++!Zz^Yi`t zufD=(P4Au9;_(f4={xzCEnCl7|GC=^yYr|G*Xy=VqdOm({@p(F-yJ`9_14|anY((U z-kl!!?7{vcSDpLrL%VIUdiUqIz4`im7N7Oc^;T`Z^x3{oKQM5@W@pX5Y~^zKFV9-<-;H*?VU0P{&%3_O*(CB$HtlWOLnOijd;;8ixJ-^kn{~7%{Xl>l+ z<0tmJwN0l9pC6H*bMD+`ZM&T}x7nCZ2c33h$8M#bO*@Wja{2q?!ppyYqlYip1CN&4`PGvi`RMVB)_r}8FB|uahPR!0MXzf| zj9D`LyhWSs@YoSMu983Pxf#v&{``oySKq7DW=6MmVT%u!jCuFlmw$p{HclEyz#1&pK06moWri_cS_d*I~KMW*y-fI-SY0P*Ka=Vj$7A$ z?~;55&-(UVg z?wAy>wAIK)pS3*T*zbSod;Y;I z{CM&1OAZ;e;P|mWth(h{cfl=z&)=+DaQuajtg_`wJ)ijG>&x12vgHx|H~jc-SMN9Q z?Xe@9l@9NI=L0jgKB>=~9ZP$R8QJL50nY|Uy*~KD&Hp|7f>qvZbiu((Pm9k#aKgpQ z8qJw~>InyQd}x!!r%t@?!fETY9zSiJ_in!Qg*(>yW!C&Lmt37)a>&L(kB{&CaQogH z<}kz#Y5X-DBfrcXz+E*Z5{jyY%|%sW}Jk*)_ajw-e7z@6dIP;(-e>=Iyd&hnsuX)uM00lg% zQ{$cQJNv2KFM90Ey3=Qsu4}qilUAksuj{+VW?%fUX#WudH`ws2dGory^hmo+HaTO+ zVK?0}q5bpoHk{w<=J6A@f8fy<_Pu6Fix202aNUw0^X)zzaeU7o&%AlaDjVMN&^ays z`Op22zjnZ{0~(!m#=`?fKEL8L=&p8ByVF-_+^Y0a{*JTn`>Mxo{Tdy;WaS;(?|SAH zJ3M#o!A;NnpnLm&XMS3t$>4q)AJ(erCU>3H_m^3R-oNI_kroT1n>C4u=sM~M*-BRqa=W~}mIqAd=uDo~XtdkFa z@U?~8Z+7!4eJ9;IJJY>!lOOi!(*58jyLbBW=1Yp*M~`_k>U~hlzh~P&Irgyyt4=*K z?9zA@xKOlLn~yGQ)$-ZZy1w`Gru$sE`YQX*YjSyJ`TLVc^=+}y85?ZWX5&Za49K4F z?7Hvu-R{_RCw}{Q*m`jL?baJN^X7*~UDo+Ovlopx{@o+GthDIN?jOuQzwzCZj=cGv zhYq;(lrv{snSY_@)z===ZjHJnyT(l?eKmN<`RlxKdAFaB*=E|IN1WSu^1Ob#mX7V! ze_We(KOV5&x~*Tk_`F@t?0(iuZ|yjGjWf?5HanPd{*%i-*!JBmr=17*z5UK?Hu|_Z zb(b}LE4R@z7mS@Uq0zJNeA#2cS=&Cpp!?A8c58I;2`e;t^U_@|dFYu|uWWzYwd?Ho z>iCH#4(##V?7{z9e~ZsI=zj49D~?$0!qay7V$qg81})iT;fHr^JUMg2J!>D_altJ| zO;wM!uMb}=9(2G?gVtU1L}+8tch3Pw_3qya{zqM-vj+*X{o z&v(b4-F@F?+mG3O>(|FjpE`G=Bl_L>{L{0#pMPnuecrkB;Tz6D3qfw!-uOSbJH=8E+rl{lnIKzIo2@ zeYY5w+5fbeQJZ1iu zBl``0>Z%*Q9)9S6A$QHcBm4bJpU>U2^H%*9UEj7(w~I!WKHL1IN2WL0?77R2zvsST z7xgOjJ@flPH>?mpGGf(!^Ji~*bemG&MuVq}Sar$F*;5;p;8c2U%SY$8+i+L-Y|=ez z54vHqaoeo9aei*ghkBg9EqZUK=4Xu)q=CfZ+Ieht1N39w(yQ<5V z?_Imq`%4RZ4twaGYu?=Ug0Ff%_wA?G+_>AkGon#TcfWe^&x~gygn;vMg$Ljr08uP=@Hg9~p^z}8i*k;D?0q-qr|I@6y?wiqO z)O|wPFnc&uaDh#^-gb$JnPj}KI=X2+fmJyj@@Y3M^B8L zc)@~^Yff*v?ay0&Gd$et^EsuaGv1$i?9+Si+4?^t`tA7ottXtESya0Ep>+mLTry#U z0l#&4_Vwil3|-djkv(?);Oo~14te{=fu9|A^5l&^KX2ZJi!Zx-=z~)~+kJG4bzZsm zqo?P6{^a=MdY-oLx2OHO;FY~Mf=k{j?fYi#H%ptQY__&GP5DAhn>4-l_jd-zT>2+Vqm~-P<4e z?q_paEojuK)sri(y5`1pKQFvAbI9~9=Z*U6=@GlGw_X2rn`UOWZrE8@EuZ;*oudlJcD(tttIj;O`33Wj+H0+EpMT=w_rJJ%%*FGc zch1Qb~uj}3R&zKcGxG2?)U^QQEk&_(1cl;V5h@(-ujv~`yY05 z^XTc_UV5kV%+rp0YS1_5d~n{?hqT<|;y1T={f8A6-8=5h3-+6K#6Nl+vHr)suioaW zUSGVq?Y(Pt>Rjl$=+t48=X~|}f4+Tf=rL%82yYH0cr_V0leeb$&@38fV z_IE$^_*c6fv&zob-u}Z8x9`9IF}dqz_y5Pae;Yo1%zKB8>Am%dpPn-Cj_cKD`}6BZtsKtkcgoy7)~g$~-}(nGn>6gu(b<#3PN&Qs5dCMPtB0-e)N6OYdd2AT zHhuf6XC5iuv;O;I`u;p+lj|QDv}Da4uH9zoo`?3_xjc%cc(K9PBV+^vjDzbh>8Rs7o%NG3$rkHw?LC*M-yO zEuMN!-`y@bWco!vpR?_6M-TpWCy_O9B zx!K;wjX(T^9&IPTw(z^zZ;Wf+cF;+Erhaixarxr)7WBOH)S(?0t-Z&MZ@j!;?(^Q= zXTH3w}JGc7s}f`R*}*EZ_4 zV~-{++MPUn-$RD?9NtI#>ApcGfN$v1q{Y6uAOrv4eXCYYTC^WBc)0j|`!EyY@7qV2 zNWF_Qv3i%!;zyNJPw|xc=AC?IeV}}esVMMRt2lYHbep=V0Mc1Ck49m1QqzM>XdA;GcRQX98{TAfJJM>hnS- z&;}2R(2G%h9@b^xAC3vL8ThB(=Q5#ot}w{JKlM38kpA8<%D_MP{C7A@sF>u=lC8m6 zLLrjy8i?n=B!@J-vp@={WP!gr@`a<-!?}L96T$a}g$(>tj#kWs+DRkGJ=#g5YzF?} zm?)Qlf9idZiB!J#&Rmi5Xzq-;8k{i_{{O%0jDJWL)6VrfvPNXh8bK|F`XA34|4p@n zkwKi%`+FQgr3oIfVJ(gzlFENc#MY;XY$$^_Q1KV5{LBp!)nJfVWb^+LgEUZu|A(ec zF;D*9LQVXw=e!!{GVl-Q*f_|*KY0H;A~v?pv2iU9@?SK^)+b^~k@tr>$nPCn96AuJ_l?6 zZiDBo8#2XO4E|rVAybc(`-ev|orlTBNZEkDBTDmXr-esp*1C;mhN+lh|4YKO9#*5f zA@#8!-NmSvMbzG!VG-+Im1z+%ul|=8(3hSnk z=@nuI|0}%$jxK)p=|z1a5{?;?Ck@pmzu#jMYlV}w?hhF@Dg4zX&R=B{wwBa$*zeGN z!CGu&ty?mt?*Hm)qdvNaW4b@*r0)0FL@K&T3nNEacV$eQ{MEI@{|TGW-1U3xW3Mc% zn<8@iq;h0h`2Q=5KkY1>S{dH|(UnEPURhXoV@$93zg$`TRn;V2C;Z{IwO1(CO&G(r z#lN~j`2)_q|E#$aqPCXWv!QCCqP-Tf?!1^*{=Zxc)n{!$qp&`!^`f=r$yxVLOx=s0 z|39}b`yF*l(OS3UtUDs6j{nE&mj8l`_PbB`evc0NGO8@93Nw&^jF>=m4K=P6-4X(#-#r2>pZaP-N@um78@p$@B|( zmFZ7d>N(<%?4y^@f%&ZUN%cu zG5O6gl9xcPE}1+sl9$zdCNGI*@*+`m$;g9Hc#%U=zuG$WC%?LY-y#nzfG&QE+|2Bf zDIz0998yF^;C>k}lKRy`FV&@nSq$}!%abl}Z4bXETZdnit;281)*&}pyw{idmEtd| ze`NssOX@rEavL15%d!ey)pz3kzaGSR@>UvZC33vbyQqg`; z-;5LozA+OJa`N|Sazggn$>D`fV3J4} zQgTA2Y2-j#Lk9PiQtGRbLP}`?N+;nzsfyR6C|eOFC(Mz?)v3sa3{T-Ams1U$eFxl@s21ZA^a|lgu#);C-Rh>_mqT&UY~+fRoR~w>MC;rU*%G@Za9y}lrj%8)K^AXz()1wjbf!|% zQcC{@$|P*EGz{g9&@@Vhm^OM@DyJ)~ZE{LahuhII^)fkK4pFwIDubDvIm(xxr|QeG zj2_LXazL8iY;sEX2RWtFGC31_Wv16A(gZpj5R(>xSE&J*r~Z~H!S&YzGc7vzA2z&+ z{O=0#09m6X{K8mIfJ`(>&To3q8@P-dogd_YGzmMvemS3*^}XtH9#7tS zHk`+>o{TahCD3_6-oH-cDXDeodqhpJG3Cg1DnIFayi7rKN{|u%yRu`4#*LI*T*<(-~1 zCOJJ^zH>_lG(zNnGrlvSfx=S(d=7 zN@IAf6n<9Wt~NTdvHUwKjl2z&`t2%><0grrY#OF=`y`DL*Nc@Ntq+pd>x?k9=mqa~ zLE8|y6~N?l7Ux<{sX{|enm+P=b&$TfM5n)iMtWYPVh_DZlN$WdNS7N|Y4plYZ)2?l z{cy69r7lc;B44EuHH>RfVn`!hesvl>n{idSFAV@SiQ1vd;uam{HhFEqbRBJM84p~U zA)T`&em{**Lv9;AnvwEiKpH)Z+-mPJi+2f_oUTbn&)K+dX~;>Fklc<;qmIW09)NRx_05vTEG$Z4ZTlR?3i3~X|$q>PAWCa2Rol;7fh zv0+b|RFbe*BLWOLE#*i^*ADUv)AVMOQw9Uv1Cf&yl~Y!vsnkF;x+Po6;%W&>GPP%| z4hU3<2FXCpgqYLdXZ7Xisn9}BS`uERr0%_f{=<6ljRJ{YP2-ts)V7+Yi9iA}YbS?C z0*1k9)|Ug)=p|RvhzTX-oCGkY(cmKD`2^=FqDfv3NTb&Q&{WLMS;SCMp8RGLC~@Je^k_sR zp#nyP;gp!ua0J*+%i(c4G%GdNCpmc@n#NsO&Pr)rQ922NoIFuYqh!cwqen`KT=Foz z205`*M_yRS%Z`p|+?D051banJQj+B444X#Dkkdww%%C~heKw7r&7PP&kQXMWw0bHv zW9kFvP^m{9kt0Lm#NYo|Bj4fQ}moX-AyB*O;1ji2{&XG z&&jjvG*aC5c7iks%Mob=mGO0(VG+#gv>KUV#&;esmnE&NFNmZxh01g1G{y``tpsTr zlxOQ{1Z|SyiY14K;B+#SjSEt#;ff`v`zo{aoTd3xc34g$Wk@P#3S;ug(nKh~GL4{3 zQd~CVu-!A2RN5z%nv#?phZCF9j4BVc(@1ei?F4Bmlq1pzS|ml@pc{Ciz;U8oIww*W z1{gHn##NTGHV~KllI|2{uC{W{Q+`85a=tO0fo6B-p|wHKHe1kBrkoQ!K*}~esFr0L zo>h|qNA{mivz@`1O;UQyl#^eUM$pXECDe8oFqevR?1@di-+3Hua4Eycut$z2TnPk7 z<1(=}%;9l4QJvq}eU6;nR|1osT;-fc(p*a2{+s2r98I=zM4FVuNi=(~I>57YDyfL8 zG&%-j6_f&zlqOpzOd;tc2vGp$WWs<~8SBhRT;;yOr8UNA26rCEmlvI6yQLyAwCB$u zo|JOwcdVYn6L8a&X*zeF_){aRzyKrTkvcW9_+6TjrA=~`<6OlXA>llf=N2GG=@qTz z=*;3gV>Sp{vlGq3&clA9EX|%!mUK2Msc@b&Wf_dg1(#vP63p`DcKQ3a0q7Y-GCB-A z?2*9G?B5HivU+b2#0mpnuAQCt88< zKvYK@(+{nXBWMLekIs}%xI$uQH;3>9%9M!9+WiBMkxj>?%MvHt!JI#GcqC1E@{3?Z zADBGR$<_&(NR||MK2Df&9y;^1g6HWbQ*@%0BhobAwFCS)JdQ>!XCT+NG;1W4RHW+qht86EdBPp|Pxmb(L5D4{_*@*{A4Ig+Oo5Hc=)KxR3 z6&gN%=!{&UvZY^fCALQ(N7Ud-8s`DC5~4Exyzoi3@`G9!o}gyG2A0F~ebbd_9p!{- zC|9B~s}*W3u9R@DART-(_1I>8Q+u>DK-ta1`P&)faXhhm% z!3!BgRG8sIYhyVgji6GiMv{o|@yJRI5I%t)94DunMe$5b3sxuYC?PZQ0Hybz6h46; zWGEnzArd~MV8sz$c19j*l(`|o$B7t94Ig-ntilf|4}izS;)z#f9S}$WP?{E4_yii_ z!(55plE4vZ1ksfO-N6X%!)p*yO|De`*(Z>#S<+ZEWL9++mznHG22RkGMP{{Jtx4wk z&pv?@@nOhpTkp}^D}ijokfub7%pU8#1_&Q?u~Zh*whrJyysGsC+83IDVCxAw`#A6L zsAW9Ek(Shc8Z54KRj8)7g47ViE$&XMAR%8EI1y*ujsz!GNrUu)Pv8WKCH5tehb|kPH+V$h#)GXmqL6#Gt#o0j5%@N2brP> zrof4Z;%r(iOfUQdeu%Ar^gO9VRY;ceI3mr$4!Pk39GT*B3j?N6twnBfP=ZQNBZ$zP z0Q=#HjmlCWk%*8C(aqr%b5?-P0BmC}Q%ZuLrPt9M=0uI@&?Jpgh@NSpa3Z|8MhMP} z5Tvp0gk_P?)a*fMNW3K%ur-Xy6ixa5n6bdbj0Jv}u|R{enC9t4o4^k<77)x>CD0<8 za6K?%W%eLHnwYUb;-YHclS~Y>2$Ium4 zRuw&(%w6%Bc=^DI$1)Ue+aHK&Md1Wf83Yw}g(m@;`f8@9 z7_)6H=4mo14=no9hb9k;I6!g5zay7^ouA>it$C434Xw$fB=gsa?%pT zi7Toir<|CmoPH5xm6Oik@}wgzfDC(9&Z8=F(h1zz0;Y>MjJg!Ot>#!mBJM;Z<$xAxMJeJ0~25OQGRE%q!`Qi@*s|(rKCQ z230Htcbx)+a4;_YVn;tEkaI~V4=1e1)OCP(5^8_fv5}#<%7j*tHcMv;C+sJgO!4%O zGUZxS8B9t4FrAWSQzynHsVM1d6`n#r3`#&SC`3^-BRerD4j0R2kSDr<6Z)Y>LV_A0 zT$218$|K>laAu|mHOhheEJ=hoB8{LH+s<4Gj$x1~F1M?UGT5wK$s}@<{2KaUCPM80 zVz?j$`QnIr$PLF$$P|~`D^lz#r8j{?=kd6qNI9RFa+A;toj?qSz2WQ;nPPJL!2+tt zO`;J;q?yOe5G9N?ct#5PJiOv`rF;Q?#_0+*0OPRT44Du@KO8}beQHc)(`a?#2olK` zdFVnConObAP#=}Dh^NhSLuZp2?oxQ(YD!6C)7cxQ>{3?dN^m@gOmUa;3neRQiVQ=| z__-9G+yi&A9EDfuLeyoP00Tprw)liI?c_~cy+3KWX&XA9+M*R+r5X~?n8J2CiOZnu zYx!l+&=2+y>TWQ?6IDgPFZkjJAB!LhG&-DZbC~{_J}NwsXmd7zVe~?LObiA`g&x^J z!x3pRCe8{&L@ZFI1nD#y22+(?J)(G0sD{qN{A6CjvwXsoJRGi_DLnf(HAO1b&L^iNOCr(4Vkeb;cD`{ASnUyT}N*lz5oR|nh=E`XbaUr@UbizO^GFQn)Hklj5 zg@n3OyO_!=oY?f)>YwI9e#JHc zU{qX)UQG_2unUXKe{vRbVv|y{Py{Zd7MQ3F>Oy|ln2=y&h&pK%>BPopbyl(vLSbr4 z>J2fGIUzAT3lXRYk(m~$aztu~<3xri9T_%=52;P&hR8xrP*ti6#TjLJc$GPsxsYEL z(%WXN#H6>KLph=bbz+AiRHs@<{8?GZ`LGwmh180R%S_8^=~cj{+_iVM+EsLwj_NQV7Xvf}om^}7>-m0YJH z@`$Wcok!)IDbjL^WXMAX85#fw$afX=pZL|WQNZayPq1DKQ6hF4V^ zD3nErC<|&IKgd!@AWIcDqBkN#zeh}ki1RS*L$jw7tyJ+#TO}w9#%9t>5s?PmVK1ssfwV$} z@d*>irO=7RF_deYlIe}S(An%NnbHw3L;_x-JJKXKn6i2&EC7?c-)f}XbO#?}_H(IQ zdxd?IxdewCh)QvMt+DCu1PXCkb$=%@rz&AOW$5hX1V))&6CwQDWQNkh!VHDL7^*Rs?-+c^N()m|nJp3Ab20^uyW1-0Qjh)Rt zh_7pT!Pl|H2k~{khB%=n#Tg?>BJxA}gcRvhQ5}uynvp(s=1Oo1j7(8qk0f>{%{2{! z*ep!9&?1RrsF`3Sp+;iUlV*O3CBYGC1j{jQH3~d~1>}}&lX)@nL?l^BvyBQlB8^Q; zj3bT?yivuvYG4tn2UjVl0QRx)QObg!Wu|4~xXLsY^O5cv!}U#KKJvpXRUt@XK5}Ar zn2SXScriVKg_djOq&>pU95fOE70Mu^D)hrF*-6tr>o~&CBO*kA0efLLUspTO;q4+xY|=9xNjy|?xIJ2&?#12R?=G~|3-cwrig-=%Jk^EA4jC= zCxKu<9tcb$@&hqN6wFg*itZgmejuiZf|x1I5T|eaOmO39ttdB8r%GT+1z<^{u1>vPweD`1z1(s-koN zT*`TtaVhd_8c~BwTRloQ3L+;)Nh{Ny5=#MaDRV#LQh0&~moik08I*SJiTqGd5k*0j zosxF$!4YX3YOx~Z;9b3gcxU2ggWV;qqdj>-8J@rhs+M3_W~bAz8%v8cdHXnB~IrLDxP z)EP)+Hpz^fcpRpDdp@MovlIEi=tZO}OJ(AtZC-FhnwF9!BAzCay4Berz+g(wKr*A~ z1D#G8I?FkGrx^5P3>oyuu0iBPw6q%pe+}kSj6ru3>?1;D6edp7lfjcsM!F9e`2kHL z0yL>8jb60F5osJ&c7dp*2sR;-I>8&YNJ{H-Cx|K;hzOzrGf30Is|qmG0$j{BH~b>! zVLazr!%ZN|5p~jO(g})5oOU1&bnWEV&m|&A5W*Amf9lyvTvBWiRS%^rjY zHVvUp;};&96laXi)=~j!jB$G+cEHF1S(;Rw2#4~lWo1s>mW$9Tv?}$3C{(d9%~gI7 zg$NI=4Y}!UIUJFuNQd08!i*9Sg~+dsid}BD!|4Z6hzLZX5-Ri&l{lh4a>FVl(f%az zYkyKjZW@4oSb~V0EfcxvN>+}jkKC}5O|(CWoPYuzj@A%j8-spWf{3&~smRT?m7Ev~ zm!B6w?!*?k6Hrit+!UY^`L#WX5R72NH^q+Nh%|eXXiUKSY8(q60c}NhPPTnJjnIBPG>*4b!VCcW_pN zJS58RpH*3fI?qIiZeUsw-7nc#&;9@Bg9B$Z``4lN0sonf>?(REoxK4?vWJh64GA21>!ZCEOl*>0M% z4~ywf5gwP5*!BZgM0m_@XpZfjInfmk&B0C=A}y%TIe`p@&q-%Dxg=n~$k{0-S;8Zt zfT+$72N98eC>3+ET|y@^flEmaT?s+DCU73QYFpTuE5RN?gom)q7-9iid$8H%rrFzx zdokU(6d|kwxKn8lkBAwUB9VD;S=qWK%B0EL38m1=tdbJo_yb`Tj7z`8k$xr+TO5Tn znL2?QrY<9dR#f~t_Jb(I1foDRN0KRyNHYcAgN=2g6u`D2A|ZL_qrvaN!n57UgF$1z zC)dP?G%ynlS+wB@PubN5k$FMm50E`%vU^2LOuDgD>`wcL;|NdLW%==^*gayhd&OZ) zKo~@JGQr>oPubP1^(WXpX0nT|=~Pzbt;<+Kwh)U{5gJb9R0e=otRJl| z+@w)4Tux0iTuxfG_%)4*Nz)i2CoKh>$P}xbGBl{1o}p!vleVfyi>E0r5n3g5%`TZ( zH5^h#hM%z0dKrV5ibmxT~Nh$Y1&3lgekQ7SIzT;}(b zpqKzVD*h4ElEHnm6X!Anz{qIVU2|&6aSbq+`2k~M0*oOtlLJ5;k!r7m%+=ZhS?BKt zn9H0P7M@rT7+~ae`s9V!3ENQtN9?STHZ|F~0p>C%e#Ma4Hh+(&vh z;%rFn^TX-HniR|NF`Z(acojp=3WAFGGo2ir5FM+W=A7+^%c&wK*%iPMUSU>3lR*YV z91^_ZPI8PrR{q4CF5@7T`LvuK!7QXWSJ)j4Kp~llEQ|e`?!?$;#*B4ZL^we{D%N#( zA*kRqFsG(iZ-AWc#9;6kK!}eiGp%!+KqQOIRkl3-sGRPE{TMQohz`6C8DuDa>L$I0y`J`VdtvIP4l21b}qJJ=L&QIQ!{qX z&RhxLAaMda7yDu7?4%1U99^I!^Vl06lc@G86=F*HK6s~EEh@wm+6Y#Qs4I9)tQ!4* zd$AR`SEQ>63BF2mHa-s_X3NMhMOsTb5q#xrWo51e2#pvKVKk}Av1x23Ks2Qo!G%CA zF&Fru?P7%MnL^VX;MZg)wgT0PGzU0=Y85T2bq*_7N&uya5xPdT=!BXX#izq#SP=NNUInpx~_sFEt>_(E5xsn^2!hYRwl(6W68;tl#@}fx-}_l1CuHXpcdd~ zJh7l$i+qsg<%T**QK)t`08>lpi2-T!v==cPQJEA#3*!VpF7^Y+#n>eWgQrZH`H-(> zkpptWCH8~I#S|u1W{G;C6D8)*8>FyAGoaWHau-v`U71Phkxq~pcNT=L8Frv|!D45N zAuY9?w^9+LPPnvRn;|=8dciDqHs3MCCVNX|HPV()u@lDT5F3Cd$P_Iz^Umdl!KTa& zrgg~LJ@5Ag(*_W z=Kb0MQJ&XSAsKsWQw_zUppW>X?n{m?*|RbQ)pO4Zc_f?h%~t? zRZE$@P8sBbTG$D(Qj)>`|nZ zU8Q`>0hdx5s%t-xR-W|gAud6)h#yERPeEGcXrh<5iQ*0)Zr}`e&vC2(~o4gaB z!xgFVNL-OL7@epom)wO6GR5Wgiyf;<>CLUY6Qg6utq$Ip-1I(EUg9g#EaQ+Hw)2rG zF1IjX8dc7wU2YbQE`pYvfyJxxdEgQcBJ$`9@Uxni5Mcs8OQ)mJ>I4dLDG-EX1Vl)e zB2H{nvY16gPi1Q&?}t0eV{aRiDYDmrBhqYTsuo$G<(Csd!xg20G~6p`7II<&v{zP1 zzF{Vhr~qnCC+5ZAQu>FfIhur=fD(hC%D7x?nuMG%A1!uX1CSUk=(r4WC*0T%NMk2W z?+oSrP%3%EVHk>}H$-qmnhQGQhQmx`iX|cE8L43&o4x6!4%AEDcuPfz-zF1eX0*Ggb0Bo^rOMAf(E%9xe}OnKE%h6oyqK#X^~w{ zHh+rj^a^m^4~vl3p~<6^&b&?xhDCN2sV2bd53oDE0*tPgY97A5kW)l zR3{zO0%jHA1xl#bMbf+JMj?Q zIC%7KIwY-UoDh(Tanw#AgdyTKXehhRu9a~R&?3`;X3fmER^v24DEnbP@(3C+HAh$f zPOOVXX0;}%N#+I!Wk2*so_0T~Bz{_~I&m&#Z_yAJ;Vm)@iMKexEf&qG%uti&8X%ON za4-bqR+*LIzyYyRAUxh?$fG`JDEr|@@)SQ(F%B)!oeh>M#!M0WlfSwHl=X@}slmTxx!V!!*Rx0p|*Pl0Zxq{CZ*) zXiuz)naG|Jj!09m&W{BR8iGdXh>59~34fPH1!Jh7TlWYWat`>@RxJfT)J}n-b}E`9 zMPk7ZaZ{kUgbG1YJK=~lC00zKRzE_Gk`^_E@cJ|=EI(F}lax0&B8_0ewk1?{7vN4- zIq>QgiuEt@3VzSMD(JRMY`sQXrs9Y+EmVwCUJ@V|WW82!f~pd_EVEWq9Z~-zh9R0J zXlfD*!Pc0(lxM-uQXizqEBFDA3KV!$i5ya@;D|Jy%f>;Vj#z6U7t}a@K%;^t#eIep zJOw|@Pk~~7Dsqxi1xI+xDPxah2q%zCIiY@d8$9Mz*#MNL0vdU(b#ASHd0X&9CKV_$ zsjN$iGQbgOx=d&Rd4S!DnnJMwl9(TOszAY06`9FKTfvF<;d29dCYjz{hG(+U>Y?Um zl9ic*z(ZUTaY(-oS7lNx@IpE@OHFv$wp2h+7;uN%Oa%pOs?pjFka(TI)6~QpL2N3{ z(f2_TnTToP^+Qq>D3Yq;P_$&J8A(;BG!ZIbvnXnRLA(ZYX$Xz*A(_-_G)@DgA18E* zM-Jj}jP+JXt12g2Or;+pvj%wmS?R|Kn=)ip`*=Jo$zDvs*}8k-M3BP_)1;mw^ z>5EpPPBdKETQm?3LKy*FB$S;HIE&_dwhbB}l$~JI)LA(XA*?E9^dnG0VpjIUt`!jc zW*CQJ*KkBy`l%SFe70CX)D|_4_+1(mWgLWm$xzm;{b`{rmX>KO@)?SP^va=3pBq_l z_B!GOb^9MS$@ za8XDij!2WftV7**O6bryHz+tUhY1~)S*yvN8z9#>!MmxsrU1D`hBLfMUjik_WJ$^f zJeo_>rM1zGf`S2zM(*XnK^}fV9=F|Lk4M!hxMcwKi%xo)A!!Z5NWl*rS+Ig5DFn3O zgbW&?s}cYYU0R|0p#=*FH#E~St+1RZ$%-G_m@9$G3JG{%!LL_TLARaaa?^6g2@m9o z)F?qlkT!NM$PsBi=aRb!a?1*yI*?x{CA-|T?JW3z&;ExV)G8dJzkZfdN+SRn+gt@uo2G_xcKh(kfFnxBp zX(Lh`krpwXJEAL=OFd{yrDje9aRQqNjX|S8e4=vTRceN@?<#(^=WBc!^ZY!`A5OfR zVKBu%CrCG7oiH#?khVOkcmNG0C&aJp0aj_@l1iq4s3WREKloe0N;*$>xSUWhLvD4B z%N0pO$%zVc$qg$|M6fZrMR}IysGLo^+;ls@iI3t0HCltoU7#lwPAG*#Zt&L*VqUsqh@s85a=w@O?fsI z#fmE6l`GR#VdwtChBs*;{(HcPLC5qtq5t5%nHFvP59`&c75z>pT8gU>k#xqKR-mcE zi3&3as{J4CIy6-{fpBHlu`&lM=S%^?Y)ozus%e%s*pzAAl$)jsC(c@h`UN(^)=VyG#o6Ae}x{v_$189{=aYrOc0Y{`UW+sIaMpqZG10I|g zB}7pCj59A{oRX?iIKsFgcN zOpuupU73o0V5y>&cD9aY5i%Dwj9ZS6wTu8myeHBU=qc zCqRW$#MVGYSZ3>JpgZwVPBTXtWQ!$YKL}DaGn0y<=!ZcnS}{o3IvO)IgOKd(frl4B zbaR)k=!Z(O)6UW!nnmXWgbb_8G-O&mOJl|fG;moRQW~b?mUTmZg0( zi%z%;r>LJNXHX<%e$k0#a*7T!Fybp{M)w2yRI@sbOegAvi>{$BhUj#vb0T1zqUS+$ zb4R`Chxe%_I*m*x8pIG?o)(!7Pn$>g>dzDrpTpE7zA;TG zZcmMR;ZaPxWfq;_m&DS#h`1b5nK)034XzXp&ftnp&rYO}X}luhKPXdPn-E1jw3e=q zo8baVLLI;6j!|@JT_FYSAc~2GQAK$~?qSc$rbLA@b$Tbz!?1*OOhag92QeUxzjCxA zaK|83iZjJT-=(4-yrpQROeZ2|{~Io}hG&5LRg}moBqvD2A$1X?PRwh5fE2sbw6Rms z54%t#=eI;`x=?YR-#WyGjEhXMDo!5lrnwNej@8;(8i-B+11E?F@T&d}aXla%9tIUv|01PR_*@o5%-ViyG<|`G8;3@>9FZoqHcpjkR@g>LL%Eaz zkVcf-hJZ9Gp~H$xIUs}nh*ZBeu` zSAv~}qGXB%iW5dri`+Di`5`EZ2*EHW1llwJN2FQTAvdh&iwUGeQJ&+bQLRDlfNs0^ z;U$XX5m6O;2Q=fz5osKfol0$S*r~)LWa8OQm_#j-(xl*rkSHR=!n80A6(=&pWnq}| z@uZxl87EAl7P;w^@7E-#NSXu@3)4_>B12qq!<3JR04BGXM$-JI2D$02*rFdoqKFU+ z!`}3UD2_=Uhl94Hv$()Dhwa85a&MOWsZY;3UP6G#)$T;O{9uOR>?V;t%kNP)ZsVE@>TsY*a#&-lqYQUb6;_ zuN*`Xk|f)yA!%IdV1S{OUH%HS5-gAuV>HpjM_$XED%2yA^5Asb&v)twD5An}L~;v! zt1D`q;^#qp>_Wr*+z%#EO?*;_z_*AEvNTf}4n+<-D&o_d6F|}xJTCEJ`KuV?)|dDO z4_>XlMXyRI4W*H+Oi(abZI}ae5`Mr#33!9~58mKvA6UmsrZmw-2qSYDv!x`K_RWb* z4Bvn$5#GqCVf6eU7{HP(@aPQ}~1 zASMlA2uYq7Y7b&7gC*E6Q;cyh_CtGsy5ziP=$2jtQA5%UmDmOW2S%F-6KTIqvGPafLuF6j_}50Y88P8;`8i@Iz=+p~wQ? ziKnPVYO)9d6q;`k*`#JMmH+L(kd(F6cSISpz4_BFBk1s7Y`ZI?g^IHIZbo<3u3TM3M!MA55Z} zd06x~v3%tTh*nDFtP7w7_!?bDDwqm*yD+*a9~EE)-pD@@pU6^FywN400!7hLwvfim! zp5>aFffqncEd|96W0_hBsxtUhvNZFpeE}qGj!%1jt08ITsd#A>@kJG# zKwtne-E;D?Ql}?_N<(S9TD?@AyThMLXAs;NNf=C@A7N7-*F*rV(g^so?= z;R*sHWby3Z$XN7=xIofXUseofWv~RZiDHZ|RsA3zK!R+8R>Wsv>%&0<#b;sb zM0_~K7h#)dCIKG_pGb2ulUJ+wENrEQ(nwnURy7X+j`XyT4LStddbUrXEwXiTYa{i` zup0(Yky`+!mRX4-(_9)cLmBi8rtAwLn`z~cG?K({HU>*j6@!$LIty4QV8Y2XSfH<%*D z8@=m>Qn@eR_vzJtP|tzv{yp4P@|;>J_@rWPmQJ0R3?q2(yw9`>%X&^A3f*PbEW-0s z>kvUgOMO2G3K-IsI6|J;#E>+fF_$3Xj+kDWsnbsQM5bouF;0|+sY#oE(^F>n7SHfT zkceR%+LI7SiWwwL{7QJ^QLaI)1nUyT7!Pm1HXuO4Dn8p;aUy$c8{O*QSxG8Zy@_5R zaD~t_kn{tc*aCpIpaYU3=cg&wG{4PNBbJK&fGHrTl_blUejt)+Bv}S=qCRR8oMjL{ zWJ)zIS=jqwN~(~gt?j_#zR_tj4?j%x1FBTxlI?gpn^V+c9(Ga)2a*lo>M`AifMcnK zAW5SKw%8hiB#j=}TWbiCGSh+0Jk-|7DVFLB7HfYy1Fi%575ABc!BpV`nXveT@)))I>*CmS{UxWHo^iYYKXa~$mSkj zJcgZ1Huv}fGVCPT+~bSLu#;rb;|s~KlVs83i^;H)WYOab%CM7U(c_ECu#;rb;|t5M zlVs833(K&Qgo>X|KEAk&Dl}RA_yRMk&}0GRi_EA(lSPm(G@}Yl7DB$*j4Cu)4EcgH zs?cOXe&=Y7Etc0L(oD(l>1u8B|Do*q2kKkA!xDhW-Vpl;um)f> z8)72?76FWAL+m8LDuB^!h;lAVdrf7t&h`{F`8@4_05lt7Ih5sKBk6BxzEs}Nw`0-7 zZoayc1#k4ZrRp*apXeiKbw3L}(WhtXrWSl6)Gs#L@kX0?BX>ICc9YyGgkRzQo_r(E zp~NSOGVXxMUn$DC+ay0xlyPTAexfPkeHoymuU|k_k8I#RgBXnWFvJ^8S@o8JPc&tX zi^sL9_$$?C3f?GfWD(~rex-Rvl)CstQ$~ok_(W6I2*0dG_+>T1FRKxLS&i_^YJ^`_ zBmA-&;g{72zpO_1Wi`Sts}X)#>{$iht`UA&jquBAgkKgBeqxN~8KHIJ6U{Rs#>6LD z&xm(}PY{nL-e^7RQ_idg+GI7*CX1*jF<4X9h#L$7c65|=!X$XCWf8Pv986_%Y%Xx3 zkj!JgEV9vsCKe}pN1xSat+*ZV4n|GrJuOsCF{QU9#AH*6C%`6)0FnevmiB8$*x1D` zi5LKNO4HLL(yS-M#!epMiE7medoi^tJ=@d(!<%L0X?>cdDoNF9_>u^9$T9NRm}$TX zf-$+Z`T)b2Wj*mPSq))ihnbLgm{whfCvFV@$_!cK!S2Lt)TRL*Swc%`_EI>IEJCXU zWVZwkDo>z=r|N{L;Z^9UVlvRUjjV?BDD4T^>+rMGLwM!$Rb*Ux}7J$rA*CmWtJd35iVIP!lfi;R+vkf zxt&0lN|0D>14KodK-ddV&vEK5r#4L`z1TEW$imtaqms3PG_tgd1hDT~dAPLzcPF!m z+u#~-g;Q-BU;*F>Q^{igf`nGNhl!akEvVcYCcG?h zLlxnedTBtwijXxvU3g+(s$>M#0|CdRaci9}G+Ho=O{RcdOpd~Ga-tV+^pXMbVd4`# z$sjgMe4j{I&;<_=xC!6}5 zXq|S0fPhe)s*l8Ug6mK^op{1&%GCID60rm#ztP)y^zu2Ym(NNKg6(A3yRRUi^ztut zH6t|v^l+*v>&6W=HJ|eYD_}o}LKfHi36s()A?FFl$Xg+gry&`FOEsGMJ4fC zSuBawD2OZR)2S!tiS((W0S4~EF=^ad;EZSrs6>@M#2aa7&aL0dGKZZdOnb3j897hL zPc@o!(>Ldd`Kd;ernHxm7rQ{=wu2Mw}QbVbXFTFKq1;ncsQ>gX|QU*LvcD>=fCF zU(OR3RD~oxIL~?Ff~t_D=Y2U(Tu>E~Ec1Kff~t^Yf#Zn_szQ=Qjwddt3P~0^p17bY zBw6fu;)1G>WWnQ!3#vkrMUN*g$WD@-^W{8oK~+ey=<&n_RUyfu#}gM+g(Qm}Ph3zH zk}P^WaY0o`vgq-I1yv!*qQ?^zRD~pq9#2qE6_PA^JTXC4NV4ehgap}1vJ3w?Pef1^ zk}P^W0YOzrvgq-|163i(qQ?^sRD~pq9#1q-6_PA^Ji$O!NV4eh!~#_z$)d*-3RHz8 ziyluTP!*CadOU$Zc9OI=Hk{_}v|6*~dTIdOQljaUR72_DrM4{~NO z>$wq&5CoH1R%1EQIEMUol5Cdn1P$fvBw6r#B73TkWHpu(gj18?ET4E{g{pALYAjDc zPZg4^#`5gFQ-vg}u{nwq#|(c=m9slp|T9#3#i6_PA^oCunl1ZUCX3HPbOC5s--eIT(ao# z#K=@3$)d-zp8a;t8`ovC>Mo-`iKCzQz(c_Cfv6E!c z;|o2plVs83i#)NDq;pT;3p}xtWYOb`DY25|7wQ9FR7n+@bl)KG#g$Z{$pXk1SyF{2 ziy+UoGxpR0mk0?iF!1a!3`65iJ&}32M3o)relZBBl#-s{O7Dv7y z6FW@~uaRTYHW132kn}Qac}KGZ81$UJ43yKCfpU0}P5er3&Wbns_yccv!6*89P!2Cw ziBA+BH;4Cx#3%X)LLp(ogL4Ymj+P zgUoYysX+Wn^Q_V4IeptVr*He_5KRq(HC!3XVnJEo_RZYp=Vvz=ev9ywJ zB(hd~qO^g;G_Xw$tJmEY69yKO3z*4jmb>!9nT-purFq3P*?-o`y4e;deI)76)Z~{D}#VZbh zKA#Qr`Kh~?Cdz=4FKS)J$!4hj%@kf6!J+KFMR7|+Tg zxG$Un2MBK9vbzF8&6{~ltKi%vPxm>Isr&!Qz2}_R4Z#o5O`vb zf+{pwrjdw-G~o?}B8DWvCtG$o0ZkS2TUms*3D7hkK(GbZr{B4HH4U&#biFDN??VTfaAhF!T`HVaM?v&lBRLf zidGFU++g7OoTk9Oa%SKy9FxW;30)hD(8?euG$8$fYrr*Y)usWKXgtv-0j}Upzhd|; z98*6HKpTSq_XxNKgu>D&*QNm;$u64KNY)r86%>M9T{okXh)?8_QoPa2aop`-A~{hn z<&ef5l7#A6NPD7F0@}c)ym^yl7%v=?ru2$KTUi8$79owhI9zt|m1&d>b6UwmJ1v@k zJYgyUZ6`uBz^Zd6n#QRCs5?Ld(jT}6Tvcyv8ekzUwUnk+t3&H;H{}w7U8xT7Mo&$+ z$;Jh6MvqMimzU(nAfhUM1z^%OmO%~rytPL@qoN*0uaI+mAbBC<)g`g)sCa9tT z9>A_z#cn(~kq9nT`-}j$IGL%OSMrk2;Zi#gKv)B@)p7tn!Mant(O-_?37?>#?sf^b zCvyd!c%A_Fa1EnDHv*azoUo(hejx4$Ga{bTFSg-9#$@D+y%%O|C(fwsnsk%BOiMid zIKX{sW@t|oPe2>g;hMtI@kao2xGsgCnLr-{4h(~LN> zjr+u18t9}b>piMgPv}pG$H1n~(`1c9(ik(<3Vg}aYQ~qaSsD?Z$UD{MJ{4WmT=1c*e{*EW@rUGbL7CJ#hRt2am z{3j?N&lTXROuCBrfN+ygGc#7ig<9nl;!R?v3_a00A)*uv{jy^X9Fpc>m1K|L2Xrxn zJy6>_5l>y)D$(UyN|BKjL()?_^y%5V&k4gaCGKmGp15z;9b zBMFznJ`>C{U6owfK(b0v4z6bQnhX>-z@+Ac{}`T$z!}ps*+RgHe6k6yp-MFg-XNYS zw4P??bkBs1rBK6)LR1RNna+z4YC*v^JVeubS=9h>-E}3zDOG%(+8YXSmz{l`6Ix@M zQ58?Tcwoy0Cw!|C2nhZ%oT3Ekfw-^)t!FZ{QfGLA&^;C@LnS6Th7VTc{})z5yp7@kV}?8%U9O?nLO>Qz%4qmQn4n20%C@ zO~;n=3B(Xl-}l64g%qDvc2xF!1ssybm{}u&S4vWhFV~{Z3?Q|(V{>K+{3qF0U)5={ zuRiQSF+Xv(Kq?2BK0W1M2se#Fb>%Vrivgv}zSs$iGUZk4SMl{qAZT02H0Ua=lV(7; z5+&k^sS5En{UTswh9rY7Z#XY$In%DvHZu*%aHs+E@twd(m( zV`G$>gc!+^*t0KDh)5_?43?ifVN4-~F_q(sT|dPkwOP^1AYe;{_;NDhR&?!Q8CJAX zXOA^U4W;p#n7+Y`8l$9?A()kB+lPg6|f*`&x$lHrRY zU&xY`OZKqz$g@dN6)q`yG4e%0*}0?{A@T()*-6sqj69nZRS}%d{E;vI$<8I6qa)8I zMOC<@E4RqANl_J&EP8ywNp`_m^msNYvUADM6_GDe$;u_W-WfUf=4;7B?4&)C+xBT` zvnG-(dOUj+RnaAj9?up(oS&MUTW9 z)mLzKFcSH~ovhKrjx!=BSf>`jLpJw#wkERsB|9OBoREl`xMb1e*@C7Dmn?dmmu+g| zl0}a%jL2?r7CoNNzp5fQiymL7j-5*uJx-`WExKfP8Y3sTq$ZLS>J~YHFEx>5(c=rx zvFegNusL#qOKRehMUUt6uk235w(lc(4qo4U8L{Y*NBZ?9$)ZPMPU=mPMUOA+#cpvH zJxHIO{GS`64mwB-z~KJe{va@H~qi z&#pFhzs$4f@x@`-1!vLY1WnW=IEx-%XosCk7CpXr3_D2{J@RC*zR{Cs(c^?))TB!m zJqrd7t3u+9ri}N-#3!0E-W3v`Xv!La8R=Ua5ncv@F}h_bE{4TdV9QeRMq!vDji`_C z9)$RnrmXuaM!K(Jq_Lg2qO8Ox+BY=fBGPShq9j5na$;|II7JBBFpdKXEX_MXM~TyFt|{ z84Xj65Hwzb~ z#1Nl7_#kqEU|izEK`w}&K&(ZcAQrp$?1>6EBrO*!1XF}?GI6N@P7gH%NjZbyR_6fJ zkN8A}K0UFEB!VOL%T(8%2wVP`T4ocICz2$>#@r@J7M#vUZdD9tWv~S2me~l=B}{N9 z7{qikg7T4BP3XPI!q#~@ZjeMQi77q{TPFy{DZU6>#58d6U9f6{SF3W1JZxPj)pozt zQ-to)9wCrNu&rkXgb;B4g)7(Ow*(x6ZXgWDN;FRpOJt?U1HtbcJVGFZ^n?nJEDoF) zmWm@-*(=E~kaZN(qh~)KyX-s)M3PLk47Ts(=}R}+k2E+$=>*&$+1V#@LR-qSE#hJf z&9e2AC%z;i0E>#PSRlv|X&R{5%F12|(6SNYEx4^*nl)n9N}NHXBF|@EMF>za)XDHn zIHW$(3p^7t#x4a!av76GxF+#woW`Eul8Cgxso0*iNWvj$T)K=8>z6Dt#>9_3Q7e(% z`YcrCkThPc8C$n4Qjs8xrPo8~9^w<7)%Btf**7E-1xo7ItJ))$@EYs`LG(_;IQGQ0 zR3S+xUmTLkpCyyU`l%eq5tA5GUMfWhE!rMQv>eonUz~zLxtQREmesmX3FAhG+uH2K zo_L!WyW*HRfM&qh6C4vue2!^f28Y5SX{sy7m7T#7tneYOq+imk8hfH{?9^FnsMr%C z6XUjqq0t=Opur*a5+APIAY;rWV^8c&74d1U5_VEj zsMr&n6XQ0mX>XQRJ&`oA?svlt#j>9h@1tEvvnO3h&Pz02JOMdXgr(&k4)Js$y~C{} z7luhJB4bZjPOO{fa4oWg?*tE7k`8XLQzd#Labn$vhBL;pyC-ZW#;twB2^oM7hosr1 z94>YSOX5KZak6y^^qq4Q*nGugr_PXpI3$f%OB&M097-30*ThC-?1{>W@m$2zE8W+@ zA!)pp^=eN;untAGc*)=iqlxjD#^jWxAt%_U%xO&8+f>qT3C?@6ak528?1|5@Qx92w zb7Gw=9-vREkRL;xemjvd9&MpI}WmN`A4Id+OHzj-2a>=apI@&xAC zDYC-P6PIJB$o89JPh3tFk`(b0d*X7ckYtI&6PHtkBrAzLaXD2;vZUdO%c(+=MUE#f zrwU0HI-a*UC{Qalk9Rk&o)8rM6QWUzF8OwW6ID?YNftex*pDiLv*_`JXjCD|qQ{A+s7Y`ZJ)WqKDqOPY z@dRg7A<5<*xe1@Prl?797ClY~MolDH^f*xywUFeCRGC@Q1TQa9=whl|pvyfS4MvMK z7%kRdv{-}DVhu)%H5d(RMu47Sr6=F$olp%%i!~T6)?l<)gVACQMvFBVE!JQ(oKFQo z4MvMK7%kRdv{-}DVg#d!!FsP&_W_C#h$DWbH*GZkQHJ+W%&0>4V`x_Ba3V!d1xn;T`j@YTI1f+f~;I7ya#YDcix8I)}d<0OJ5_H4Ui zryjDb=Gk{8rbvs5Mp+7yLuv{eJA)+%m28~syb^nYR_xS6mfJjAuf!C!QW2jeqS|3A zb_Pq34nX{*^Lye}?9|y!z}N{YF_I=dU@wc$dhf-~1NL&#v@=+O#cdWD5|g zHTKzkz}Wd9CW9mbRLp%CHl;hEHBRvb76Q=)?99Tmfs0+a>{ejxi7tt;`-v$&o7kP; z8mIUG-b2O=>x+0uODcw`?AGUjDjpw`M$)pYr-6EE8W4f1aO^5GicjQ0pm?JYAu+7BHGVFdN4oOpM@_|^$ zMi+97k@v*5k2xDAU7xpH3zJhFU#{3Q#@)SB!PMNHQ9}Y>=nCXbwJRY7ig$ZX% zBfv}(g4X`CjV5U(9E4SEI#qB%?r z(h4o_>=)zEAWWxuM0{`!dWH+4J4{aL+?RLaP;5?U9)jmR8?fXN@PLfTxkQ`|aSghr zPOApXw8SzNxneVN-V^YVCy$)MIa4so6zB=d$WvHGnO%1Hf=(Bs5!i z;yva!O<7KGOWEFZ$|^gL=y#e=qCN7SXpcNadz6W1*_7pp)5uetMuj9x;m*D; zW#R1%%7%=2gf6gT>Dh|KPMtMm%zNTA@(A@XZBOfY9Fi75PVr&kjg0XC@@&Xr7oQz# z<(-HEBPQ`CtRX%_;O3oZ5|{Xpph5iPqQi;QFnN`a|7Iv)HZuq87x6g1Mw5^^t>k;#4bJqM&pn)UM=ZUpBpJ%2wvsU3pbVLst6C7Oue#H z??kRxyd96NsJDB01nSQJLsXleKI#uVc)5a|oqBp9b{zbRYG?`s_ zWXOQB!*}aKNru|t7aCA<_$EPF6=FE5px8z*d}EVYq)Bf02v0^rn2nSR!69kgG6_m~ zWJpvAU&oZTT7nZ5BSdDhD<-g&Uv4~pbKZ!v5SfyUEKHPA2qLK@b1tUr-F0u%B#U%O zM2eDz5B+N)Y^0L>eMFa;qO;hRSZ)x2AE6jpJ|6U=t0X67sB_ywLtRBqn7uhnLr0xi<9Jt6 z(50XkA_cKKAX(%^=Y^64ZeUk?REdu>R+|MNEH!*H1s6gODzedX)J(ztks*#|hwr9f zNjBQyml}=glBLy5!Jhv^w8qAay-87dMVMJHSfy|J*#wK$sXT#^M6L{gL_Ypij` zCuI>7p@|6sLrhHaw#LMA>%y2Lqe=)2J1K-TR8oc@8lv4;$|5>itqLcr*696aza*!P zP8A|0st_sBc5Y6$%OfQ^1rB<>F&xZ^AyyKvXE6tjr^})uPCX94ht3iXff=S^m5lg1 z&!_C%ckZsWtw-%U=lnf;k2u18AMHVFTlFK!+xI=;lyi6NT|<`I-oWF$fdU7|AH8;u zz5CACweJ3_C$mEX2GoTmGHQ>R z(d0oasN;6+IAhoT^VT-3u7Md=H!U+-j!!W2c!U zaMLt1TVcaa9<=~5V$BSLI(cM>gUNyW4^9$_=?El%@M0Q3xnx2lL#26nF81dH8We< zg__BlF1{N@b1fyH*`WtNn->CKYQfIL91L-pb+&p)ER<9rXA&fJ7M~Ibr2|t4B__nm z;z?rKv^NuEPE2^6&3(sRstwvMO+=Xm(xitgD3wqL3vn(Bq-$ceLYzw-;#}IvU}D0Q z<#8@8fzDP0*b)vm3pneW+y+cncP~WC05YfrnB*?JtlYa4=&i#E%hc)O?|KV6vjDRJ-!rC)+SbL^Z z9}}Zx(Mc7N}&;&VIOjK*equHKEtPtCNDtuK=uzVm%@ z7}pq3VNsYgbIrNKx)8lnhv=P7`o<=gNAIKw^ydzRFf0AS(lF`X&ACH)WXMe8-E&O4 z0&jB?@{^Lg@SJcLUOC(a=U?F$S_G?O#93HGrWWLkxE)<*A)HtbJy{{frxut{+-0~8 zEsqSbsMF>ofg9MB!SFqc?C=X$=gHnj#_?pKG?6h2z9$~O2^+K3X|lt2Ye9hlnc){A zi55uTI3CZTAyFl?nWy(v6&$TpVjkMB`{<(D<3)yEWjP(j39afH&CLRVY=^Z#D`L@^ z_$rHl>LU_rfh>h4RajZ37A#Usn2E2lII2X{BES(tSfTxdaHLiSBjdXLBSTV+6=+lo z_Q=px80PU)DsDz?=`zX0I$PwXHNvE#x#UVMa3o`bg(#s~DoaG7HOa&}i-L*NSV~jG zT^gsB#s0K|PZPL-ouQEsX6MsF3{bjvQz}~?DN!KIr!3P^vrI=VuplccH-8Lu9P`z$ zlVZLa&z=PaC9JTA45|w&$kZV+sMB`i#%kl%pNKljgxn-|og_L4ygGLTs2?g40yb33ov!!!jDmFE^gvMrEDdsEkxkz(tV* zwtF^N6jVGO5at(PL7dhU*6^qaEiz7KYSxPWks;A3Vy70Qi%)6_9f_po>LE+bC`9Zu zg*8W-u;xf>6w@$PlShgfupoDKJuqNw8Bk_v4N*W=142J5j}$XN{db%^ydD@Z2^k=2 zI7qGF4{Ac}%*fqQJ++Fpk!pv#=()6}@S8kMSQDkwv@m*=M}|mmXP<^ZCTtc7C1L(R z?hbXNxu=E&WPCRoB*qd;C6i!v@b3o)-f9X#Mh!7MMqp-}RvsA|c)&r82HenlAfqPx z6{8dfN#If(9It|dg~lG1YUy+^j4GNeZmHuSAxoZv-rU2fC|mF*$-x4&QZrcr2eS}N zO=vFg7T5<=Q*;*^LNxuNI*nf{3@N4!7@DvoOed*u{U?tMbs0#?2MRJZ%c8|dDz^@& zqyqF)OW;zvz6x)Vg|I{%B$CB?i!j`6vf1o_gMqh@47TB*yE`O`6bDJ*QXE``x5y$A zVh*Y?8V;IVOOwSsbsQwz$$1M&{f8XPBAt>P+-z@=2lx%f7FZiLf=6^0^cKRHaJkeJ zB7+(!e-kY)X5n6eJTj!BfusU&A?On$sb#%I@I9uMz@>D372cu{Y}5!`Ddu3f5Rylh zUW zaB#D|g@5^w!VJe2K-@I^Tv$W!S0juu-XaT_i6xcV4W5}LUlxEANGk9ag6=VrTGm^z z29p=~X0JpF!9q<47HXrjnOVza3mXL-47`QlgF+5wtM$av)!yu^9VR21Y=J16PbZX( zkq#P4DF~b;VTa8sd{H5usR{8+oqWtXXL&qRBj6B;o_pnn+Lu<0(~-cm6Zc%q=r*Omnrfrj|?(w5-HHA5h#`+tZ;862}PQl7&?o^ zX?=Q9(OkXHMzA?Xi3#=&PxSS2Lur*XqT=Q)SO5NTXcuc;%;_}m|( zTvO94*VGh(teT))Q%9Gv&@8AZ8fj2ir|Z#x_L?k~s#TRVeO^}t4`pe%IGsc<sR&hK8;|LLPi$?yqW;u6%b}z%JKlOV5;akbEPsGsn29t z=t7_ZpDd`WSXoUJkcH+%S|)I*s7nKwYqABOI`dBwxPh%v4BxAg9e&}IlM9nv*)GUp zG2$+}o#kMx##1d{z^O?RxPfKEsOcAQY6@{!>E6vJAmx!l9b)04hJ}lSFgx890=$|4 z;1%%IIHoMXE7o@~(Hml@Lca5%0iXEjbD%Iz0NrjxK#_4kS(^wB{0nk?EX zsKwNh=q6#oNSUEJRUH~?L|t;grW&lgaHz`@k5}fkdl#67g?)}jPQ!hiRg(n~wSozX zD0PA{2c4Vj_m-le2Ssp#E{zAv;-*5ukVG$-z77`71?&xL|A0E<#{47Yg7MoDPB09D z1PNtlgB-OddXY02aC;)En66_VW`!GWC+jVDS(tpXEsB+9}F7vd9e;kn~(#S5eH zdKnN3&!>zk1TE?#L)7;|MJ2-+RTc~sv6YA*V^m?uUA!c>Uq}mRPxzb8@ZB%;5$`*r zsnAwgh{kk2HGV1k$)$MkUevMv2SF{U%vq^y4B$a^B`3JiMpGYJ3N4ep*}(=2>G66N z3KI`D71vFT|L_2ZAr+*gyWtuF-I-w}%o=+c5@DKrhjC5)0HQj#Q=m6`amcnC7qc*j;B zeRSRXP!))G$~(k^m{M;qF{LKD&H^nG+U`v#)b_GUH{*4IFT`}25Iu{t$Z*ij(1LL= z{x%C8h&UL028t61w!zFym`(D>UHW+<9=vfu+3GbMJjSR>W2_uN9yk2Hs+U0=7W5w0 zkI+YkbTU>Tn5AGm9Emb#;=%{7R#b&yUx<5XEh$Wh;Vn5!@A(k?#@kS+?Pb6R^pKiz z!tB?0y$tz)=Tp-~SS~^z8Int&Ln#6`uohFoth+3OJ}er(aYAL#2T+wVp)ePuj~vwS z=Wh6Y6Dor~EE>MqjVyycfT~om6=q)ak%Jn3`Jri3OGF-KHAKD$b181=J7`Y*P(c_(g8` zKGo2xID>aP)jinZ+f+lgYEi-x1%~4k)T@HK@FtH7;f}lLTUi-W16}y_OU&sYr>l<) zF@&66U}bI(qleQ#Q!ZwT)GWk4wBFh7=x4DHq!e#YDeVT9!b+I+&c2Gs5DQ{jQ@w{L z*~jaCSE;1Sl*6AIkFa!cn}x%7$w%4lG7d2dw^(ZUW+hTq+y+#s$jx#jJOQbX3~@9k zeJl;pi#G^6d^htAb-c{*ZSo+ClZd(u>dTN5C#;1>xxl5OAR%p z{C1nX47LEOQu_@XSar=BOKNUum*s&A&ZTJ1+N=)y9+j2eSzuz}K?r?hNMwn5LEIpy z)XGM<;Jl!~Aq>D9iyH}JHqjr~!r4T>TQ!z(8Fx1-E3$(wQme-BXoWs9G}QhIS;z?U z)gzyFAL_-L%_t~-)0xdYIQ0v{a$A+L4Db`r)nMg5Dnw_DSeC_kGvApz;Sp~B$P+^& zr6!w6x9tn~V$j*!`xs@*p2Q3c46p4xbmXHfiiCuM9$~H5=WdEV3gvdbiOnghj*8sbxfKlDB4~Ti8Fu(OA2#}1aYXl)VWYBAEa)OwhP9Sp_L$|7A)*sAXk3Q{ zFDl#H7=>VrjxaNW7Q!e-A&jEyGTge7M~22qtH*$XXtV9j?=g@1K#EcJV@HuPC3_!- zn@~c)5UmMi(y|YrUc)gV%uWGWBt%3jD~K2)9UC8&#gUM&3%n^dFGqsmFeaKsImDC( zi@8>2W}AJKMH|FjYCm@HCQ`{lKsb1eF-718^a;26lS%f|J29=P-pw}qs1PPG3Skm0 zM?M!#ODyF(dmTo2g~C$MuK>V#=QY+ z0Ij}vORKYz5?YfcVOB)hFZ9I2PX$?KTY9uKngU}?5$MVxLZIK|OQlaK-whUhFZB4%)~BiZVg*`yz3aU~f`z;^6NFdddsCyXIpM3e?K zDZ1$0Y|)Rh$cVVhRKRAC@S`jwgoDQzgAJ6Hl^YNrZuO0;5Ezo~-Rzu?vH*s7_$lKG zzfuLl-6KOn$_^iUaYC4li#%{*sNKgyHvNz(UAJTKaQqrn#^(b|2WmB{oMb!O`kNS$9FtE%*@ELeJfYh2WFB znfW~CeJVVhTVu}o2ddrzx8v+iz!1jn3K1OmhA>8^hdDYeF$<+aSOq?%o9fb-^3nw` zFvb*t8*sR|SzAOt->DMg~GEB<45b1#e zf}Q8+2s6__7U_`)Zw1#8hLIisu(SvuML)&G91Hz9&b}84A($e%u^PvlMT&F0f%lyUO1#?QlbgW)0r0sMM0W^AawkWSRdP1!Q{fPRxly_p|xL=217(% zHuNz0-E|qpomdfMx(o$F61`x&5*oqe)+1&X2e&l3HV$iS++Sgx3OK=pCYoa)^2m^^ zTaTJ1a06M>F*L!w$Vj>nMUn2^BHVrxM=x`C;nmh%Xb^_0KK(hnYBe=1 zhtaB)IT4ltSpN3Tsu2*_&}zCMPG4406vG`io`}{nQ6&QzE=EK?L{4`@+OBP!Y(HdshJ5HLI(mygpt9+^!u217r$3;nk2bzDXe4%31A1VdD zHvCjAUYrXAV+N$6BXekIoGsOnWPmC`Yx>t81Hw<$f&qndVp#v8(*U#J<FF4Df;L zrf5L;sajRTL4EZfWx<1fCWsu9E7maB1#rYK3Jo#saB`US~4m^2iYBU7*A- zkvL-$AVcV~vJepY77+%h0fz5J`4OvZ|5LTz>cEVH`cy6GcHA8rZe**H^o}`bLYL*? zA7j?q@I&`<4ms%W4$+q6pkJ8wbw0_#ga3pRIOr^Ph{~9Qsj108D8^ZwOLE}qIhInL zga7i9>g~|L9GZocSz7y=7h+V#Ax5S3rUv&Rj|`FC8M#0?B(|0! z0Y*ig?GANBNwJoS*K{8nkOVHJ>#H#GEKVfmVA9A7s?U1-5InSi4Zg)ibo9=6Wbwb`Ouh;~=S_Ez^1+1_;EL)*9QBO3gk#3fWidLD zjtS-^QV0XL8)v~uok9?p;}k+bG@+l%Vsa=wK}d0 za4?7%1Uh6m=u6*6rslyoi{=S9sCy@V z=-$pl4i=)K#saL0?Zd=_WyqlMSinVbmnM&t#Y3fsD-|Qc;buz~^-T^AlZ86QQdtMa ztbnLZbeLK2=5SyLpygP+k-P9lLAY>t8 zlpe8RPUlJBra8R891P4|5GqEx?(UE%k{ncjv=j$d;4mkJ zIIl_g38RjKVPGha6b@YIKpe8vz*i9!WdV!BMh-afSS-k0ctu!4j?&M4CMxn9S%ch2 zeFGfZTtqs_RxjQn+d;UHwHPjBs&xeT^+fpINg>*9l0@6h!<6-;@DorIDg6`8HWiBR zZ`rl?495~MEEiR@)|Mu41It_V;=>F(e5ag4Y`2~v-Fp?HW+&O=J#m-n9!zXeh4c3$ zi?hoOAMrSb@12Gner{bK)2eG+OKTVyOtKiYs7t|r#nKPAF(z49UXbiIwi!|=Ub8FeqLP?R2i9d1@n3bA#QB(|=$7L+r}?C_EQ5W=kV3$b+zhHp%> z@EcH*Bt)w=aX}WMl^s4J>xn?NjPwi9bPI-W3^iNSuMhN)85euNI`6p)A0fGmHbC&J zLbMPaD~`+kO5BIL@Uxk_;LizAR3*bL0Vui)-H@3Gg3a=!a1KmD0&C+GvXH<&6lv1? zmeeF$ScpKnNfKAqm=Ge1dW+_zbeG0Y6{6oJf}e{#e`99)EZnbC{v?4LSYQJP=A~_f zoCSw1HGJczJgll<;*%OO@$k)DnnlHBhmUQ@iQv8L@Jn?(wc*oPKjj`78ookFC#=oo z@Pwk%&W;IGRIP9=K00?7x*0GLOqd-=_O0?2Y4nncD;wj!3abn)=+anzVdtedY`}&jA+}^y>;uvL987s9m4~#;^*@ z{!9q>vN~WYt;#b)T+MU9ErR={erf^)w6ZL|u75mtBE^(UFF9K^Lj`Lz{bR<8TDYdq+`Jd}nVS7jOxN_8 z(}d2Vk|g4bdO&wf1l?g~>Fj4>VrtVIFtJe<%@p-1h_cwLj*Jdv@o#w!xSfW61)@n7 z#1&DSWH9Q&hVsfnhoU|O5f*d6RDhji@oQNQUv+HBGaOl4T{6+_e}R@|(eHR0CygtfCKVkC}y zPA{S~u7%T!FwwR6S-=Q6i?E7>Oqi8(b-p(TA+R&2e`IKciM6vptwP=xVxcA>7OEr6 zOb%Hrl%5lq1W2ff)G+ENY*v0!1XWZIH4G@6ghFgj#{e@2<*_}-!P!7j3Q)^k0R9!fma;^%rYcfDk`Y~+S&Ebfa$trKrZ6a)ZIkzjxtZQBX>n>)GFKs zok71S)g+5PiWp4@lJx;5GRfkQI-eZiXoQmOp%vsY3IfNO2;R&CnkFPLmRJIgsn1g<{jRa=C95BfimkKzjC`*?yl5$FhgSn-*=I1R3mB6Jq*sOwsxllId zpn4^%gJ#8@MVTcBu3`5w1BbaDyy|2joWn+r!X^`@$0sbRH4#{wndq~4r-;FVONv$0 z1m9VpSD>OkA0XB#KqsT3xr7lV#gbP}(@Eeml3Iz8XQ4td2h}XCikbyM7M#&>P=II3 zL2sQQ2eSaVBnOqir8u|>BQFGkO^CBH95mI2a&22q)@>A1*uOk)eUN9Gvo-X&Aat62?Mucc>%kdceV!z@<320wbRmqNk=I zdaC1KxNeb0iU+QX@nr_S5+l!6{u(xNw+F#OV5$gC3wrx9)56cSOkN#1ngx2PicSSG;HR^ez-1)0ikW;`2%?&XmCZU84HrD}$Z{McV9ar_ zSJ!Ns#fqgkNCKDQ;3|x~5HmInF=HJE!|h>tWQc>wffuY(R$=6#w}Vv5A)^Ira%{JY zjUdS*qV^X)5DRB=`T5{`l5kqxxq&N@^{@*ZJincD@s{fd@ZnGRx@i`%W@Fo_V0Yrc zAzXe<3$bcbfxE?BhT*b2GQ^b5O(hBRA8QiAOiFF)L2W}FFEf1eu_ocrP?!CEUXg-V z2#QM3c1Bc%Ah@a2sEhb&is8v4L$vmHY^Q?E3VnYelx`YA=~|y)D&I}BFsw)}0uGDE zYNom@h_2J2B!L@1xu5_`KlUyxOt)b8W>WE4+abBc!`Hdl%=D&y+|*-vhPuoSA1H*W zq?4^$=GO2rtv+87iz?h-m}aqLQI~>9in}x(BnzTDW)FVvMyTYuNxD}yZdwSOYkM<- zF=gYXS>#we*wpTVDO)zpLgsR^2H*&z??<48z_|s(HzB^qB@F3hJp9!DpZR>zG+PKR zJA5}=D_|mYbcN;M77X76KUsuWJbYajTZOXLlQYQd@R1px3Vg*_dLcq?!SIb)7M6vZ z3YI3abW_Gg9vM=o-0*=j!ti^M*)&^jEfN(yi4m3gG|@C$z%1%gfJ5={%`}&V#bt-@ zrn!Duv1wubwzTwTW}3@Z1B-{R(Sqfu2|lx!xa{!VG$$x5qx^-yxCO&EhFS)!LIuH~ z&UPC&nR){9$U!MTkaklkJY|RP>|vCv_J-o^TiaWvEA@4KX89 zFIEmSp1_&{&pIw_F?QHsWdshHE=FXLqOBT5K^_L6~1OhRR-8$ZN_vSw=G}lLN`Z%oKPt zCBDq9y9jHEcQsd!JZcQ^W|{?xMS>w*$}+%AN&b-`Stl8wYrIWhfT>bE%>u<@2Iw}d zWq=7tvv|HF0~X|Pt_KY;Rf?xspjga+)N-^kQEs+0S&{*|qq7MbV5$_09S-WN>~l|9 zFwcm7!$r^H7TkqGQ>TKZbS?dH1Lu&*(HkA(>N-~OYw3y>5YyjK_ z9Qwgw$EJnl#HOs)Wf)$W)lU}C$N38NmAj(oLW#*ZXJLHI$rujm*4a`VTtV5yX%^@e zsg7Xe;u+sWQdvM>z(MtWZpP}B6PspXd`S*2aC=D|TtRi5X%?Rnb1=2hT$%W8*|J#H z_%y6pN_AFH9YA(9m(CHj#TMq0j#eja4C_k!12zqkgS-4 zsijOEE@fsOKr%G&fPRiJUag@~|O5^zu;!v9xsLl$pU^6LN73*ra7LrGX1|I0DuB^PSdNVb;>h2D8L|ru;ELl{o!e9EN z-w>6NwF{Ii;-D#hHOqqDIt~)=<~S(n$B={Ba(5{XlE9^`eHH$)5cf7q;@+BYu_TWS z2_@j5u53I9y{|AFba#h3N^(#)NtWW^D*R;@psZm01^btnXyFyxQk#y@9)e6f+G!n!704bHL%#(t`FCbhwgemJi+ z#D|zLbx$T@H$~-USsY|9t2LAKcSu(uns64N30?UueCOFsNTV>RA*_v4vO&2Mr z)T!%nAlx~cWpRYYc9aLsb_8}~gkEYpNsgMTIX1P8S?te<%`E$=&MXHo#exG~ zwG0Oe(P^_ZgJ)*u_s#ks1e#tVzvn)0(k~;xvkuDjZm<3tIeI|YP%vgOEme=W0n#2tRrTB2Nmy(e{7F!lm z+nx6bt;zV4EKo18bP*t-qmeO*0OKsNMPc-UZ7wr~7h=t30;1{}z6oElV6%SN=b6++ z2-lR^dSMba zJV8(*d>p1zK84-L^oMOH^-Id%VM17{FbLv z_5zI4YG(9oA+C7j$wj+4{yfi?AnUZ0l_~t#y@iHanuV~nTB>V6-;GkZjF!$;F{2k^ zfaX#qBKDQ$q_#XWr1=30HG=VD_ZDhc=Di0M#mnH*qbwS z(J6P~Ib#exTX`&2_vGe+`K}EXhLM-(HG^t1$FzDYHm<1YXrM^zabJJc|blSf~+NnbC2gUF^*ny6BX<@SL%Rp7SWNtdh$tbCP|Y#hXz}2{iMP zQV+6}mabxrUWgN$r*UHDD7!o}q+Fer3KT~SU2tKcmS%x*DHf8#rC7KMLoWoH&C@`$ z%B+5}K(l~_8o@aA>A}qAS!7+3h3Y$&Vc|*)J&U8v7&^{$i@iBRC%j9>ZrA9A2)VhS zzj{vDEVHr*IkH$VWvc82+aN2M(LE4p$S5NhM<|S)(akCLc{VQ@XsJ3jr=^04GKQY> zzbO`y!ez8{C82w^L|x3nmnvn_wcO6JX=YSEEZ^^N~&NRWF>~4h33Uts+Jjz zJcK>WvxVOREmg|MKuguJ`LTNo4GldDBu%ogBq&-%=$?gh zMJ!}>!$^5d$|eiR>{!SmjE;qZ&I(zWMWUuyND4R2(6gB4jG?yZ zvq;ZkC1YXfDkc(^S!ZQ&qU5na_+&~K@LnIYkV;{$#L}}E$#~>yn$gJ3swG=3F;G+W zY+g;hi5fL^cZXa?l7%Hv(JCxG3$}|`$dZDVh30_!JPR-lSg0Y4W1&C~4GVLgJjFs% zxM`N2MQG;VVoTZm%mQhpIYV@Ki*a%sPrDs8r zv6?2AE#`>$JX>n9Q&U!1^kerX8meg)1WPqFEG!9&R$=Ldh|oE!n?;sx)<0Q9Xuv{^ zVH^v4sL**9NSkD#I*(1W^eo;xXX#_-=KRXVUHFLGU3k_QOV55xH_~_31dN1b@=VKC z2AmUe>qS+t6S5LZ&zA9vN1j}_G-lnBt?1XOX@J9>3l2B5^lafrs;OaNL3(H<`*GPi zelZKxG$Z8+j}XkW(BOcD!2(F|v4(~2?lSX@VWCpEX_lTvl;AjqC=4znNr?+drQw3dx974IhZdesoAWTvoM$Q24}{cK z{$)edTGgspY{aXUW|~oWBvdVVW~k3TdSB=WajR9~r+O=*U?a-HC96C$M42MDD^_ZR z#}q;mD8rSb_a_rm=e^3pPGi}GF;XX+a2;4>p~^`Pr~``KG>iC?umWqc#fKp|PMQV&^S-8OE zCADz63N3W|fJ4L80A-P(W6wct(p~71M8`KGy7Kbs<1N&%(A^#Cs5SIZ3zy%vnM_t<=_1(yV@#2lZ9~sJD`mY~ku>Sx~RhLQ=RC3s+(2%Yu3r89L76RVia>j)2g`nO_@Pj==H_NPLLA_M~>aC=P6=$MjYLToo4f zFuiiOR0~PrrWyLOnBGN(j`MhGlkS3f^gg7wDunb_2GZNE(WfTKlm)g%b0yKOk^Iea zAd7MBmTn}`1;xFOh|2($k$(r4-9SHnlg4!@iHl8)JhIT#n44KA;kOjd-BNte2&lQ`MK^BD^=#j33oE`}nFm%OP=y8gLq;S*x$g+sxMScXw{nX^$ z1p@|wW}B5k7MU8$N;gs?Ej25HEC`t_Ci>V*s$@HL6`T5nfZ@uN?d?3MSs7#j!^x4C zq=r{9&llo+D}J=w%G{K)muH6Db7!9dW|euqhx4uSb$>PKW|XJI#jRrHp2x%wXV={+ zy-F(Kx(h!!xeITpp@G&Oa5uzQYoIkN)JDPzizLW1Lw%~6)`a20K!uP^jOgpa&z{!= z(?%l?BYJtJc;qFnX$1ya7b0?N0bIrtsQJ=@JTo-%)N0tD9}w=V+=G~CNnlr4NoF94I}Y73rKEx+-)S+M7J&#q^w{D ztqZZdbsEb%3)c(s%%I%F{nx}`J0&gn68TED#OgvUZ=J^SnvZSBGeaZq3^c&<3Mtz| z16>x&Ygt(0<5pszPIHHbn**W(peA;LJ#SSlci}D78fflKk%6XB!?SQXQu}8HsaG}S zr`x@nmP9G5Fwkrf+<4?^*Axc#b@tQnbWP#N3GQ9WHLYR>%@)CpMo!RdXKtA7OuiT^LX~m3<_YG*oik#uUd{By^=Gsh8;AfdDxP4gcmhuYV2~}-jT@1VWQ>C;1AN=> z1GNiD^HJ?O`x)|Be-(9T_1ApuruNv~AvX6v5F~V%*(D1%j44ZQYniXz)LFQ9|0G{6 zn9IbgxX~H=2IMX79tmOK$j&ESIvZ%g(&Aa zfb^Y^W^i_O7W^7ho92L-q_SwxxXkr$J8b{ zV2ZcbSukhRryy!$wXMv0EDHe6bHL4p@>y)l0cRKo&jGWB%0mC+@2zb>J^e)F^ps0o zf!ezkZzS%*$FJ^!lexf%(IQNA7kxv|!r5YhBg>Ts>uhDzNDM?$TJlW6+B%D;?Cc`V z!40G~L2Q4~RtO_)#~x8@wmq}Z#Fzs~MXb%7n}u*?Ie?%O9Oy@th2YFZ958+?TX!_( zfUa00u7)|uI*V4!bHK$&g0M8cu@I!Why!Nfp2fE7$Czt^+TEwiYl3LiW*xcomjW_& zEnZvPg{IqtGj8!C5KlWc_xq(>4}p$e2D(cF3lIHR7G4yIRq&EJ<+WWJz0RULL&rlB zo#PRxnxU>R&|`0Qz($X=)iC1$hjCszV57!ah-9b6X#zK#77I4ZO1g0SDc!qKVh{Wp zQl5DDVUX7j-^7hsoMd+RfUeYiL|UCi`o*+{Azn-CC`1p|S(HuGr@#hdeIFSc%Ay>z z48Zm_IMAQUvNbUyYSRiZvgYZyG^7DZHzojQr=|?@SSYj>V6MBxAderH7YRByCTw&U zUM@z%sZzET}D#D3NW^kgZKS z8y%8pr+*~QcDI3@sj-k|mzjmIzB=9g$i$`onIUSE`bR*U%FFSVD+vMo8I|&Qu)%jc z`W)D_8?^4CS%#Q;Jara`7RgMIW3kULg=gw42rpDA66sV*&}iW#S%|$`Fl195rY=OF z)q)f14cR!JECQ`lQx4clWdqyjV1V~BR@^xQhy|1s`q;z?o`gXaI$ku$M0>2XDDril zPvD5|g0Wp6N>yiJZ>1((QY#D71V>g8r{u)AytU^q}m`t7-Vu#UJB@+57#Dr;! zrW8hHFmK(EjW5jBwoFcf0(o;p>Jei&1z`FkF{Yya-OXRd8Mde_d~dv=_2#1Wz9G-aP)Z>hAR z4kP-eunJ>isxWrq37x+@Go(HJe3#H+6~`IQP%qZZ8-vB_C<}eNJTug1yg>_P@%9^d z;3kU^iU~^_aX3LVKFc{oSbtkp=rAnHeq=kMjKC$UACquyXtJP|xX)yCFbU^|CW~Kc z=Y}Rt;s$oa$3mJh-zNL9?U>r+++dE(HQ9W8+-JCZ*(&1HIM^(XDa!$50KkFX?AT-h zGBLGj4ut-;$wE)!K9d?hHKv#?DVXN~@|!}M)qz6r%>osh8vD#bP$CWxhhi;j8ZPCU zEE*-x0pvFuLC~0Kq7a0$hy%uEvml0;1FHF!0|vX^Wbqrv?D4CFmOvL`NF}t;As1pc z+TJ44!jwf*h_+}vlEUF~&RiRDjyz$_Ac5tXAt#>|I5xk*0B>DZ;AKm=MI11*xc9t6 z)W&n=2CPv7Ao1{6z==cl7rIL?4$8M^*whF}&5evd7wDF2@ml0Ayr**)x)5vxMPk^H z&A&!E%EEP#(2SqTf?EY=fpJ|IUJ}HZ2=~UDd)oZ7@ z4J2X4LYno;Su{sXZJGndCl%s28rCwi@-~ntd1grMvm8Lu2^{DfX%@|~6bB4Us>!06 z5=Kg(K_l28M=XttpuI+b2FADwAtQ~TPGXNZH-SYKG?Oqcfj)%BRR}z34Dh7Y+_~|7 zS)4;8EK@eE>(c}g%YO@b0f`&P8jKq$qh@8}1URI$F||qKnw!8so3M@h^p3eFZ)338 z)pciFX(4SOO9Bq`jVp^NiK$I;pfYRYLR?8>a3!q{7?6}aGbE`j2awkrH-a)TI*^5g zEXM(BpN>mI)F#}EV6B{#JPX_f-HUAYx)#koD9hY{ygclH-0z289u0`)!mM{Uc(Nvo z#Ys4vUNy6(5YN&GLLoMd%ETF2G)Fwzq`4VjRFg%rbjp?{aRZ4X$fj>@g?N@l95Atm zPrnw(TfiMLR}D_8$s$?u8~{$Lk<75s&TPf3SYF9p0rL%Q;nENX66VG-R3dB_R|}xW zQO$i$Nk3ci3ymv{T&c~bMi#n~Fs>eIrODz!BF37MS*_PKV6i4!I4bTlX`?K8^~fpNPXkVLPBC{)2d}+4^Kj&Y7v^yu<%hM&;+AMWssN!TheCfodtwM!)H+` z>-TFD%w)kZi7jbCU4(&VKKZVR@y3*Q^3$I?c5k30O%}Nkk5iS~kF)F3gsoY~i)Ka| zfy+3euxw|#LP)afwk#rq$*RU+K|1=3(RkRwkQ&Bg4h^yE)2Mb9Uy>fPw>uc1AR&xS zXMr2-m|5p2l8Mp1ESw@5vq|4~V>W?wHox9EpEQXZ*nb^2l5n?UFPs?C-5a<@Q;4x> z1f`)fd&_~bnQXGKk}L_vkccmPLUC3Xvpn1AC0) zMpF5PpM{8!hIOB;Qy80IHw%x5IgoVz2E@>0p&@w=xL{Y%9hL*mN)B2FEN&s2#E&_U zoC+q!%(BpsEC;Zm1`c@rupG$QR77oB2TXNs(UT#rrkw)U&V&>+grPL7Ya^QA)&c^b zaTlI@?!x~(7~5n$iy%>dfhWUcVe6PDfoObf4aZnS;s&;)m9&ThrFNUxjGA$1e5hLkOrRjf{(q!EQo&fnIUb< zb6^4v^gtSDDz)S^2h7}C2GRfx$*3}{xTDV;90%r(1O54?47agR2h6NqhT8yH-Y>*D z5Z3R|XAX`7jpKkfIOA2apW9o?4}=M9<sE+GL7zEak{r28Zi$gQ?O4IcbMsS1r`$qX(IPrzyPhn=xJ=dsCe!1rS>t3;KIAOn zJx-?tt`Z#LIaMmCZmZEi=@vCS!iGiRqg}>Bn~`s}pUMLEGCJjwo}vftqVK1&aIBcK$#q`{jKyo* zGfQzc@KeO2EwTDp&AP7)+=fvl*L@+TR-Y*z`DXj6EHE;oQ?*kiuLtg;@29eGw@9Z1 zI2F$TAtrdTo(1{QPZ8hc{1mZyo2FCQN=Na?lkrq-V)QH^F*)+h_ETBNTt=r{%0&Tm zxaj+-Y(b@%vuQtN_R_OJ$Ck5!pArP$CeD4?FY(1APx~noqx((zW&9Meo!*)@+fQXd zqZyq7{sg*2MAQ}VAXmq+63uY z;3dt;jC`{lRTdzdQ!2NUt{6UC^gUJf;IM8!+PXy8KxI-)cEj-&*}`-e-v8i2&j{gy zEfSpKmYxcL!m}R*9fL^UVm06Wen?A={1>Fp!pfj{OJN2YnYGOLqpsk21>Ot6z- z{w!O;%M2DHNqW%6WDB!+*xuAXnXJGli?{5?tiHjo;#4L$mSY&`STRJN6>VGW!**#$ z?A|)mWqQPFkR!=O!zTU;(z4Y6Q%|ZTDGZNCg%Hb;fmpU(hS8BcGBnB-MK($kh#J=uASxj^f z!GmrzN>JK=9RK10WMVWnycX)F$64;>`dm$!r zB#_itvBJZfV6h`%ke|MkGal4Ed_Nxu{L@iMx6lVij+O>Tjtr2oWouY<8*eI%+yuGU z8@#d9Ea0*eRhmRsbz4cZGj|rq7b{lMs=}(z*DPRgDGr2(K*4Cor6FpQo>fbM z;pbd+XeltXc(%9!(2|Mz8}(6t;sgd?4}*(VCWMo#J966MMg8N15Pqv;==~8(P2H|m z0m7527Zp?eri$>4^*#j`+Sx=-s5ay}-> z1@0&dNjB)oBDvZz6S!u5i#ZEB%A#W;$xE%N9v_Vd$l}*JJx!D7&%z36(bx;a({%S! zWBvY_Vm%db8LUYd;x7EAfN`%`sC{A!KwPXdQ}1Qm1wEpS=Es@Q%W!WtvCulBaHoA# zR$mL;(QYDLG`mq*JXt@lAat00%q(^)(r5ySBFaqon#KDhq8GvUgwabD+Z0o#i$P0S zSpIu5%A!W%KK+hjY`^Bj@+gbzl9J+hdAnLwLaZR%-66y3RpLW0RC+1?Wvr?x^HCvw zWMuFo?U2nuX?bSImvtcx2W%z1f#7l?q}h-ri_ch&1J;8$E)7weR()nQ1We^L-gCpz z&9xXI7Nb7IVw5e%)f$6*;Vbrn=9u;<3o?lKvY=1nv9j=hxKHotdvqE%lLc6W#y}#S zF$kW)7=ts9A+g2eCFgQ;qIjIGOJ(~U6EI-4cOLo_d1i=C#s|T0g^LIJTo+=eqOmR_QiVQuT!`2hFX%H2zQ$QxMa0=Ox}plb z(Kw4P==2~>;s#<<@UyqGFwTN3Vrr91Npti@xKykMUb28dh*126Iy50N(%+nAbb6pZ zzJ}VVz2Mx1r~Sv79kMuqh)c{t zJI)j9bi!J=`!n{B3^6GPdd4gfhM;FGX{sRT8D~);F?B&1m5w?yO=KZ3{f!41k<(tm zM+5@QgQSk$xAXixyY{*dknX^DNAIy~?_sB%a;OMZBS@?*6(h7Z5`N%c5v{^S@VA#R z3Y<%@&0L{o2-hTqwjKXUkTTMgiLPJPba8=yeOQQp|*XXh7r^kX>T2uL~jWvHc zmNfI)SW}c^ecxE$H`dMRu^zM?>sIJk(a&S8bPtduED0>73JaKRZNgGd`o*LPv!wdo z2~(r`-id5`u1#c}zBb_!oof+UimXi-#W8l%&~2&(Jf}*>ROy)N_@^q5sish;ijbLV zJ+7(BWvctIQyuqI3i+>1wc65DBf6>X98BfB%-T$0eKURkOy57#_s{hGGkxDo-#3$F z_u5P{#Q0bI>P$C=XPP0I>HB7Up9YjOUB=DiYu{@#<=0I0VkQfawYh%EcdmS%D`tJJ z&adNHSY6_K`{j-a{Xz zJp;g{zZ$D%!jovrM9^;VC0a`k2m~c{qUwPbC3T{T0DOtQf+hnO#1>UzfIYOIsj?4l zN&A`V<}I?sI#QYjTG)>&E1VbmQ8hy1SN-2i1&n;Bw#+5+TthlcecxOw>w!Jm&zwV^ z(|^tdErnmH#^FNAn3MRqI+IaF;a2J{(4sw8e0!xaFK%f+71>geEfqC^W-y{1V7FZG zy|~a(RCM_jX{Iq?4_;@7NIa=UA2A%$u^qe?dGaf@QAD5gq1 z7;f=b)Wb^7K;c)MRVsBK*u_<4tJRUCMdej1%mrJfN?5JNJgP}gO~tOMv@~oy!+!J} z&4?cZ$Au~zzY2~$Dw3i8e?$j>iBLI4(?*L9P(S{KNs@%==apQGzJebC8Z{)NArDz< z54YGM62Q7S;>JNejzCyJH>pixpC&4;Z6dMiih>JLO?I;W3>sp5-moI<)93CK^qQCpz6A z{L))fSyLb&(>Y~4rI;9#AV$-%Pt|#%MaRy#V$8r|JX3Fj3#Dg9wV6?EX4DOa7vmW@ z#=rtCDhq}dn23}ubf@Er+^97S7}pecO~tOM*fkZq*12+A>*RuO$ZOAyh8t*63Cf4x zU8R0nQ^Ntuw>{l0N=Ls6i57~0hL6uk@fD0@Y51t9sT!`|{K3gSMz8D2I@b8ZEe4|N z+)mW9YY2ta1K>h53KzmdM9E@|!~o-A_58Syks^!EU#W1BSL3hLHKBzMGhUXhJh!&d zi42PzKb&BZgC?hKZb`S%E>Jj0YQRSdM=D7o$Q3}21&j=Z)~g6a1Rfic%&P~er5n~HZ4GekO8B2f1K#Y^FW?MAJ;$|dyk9r|Sg4~kU zt#vH$)SAUq9=T=L-ZPv)AzSw%FWcT?jz*-rc)E87N2z_aZd+*3JssyrJx#I&0|TQo zrv%F)XE?}&B2!E*WR=3EBiN2YxS#5T#COcMr8ms<{HKrJIu2Ov& z(*bkFQoF>rhvmJTt~8KFd4Au{2?-~b^>6het?Lo}24q<7>kN(5g#N8AiXKYiSm>49 zSJ_Wg_MG=P?M+nn6P5i$Wj|5bPY9e=9heX;O|Z1eenNk!vY%)iGa+PD{l!FeVWPS) zA*N7uVnRfr%4?#2V?xxOhNu%_ym+iz1UQJvv(Z=$+0QQhI9Z=yOqVP;o@pNWR~6Y9F^(o}V6 zsy=3_)A3Yi-);l$-6gPp1B-c;AoQ`JF@fkK`*rSv=@ z54sH;(buW!)l}!1sp`*E^<}Dh!Nn=#EQVQA4OFJ;!=@UYOjU2EYX4K!*QrL@Tp3Sw z+McSOPE{|bs+UvM!>Q`wRP}GFeq*Zo$JlPFdN@`6V}v(Vy_>4uO;zu>9-pdz;j(fKa*)>QRws(Lq7eV(fR zO;!J<>dU4&=W%lYMW(#ZL0MG&SA5q@^>U_qIa9rysXoqBA7`qMGxdEl)yJ9ozL^Hy zGu6YH>fucFaHc+RroL~czHg?!Z>BmkQ=OTq?_|*cWwvG)Zflj?`Nv_Gu8W< z`rDc6{Y>?Jrt|Ae^?pX();MjZx;s;!$pz0$b$6yZJ5ycdVrQm0J5!yVsm{(+SLdpe z+{K!!F3wd4=NfCxHP+%L*IYMH=c;pa)j4i?amQ<}vDRF5ZLT^tSKXScE^!--yI^zG zA#R4vbzYroOf^?I&sDy2mG4~TJ6HM6RjzZD>s;kIS9#7=o^zc)=PJ*+&YyFY=UnAE zS9#7=o^zGwT;(}edCpaybCoCe^5!}R&Q+dsjl1XSljh=+LR)c8%iBu3*{yzwyLjy; zHf=+7Vy-$dSDl!vF3eRI<~ongRVU^;pUzb`xK8G-BbUqEeB|CEw;n6?U)+JL)OIV? zA?`y~s!QCCtkj=X>c=Y8Deg&Ds#}%%vr7F~r9Oc>m6hrkH!LgFwMt{UN_DPMe^#kK zt5gRo^<$Ol9=AEU%UP)oa#bVn zkXm_Hs~y!!bFJ|L_a&K7sMHQBwS!7`V=A==?!8uO7nRyUrTSl~-g8H`QoZIjY^C~J zsoqvPhgPa<+>_;&Y^AzZsg6~uTebR~T4S?X{Z6eqRBH@Y>zr4sj?}6nwdzQ%y1^YB zZs2g+hPyW05au>8cY$l&N8nygtum~2{-~9owequ8KGr&K)XGP09dqZnRzJfHQ8FrJ2#hW^()+Cu62H>b$+N-F5G&qRX*H-uGPQPDzBP)roN)q z*r!(CQmfCXb^TVW@2J&h)aol5)zd~}9BzeiC#+HVazm_9Idfl(+hUE%yU|#uQ6JH$ z{2P^jqw;Tb{%KSX8eR7_st=9&ibi9fMtw%3cGRfvXf(^wsPEwJT%*2&n{|J#Ota{aDB?w7gGflYOcqK~j%g&}gSokHeHfqtOsE2aV2( z+(&Fwi@BZHs5Ud5(5O~3tI()cH#%!J>aDm7*{IiORI3~H9{RC+q$MQ+W=?`TlT1zU zgXH=>ay&25U!z`--v(+_tNDFo{hsw2KaYex{Rs9I?8b7G2 zpTx!Avg^gKsp^Mf(JqlaBqB=)T*&$u7rIflu9}S&*_yxwf29*4auK>)x2|p-EwZnH z3wEfQju!T#x{kc9uoV~VN7WoH{JAPRT0CLl?Bljryr$u%FdW%krLoQ2>SxScmYC%0 z-Uu=%e67x?Xd(G(7if`<99)nwY8q(afVjEJ3UV^^(53p-T3M@cUBqkbGMWU%TyS~$SgUUl-s208_$?j0@c zP#rv4NSL~Iw2&}014xJcXt;F$k)P*fdA>_ms9jR72bHCD&f_grqB4C*z6r56(V8tmkuxHwe zmLfujG#XYtLJNDQ^|UF1HiyunoS5#zt4K4=s6{}vnS>S#)#enK8w7!*nFiA48Kf49 z;}{L3O*xEcAZ_wNt7+h24MlOmo@pR0^opq%JVQR~G=UcKStks%kk7Oo<|@HUN>KNJ z&_Zs|h}yJ9o7d2j&mfgX)TTDtTt=JBXtNn@I-|{JvggtA}j~4b!Lu2*}x7afc4Pb2TnT9rDjK~}qa^UQc*2MG|rYruO z*2GL0Zjms~U`#UN7Dvj+ZbBm>VixlsM@l1N&J4Fm4{e9(Gu+|;X)?sAU>>C`I870- zf?E^;O@{e1Ou8H(O@^s7+~NRfI}_Rt(`tBzBc<&S6N6ct1Ek4JXfn*A;TevU^A(e0 znEO?qnI=OEI}`&6eYP8)`0NfdNkt}z7%_t~kJ%!`3_AKL{a*`%WEKvu zvkD>77`rlI@Kx#@!}l-mWerl zWXVpd>6Ct)2{t@K2Gfr-$A%91bLte+Y`8^Tpejx2wV86mGdgG{+fb58b(85fw5Wq% z!VN9TMW)`+qFTn}8(P>ioi+1|h?JF`%*dfdNo8&hEjnao=g^`8C#W8QwvL_fdbF@- zI%_8FaEmn4Ycqd`TkM&BoT)s(k;o1Dac1*yi!{@ZGogoDjEn@LRdKe68f-kg7HyW`^ zX4g8@IP-w$iK3(XCIS)*Gm4I0o7q9!BKb5mCSY-k9dce_&Jg&2?T}eow5STq>Br{` zhnP{sGs+L<7O_xdKMaSMZp1BiNDG@Y9GWut_DuU>_7v-P)mP?G(Lzqsewa$dEgdP7 zsc2!(oT`{l#fAWTX7t3ADsGWxMo-MH;ug6<8)JeM8w>1^rZwmM#AGX;A$w^(b6O8i z6k%V2O3I0f`BdDZ;?RtkTE#8)OfzD36}OZL%%?&nl!rW~gccnabEw!1(cv(AiWYr^ z=1oHdbc!Gf7@Y86mvrFFV*)FxLu7U^IFP}qib+@;5Ya(1?Ti+c4->Lz;Sf0uF$aq+ z9R8ff#xyK$aX_4gn32UTc1ZK%i7add@$H;qn1{u<)F60V3oYa{?SP3=+#-Ld^~})% zwM?3+>=l)rc~d+?v*rqcsa-IW?3H;W6qFOH3X0B|sZwlUsmPfW#Q^~&pXpB=Yf+vt zp^3L~h_n{wmPbt9;)2RV+o)(871!X*?BZdLjJ8qH5-J)1)4Vv#pn|FyjxocF;b=e1 z?P55}*P1T9=8C1JmNB7=%{%^_p1fv2&m=Fn!4B!bYpPOB4XUaBO#R{@5V=ZKs_Ax_ z7REEG9ZV2oe^8~$R54mSS3~hSazwmL5C;c{C@8>dp<(w=+eJ z_v^zCA7ARGcUYdz&+@dDZCo@NlV^Dk-H(r^Z z#x2rJSIo>bZjt3&hw?Nf_FdJmnWjbyB~Mq(Of|TwZ)c7gEh=zkp|NeN9Ww8X7JWN2 z%a8?sMFnJ%7+`qbVwk{#oY?+VjxoE77WPaHV!9S!df!i|L9RhGh{@F8%$Cjx!7(iL zx7apTelXRGzWG{8p4nX-#wLx_1txfLiwekfCv&{GrKZjUDA?HMOF3gR!HZj}Q%vz< z^P6I!9Wc9#TVyA-gNa>?oxh^HWDXa%NGhjXrf;#oF5<<7P>2h81uo=QxDfrtg^-F1 z;TSGtq}ZNkKkB*A!k?=PLkoYUz6{b4nsLFO>v9h*q(_wtEhIy=45H-Ebt#9Io|-r+ zyqdI<#|6is-Yhs%r-BO3%c%zASA4&!GI9cZzp64?NVR%Sw2%!t38RHP(@7X_=dW}U zMhkzX!6;hDJXKO;JIFItQnauiosH4LepE@(!m;aYj26q>{*=}TBsE2%h1Ap z)TyC`{iyzehwMic87=Hbof=x$k2*E9upiZEls;fTs@iDbNY$yKg(KDY5-sdmmuYBe zdnPm4!n7^&Lt^o`=&6#Ezo-%t|>0Z1<2|*^A z9kL%<6tlc|mkyfAU9{*BnbSoJ`=Mze<)l5+w3y1pX(1A(5d>ODkH)DO7k{pP6D=x3 z=4;WyerQUWQ(rg(87LbG%P-iTkJDC|ueKRwk4ne?=2PM9*8Khqi*inYTy}jRv8k-lDBA1&d4}`=PBM zSaA=BbDtBtY9bAZc~vA0Rbp-F59Y~`J=E7S`GlmQzKzKPyq`KnJ7gU}H1%PsKhvvtSOwLcaHIM& ztBN!$->xAfTKIO_0h6it5t+#;rY*R_j47TWSE=k{>Nu02cqhk2r_VYNIKs)dQzeVN@HY^l*!ur;}rD52{MS7%MQhhg5YgIdp=AgqxLrYB=^4nPKW zNM&c@4HT;4FwKS*Qb-TP^dUSfheIW0nhm%3E9xc>xB)AnZ)egGE$oMmhdDXiVn6gi zQz|J>vcb!+Lnf>Fv?eM4v$$d3TLyGugsI7MSsrp z7+O?xOom~0F54b9z7~x^RnR&;#=H8YWrN zLl4OO7H+XaPPaU}hFk2A?uw}|#8m8%tYgLtx7Z=Q6c4fC7CWS~WaEeLo>GYy?d6Wk)r47r*9fcCOyt~i;|K*UR$8SyYT z0Szb367dAa=N*|CAJ24+nQ*{`62jwEK!WK@m^c6uOxej}L_mV6B6Euw1p|~rJko@y zT*tvfJ%EHMhj?rUfHV~g51FBbZ>Ln55&@|sgL^MLItCb<_RQP_MxnfCCIT(WA!Zp6 zbt=tFE}%teW=;WPXU|-I@k|wBRWgC5##{jS!=7n9+?_{Y%OP_~#4UK-;@i14;rS}C zm&7xmW!eCICRfS2n(mXw%7DsK*70B!WTE`w7Cc(?6*bq*+<8anP2qCg%!5|A#h%Gt z?#1I46@arfvloB@Dic_p3oXh_ZquWM^w5uT3x2Fy@N2l>uP7$&j^h@8PQmd|7jCJ} z>+X1HD~>L)6`pZII`uoU6wsRGgs28LV84ITtT3;UsJv$!MBsqBZb0<$}~#eV2`c-9NWp;YU5 z+6yflAeEiF{PTC3+5@Vh%!v&?mU8jcD!xROcAz`$hHdn#3WJ9~3*r8e&T4bcSV25g907J7wjh)cK4%NcY z!VY!&2`w^YT(D=IPS8S9)zqLi>`+Y&EgY#%9#AAcqh^E__N)^FREy83WuS%6sIP~z z@fp>6wD1}A&`>`W@)=bLwD1|7zfpBfpTU7S*ipD6 z>L)cZES{jjCRdzf?`QxsDc+L8)?c9k8YG~F+)%%X7LJ1c28c|@ zR}`_Mb^wgX7XDm=1U#ei;pRHF?ns9EO|+<8^28Hb*pE6;w2%y)_jS`xu=a5eJK)I z!aC%g^n(5dX&SaD@jOI?LkjwK9wI^uJEWV@&FyeraZ(cX=RP;KM7`+3r(DMeIV{i}GqR#NsxR&?ARpVNW4Bi^o@?JP>T+4gGN?gl(!5!2} zllQ{LaV_r!e{e1D1%q%c?}ZD;wa6kYq3`WTrE%i!J-ZKp`}f$p?~Gk2IE(+P`p~uZ zPo%%r55-pmw(Z!ntN$2QvR<9q$MNgt&^4_7;^unYH49zc(?GNyy2e8QLGv6>bJwwJ z20sr)`EeO&*gSR3!r!oY=9-1QVe{NI3wOI_=+mKVTqK6gcqNf#VKZJycv;tsy@*3m zZ(j{5Y_EK~h_`FUdJOHA8hP06`r+a{Xm3WYU422=4&vcqVykO&9!@enrf?l##56$VfPuZL|C?eUGSKM3&zc!a$x`YJH4CTzHc8s zIB^0F1$%1nwTadPZ`*ajffIIJh&P9=&UbhLZrOVL(aur32Cu=!m$=@{E05Z7V8=Q8 z&U9U!374V4%$BVu?b!d=h1&Q>}q=tKe}Ot;>4{(Id=Cs2X^gW z+j{IdI}YqRde=@kM|`bg*WNP^oaO4s9&yClc?b6I+OcQL1+Uuk{3CCE$S>UZnD710 zZ``#0i5pyc-Sni}fBSzwbL@RS`0=ma{F_(4bl?5=KJB$zUU=$_k9*ifr+wkbi*9+* zrC+@7Wp8})$M1Z%r{7@v-tQgt51)Shz25bgSKRT?^Df{2#5>>QLH}~^C;k0=?tH~R$jIVv@xZA(z^Dn&o(icuHZ(h3df=l;~pLg~(x7~l26aVO!wr%;^ zdw%eYw>*6Jb%$TIamCyI=?)*={;j{e$?HGdF2yd_1QOF@cvIsg6_cMq5&vQ?B#1%*V%(+|s`ume> zzwp6}AO3_ZPI~S=pECN)_H+MfdhFeQ^8ftkszdK}w|(bc@ZHBgD!bJ8C^{@5>^^!Sh6>Gz-U$FJV|!5@r{_|s>c zyZ6t2bpDrK|2KDg*t4$w*fUN%@ams@+`Aw6%zypSHIIMa`a8G2^5qwNG;$`qKM#wdTtgbn8yPFxvdS zH-1)GX<*$M9rtVVa=jPYF}9VbwDpdjs2zRtIQG(>-DR!-)i_#)2Co+um~9_g=S>MR ztTvpqCwlWVEg6a4>fmlWshe5_Hd~%n=w+7eO*x#t%WHq1;yOq7_szee()%RzSInHX zTfM52T2o{HNbg4Pu*{9+ANnmF4O?e;efw2wdm(dSN$&{1#T*;0Qw4z^xZPhC1l8(3 zY~DE5a(|#LJEChqg7z-XMMQyT!^gVJ=7J?c+iD(`+$s#Z{$^EM;Sh7|;q?7aIdTU# z&KEeaB3s36*OS)zD$a*)iFe&%#T}n^7C&3CZRecF=XxdVrtY?Fm&m_hm|OJ;EMELv zbuZU2H{rpJN4V*dwtItL-P@_3F`NEI?}^*$O}=9W?|XN?30V<8${#&-#d{gGR4?}V zMtzqen}Y+_PP@AB-T5S@mF-q{rlLhE=&RgNw94n=dZUNeG{zckW;hSuTs*0ni@{BC z3T?P#5^4PXaOKGURTRe#?l)XVIymClv6Gz-iC?+6b4JSBmwUTD_4O&th&i~SSbbZX z*u6s0m~+Br!m&G^wx%^OtJhOL7=Nt4;i~t2=Wv&jt;|?U_37tRS%<|WcEn$F%zd#i z*41ZDXUzll$vsDPUu)h|7Sl~h;TG&TkY0XIZhIOb!RG}O7dg9omN{KN-WJ3b zGz*)Z?UEPz8OhTpd;NR+vyGa2J#G}f9DM(Xmy!O{^ipbil%?Hs#oG7HX9wQPhFDym z{Vhy5EwRwV(y=>z_2Vgz4zIju5`DOpk1MfmyG($?jYVR2-{-E6;Yz$cIk%l7zUK70 zZBe_8GA`Y$&Rh4WYc$yN?cV(&q6f|xS}st^t(v=ak@fj10aMZEVms$N3T^(d>B-JG zVYAJ#T$aMu-!mqc*e+i1T5N_`ppC)$#Q~A$P6oT`-H(@a7>W~L)GB-TsQ;VUdoptG zdKVn64dJt0u_akE-rRXkiR12fjQH+P<>}vEDh@9Ycu&kssp@T{5z$K5MP9>p08# zv{LP!WXp>)1CAy$mPss7itbntW%caN@b2ygb>4_uTD$9uOBl+9UDrN#bRTdOp1t=( zjs4L1(YJ$(%nM$&R-VsuKl`ad{cb9GlX+v>dA)q(hXR|jV=xGXKOM8|8(RyS{HHie}^p->o* zHcEVlAW^7v6&97vf_GTVy|?bPgv;?P6`C58&0q^GS>fPeu+_zRo3}KR!iMtZRJNMH z5<_nXSC=h1ZqBY-rNMxA>Q>@@W<*({Q|Ka`5ul^$e;-~*yzg+I%wUzkf|CK1r zcW?Ig_W(()FkDHrBR)z21`SuPbJsUqY3$%3y~NNF1mfcD|C?;??*-y8baQf-*3ei2 zB6acd_Vkxtr~@P1x=3J&iKpXMPZu|5>4pFP42b5tJv>~u?j+<2X}1DPtfXyKLFm#9 zRf>u#U6siK##dVX{=5IMO5~3JliK^=Q#<1%^e%#7U+s7}54*6K~+yvwrME(-I{ zi5;zUkdo+~o_fR~O7HOUfc94=m3gr~(hY&10}HaPP2=+)pUE*{KH$~p&odP~|FK)P zUTOG+&;jWAKlw2o&_Yg>80MIR3 z8+yIlsej4TO&VRYb(i)Zzuu9VKhVz+GwFGO<)+flpFW$>>W&RO=ZfGGYmS&Zb9F&% zyUi2sYSvqg3)U7E7Hi5c?)@lg(X{4Qo{FQC=jmPZ`iCazYNQsfJebY1<>LeAb z7bh<~BIHo})NU{^+u40rRVTk#mrjj|ftbO(6B>N7Jkb}l1!BU5OIG^loz7^!sy%dA zHb6d5_Aym2o@ZI7WOQJX^lkros*eBBGu2-;J*7>0ud-eaU5P*G*Js+6#NBzP^$Gp zl;8IDgV%>2buZQTPMtcHdhCF-7PpMn*@atL({ zd^1kItWje7v5y%}+m9tzmNwGfJRPRzU){FH_;kE(hE~>&RjYSAX)N!$85p)JAL$sFQod_wPU<-L$H5~ zt{qZo3g$R4M|;nL#+UWy_PVzObC_{+$fd3II?z4y!xWBllR2CYy;$m#AAI(^5XV!F zb6Y+=`!2z?cagtnh^-(;RzAJ&g%O_C+@ERm+}_?x@~_Ebw66_=WHzd_1?Fy^J8YG zmh-?RCMV~}TW2ecdhSEpIfS&=e)#0Top+n@E`%@D%hPjJ14m-oGWmqkfZkE1U>V77 zdv4zH?wku8hn0NpD%Iak;AADQI-t?TI$ikweVm+eduY(RH<{6~b1n0uu8e4FUL6$* zd6ui>nK$#!vDx=aZ+%@a`0zDXcC>`&v148tFQ2@uTbq7NSmS`yV~uapdrp*9ish<2 zyW1AcH*o%r&}p%(F}ZiD{+(k>@4uSkJ=#5DzjP|MxA>ZRhxJBb4$CA%&Ar7XdQ?lb z!_vm$nyS88n0s1l37r%fh;i+Wu^Um&vexbvUc%NDEVphye^1<+vo~$ZD+PN>qMsq< zqcHvIg@BGjzMFo=JPl|zJo%B{A?KAgOXA2Z*$#`mh>r;u=Set(yx+wm;jm=x9pAwj zx?T~zZ`)pf+b6?upu9rHL%{w}=b&sUuS4OQAl1q4!cvP4%2b+^dQ4+=D8wI$i_wuO z0}TG)%r*uLg{ zXR4S%kHIvc-qJt*`O+02cdcU?p&YA z+8*kAJw_$WWPaR*=j9cKi=Fs39~eC>(Y7_d=uo{}VD&W}Ez8@>IR?vhpGv#S20wLU z@ZP!3T`n-V;}rMcvYB-YJ$XD^m!JBiyhDJ`>RI8E#(*JD5x3U;4~Xcbgj1R7C*>>CO9rMCeLtu<@Iy1rKiHn9vB+Y^TC1j@_!A1-WgI=-c@&@6bJE*G z13xWDt=?S{pJy3rxW}F+uV_Yn&Br&o+VQ<*%Z|Y_xljFewC?#(w$*sghnCi~(DSMz zi<&IxZQW%yx74Rz*3acW}B>~GtD ziulh^ePda4=ajWwZjSs*^PZ`EN;{J0MFtv<2JJQ;4a#_8ZksrZv(wn5^@Ch%=J7=- z#ziw!A618k2qkXaZOnQ%b;Zt&8~Yyh@_!i~VSg{p|M-1!l8KOzfhf-fo*8SMR=$d! z+;hot-7@<~b1}bV_9mI|!Gu|yrfX`WS6#Sop2#P}xqHpQUVfiamDfdHqwm>4UA(~q zyl3|KFH#Q_+-QH)nQOFxk-fgVEKFo-CGO zWbh6(^OSJlg4_k}bEN_pnJQZ zcK6l(xdkKjwV9d)MS@Jeo}XVj&s$2hcnjJdIH@@`zi|CUer7>o^F4W27qRu>QxYe+ zMh|N8&yjO|cQ1f{VCU_T-m9)R5B6RyWQ64VJ6Z0yFQMMX?c@`A(3fveg}>?Qvurxo zwP&v{$NCg(=diMz;+i3OWzvu6gGwJ|<{T1^TT-9xDWg*V`bUl|V=u?U?w-{>@YHQW9H_Y&onae|`IUkSeI;EiZOHD6io^NnM)~a_gB7D}pRoQ)*n}xNln4806<1;|O@ETa!Dvb(7PF1*?5+ ztOEp!lPtTVRh6GUXy7`vUDx^OA$I1wm@lEB=Vike-`&4REhYM?eB9#AIekx-H9Fiq zrdG zvo@EL-iFCevNIa;zHn53-8*emz06mFL$>3jQ^=iJ+pFMrxZq=rXneP@XH6oG1ql-4u92h+DH^3PzpWfc^NCI=l2j{l(ynVbLa zc)8-adw)3Kj923!(?guKTMXLh>iW-6T}eyjPBBd zhep38Ast2B2vKg#sOWk;9 zg=avtX z`*};P3camA{+MH(FgE|~mQ6#7t<|KETXVMDpGt9Vf$Hj3JKL^1JdB$*hhdZ!{VQLq z)Uzk(lXltg6iWERImcG=^2yA&cJA7mZ2)v8$JZXlb;{^(vk6*Rx9%6qRJCqe^N|jd z#Sy1gIvL&?+#I?3#+rG1#1m5w?{4A38 zsyS^wU&1!pF44a2%I-5&Vy8#MPoK28WufZ4nfJK5b8@&gf2w*a8*p^lU0t~;hieln zysQi(yq5=TEY>?Hk}fs&o}u+qr?YBw-pge<9r`AbqE#j~84}-gUrbwCwSQ~H)fmS; zr{%pE+n2k<{p?;7Saoo|`#|4;^DA7QCsc20;;SibO-@!mrXRLBK{QlPf6JknCeGH& zE2fkx$aoc8taO=QB=^wp?!4iGrp#Amd-m9=fBb3sZQIX;;-^cl2EN;uq+s)CY$!gf zY5E%>Dc_dzht6dm-z3Cmyv@)GezRIG^vBC3T8-8>_rDQdp6A&1!s6#pupej0x7g7x zK1n^(1KOh}ny(Dh3qKOf@LZx;@SsHJc}mygUeoNWS63gi*jTfX9dx!-tG{u{p6iaf zBQ`zU9mZ14!lUbHcLnt%ac-#vn;;c(K*xG z^da@4j1R9(tm&FlNoqy!()ab6zE+qd7WppQ|7h2mz8TA;JYpR`vGiY@n-RSxsNs8F za8O;ExwEj7zmq#rkZk-Gbt&8@}4t|q6pjEu}&8w~iE6#fTZL=K9oA&2QI-Lx? zEL~fD#r4~XIf2Q1CnwE3e16^iA2EmIM}mUWT*}_fRIxaezvJ@lVtVg(d(IjAKW$I% zG}V##eq>u*^1>x!BMMzxII~wTRuVb+K)~R7qj76ZZHa|jzHR5T;@!cCuRfRzssE_{ zwQld}S6wDqYpu2^=FKb?*mG#T!?o+{)+@O_TAE??;^YzLnH1YoMGW2Qj z$(yoxtuzeKYoZMbUvbm4mfZfADg)lHCn=E*bY#4&4o zYyOqpPp;XC@EHyb+&9P>PRxE~bgP0pOXGW=62S974-Fa0w;KC4 zsAQPOPkQ3s-+1$$kLTp+=a2Z(%0>9JnXAG||Il zp`z5B^rrOq(8}ht8NG#io<_pa?>_8b=KHL_&U^j2FGrTV9ey+pS|p1#^Vfii|bV`%(%;a&yIC0b_iOybe^Pz#Kz~De3_@tjaugy>&c0~5z_0aQ(I4`Z@jhiMbM?p*ZqM^ zx64bf4?%TqyBC8?ykEej-BWqI@bwoUuyCtbc!hDW@P^=9FM zw_7Ij@z*WX7Z*LdQSO-j$<5B~>yABdQPf$c+t&{=p=-?Ft)re(B7R{~sKLk&o5Cpr zXY)&o1>e&uS7@wR{>8w==+%ic^3SF0(nnGxGe$bO7ml62rF}Wgq#;1H;!*qN%r#Tw z?KAYwbE?iZ-b8sfjYIyx*QZ**^RQkAKmf7gp!ZstM1!*}oe^r*<4{=?zz3p(4U$IWbI zyUDqWpQ_TP&vH|~5U!9@q%<}uX}RHqFCDP|DyH`z$ofBE^&jy14_t5bH(bBm-PIBP z^8XQ5PlZaXOf^+Dp!egkdNxay#{BQFdK%O!VW|Qn4Ol%Jo-UM>i?>*_aDY5!s`DidH5f=bOJg2e-@|*Vg2ubdJ1dYD_?d| z<7ykNwDPqUN^?~5dndL13mnCErrs0kthlkn@amy?!lUx9eo%r|`0vTe_tbvXFDv0) zucWN}=*i|uP~50N)=)?BHDjimT0!Vq`&Ws(eOS+mQw&Tw>Zi|b?CTQhg!M0rSPZ2WP`HscN8T9dYEy?uXsm~+vVom1{vQnpOu+@FrKf zRLbsRWNNp(=QOMk-y$apFuk0P^4Lx1>?^%@t#;g0H(a$)+$hB;D~EQmR6z08q}?}H z-c2u_^g)j`HuQNQcX4yhyE54*Tip+AF@K)!Y`=(?-ko~UQmy)>Zx@K|FfF+rcH)qU zj>}7{t@52EKfZFR+eECuA+O)>693Aypn-YH2{j4hrF#7U-YxQ*NoD;Qo3S6JxJ3J^whE|%}dOg(NxM#02$40L5qSH(_ z_w99-%LF!+@Tb}exomTpzB4d$PWg2X?L8U|g~d8!yIRaS&WUlz>o177LeKKZ{a&i2(0-+yMjNIl9`Zp`7~ZqwQ@S)+=< z!4YKJ8<#25dVOxl`mJR$ zdVWo;Yo7J-*{FWsmXQGI)HREu?Az@p@s>Ym_Ts3FUHEauwvHN(q%|2jXFTT`4_F&N zN#gZbp_cc_vU-)^MVqSp0BI{Hd(PC6z7_s@ABOE`r_EdF&8f|p9FiKgdEq{e)%)bG z3s~NzX&;GHa`$L`bK-M?WQ(U+9Z;Yy6sP#*0 z*Q2|&qc$5Wl{?zH+H}1h%xYir@<`U}9m6Wc5oI+74FjvbnfiClAF{gl*($;w5aU(v z4B~9d%I0~Gxu=ZW_`+Y@Gf8e>?AbTp2eH*dqfL!p=ilVGX&6MYR$0}yam5ntjW$1@ z<@K&I(<^-=`<(B>KBI5aMN*d9e8J00&xQCMIq7#q!gB4hkGK8TM_tY5nwPdFDAvz# zcHbd-L%%B*j=fT12hqy|3+;3Zq za_~Nv`z*<-QOP#yO>U2ZznRbSGA1tT$)Sq$6}i4#72>Cbh(SbjWNU z4YBJuzas3Vkq>u3w!nGr5WY5Z$?k~CtQXb1I@PO`%H16nl$%&+q*u*Y=sm^s5%bo3 z37hr3!RmdB6jzscPf_$0-F`N-|3ht)5hkD@alT{2^RO*8Edr@Z>{?PB20%2t_SzYCuyN0^6i zPF1;jd|&bT&-w>7M2<&AwW?iw;6JG`$rPG%(oa%)65&$3Vpu%4!io7`ijOi2AoavuoPf~ z-Whr_;;FvQ<$^-rnO^%8SBIMo%T1cKHi&YsaL89b`jwtPWkrsh$sb?^D;a;jO{v=j+6|J1ftMPd;KP)}*(>+H~@lVcBb?XSP|H zm{>+KgWfLXecRwBWN>T7sI>p?n$ZHa-punr2F+l&L6v^&Iq(eN~pdF zTaui2J)Y5SIOSJ80lOcO5^p{-|HnSgNU6ZnlJSG1?0~*)rz8UZM!|A#{4C7COwlZ zzm_ca>}iO)^5}XgA4Yq6cy@aA-KAWG>86|1xe8nN^&6`^YYT}qC^WvEX*<<5oRg`w zp@v~J>Y-LZFIsP_P_Wd){GoM$;qADH-B-I77kEF8=nZn+BI!2u@w7P}KbK0`?iFh~ zq!%Ra;+bv0&0rR-_u^*I1+G>fir``x6k6V<3t#(C8NhGFXg}IzS+M+em*obra*wEl zL;dS_+z%_SnHTNh!XXvoQN3Bxc0v1QNfn!I&f(uY93slaUS#W)^U0QumGS!Qm1=7W znId~NZm{jEn2)>EqZ{qZRY0JLcV=QV2b!C!fZPj@rR=dSpB%?<_giOou|&Ylu3plj)P@2vPN0hevBWkr-kvsLfu z7_3k*rsWvQCyC0uT`sXSswwA)UXr+sU0T??gWKo2-`>ByM(XXRubuVGM-@R&S%NjL zNd)Ttupp-tQ1`AHDmQ_;d)CzE#ZJk`pDSC)QBy24QRfKCB zs&7m=@q})&N(dp zIrH$MGum5TY_ncfE?Oz7GTY{iN&L{!6+_=^#Thnn!h-@GGgW3Uja9U}Y^JgAUf$!J z80`${*xPa|#(dpgrCMGvdU{l${uI&l;>>fFg^s6ar@b%fedLjNqW92@D`G!QAbzUO z7328rGfh&}cIGXXt5-C*;!!O$_Nd?1yV(2Entz)n@ArnLi52in=7`DN)Vx8?3Q-?(7Z|1TTOGaao89anoVeUh=} z-%gVRJfYL0xw%g=p8wm*yICMGYA$|F+v8;JIi6MLtlY$1L*SZs$$%hi=Vp zws~K&`j^+N{iOo&$4c%;n#3Qs`e!VgO84JW+CaG+ezYM&_uo!L7hN=X{eg#X#-&KT z<{8>+b({=LHuC-2eb#9QOW@b9aPAE04RZ@wYd6nWcD7C?V1a0dt*X+mIhRbf{&@ee z_6Lvjkh|43*~}2>q)>g<*-463W@Fm?9}mwP;w>`yrsfiRX41jqQ9HaBm2fV-uA>rk zHpqzQh8FL=+pDwt68Vg7qo9?kc%}wmUs}PZ2lh?Gr-+W>u zcxuiM58h*`oUP}mA)EMG&qbSsZ&I0ZN_XF3;kYP!tx`S__B>#}`s`wvkp z*DZ%Dou+37YCA1DrkaVRGL*79EHv16_sEpB3sooBFAEIp<#ylM>=E4cw$i(4*~|m2 z2UmR@WG`9|L!d z(*B2EmIM{$k37DRQTI!F*{7h+75Nbn`9_I_+{v}Ik-O;(Umvl#Ey3OKw=|vvy9Nc1 zwN2Oh-goCraL&1cqN2}f_vED?_`Ug|5>ikXx%H}PZF7&*Qi4v89C$b?v(`rGBio2^zmUa1vrr+oGy1fHS;(~X7d6_|{ip9m%{2G0im9;MB zWP@Dzv(N#znkX;#*&KTg+O0~OtI?!4CuAT05u3thsevVv#%lLzSMw|gaD3a*px@wj zTBiTJl+c>!H+y-`NezleVOlM2e%(rJ-m(JgKc>0e8 znnIHg&mLO*Elc5osrXcRPrEf=)|wVwk-brA_u(t=jpqf=%lJN@SoXrr_Qp@4xeLN* zVR`zQ`a8p1!}`J~g6zKCmqZiS1f9Kb+d$a5Ymt##`^~=uw1@=9j zcOQqQ*hL@y{I+&lZ`+IO-})H~?7NQ{ofcah*yG=O=T2+#muEk|n|!N_dz83QZTGgI zUwa==cLlwX7yY)EWiHBmh8*7;>YX(|8@kwEniii_5pj2W^=&}1TXXK2^5o`u&zsn#CvON!UE1-D zgY{L5t2lCicbfR7%~j`{E(bbj)s1Ywv9@uBI(O!Sg&UHdy^>0icYaZ>-QFEC=yv3; zOn~bdfv@KGWdc;ZEF8Ba$tX8iL>mP)DCB9j?HN(@6=L@s)W|u>F)ZsoN%G+GdHH&^ ze&;(9Olnz`Kd)OnyfRzYennr9+PZg#M$1Ez^d3lODKO^;>dRex#sAh?W5LI5hr=$e ztTXJ88F9>9XY|N0Yt`F1=S=)|{8-koD0A+a+MeDFxuM)yob`5j+(YfQXylz7%dGma{2k}`4{EVlcssxi`NQ!Za*PDQXTVRY-G`HyETip zu5)2;ofB(5eX+^IOOm~3{9XMNGPP7L#Qe~ztD?VHrLN64yM3DV=;3J#&fhGk6^v-z zaLnf?PneL@VTBvfs-w2;~O;pT7Ji8WE*$L6GEifqT|AC;y0SMm7&0Lc?0 z=&S#Ki=h8O6vtzX#4A1%0G~u&@PF8s{zpP)e;Wya~MHR&CS9kg80dum~?7uAF_^o5Vi zL$6176^5Mzg1ZxEEow++Kq{&b0#mTJhf4LN7qC6>xRXnJ-tpW9a6in5$!Yfo485ZK{oYqHhB>wu%4}~P z(>JZ~TGVN@FGgA}dZEnGBWqUbpQGtLP&_N@A~mD`i167dkNFp=OG}z97}A)l)^}Rb z-!bTy`SMVHm)xiEc`k;ZMU_rQ&Ir=TDtnVRoZZ)NT~Hi2ozd=@-JW5y<#o|sX0dL5 z(#BQc$rB~APZ*mb?koIrD}q>V;}Y2?(5wF~vd;SbFd!+5{m3dAN8k2b2aa=n(i%q;=fFys94Yk=J zwlJ<8n+Y#dj;DcqDDa@bxOOZG5J|kTC^S{{TMAQ6jWiY(1zzEVb@+F`EGnHv)TAFr zqfu!L@^9fr4}~;l7K5TjA;|^4L#0EsY~1&lzzO-cEVwH~k_(GXWe_iy{ry|Esv6u~ zAkoyQs^l@VDQYmoq;?cGl{|0oZ5o9%Z=hFb&e>E7lL+gM8w-`8rbgm}4O$E@t&VR; zgQq{qG&%(?LXq0hK_y9YW)ssv=7XU|Bg>i1U{ML1I&OTR_{2MK<7g1qqL9bJf*+%H zY${pTRMjYK;(?~WzeiJLQkWzfo2^EJNAJe9W3y=tlKj+ERbg$7=T}V?{$Y%lDNxu< z)$uY=Q-x<^h&wrdk42TDsz$sK`Zo>6$EJ|<3N#Yw0ZkP|K>DpJ4IY#w{TAA>h{po| z?n9MMWfSlF{Y`^+i^y_OQ>6kMa+l^;s1bI&HkH;98w3 zg=7z)4>lM@QXgzO2z5LSev9;84W6wfuPqv}^hv)}qr%H4_$hTZ$T$Mw(0bB~6XoFNH#b$sFGYv}2O{pin^(kX-0$q%{L-4kZnmX(XA#!b0l}u8=}r$@sBQDXhvfoKOq1sb>N|r*kLQD_3OD~qH25BD%j4St z?e}Y;<75Dy1(h`CG}z9`{t(c>0+PQ6rkt!p6j=QDd+=yC`Yjd93ZBs>uNm0SF&`8v zaZnu3hZ=K&ei_7L(xi3_;x$zgjg54T0#9P&-y;7HHe^`pVaNLZM@s zQXn-8^?__GjD>}4355b1HTo@^>?abxC0?!_FBb+Z2QrNcf<`phd@v2!XE1hnKByFA zPoW?;S;uMc&=C#E6qYX@3mxkLje+F?Npom^;ifI-gN^J4oGOU-fXB;<2HQNMfd_+W zYM2HIW2haCY-4E?_&z`bj}rZs#lkc&9k?Bq3mpWF+QIYnWEydcAJO2Ic}!EoGzzk( z6gq?Kqtie$kY5LN6NQdZbtj}~d)@KGBK+yNVh#?x; zHv@amprd_;!hpjc`YnToY4BbFYWKT_!g!rz(#U=U^a~CG`L~ciifOQ!;dZ!RP%AVR zU<1?8-VFyZIA)_h8051(v;*Ozb}Y;r=O~!T@Nn60mJ&!Qw){MduIrEfep_@RkL#C2TmApzpycn@odKHX1XWfN?uD zyuY!*5~1%+V2jx_@_7{mK*Mv+{$1E(ygsvGLqdI^vkQ3CR5ZU-_!4N z;{sI51iC?)V1D5MN7gm?EtWlnf&5r-X#l|_$&U$!mrR3_I7kK*CbC1Y0?~d+1?460 z@o*MLYZ_cBGHwBHp`i0BKz-O=!7&-n5r8OYeu+~P;tiiQsDLyenbK5|{{j{k`S&0y zWOw20jO-9VmguYjG&0@^{IW40u%yxW=xnsV0j`YvHK1V~r_+(`q|$*AvaIL;7$X`3 z;V)DI93i&@EE4HGLlyZ*R0frf^o0S+hQ7zZe8ABejSu!@#0RK29v_QH>K|`Q!1YFQ z1|I~Ck4eLP0Jursqu@E!3BHHVLV(dCADyVUgJb~k26?}vvS1S>^T7g)4bdp*{6S@* zcm<8hf|ZGWOT#t-Fb^a@P*XG?EG9ZHz_LWX50%A2XDceGIF`W#>k?oUG#2&*YZah+ zq#NLupfR)Yc^@EE9w!(2(8uy}^;k41gHwmq2MzJ2fl= zfWr`P;75>c7#zltPY4Gta(oaD_W0}v+b^C=Kwrsg2AqDZLm*}}K5)9oc9L)&(f7cq zL32659uFHPIhIAEffYkCrDCiFwrQ;60Kwyap$s8;K0x#n(2y?*ixByVAZUcaL*xX@ z1q4I3Yp_eBJsxOiZ-nSCwg&(qBi?8%gdfmoD7Hg%f&2r2>e0Rr-VjkUaooNNG=!mm z>w|d%$O!2!_$5d;z>P(+pTMV~K^y{qZvs64KL_ax_*ZBR(phN#00xcCP;Fk%$hwUF6NpL&t1Jl6ILG73j>>$r2gh-JNF)=O*Ath{I zm^9`DzeV~7ZZ_TraU2^|d;(j{1aJM3 z=@lD5c=A|Szi)SrUo#LpL9%CqexTn1_&}zC4}x@;J;6T6o?ssYp9X)Aj`mtWg7AI> zeh!i|_*Z0p=@1zw@7-X*kengnfcT|DfD3;QRys)rL`hTfJ_9tQ<8WUV;ap&@knNw+HD4eFA?2+998Y4rhDZ2OIg>bRvjGmK6m4 z(0qWoBI_TdEup=Ph@X?~1|1+bG)DmE;C2kOuhQXjNG`A~Al?96BCiEH0Ah#+s*7|3 z4qTW9$sc67P%(B$hgcCB9~_x54cj^hVPJl#P?{L^i}7|k?ROIDI2!?o2RcIljg9yK z-vZ4!ktsv&7mk;R5AdbXToMQ%`YppPNM7D&;szmKDc1Q>82I&xl=<)Z!kwxEQpnVml7w;7y0yIYu21C4oAA!aKd2^^= z@Ii1pa3sj%V?kmNqD`=0vL>+4u)U$R%9?-=2pb?>gOUd9lzkuf;TQ@-*2M|FNPk|+f&cu-Jh;<0^+|azS@tGJRfk=lytMGbb!v{%o1jr`R z16cZKy%9$ZvYeqETKh1QXis54(H*jG5b0NB-XJpt*>*TFp?v|`A)f}0bjUAes6u8R znO`^#l644>a5Nu4L-qio8p!T40H-1A29b)5`^C8xU^>w`g#o@E8XqJOk?jyfA&^co zKqblR67rDooD&&#WVyim2Z)aea%|w#gKRAHi*P+S%^({~K&rsEYa}A}^>N z1h^0lED@$5e1ie*J(2+p3^e*J6P;ZckRXfN(IM#${TAhw!XXqAP|5AUF-CI^jyuv* z*eXyvaDDLiU;{yY;201Cj0E~E7)2ygSkg$QpwLKu42(a67GS#u0z~@4z<4Kv!NR%= zO979Mh0a?HxSN5-2ipRgH!z)OEKHnV$6$gZOO`3Pj!4b`RUzF4la1sI*8>nAun(f| zfr&uq$owkWTF2@nr?J|IUJ;U$o|kIqcc z4$V1Svq82P5_6H=1=kztDHGx|WPO1*b5N`e-uFN{1lcd>+ygXZhrqlb8w(I4I`=>p z3bI2m7AzMy3X%1S2lj2ZRFm0g0;Q^$Vv}WM7~@;RJoajU19*fjK~UF+im# z_l*hRTCz?;#w^ljXou&Vf^ll*1bG?oauUM0fe*ZnAXOacGm+>)<_(}0M1%MY(q|A0 z{vO7-nE-{8Z5R`R$M|~~4}%ncWS^N3a720l!Bk{7AQ*`HfCvcE7YHDs@zHP&BomMj z+%LL|2N4_C^pH$(?k{W=$UZ|#CGz=LwB01cgC0nI_{9MY~) ze3b?60g@ktsL1*P_x+HKfNXDc4rM_chrCu{bO>7q8nQ2NQxM@?1SCk-aUxWSY1q#J zwMXlmxVwq?1s?>B8T=Qr{;>d$KhK5`#H2j_LK#CC>k?h z1!&B`F{a@=4J-&&qBRXT1L79~IY_S{&@=%Jou{F`0P?wDCqw5RB6Se)Mo0HjAw&;P zcarA=Kv2X7V*=fP{T$5^fMkddxL%9Dhwt*RVDCnH0Q)}TgE_(c!od;o0S6zly@%{X zypCY`;yxg8m@F42TplLVAlCr*3qgO>4*P5HQ*0xMiVx_w*vAA20Qp03DnolRgc8u6 z%wpl(ZrDQc9I*hHM`K~3vp66WSnt{3*pYt=p=e~U*l>{mwS&qPn1*cxU>->SAlDRs z58o|?EG^_?0$hS^2^%H^jRneP;`X* zK-3=TDI3y!$+`jVAHsql>WAz-c=8Aff_BJm!0kbF7KdLVn?pcuh&Kwpvj?|qkS&Ig z9LnWnLn04Z$HBuyJ{+VYq5T{p{^$$~P#^Lm;FoCc1{%Ut0TsaW0Wk;iI)`v0mI3$? zXnw(uAlqy<_z`3q3tkTLx!{zC)+(3?bQXe;CbHRZTN3#j&<>p!Aj*zx7$BPngM#A% z)-`}`5O1^zbQhozq`Q!uN47(NM&NZx!!at*7j)kbZjE7mhPVdOQ!p=RE+H0!+o4)M zfS_Q1mk9MDTQb4D7>IJBa|#^Q@Opz_FVZ0hR-*9{fm4zl2TO^ z*9^&&iDHHjbWxq)w>ahx*FNza!Br2$8^mJBz7%Z9Snr_=#2X98{MoDt_C`pzK=TF# ztB{_8^N3^sIj(rj7-NLYeQYPe=|W?M%^S@Jm^CB=*u2r0!MG!RVPm|Q4KOvDUoZ%W zH#WwL;dVUUqafac$Bgk}NYxPM0lwEJDz@$cM0prQImL_0FJ1mi<-A)rBV5putPp`d;NRw2zf z{1)A#CuBgzXdy)y<$^&wSiq=XG;h!j`3%2Pj?q}aydXXxwu9shMLtOS0^dVz;Q%ACbR>CkNQRVyU-5B)Zu%usL8(tXb#B_%nQ;h$gM?s z1-J^*dq}H7x&|VcfJVk`VSE$JB|t%Fy@8K})(nySM&=F5Z{jh-1$opC9B51bX_%bLtD zT>VGu127{rM*wP(d4p|`e2#)Xz#Ap^L4X;E29iNEbccvI5#u!jhd;yzq$eUi;5sql z1Dt-u2Vh!gKH&L9%m*NBXv`?a0*Q^NPAbr#@*wHAaPyk%a}ig%&>939TC1?@qdgv6 z5VWsC6c+8>M7>BdA3!6=g>`o(7^STfii0G@-!0!dV8twPujwF4Lg z*)<{&p3E;D#v)9y7*spdG?q ziR*}DY=ofU@j+Sv(tEfUgJcS+t7u(9iU^tyNOMDD1~?I|eQ+_+d;q(sUkG`jxrBf> z{w<2vLh=i`cLE7~;4G763Q!;J7h!3{HPQ*j0-zT99>PW8w-6;Dw}Su;T7!_1kNAZ^ z1nL9d|0QnkqjLqEh_Rdj9>RT~``GY30QS(Bp|CEZq55#}TU0j%veLk5ApI699HF%Z z2ozesKtui&q?aK7ir5CpItfuu z!S0LvE1)6&3Q#HJU%?3x=`NtL$PU4Ygq-&eh6x}T@_ay%H#8p*D1iZYMK8PtH zJ|Oml_`q={_#PClMc+d?W6%!ogG7lzG#?BUM+Be>#YhPn+GmI(1mXkV(ShG$JQ0f1 zBitKO>Ciak3t2a!;S+MyUYd=J%w z2igSuPT=RjbptHt3H%(Qls8&$5OP4eF@c{0l{QeU1CDgaW)tP0$mKhhR$UG)syol;W7k@??bd3-E{*R+;kw#FGR%= zE(Pcs+GpUV`2@0pY!~wP05Cx^1z&)yYY+uPz9ZCAMe_?sY@`QJ77W>Jq68ROccJbo zItKs^%NfENm=9E|7&=9HK|lkCgDeAZrjQIE2N%fz(go0%VUr^3J@McKZinuv!&q=^ z0_v$EpBgGKkz>s8TZmwi`2ha~j~SE$wZpL!;EbGq0FeYp2tmKaF-V9wpnVH&OClcx ztPs{UqCh6<1A@3@8ibA!Z$u$J)DEBNAY%gI3=rNz_8!oP3EH8%uizb^`fvmd+X$kt z0eO6YHX}Z8trDn$2B&-U+X?g!il5-`p}Z0J9=bygG<07aXbg0ggcXhT8PaLc_@E9N z(lrK-9TR2v&>94_!oNke_=z$**q*|LY@{#vT`l-6x_byTRDTF=LQSw1CWs#agoolO zp!Nv&A)ZJ>b2LGG2GZd1`h`0`NQc06#56j#O>kU5?TE`6WW9n=5!vsA+i!S2V4Fd5 zW=$XiBAJui2TVEH&n8MZBRzn44;mjN$YMSqxI^v(5_u3G6JQ>Yse$(yNT5XH!+E)o ztc>$F;ARW5osiat&T3G;3Hhf~NX8-a0ciz@51=6*iFo*nyk?;E6I!ca+L0ZH2srXB zAgi977X*=Qlp_Z;l&1AI;SoV+)g7_eu5HcUINs-qopaLlWfGC-c_`rFzaKc9QMu3Lu z3lLR9(HRzgi}o!@-#}+#xQ&hW3V2G* zIYTKQG#`L@U_LOW1(^W|(*hdu`Qc_7)-||3gZO|aKoK8c5)mJ8l??F#_kR%|fO#N3 zCWzV4AXbFt127LX9}wzA^8w*d#0Ov=h!5C45Ff+^LbBci9D(=%*B0>sPyx~_z&sEi z6JQ>28pQSA}N*32beV!%ZFW`d}kEw70z>mWID7T5y^C9K7fYuuizAg zd?ZMiLcSCn-_V&3Gzj4(gegY+!jTTi1G`9-GIXZq7e@!kn9?q z{IIS81c2rU94E9E!1p1qeQ>al9fBIQSoW|X;qgr{m$08Bog@|wnGaARqzAB&(7X|o zgnkPtM2LpoIfFz~oI3*0ljbJQi zs1c9*00#k$56A7Hl{{>3XApZ|sQRF8=st{g-08iqv;M@hM`i3xMsDy;}Zs-HAEqpH;K#&RM z7hGjDM{sE#jSubyp>+vGSI`_m>M#BtzHa~#AZ%mdA}+EoaBU2Y1zbI}&cVG$x(gQ< z(OLkQAMpXHjff9O|3iELgpAe#8@*2qs3=@YBIz1<_h>I8Lat;!h$9J^52)sb_A;V` z0htdtF`@kpc1Gl%f+<038fa+$fD9_+pF)X7w2p`{G2#P`QHT#nkR{ItWJV#~h155+ z$3yf8j|J}S;C^w;5VCI2oI|w&G`~PYdO*}-MRN(;AnF&AyvTaWfP@A#N8qcF^@=E6 zN!CBGun4b%=q17giSpjKUvS9D`Un0M>KFVR)Gq|M5Wf?|Y=}}7Ob8*CQjF~h+E^9IGFP&@SYC=~BRcSeDR?@d7U9E6KPJG?%KFQR^7_eL}b z2p}4&*$=@>9E*n3Rpi3~G=h9MND;v@0KW;z3e=SB!!aPHgmeRx2=N95f|0#~XVVaG za7`HZi}TkQkm`qI1$FJwdYb@$f#0Hi5X6Ud4RTWuA8_PEV}{%m+z#JE1FMVW40$6+ zrnt^52oI`g{GYb&URAT>h{AAwu3{3$LbAr1145Y%jtue@D3Cy4EErEa=A|mEO*NDCd?j^V4L^N?zoD%-VdboPNg4ZI*V_myB6?uJ$2` zeCLLBvzH3gq+foT^vfrceueGRFF#HCg|}_H#wFb-mCsz<9ba|5zeuX?n49kmZ4oSq zzhxe1Sp&C1;yuiOoEgU`XGR^|*gb0AMn6T19xIX%oWANlkr9qycoJGUJjoP_e(HZY zzrwmXt58dkr#~?BcI_b{vLCXU;tvxcjo%EUEj)fD7M6#&e7jZ;`Vh$;8Oto|`iVzn z9uK;d=fPq_F#Wn#54w*rM{l|swR^T6>f3U()MtLrv}Ro%@|cO@=w?4C1GM*oaC~`^ zvue+@Qe15(Aewmy;%0p3cpTZpEgyNM&TQlr^EdKJyXfPpS@tXtLo1)XD%kN+n^x~6 zO*^;q4D39Ju$8f{sN7{&@~q!hw_q&<8|8E)SK-1HnH&5@_KhjocEvb=TLinnyBpuN zSG41&h8~JP8>htTl|L7ej6L(S}I?OALUGY zZznviuv*TRkahNmD?DT2=Fhhe`UbTwG2wfzsAJ)!*z^0IH@Ka^)L{B}Dd`<^eWhSV z@rO|-qaR!-aOVpW9o^ze0dK!pBl1+c$Y&fG-RDxtcHd->$G6TC9{-hBRU;2btLPDE zk>eu%9Sir%o-OJ2xx3Y<&D|{=8XHI5+RjZVb@yB?+w3JvH@vG7VeW3Uj!$j5>``mW zG1zM#om({fp-f4~*``{46ns`b2KgMM4w92a+d zT1s>$j;&pMX-vP^h-kS#NT%|ET$#OlyxNzz)s@%^|H;=4zwlA)9eU5KWKA8_$U0X_ z_Jg|CZ{I8Hgj~~(k(2-3qb0lN1aD{$`hiMe<*QTX_kZ+*?73r^^?S$@c3oD!xNNgl z!i_l#F1YN6x+FPU1Zu`d=wy6iHvP7>39NkY3JjBV;VNw(7JApOHE${R#fz%e5*t>l z%0#e?j0ILVV|mCOR_!J@EvicNN!@l$-SJsxp~dXcgMWjz8-J5qHS$V`DmD{|6TL~g zWOTwyq1?5VpZ`I79B_r48ZQR^Q1a2kd;uI6pVOjX{qFHF}p zP#hy;{#N8PeWdQR!L(SXR(;`{1=^U-tbgDDNpX1xyW%o>G=F5GW`FajxRC|0;71R-bPrI&^%^@8N&Vt9*aZo6x$>Zl8>W z|0U~3Pt5x9wPX#bqFDpiLe{`mw%-R?ETGqZ1%Y<`s1~aa@kUf0aPp+xJ>s_iqhjv; zb}6m>R?=R+ZOtTEB9)0;_3gL*I;XAUBV;?4=7;i-l_wqZtf_cUWcC@3J2%Eq_7dJU zV`02xZVx_`ch_M1t^Y;Up7?G&;TwHJ>P>vyDl~Qt2$=Ni)6DmZLhl*~@Aq4t<+PK; z_DbW>|8vi;iL?*a^Xs=@E%Dp>pJJ@9?a(}=7+UfrwF|xuE%>^F$*erp&WoDq!w^Hu z9qQX)4bXD`>NoE*p#^JowBeEUWa_z-Aw+C^Sz zrvlrylkc2wiPNmT-0P8v{+FCHw8SdWlCzAKSTtv1-b>XkaRao-uxnS|sGmk3@zbCs z7LArXCA8!zT_j<3OznbKMtk5>v7)RgRUrEz29)!r=56*;{AkX(@dZnV7R()5a_iAN zP`CU7ubeSUU5Xrnlj*m)8b=%>sb_?ic;k7W_kKeYEl(fG69yAZ-Amu*&AR*F z`n1qeN7MhJ=b+^+m!qw{fR-B5Xo<~&F(zK29l+Gi_kw7lrDlk4gL^>BJ1b~;^T1e= zcZZf3%e7mb6)kypI4Jcaw4;daJUEeaX3jyGb`ST*Jv6oL&KO!6=Thzp4xP|AgTnXp zrqSy_O%r!H+WLXf@-7rw;;X&Eg52BsoXc>!QyP-*%3axjj&~bUK zSQldn1_Lein$c3n`r36Y^oY!Z4w89D+ur+w$+Z4XeI(v}wCJ(tLe80y9-lpOv?7Z^ znKEXer;J%FA#2~bkmQ+Q{f^c#Q~xrSzB}yOU~JHWlRf6f!;|o~E5|{UqQ|1; z-uI-`)B|XzD@6ID{3He`Y2l`)iGqlP&yPmTO`nLBG z3pP3f%b@(%8fup&7ati~{1&oiE87nkzH3Tn$X<%sgvaR&k>hOa%ni6P=g8F3PKopM z!Bvp)fo^4deJ}7dvyJPb1tX$S{U8tZpS7z$Lc84OSNbV)E9TSx9L!n!3p;1N+ybTL zZB+luTLx&U6LVSbJ%dVK>>jDlntMhq*2uqmT6WLnrB!BbM0VRHH^cZ+Ck8D!t!T-I zMdQ%fHN6LSmS)>_O{Is1|76bP-q$X?d-Yk{Z*p2mh~Rk8n94go(1q*=<6!wpm5In* z>8p{G_hen>OIb<3>a(U_3PSpI$!EUY=>1>)z~C0KNiN+v-wI=QEcKy?=9Smn-Tfc% z$F8&cyzP=ldg-;@b0OybFL*+isx3~xwe!x+kohV#R2s+6{;zN9QIrKmwjHF=-g%^7 ze3slGi<7>}UfpxAK;?fzvzf1}B5TFu+&dn`CNUc)t9(EW%NlS+X1?d0+cgkN2=89P zbK2D|6G@0&rq*d<%+T_S9pnM<@XhuiSukrLF);ECi)@3Zz2pW3fNI~hxA zFac@=?~Rr`IoeRL_GpbGvi!;iM0WN=PHXrI&^&YF&kl`B9bOZP$vT6)=Ub{?)(YS; zYxVANr(HiKAhJgwvzZ$|djBWmFaHC89@?e4l~#Y9)yw~w1`q!Wwt}onZ7;!qyj!JR z^$n#77Mr47-r+z?zJWeclkNJAZ9rqlo^uW7EGX%ev!L#3_T%cGE+1U|)2wsrpBi6q zL1@6gyKfv=%U2g-Ufv+aqyL@DH~;HfE}W;y)k3R}>{1#smcHxj+vGr_aXs$bu;lVR z^YWpO`jDkuM7Apjy4cH;&e6j>U;EIm@yn~7n(@IOtbC!3=g#~70e^6A`Rs>KM`^V$ zuTE;))dssdsaa?DdFIjgbtOZjJ_DMn61#6I(f5C~B`-xbV*xkIJo=XIRnv-(f=eN~ z)VUdQ1}_^qW6nDbSC%BY9$I`nP#K*E5tg|fsw4e2UdCNg9^%!?nsNnYtzas%AJWDm z58V5ESMZ8f#?pQIzvSNNHTB`pfKqq9l9BsA%)9L*t+ZWgAKz@t_nu$K{yxO~4@#W% zy9A_+r8=gQkeI{wfS~P{!#)2?{@Z0F#g4is3i9oPU*JMxt23bWOw%Kl{~WjYG0nDj z3VVO|=<0m#{yJ^pKO>314x}h?KeU|Hs}Z_ua3u!YZ{F_ms7HMi_rU4yFU>Z(&pkrB z=YzOf%(kLE!HZsLpkR-bAqbxehel39zC}h{38CFz@T>T*WdA1CaU~kF=UA=(t318Z z7;TrgDMdN!8&SVAwhPy5Y!~pb;5Y7}i|o1g-@<=F9V-(LTGn>SFH?dkZ-)T%^6<`C zb*0bcH zC&wHZ2bkYApz1~U0Yr}6 zK+FCfxUv6BUbL|!-vwwmc~5A?EggVuW!-^$_N;=Y#IJ%D-3Kr&_a$2Vz^uIJbr)br zzk=2)>i_`~BM@+m?t>OtCtMcY=b*aF<7kQRUr=u46-xM&H#Yjv*I>f(3nysyR~>?t zFC4tlee8JdOSHtmIR&HFQ8LS?tvMj;9m06WtiC|_<-rfkppNcCNiW}Hwf>KbWBZkx zmUfh`l@YFh_*L$isqC-IyWfgpq+brj(jpVTUNqYd?mGQKp=Hk<^zgXFTA6qo(r-m$ z(yyv3p(!F1TK&7i*gb<{xH*^n%Go1FCTpc&TK0`Sn6;-y^xNWmJ^R&j$*#?}AP!jr z`EMDs{I{$N^{VY^f5;r^dE*D}w|S$0^G|Z$?uP{GjG3Jm9un7WyZWj?{dztmO!nK< zJ(87By;$wQ#J70xa(=Hw#m-GV!N?6zgXnN*4}BD0r@mg!2bC*#%0oRt$k4_h(Q>xb z>x*uNo!f_S*`7<9Mdu65wCBie9^LGY(e61~&LGK|yU`60nZxUoGf0iinNj~QIzOqA z^QK+y9<}}=pG9V4=Mg0xi-7IQ1JR0(Pg-i*(TwLDsSf-wzSPa*nM(}=v|?e^6pL=g zg2=tkgAyC(O2CFUOk>X=3p+B=w~>jg+J}A{{{^j$POY9`Y))eLp^wIoxa;B@k<}Yp zjr7ZXNeWdSaD;@%y<3&FQobo`1&+BgTlB5-U~}%>2J(grJ9W3JbGPoJaUn8Q;|o+_7Bkz?B==Aaa-Vi|lkWKJ-z!t6gNG@Iv-Y^e8&NmxLmR)Co+E z30m%HtoyK+snZ5D!pa_g0j&scTp94T%RA8iX9e@W)Q+L()!+V5pAb`32d44Ie{i9l zJzHqW8KCm#3`+Hg?}j@p=T}5MXAm^>p^v=hY97_wpUv$HCv6j7-mS9=&^2@=$*n~(K|&jVoQp6#a`u3jQe_mBxZPZ5wm{uzwDdb_3eZEGrJgbBBKN z?n7jR*=2kT*0h5`EA4^r87g~EL!rceLyJCn&roJ8cNlgJC`27g?Q<_{$F~VCA8ZeE zrZVh=;`XZ!bNc<1H=roq#qg0Xl?NE1eH7E{mg$-*WfneAh_B;IeOBZ9HkcntF$$ki@WZzmZNWWC_SyNEI(739~_h5`W-+Rt$=c`Ib{0CMl@i(et;xm>na$MLY z`*v`KT^H)9d1$Q0hjxwKL1pBuUMYsGGu5a7+Q2&wCD$DsfmC8+jTLw)O*z~eigLf*U)$< zGY^t{Y0^{1Cb=-q+V*Iv8-N!75L)WVpruX>TJ9*c;J9ht!Q1jqM#uDRe6-r7E)H6B z)}yVyize8yYb7i+=U2PDD~*;~7HFx%f(9|rK2{c6gS@HdTM}!(6=NBBb)mNPTc9PU z3(ZBH|M_8P@mcydepa;TC1?+OE=3|^W_FMKyXvg#8%7J}4h;Zs$1G_e^8nD!S#Z7O z%(z2yKG^o{PVz0cRQgbxFEU3wC1bwVGIUyfT@wsmubF!m7{e(9Ha1%cuLlVPa$gn5Yn;a4MF|#Jnnos z1vBOg@@+f$@uB%+_VR+b`>jw%c!N)&?Sj+4X8=1EK85xhAK7IEF75#>xPLH!hdrVX zWxjk0>9=~$S6D&z?VOCeF4c!FL?0evS*=g&DjR0)l|xzm>Z%lFKUDMBIHw&-y__S*7`R<4dVAfOMbV_t-Jz9kDNS+`rfrF_OGo$ z*e6yl%9%QgXn8vmEm*&ckajG#V`Z3Zy0sy$+Gh6ro_t<;rDE{$sz`qw}ll7EgCpFW5~>iJ$pvGt!iZNV*}1($)A zH%mY!@`eJb+xgy80lO|ZZEY~$28T>IE2uE*>`8(3M}SdyoMYR;y5w7HpRox4?j1@M z==iv8(+5b_-beR5Q`#{}mUp3ZqSLscHvZw(imiLdg~)MG$;EwXSNrJPFFR(Vi_Dfz zx4vAk7Rdm!&R5uF&jL(u&fAsYTiuMcpYs6)P?{K8#!SswnJ6J~ec|_9Wpt1$JGlD+ zr@FCJnn3Ecpe0ZEp0$kbP1=V~tw3ZLEjv6;na_M#QPI~xQ?kww<y-mK}pWxD%z?~yKF-P@yW$GJ58=UJ`r73miq0)>q{1&N8S z%v-m)pjQnlymsXjb}U+Dt+>*nOTiW7t~j{u>VH(s?4?-##&yASf(^arLnBLgg2I19 zPVR+=cLncB(a13B>G}>Y+cb8Rh+O9(2Wxrl;;UH$LSlJC9IR{F+K_ictzQ`}dHHC; z`J&nO;WhE7$P!j<)=xYtcL2+3V=?!X>0+KZ6jD1HO)}4nKJLp7z_mpU2Woeh*rF%|v4KSlSTJ-t+-+w|dw?yjE{Q`?zw5a-Uk0Xz?Kv z#qrw`#j)QG9=5U_Epb>5t?>9|*6$sKmR!|?jO`tdmNz5rTIhWH&ZBmbIcTZhgcjdF z#X{oP?gzZ%=uO%MKaLi8kCytj0^so}P#B`eqQ&QH1%lnzY4m5b)Ph4x{hYf(GhaKt z_q2BL$)HtUeJ3GjJBwoA6wI96lsRFClasH)_ zD_UxIoXW7iYqaFT8*pkWq9x~ty3sSkC9`__Rjghe4lVH`rz3YLSf5LIc$^r2pg~M+ zJMp|dALkz0|8axlj^avN{pG4<f|33aq+uod2dYgH}wS=jd@=U zEj68vwmK48VwK>Im9e%rcf7Dc*ML7PYsxqX4HxY_$V<337*#ZO8Cr64(aJAeEs?ud zMvwfbkV+at+Es?h(Ow(p;FznUp9emDfL278x{?U1 zo4KKKE-y!7_x!>Jdk3JcJp+9Z+Zjj3jzUY#bRdtssfU(4FSNXA2CNdS+GTVtrU)(e z5n6oV9L+ao&6tI`0@t#%VHJ*?()7a8i(EM|IkujiW#5S zJKA?E|Ikt|-1Y{~iWdJkgc2aYj>RQ9Yeh*+&093T+;2HrM=#;v!GPP2fSEPr83{%N zEw&mq4L0738CV`5$#f6+3~PT`z?3p@UwQwjYI#K6p zDz>&`p-*Of5)+n(*jwvgJ1^H_l+co!VG^nJ$E_Ee9Zd*s#>f4)_cV|jCf|0_o=S_o z>f6|>oV&r0f>Yz@?L!23Wf=23dnx9+el7^e_z5ZA!B$X!gM&v)Eau?U>z5a>mK;7~ z=B5r`Ni|>H;=IKh|3%B&!Dz8byhvz-+poCu?#ItW)TIBAfspnfR)%45dyXW^{RiR>scCExYBb#t! z^cQi?$WG6qXo63#YlTK;m$o%#v;#eQT^BSu-0NL-w9R=$ zBV^N#dYXQTm)AA*EoVmhr5V5On|7c$ulLN+wiXg+9l7z!Lr2@XWk*}w($V(49W;*q z*YknKp}q6Ca*S=au`J(mzUJG!QK}thWd6r_n7O$xUwQJrr4haG{n3{1(Vz!kdG}~S ziTf?VoBy#Qb}Z65@~!t4N8i2IofqSJw9Sz~6R_B^fPs!q!|+SJzN4*vb+ou>(|e3KmPd5KY#z! + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Initialize the IR receiver GPIO + * + * Configures the given `pin` as an input with pull-up for the NEC IR receiver. + * Call this once during board initialization before calling `ir_getkey()`. + * + * @param pin GPIO pin number connected to IR receiver output + */ +void ir_init(uint8_t pin); + +/** + * @brief Blocking NEC IR decoder + * + * Blocks while waiting for a complete NEC frame. On success returns the + * decoded command byte (0..255). On timeout or protocol error returns -1. + * + * @return decoded command byte (0..255) or -1 on failure + */ +int ir_getkey(void); + +#ifdef __cplusplus +} +#endif + +#endif // IR_H diff --git a/0x0026a_custom-bootloader/app/include/led.h b/0x0026a_custom-bootloader/app/include/led.h new file mode 100644 index 0000000..7e0b63c --- /dev/null +++ b/0x0026a_custom-bootloader/app/include/led.h @@ -0,0 +1,63 @@ +/** + * @file led.h + * @brief LED controller driven by decoded NEC IR commands. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef LED_H +#define LED_H + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief LED controller state for the three IR-controlled LEDs. + * + * Maps each logical LED (1-3) to its GPIO pin and remembers whether the + * LED is currently on. Build a default instance with led_default() and + * drive it with led_init() and led_handle_ir(). + */ +typedef struct { + uint8_t led1_pin; + uint8_t led2_pin; + uint8_t led3_pin; + bool led1_state; + bool led2_state; + bool led3_state; +} simple_led_ctrl_t; + +/** + * @brief Build the default three-LED configuration (pins 16-18, all off). + * @param void No parameters. + * @return simple_led_ctrl_t Default LED controller state. + */ +simple_led_ctrl_t led_default(void); + +/** + * @brief Configure the three LED GPIO pins as outputs. + * @param leds Pointer to the LED controller to initialize. + * @return void No return value. + */ +void led_init(simple_led_ctrl_t *leds); + +/** + * @brief Dispatch a decoded NEC command to the matching LED. + * @param leds Pointer to the LED controller to drive. + * @param key Decoded NEC command byte, or a negative value to ignore. + * @return void No return value. + */ +void led_handle_ir(simple_led_ctrl_t *leds, int key); + +#ifdef __cplusplus +} +#endif + +#endif // LED_H \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/include/secret.h b/0x0026a_custom-bootloader/app/include/secret.h new file mode 100644 index 0000000..124a80e --- /dev/null +++ b/0x0026a_custom-bootloader/app/include/secret.h @@ -0,0 +1,29 @@ +/** + * @file secret.h + * @brief AES-128-CBC protected runtime banner for the application. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef SECRET_H +#define SECRET_H + +#include + +/** @brief AES block size in bytes used by the runtime banner. */ +#define APP_AES_BLOCK 16U + +/** @brief Length in bytes of the encrypted runtime banner. */ +#define APP_BANNER_LEN 32U + +/** + * @brief Decrypt the embedded AES-128-CBC banner and print it. + * @param void No parameters. + * @return int Zero on success, non-zero when decryption fails. + */ +int secret_print_banner(void); + +#endif diff --git a/0x0026a_custom-bootloader/app/memmap_app.ld b/0x0026a_custom-bootloader/app/memmap_app.ld new file mode 100644 index 0000000..faa2c2c --- /dev/null +++ b/0x0026a_custom-bootloader/app/memmap_app.ld @@ -0,0 +1,305 @@ +/* Based on GCC ARM embedded samples. + Defines the following symbols for use by code: + __exidx_start + __exidx_end + __etext + __data_start__ + __preinit_array_start + __preinit_array_end + __init_array_start + __init_array_end + __fini_array_start + __fini_array_end + __data_end__ + __bss_start__ + __bss_end__ + __end__ + end + __HeapLimit + __StackLimit + __StackTop + __stack (== StackTop) +*/ + +MEMORY +{ + /* Relocated for the custom bootloader: the application is linked to run + from 0x10020000, leaving the first 128k of flash for the bootloader and + its manifest. */ + FLASH(rx) : ORIGIN = 0x10020000, LENGTH = 1920k + RAM(rwx) : ORIGIN = 0x20000000, LENGTH = 512k + SCRATCH_X(rwx) : ORIGIN = 0x20080000, LENGTH = 4k + SCRATCH_Y(rwx) : ORIGIN = 0x20081000, LENGTH = 4k +} + +ENTRY(_entry_point) + +SECTIONS +{ + .flash_begin : { + __flash_binary_start = .; + } > FLASH + + /* The bootrom will enter the image at the point indicated in your + IMAGE_DEF, which is usually the reset handler of your vector table. + + The debugger will use the ELF entry point, which is the _entry_point + symbol, and in our case is *different from the bootrom's entry point.* + This is used to go back through the bootrom on debugger launches only, + to perform the same initial flash setup that would be performed on a + cold boot. + */ + + .text : { + __logical_binary_start = .; + KEEP (*(.vectors)) + KEEP (*(.binary_info_header)) + __binary_info_header_end = .; + KEEP (*(.embedded_block)) + __embedded_block_end = .; + KEEP (*(.reset)) + /* TODO revisit this now memset/memcpy/float in ROM */ + /* bit of a hack right now to exclude all floating point and time critical (e.g. memset, memcpy) code from + * FLASH ... we will include any thing excluded here in .data below by default */ + *(.init) + *libgcc.a:cmse_nonsecure_call.o + *(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .text*) + *(.fini) + /* Pull all c'tors into .text */ + *crtbegin.o(.ctors) + *crtbegin?.o(.ctors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors) + *(SORT(.ctors.*)) + *(.ctors) + /* Followed by destructors */ + *crtbegin.o(.dtors) + *crtbegin?.o(.dtors) + *(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors) + *(SORT(.dtors.*)) + *(.dtors) + + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP(*(SORT(.preinit_array.*))) + KEEP(*(.preinit_array)) + PROVIDE_HIDDEN (__preinit_array_end = .); + + . = ALIGN(4); + /* init data */ + PROVIDE_HIDDEN (__init_array_start = .); + KEEP(*(SORT(.init_array.*))) + KEEP(*(.init_array)) + PROVIDE_HIDDEN (__init_array_end = .); + + . = ALIGN(4); + /* finit data */ + PROVIDE_HIDDEN (__fini_array_start = .); + *(SORT(.fini_array.*)) + *(.fini_array) + PROVIDE_HIDDEN (__fini_array_end = .); + + *(.eh_frame*) + . = ALIGN(4); + } > FLASH + + /* Note the boot2 section is optional, and should be discarded if there is + no reference to it *inside* the binary, as it is not called by the + bootrom. (The bootrom performs a simple best-effort XIP setup and + leaves it to the binary to do anything more sophisticated.) However + there is still a size limit of 256 bytes, to ensure the boot2 can be + stored in boot RAM. + + Really this is a "XIP setup function" -- the name boot2 is historic and + refers to its dual-purpose on RP2040, where it also handled vectoring + from the bootrom into the user image. + */ + + .boot2 : { + __boot2_start__ = .; + *(.boot2) + __boot2_end__ = .; + } > FLASH + + ASSERT(__boot2_end__ - __boot2_start__ <= 256, + "ERROR: Pico second stage bootloader must be no more than 256 bytes in size") + + .rodata : { + *(EXCLUDE_FILE(*libgcc.a: *libc.a:*lib_a-mem*.o *libm.a:) .rodata*) + *(.srodata*) + . = ALIGN(4); + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.flashdata*))) + . = ALIGN(4); + } > FLASH + + .ARM.extab : + { + *(.ARM.extab* .gnu.linkonce.armextab.*) + } > FLASH + + __exidx_start = .; + .ARM.exidx : + { + *(.ARM.exidx* .gnu.linkonce.armexidx.*) + } > FLASH + __exidx_end = .; + + /* Machine inspectable binary information */ + . = ALIGN(4); + __binary_info_start = .; + .binary_info : + { + KEEP(*(.binary_info.keep.*)) + *(.binary_info.*) + } > FLASH + __binary_info_end = .; + . = ALIGN(4); + + .ram_vector_table (NOLOAD): { + *(.ram_vector_table) + } > RAM + + .uninitialized_data (NOLOAD): { + . = ALIGN(4); + *(.uninitialized_data*) + } > RAM + + .data : { + __data_start__ = .; + *(vtable) + + *(.time_critical*) + + /* remaining .text and .rodata; i.e. stuff we exclude above because we want it in RAM */ + *(.text*) + . = ALIGN(4); + *(.rodata*) + . = ALIGN(4); + + *(.data*) + *(.sdata*) + + . = ALIGN(4); + *(.after_data.*) + . = ALIGN(4); + /* preinit data */ + PROVIDE_HIDDEN (__mutex_array_start = .); + KEEP(*(SORT(.mutex_array.*))) + KEEP(*(.mutex_array)) + PROVIDE_HIDDEN (__mutex_array_end = .); + + *(.jcr) + . = ALIGN(4); + } > RAM AT> FLASH + + .tdata : { + . = ALIGN(4); + *(.tdata .tdata.* .gnu.linkonce.td.*) + /* All data end */ + __tdata_end = .; + } > RAM AT> FLASH + PROVIDE(__data_end__ = .); + + /* __etext is (for backwards compatibility) the name of the .data init source pointer (...) */ + __etext = LOADADDR(.data); + + .tbss (NOLOAD) : { + . = ALIGN(4); + __bss_start__ = .; + __tls_base = .; + *(.tbss .tbss.* .gnu.linkonce.tb.*) + *(.tcommon) + + __tls_end = .; + } > RAM + + .bss (NOLOAD) : { + . = ALIGN(4); + __tbss_end = .; + + *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.bss*))) + *(COMMON) + PROVIDE(__global_pointer$ = . + 2K); + *(.sbss*) + . = ALIGN(4); + __bss_end__ = .; + } > RAM + + .heap (NOLOAD): + { + __end__ = .; + end = __end__; + KEEP(*(.heap*)) + } > RAM + /* historically on GCC sbrk was growing past __HeapLimit to __StackLimit, however + to be more compatible, we now set __HeapLimit explicitly to where the end of the heap is */ + __HeapLimit = ORIGIN(RAM) + LENGTH(RAM); + + /* Start and end symbols must be word-aligned */ + .scratch_x : { + __scratch_x_start__ = .; + *(.scratch_x.*) + . = ALIGN(4); + __scratch_x_end__ = .; + } > SCRATCH_X AT > FLASH + __scratch_x_source__ = LOADADDR(.scratch_x); + + .scratch_y : { + __scratch_y_start__ = .; + *(.scratch_y.*) + . = ALIGN(4); + __scratch_y_end__ = .; + } > SCRATCH_Y AT > FLASH + __scratch_y_source__ = LOADADDR(.scratch_y); + + /* .stack*_dummy section doesn't contains any symbols. It is only + * used for linker to calculate size of stack sections, and assign + * values to stack symbols later + * + * stack1 section may be empty/missing if platform_launch_core1 is not used */ + + /* by default we put core 0 stack at the end of scratch Y, so that if core 1 + * stack is not used then all of SCRATCH_X is free. + */ + .stack1_dummy (NOLOAD): + { + *(.stack1*) + } > SCRATCH_X + .stack_dummy (NOLOAD): + { + KEEP(*(.stack*)) + } > SCRATCH_Y + + .flash_end : { + KEEP(*(.embedded_end_block*)) + PROVIDE(__flash_binary_end = .); + } > FLASH =0xaa + + /* stack limit is poorly named, but historically is maximum heap ptr */ + __StackLimit = ORIGIN(RAM) + LENGTH(RAM); + __StackOneTop = ORIGIN(SCRATCH_X) + LENGTH(SCRATCH_X); + __StackTop = ORIGIN(SCRATCH_Y) + LENGTH(SCRATCH_Y); + __StackOneBottom = __StackOneTop - SIZEOF(.stack1_dummy); + __StackBottom = __StackTop - SIZEOF(.stack_dummy); + PROVIDE(__stack = __StackTop); + + /* picolibc and LLVM */ + PROVIDE (__heap_start = __end__); + PROVIDE (__heap_end = __HeapLimit); + PROVIDE( __tls_align = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)) ); + PROVIDE( __tls_size_align = (__tls_size + __tls_align - 1) & ~(__tls_align - 1)); + PROVIDE( __arm32_tls_tcb_offset = MAX(8, __tls_align) ); + + /* llvm-libc */ + PROVIDE (_end = __end__); + PROVIDE (__llvm_libc_heap_limit = __HeapLimit); + + /* Check if data + heap + stack exceeds RAM limit */ + ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed") + + ASSERT( __binary_info_header_end - __logical_binary_start <= 1024, "Binary info must be in first 1024 bytes of the binary") + ASSERT( __embedded_block_end - __logical_binary_start <= 4096, "Embedded block must be in first 4096 bytes of the binary") + + /* todo assert on extra code */ +} + diff --git a/0x0026a_custom-bootloader/app/src/app_main.c b/0x0026a_custom-bootloader/app/src/app_main.c new file mode 100644 index 0000000..16d9c78 --- /dev/null +++ b/0x0026a_custom-bootloader/app/src/app_main.c @@ -0,0 +1,54 @@ +/** + * @file app_main.c + * @brief Application entry point: IR receiver drives the LED controller. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + * + * ----------------------------------------------------------------------------- + * + * This file is deliberately thin: it only wires the modules together and runs + * the poll loop. The NEC IR decoder lives in ir.c, the LED controller lives in + * led.c, and the AES-128-CBC protected banner lives in secret.c. + * + * Wiring: + * GPIO5 -> IR receiver OUT + * GPIO16 -> LED1 anode (with current-limiting resistor to GND) + * GPIO17 -> LED2 anode (with current-limiting resistor to GND) + * GPIO18 -> LED3 anode (with current-limiting resistor to GND) + */ + +#include +#include +#include "pico/stdlib.h" +#include "ir.h" +#include "led.h" +#include "secret.h" + +/** @brief GPIO pin number for the IR receiver. */ +#define IR_PIN 5 + +/** + * @brief Poll the IR receiver and dispatch decoded keys forever. + * @param leds Pointer to the LED controller to drive. + * @return void Does not return. + */ +static void ir_poll_loop(simple_led_ctrl_t *leds) { + while (true) { + int key = ir_getkey(); + if (key >= 0) led_handle_ir(leds, key); + else sleep_ms(1); + } +} + +int main(void) { + stdio_init_all(); + secret_print_banner(); + simple_led_ctrl_t leds = led_default(); + led_init(&leds); + ir_init(IR_PIN); + printf("IR receiver on GPIO %d ready\n", IR_PIN); + ir_poll_loop(&leds); +} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/src/ir.c b/0x0026a_custom-bootloader/app/src/ir.c new file mode 100644 index 0000000..b47835c --- /dev/null +++ b/0x0026a_custom-bootloader/app/src/ir.c @@ -0,0 +1,131 @@ +/** + * @file ir.c + * @brief Implementation of NEC IR receiver (decoder) + * @author Kevin Thomas + * @date 2025 + * + * MIT License + * + * Copyright (c) 2025 Kevin Thomas + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +#include "ir.h" +#include "pico/stdlib.h" +#include "pico/time.h" +#include "hardware/gpio.h" + +/** @brief GPIO pin connected to the IR receiver */ +static unsigned int ir_pin = 0; + +/** + * @brief Wait for a GPIO pin to reach a given logic level + * + * Spins until the pin matches the requested level or a microsecond timeout + * is exceeded. Returns the elapsed time in microseconds, or -1 on timeout. + * + * @param gpio GPIO pin to monitor + * @param level Desired logic level (true = HIGH, false = LOW) + * @param timeout_us Maximum wait in microseconds + * @return int64_t Elapsed microseconds, or -1 on timeout + */ +static int64_t wait_for_level(unsigned int gpio, bool level, uint32_t timeout_us) { + absolute_time_t start = get_absolute_time(); + while (gpio_get(gpio) != level) { + if (absolute_time_diff_us(start, get_absolute_time()) > (int64_t)timeout_us) + return -1; + } + return absolute_time_diff_us(start, get_absolute_time()); +} + +/** + * @brief Wait for the NEC 9 ms leader pulse and 4.5 ms space + * + * @param void No parameters. + * @return bool true if a valid leader was detected, false on timeout + */ +static bool wait_leader(void) { + if (wait_for_level(ir_pin, 0, 150000) < 0) return false; + int64_t t = wait_for_level(ir_pin, 1, 12000); + if (t < 8000 || t > 10000) return false; + t = wait_for_level(ir_pin, 0, 7000); + if (t < 3500 || t > 5000) return false; + return true; +} + +/** + * @brief Read a single NEC-encoded bit from the IR receiver + * + * Measures the mark/space timing and shifts the result into the + * appropriate byte of the data array. + * + * @param data 4-byte array accumulating received bits + * @param i Bit index (0-31) + * @return bool true on success, false on timeout or protocol error + */ +static bool read_nec_bit(uint8_t *data, int i) { + if (wait_for_level(ir_pin, 1, 1000) < 0) return false; + int64_t t = wait_for_level(ir_pin, 0, 2500); + if (t < 200) return false; + int byte_idx = i / 8; + int bit_idx = i % 8; + if (t > 1200) data[byte_idx] |= (1 << bit_idx); + return true; +} + +/** + * @brief Read all 32 data bits of an NEC frame + * + * @param data 4-byte array filled with the received address and command + * @return bool true if all 32 bits were read, false on timeout + */ +static bool read_32_bits(uint8_t *data) { + for (int i = 0; i < 32; ++i) + if (!read_nec_bit(data, i)) return false; + return true; +} + +/** + * @brief Validate an NEC frame and extract the command byte + * + * Checks that the address and command pairs are bitwise-inverted. + * + * @param data 4-byte NEC frame (addr, ~addr, cmd, ~cmd) + * @return int Command byte (0-255) on success, -1 on validation failure + */ +static int validate_nec_frame(const uint8_t *data) { + if ((uint8_t)(data[0] + data[1]) == 0xFF && (uint8_t)(data[2] + data[3]) == 0xFF) + return data[2]; + return -1; +} + +void ir_init(uint8_t pin) { + ir_pin = pin; + gpio_init(pin); + gpio_set_dir(pin, GPIO_IN); + gpio_pull_up(pin); +} + +int ir_getkey(void) { + if (!wait_leader()) return -1; + uint8_t data[4] = {0, 0, 0, 0}; + if (!read_32_bits(data)) return -1; + return validate_nec_frame(data); +} diff --git a/0x0026a_custom-bootloader/app/src/led.c b/0x0026a_custom-bootloader/app/src/led.c new file mode 100644 index 0000000..fee69f9 --- /dev/null +++ b/0x0026a_custom-bootloader/app/src/led.c @@ -0,0 +1,103 @@ +/** + * @file led.c + * @brief LED controller driven by decoded NEC IR commands. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#include +#include "pico/stdlib.h" +#include "led.h" + +/** + * @brief Map an NEC command code to a logical LED number. + * @param ir_command Decoded NEC command byte. + * @return int Logical LED number 1-3, or 0 when the command is unmapped. + */ +static int led_number_for_command(int ir_command) { + if (ir_command == 0x0C) return 1; + if (ir_command == 0x18) return 2; + if (ir_command == 0x5E) return 3; + return 0; +} + +/** + * @brief Return the GPIO pin backing a logical LED number. + * @param leds Pointer to the LED controller. + * @param led_num Logical LED number (1-3). + * @return uint8_t GPIO pin number for the requested LED. + */ +static uint8_t led_pin_for(simple_led_ctrl_t *leds, int led_num) { + if (led_num == 1) return leds->led1_pin; + if (led_num == 2) return leds->led2_pin; + return leds->led3_pin; +} + +/** + * @brief Turn every LED output off. + * @param leds Pointer to the LED controller. + * @return void No return value. + */ +static void led_all_off(simple_led_ctrl_t *leds) { + gpio_put(leds->led1_pin, false); + gpio_put(leds->led2_pin, false); + gpio_put(leds->led3_pin, false); +} + +/** + * @brief Toggle a GPIO on and off for a number of blink cycles. + * @param pin GPIO pin to blink. + * @param count Number of on/off cycles. + * @param delay_ms Milliseconds to hold each phase. + * @return void No return value. + */ +static void led_blink(uint8_t pin, uint8_t count, uint32_t delay_ms) { + for (uint8_t i = 0; i < count; i++) { + gpio_put(pin, true); + sleep_ms(delay_ms); + gpio_put(pin, false); + sleep_ms(delay_ms); + } +} + +/** + * @brief Blink an LED, then leave it lit. + * @param leds Pointer to the LED controller. + * @param led_num Logical LED number to activate. + * @return void No return value. + */ +static void led_activate(simple_led_ctrl_t *leds, int led_num) { + uint8_t pin = led_pin_for(leds, led_num); + led_blink(pin, 3, 50); + gpio_put(pin, true); + printf("LED %d activated on GPIO %d\n", led_num, pin); +} + +simple_led_ctrl_t led_default(void) { + simple_led_ctrl_t leds = { + .led1_pin = 16, .led2_pin = 17, .led3_pin = 18, + .led1_state = false, .led2_state = false, .led3_state = false + }; + return leds; +} + +void led_init(simple_led_ctrl_t *leds) { + gpio_init(leds->led1_pin); + gpio_set_dir(leds->led1_pin, GPIO_OUT); + gpio_init(leds->led2_pin); + gpio_set_dir(leds->led2_pin, GPIO_OUT); + gpio_init(leds->led3_pin); + gpio_set_dir(leds->led3_pin, GPIO_OUT); +} + +void led_handle_ir(simple_led_ctrl_t *leds, int key) { + if (key < 0) return; + printf("NEC command: 0x%02X\n", key); + led_all_off(leds); + int led_num = led_number_for_command(key); + if (led_num == 0) return; + led_activate(leds, led_num); +} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/app/src/secret.c b/0x0026a_custom-bootloader/app/src/secret.c new file mode 100644 index 0000000..8f6df9e --- /dev/null +++ b/0x0026a_custom-bootloader/app/src/secret.c @@ -0,0 +1,88 @@ +/** + * @file secret.c + * @brief Decrypts a runtime banner with the SDK Mbed TLS AES-128-CBC API. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + * + * ----------------------------------------------------------------------------- + * + * This module shows how to use the AES implementation that ships with the Pico + * SDK. A short banner is stored in flash only as AES-128-CBC ciphertext; the + * key and IV live in the same image. At startup secret_print_banner() rebuilds + * the plaintext with mbedtls_aes_crypt_cbc() and writes it to the console. + * + * The plaintext is exactly APP_BANNER_LEN bytes (two whole AES blocks), so no + * padding routine is required. The ciphertext was produced on the host with the + * matching key and IV, for example: + * + * printf '%s' 'SECRET: IR LINK SECURED ONLINE ' \ + * | openssl enc -aes-128-cbc -K 49726f6e4e6574426f6f744b65792121 \ + * -iv 41707053656372657449563132333435 -nopad | xxd -p + */ + +#include +#include +#include "mbedtls/aes.h" +#include "secret.h" + +/** @brief AES-128 key, the same 16 bytes the bootloader uses for CMAC. */ +static const uint8_t banner_key[APP_AES_BLOCK] = { + 0x49, 0x72, 0x6F, 0x6E, 0x4E, 0x65, 0x74, 0x42, + 0x6F, 0x6F, 0x74, 0x4B, 0x65, 0x79, 0x21, 0x21 +}; + +/** @brief Initialization vector used when the banner was encrypted. */ +static const uint8_t banner_iv[APP_AES_BLOCK] = { + 0x41, 0x70, 0x70, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x49, 0x56, 0x31, 0x32, 0x33, 0x34, 0x35 +}; + +/** @brief AES-128-CBC ciphertext of the runtime banner. */ +static const uint8_t banner_ct[APP_BANNER_LEN] = { + 0xBA, 0xEC, 0x4A, 0x19, 0x25, 0x86, 0x1B, 0xB9, + 0x2D, 0xFD, 0x9F, 0x13, 0xF7, 0x9B, 0x3E, 0x80, + 0xCF, 0x12, 0xB6, 0x98, 0xDB, 0x91, 0x65, 0xBE, + 0x8F, 0xD7, 0xC3, 0x47, 0x7B, 0xB2, 0xE7, 0x6E +}; + +/** + * @brief Run the AES-128-CBC decrypt in place over a working buffer. + * @param aes Pointer to an AES context holding an already-expanded key. + * @param iv Pointer to a mutable copy of the initialization vector. + * @param buf Pointer to the buffer holding ciphertext, then plaintext. + * @return int Zero on success, non-zero on failure. + */ +static int secret_cbc(mbedtls_aes_context *aes, uint8_t *iv, uint8_t *buf) { + int rc = mbedtls_aes_crypt_cbc(aes, MBEDTLS_AES_DECRYPT, APP_BANNER_LEN, + iv, buf, buf); + return rc; +} + +/** + * @brief Decrypt the banner ciphertext into a working buffer. + * @param buf Buffer of at least APP_BANNER_LEN bytes. + * @return int Zero on success, non-zero on failure. + */ +static int secret_decrypt(uint8_t *buf) { + mbedtls_aes_context aes; + uint8_t iv[APP_AES_BLOCK]; + memcpy(iv, banner_iv, APP_AES_BLOCK); + mbedtls_aes_init(&aes); + mbedtls_aes_setkey_dec(&aes, banner_key, 128); + int rc = secret_cbc(&aes, iv, buf); + mbedtls_aes_free(&aes); + return rc; +} + +int secret_print_banner(void) { + uint8_t buf[APP_BANNER_LEN + 1]; + memcpy(buf, banner_ct, APP_BANNER_LEN); + buf[APP_BANNER_LEN] = '\0'; + int rc = secret_decrypt(buf); + if (rc != 0) return rc; + printf("app banner: %s\n", (char *)buf); + return 0; +} diff --git a/0x0026a_custom-bootloader/bootloader/include/aes_cmac.h b/0x0026a_custom-bootloader/bootloader/include/aes_cmac.h new file mode 100644 index 0000000..8510e8a --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/include/aes_cmac.h @@ -0,0 +1,40 @@ +/** + * @file aes_cmac.h + * @brief AES-128-CMAC authentication tag helpers backed by Mbed TLS. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef AES_CMAC_H +#define AES_CMAC_H + +#include +#include +#include + +/** @brief AES block size in bytes. */ +#define AES_BLOCK_SIZE 16U + +/** + * @brief Compute an AES-128-CMAC tag over a memory region. + * @param key Pointer to the 16-byte AES-128 key. + * @param data Pointer to the message bytes, which may live in XIP flash. + * @param len Message length in bytes. + * @param tag Output buffer that receives the 16-byte CMAC tag. + * @return int Zero on success, non-zero when the cipher is unavailable. + */ +int aes128_cmac(const uint8_t *key, const uint8_t *data, size_t len, + uint8_t *tag); + +/** + * @brief Compare two CMAC tags without short-circuiting on the first byte. + * @param a Pointer to the first tag. + * @param b Pointer to the second tag. + * @return bool True when the tags are byte-for-byte identical. + */ +bool cmac_tags_equal(const uint8_t *a, const uint8_t *b); + +#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/boot.h b/0x0026a_custom-bootloader/bootloader/include/boot.h new file mode 100644 index 0000000..09f6e58 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/include/boot.h @@ -0,0 +1,45 @@ +/** + * @file boot.h + * @brief Secure boot console and application handoff helpers. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef BOOT_H +#define BOOT_H + +#include "manifest.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Bring up the debug console and print the boot banner. + * @param void No parameters. + * @return void No return value. + */ +void boot_init(void); + +/** + * @brief Print a boot failure reason and idle forever. + * @param reason Null-terminated message describing the failure. + * @return void Does not return. + */ +void boot_halt(const char *reason); + +/** + * @brief Announce the verified image and jump to its reset vector. + * @param manifest Pointer to the validated manifest. + * @return void Does not return. + */ +void boot_launch(const fw_manifest_t *manifest); + +#ifdef __cplusplus +} +#endif + +#endif // BOOT_H \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/include/flash_layout.h b/0x0026a_custom-bootloader/bootloader/include/flash_layout.h new file mode 100644 index 0000000..9338649 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/include/flash_layout.h @@ -0,0 +1,31 @@ +/** + * @file flash_layout.h + * @brief Flash partition map shared by the bootloader and the host signer. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef FLASH_LAYOUT_H +#define FLASH_LAYOUT_H + +#include + +/** @brief Absolute base address of the bootloader image in XIP flash. */ +#define BOOTLOADER_BASE 0x10000000U + +/** @brief Absolute address of the one-sector firmware manifest. */ +#define FW_MANIFEST_BASE 0x1001F000U + +/** @brief Size in bytes of the flash sector holding the manifest. */ +#define FW_MANIFEST_SECTOR_SIZE 4096U + +/** @brief Absolute base address where the signed application runs. */ +#define APP_BASE 0x10020000U + +/** @brief Total XIP flash size in bytes on the RP2350 Pico 2 board. */ +#define FLASH_TOTAL_SIZE 0x200000U + +#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/image.h b/0x0026a_custom-bootloader/bootloader/include/image.h new file mode 100644 index 0000000..5173845 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/include/image.h @@ -0,0 +1,23 @@ +/** + * @file image.h + * @brief Control transfer into a freshly verified Cortex-M application. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef IMAGE_H +#define IMAGE_H + +#include + +/** + * @brief Jump to an application whose vector table starts at a base address. + * @param vector_base Base address of the application vector table. + * @return void Does not return to the caller. + */ +void image_start(uint32_t vector_base); + +#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/manifest.h b/0x0026a_custom-bootloader/bootloader/include/manifest.h new file mode 100644 index 0000000..2bc5336 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/include/manifest.h @@ -0,0 +1,51 @@ +/** + * @file manifest.h + * @brief Firmware manifest stored in the flash sector before the application. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef MANIFEST_H +#define MANIFEST_H + +#include +#include + +/** @brief Little-endian magic at the head of a valid manifest ("WFLB"). */ +#define FW_MANIFEST_MAGIC 0x424C4657U + +/** @brief Current manifest structure revision. */ +#define FW_MANIFEST_VERSION 1U + +/** @brief Length in bytes of an AES-128-CMAC authentication tag. */ +#define FW_TAG_SIZE 16U + +#pragma pack(push, 1) +/** @brief Fixed-layout record describing the signed application image. */ +typedef struct { + uint32_t magic; + uint32_t version; + uint32_t app_base; + uint32_t app_size; + uint8_t tag[FW_TAG_SIZE]; +} fw_manifest_t; +#pragma pack(pop) + +/** + * @brief Copy the manifest out of its fixed flash address. + * @param out Pointer to the manifest structure to populate. + * @return void No return value. + */ +void manifest_read(fw_manifest_t *out); + +/** + * @brief Report whether a manifest carries the expected magic and version. + * @param manifest Pointer to the manifest to inspect. + * @return bool True when the magic and version both match. + */ +bool manifest_is_valid(const fw_manifest_t *manifest); + +#endif diff --git a/0x0026a_custom-bootloader/bootloader/include/verify.h b/0x0026a_custom-bootloader/bootloader/include/verify.h new file mode 100644 index 0000000..5734107 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/include/verify.h @@ -0,0 +1,32 @@ +/** + * @file verify.h + * @brief Firmware authenticity verification for the secure bootloader. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#ifndef VERIFY_H +#define VERIFY_H + +#include +#include "manifest.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * @brief Recompute the CMAC over the application and compare it to the tag. + * @param manifest Pointer to the validated manifest. + * @return bool True when the tag matches, false otherwise. + */ +bool verify_manifest(const fw_manifest_t *manifest); + +#ifdef __cplusplus +} +#endif + +#endif // VERIFY_H \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/src/aes_cmac.c b/0x0026a_custom-bootloader/bootloader/src/aes_cmac.c new file mode 100644 index 0000000..9dcc481 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/src/aes_cmac.c @@ -0,0 +1,29 @@ +/** + * @file aes_cmac.c + * @brief AES-128-CMAC primitives implemented on top of the SDK Mbed TLS. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#include "mbedtls/cmac.h" +#include "mbedtls/cipher.h" +#include "aes_cmac.h" + +int aes128_cmac(const uint8_t *key, const uint8_t *data, size_t len, + uint8_t *tag) { + const mbedtls_cipher_info_t *info; + info = mbedtls_cipher_info_from_type(MBEDTLS_CIPHER_AES_128_ECB); + if (info == NULL) return -1; + return mbedtls_cipher_cmac(info, key, 128, data, len, tag); +} + +bool cmac_tags_equal(const uint8_t *a, const uint8_t *b) { + uint8_t diff = 0; + for (size_t i = 0; i < AES_BLOCK_SIZE; i++) { + diff |= (uint8_t)(a[i] ^ b[i]); + } + return diff == 0; +} diff --git a/0x0026a_custom-bootloader/bootloader/src/boot.c b/0x0026a_custom-bootloader/bootloader/src/boot.c new file mode 100644 index 0000000..0b1dcb1 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/src/boot.c @@ -0,0 +1,33 @@ +/** + * @file boot.c + * @brief Secure boot console and application handoff helpers. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#include +#include "pico/stdlib.h" +#include "boot.h" +#include "image.h" + +void boot_init(void) { + stdio_init_all(); + sleep_ms(2000); + printf("\n=== 0x0026a secure bootloader ===\n"); +} + +void boot_halt(const char *reason) { + printf("BOOT FAILED: %s\n", reason); + while (true) { + sleep_ms(500); + } +} + +void boot_launch(const fw_manifest_t *manifest) { + printf("signature valid, entering app at 0x%08lx\n", + (unsigned long)manifest->app_base); + image_start(manifest->app_base); +} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/src/image.c b/0x0026a_custom-bootloader/bootloader/src/image.c new file mode 100644 index 0000000..8e3a5f3 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/src/image.c @@ -0,0 +1,33 @@ +/** + * @file image.c + * @brief Loads the application stack pointer and branches to its reset vector. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#include "image.h" + +/** @brief Application reset handler signature. */ +typedef void (*image_entry_t)(void); + +/** + * @brief Mask interrupts and point VTOR at the incoming image. + * @param base Vector table base address written to the VTOR register. + * @return void No return value. + */ +static void halt_irq_and_rebase(uint32_t base) { + __asm volatile ("cpsid i" ::: "memory"); + *(volatile uint32_t *)0xE000ED08U = base; +} + +void image_start(uint32_t vector_base) { + uint32_t *vectors = (uint32_t *)vector_base; + image_entry_t entry = (image_entry_t)vectors[1]; + halt_irq_and_rebase(vector_base); + __asm volatile ("msr msp, %0" :: "r" (vectors[0]) : "memory"); + __asm volatile ("dsb\n\tisb" ::: "memory"); + entry(); +} diff --git a/0x0026a_custom-bootloader/bootloader/src/main.c b/0x0026a_custom-bootloader/bootloader/src/main.c new file mode 100644 index 0000000..044abf5 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/src/main.c @@ -0,0 +1,34 @@ +/** + * @file main.c + * @brief Secure bootloader entry point (verify AES-128-CMAC, then boot). + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + * + * ----------------------------------------------------------------------------- + * + * This file is deliberately thin: it only sequences the secure boot steps. + * The console setup, halt reporting, and application handoff live in boot.c; + * the CMAC verification (and its key) live in verify.c; the manifest lives in + * manifest.c; and the raw reset-vector jump lives in image.c. + * + * Flash map (2 MiB, RP2350 Pico 2): + * 0x10000000 bootloader image (this program) + * 0x1001F000 one-sector firmware manifest (magic, size, CMAC tag) + * 0x10020000 signed application image + */ + +#include "manifest.h" +#include "boot.h" +#include "verify.h" + +int main(void) { + fw_manifest_t manifest; + boot_init(); + manifest_read(&manifest); + if (!manifest_is_valid(&manifest)) boot_halt("manifest invalid"); + if (!verify_manifest(&manifest)) boot_halt("firmware signature invalid"); + boot_launch(&manifest); +} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/bootloader/src/manifest.c b/0x0026a_custom-bootloader/bootloader/src/manifest.c new file mode 100644 index 0000000..90514c1 --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/src/manifest.c @@ -0,0 +1,23 @@ +/** + * @file manifest.c + * @brief Reads and validates the firmware manifest from XIP flash. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#include "flash_layout.h" +#include "manifest.h" + +void manifest_read(fw_manifest_t *out) { + const fw_manifest_t *src = (const fw_manifest_t *)FW_MANIFEST_BASE; + *out = *src; +} + +bool manifest_is_valid(const fw_manifest_t *manifest) { + if (manifest->magic != FW_MANIFEST_MAGIC) return false; + if (manifest->version != FW_MANIFEST_VERSION) return false; + return true; +} diff --git a/0x0026a_custom-bootloader/bootloader/src/verify.c b/0x0026a_custom-bootloader/bootloader/src/verify.c new file mode 100644 index 0000000..08b55cd --- /dev/null +++ b/0x0026a_custom-bootloader/bootloader/src/verify.c @@ -0,0 +1,28 @@ +/** + * @file verify.c + * @brief Firmware authenticity verification for the secure bootloader. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + */ + +#include +#include "flash_layout.h" +#include "verify.h" +#include "aes_cmac.h" + +/** @brief AES-128 key that authenticates the application image. */ +static const uint8_t fw_key[FW_TAG_SIZE] = { + 0x49, 0x72, 0x6F, 0x6E, 0x4E, 0x65, 0x74, 0x42, + 0x6F, 0x6F, 0x74, 0x4B, 0x65, 0x79, 0x21, 0x21 +}; + +bool verify_manifest(const fw_manifest_t *manifest) { + const uint8_t *base = (const uint8_t *)manifest->app_base; + uint8_t computed[FW_TAG_SIZE]; + int rc = aes128_cmac(fw_key, base, manifest->app_size, computed); + if (rc != 0) return false; + return cmac_tags_equal(computed, manifest->tag); +} \ No newline at end of file diff --git a/0x0026a_custom-bootloader/common/include/mbedtls_config.h b/0x0026a_custom-bootloader/common/include/mbedtls_config.h new file mode 100644 index 0000000..12ec622 --- /dev/null +++ b/0x0026a_custom-bootloader/common/include/mbedtls_config.h @@ -0,0 +1,25 @@ +/** + * @file mbedtls_config.h + * @brief Minimal Mbed TLS configuration for the 0x0026a bootloader and app. + * @author Kevin Thomas + * @date 2026 + * + * MIT License + * Copyright (c) 2026 Kevin Thomas + * + * The Pico SDK points MBEDTLS_CONFIG_FILE at pico_mbedtls_config.h, which in + * turn includes this file. Only the AES-128 building blocks needed for CMAC + * authentication and CBC encryption are enabled, keeping the image small. + */ + +#ifndef MBEDTLS_CONFIG_H +#define MBEDTLS_CONFIG_H + +#include + +#define MBEDTLS_AES_C +#define MBEDTLS_CIPHER_C +#define MBEDTLS_CIPHER_MODE_CBC +#define MBEDTLS_CMAC_C + +#endif diff --git a/0x0026a_custom-bootloader/manifest.bin b/0x0026a_custom-bootloader/manifest.bin new file mode 100644 index 0000000000000000000000000000000000000000..7b734c4c0a6219eb27aa81bbf00556ac0f14a960 GIT binary patch literal 4096 zcmWG{^KoKi00Aa}86gY|?^)!IPWo^(UHz6?;N{{e)&EDqXb6mkz-S1JhQMeDjE2By a2#kinXb6mkz-S1JhQMeDjE2CF4*>u=zuSEP literal 0 HcmV?d00001 diff --git a/0x0026a_custom-bootloader/pico_sdk_import.cmake b/0x0026a_custom-bootloader/pico_sdk_import.cmake new file mode 100644 index 0000000..d493cc2 --- /dev/null +++ b/0x0026a_custom-bootloader/pico_sdk_import.cmake @@ -0,0 +1,121 @@ +# This is a copy of /external/pico_sdk_import.cmake + +# This can be dropped into an external project to help locate this SDK +# It should be include()ed prior to project() + +# Copyright 2020 (c) 2020 Raspberry Pi (Trading) Ltd. +# +# Redistribution and use in source and binary forms, with or without modification, are permitted provided that the +# following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following +# disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided with the distribution. +# +# 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products +# derived from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +if (DEFINED ENV{PICO_SDK_PATH} AND (NOT PICO_SDK_PATH)) + set(PICO_SDK_PATH $ENV{PICO_SDK_PATH}) + message("Using PICO_SDK_PATH from environment ('${PICO_SDK_PATH}')") +endif () + +if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT} AND (NOT PICO_SDK_FETCH_FROM_GIT)) + set(PICO_SDK_FETCH_FROM_GIT $ENV{PICO_SDK_FETCH_FROM_GIT}) + message("Using PICO_SDK_FETCH_FROM_GIT from environment ('${PICO_SDK_FETCH_FROM_GIT}')") +endif () + +if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_PATH} AND (NOT PICO_SDK_FETCH_FROM_GIT_PATH)) + set(PICO_SDK_FETCH_FROM_GIT_PATH $ENV{PICO_SDK_FETCH_FROM_GIT_PATH}) + message("Using PICO_SDK_FETCH_FROM_GIT_PATH from environment ('${PICO_SDK_FETCH_FROM_GIT_PATH}')") +endif () + +if (DEFINED ENV{PICO_SDK_FETCH_FROM_GIT_TAG} AND (NOT PICO_SDK_FETCH_FROM_GIT_TAG)) + set(PICO_SDK_FETCH_FROM_GIT_TAG $ENV{PICO_SDK_FETCH_FROM_GIT_TAG}) + message("Using PICO_SDK_FETCH_FROM_GIT_TAG from environment ('${PICO_SDK_FETCH_FROM_GIT_TAG}')") +endif () + +if (PICO_SDK_FETCH_FROM_GIT AND NOT PICO_SDK_FETCH_FROM_GIT_TAG) + set(PICO_SDK_FETCH_FROM_GIT_TAG "master") + message("Using master as default value for PICO_SDK_FETCH_FROM_GIT_TAG") +endif() + +set(PICO_SDK_PATH "${PICO_SDK_PATH}" CACHE PATH "Path to the Raspberry Pi Pico SDK") +set(PICO_SDK_FETCH_FROM_GIT "${PICO_SDK_FETCH_FROM_GIT}" CACHE BOOL "Set to ON to fetch copy of SDK from git if not otherwise locatable") +set(PICO_SDK_FETCH_FROM_GIT_PATH "${PICO_SDK_FETCH_FROM_GIT_PATH}" CACHE FILEPATH "location to download SDK") +set(PICO_SDK_FETCH_FROM_GIT_TAG "${PICO_SDK_FETCH_FROM_GIT_TAG}" CACHE FILEPATH "release tag for SDK") + +if (NOT PICO_SDK_PATH) + if (PICO_SDK_FETCH_FROM_GIT) + include(FetchContent) + set(FETCHCONTENT_BASE_DIR_SAVE ${FETCHCONTENT_BASE_DIR}) + if (PICO_SDK_FETCH_FROM_GIT_PATH) + get_filename_component(FETCHCONTENT_BASE_DIR "${PICO_SDK_FETCH_FROM_GIT_PATH}" REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}") + endif () + FetchContent_Declare( + pico_sdk + GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk + GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} + ) + + if (NOT pico_sdk) + message("Downloading Raspberry Pi Pico SDK") + # GIT_SUBMODULES_RECURSE was added in 3.17 + if (${CMAKE_VERSION} VERSION_GREATER_EQUAL "3.17.0") + FetchContent_Populate( + pico_sdk + QUIET + GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk + GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} + GIT_SUBMODULES_RECURSE FALSE + + SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src + BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build + SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild + ) + else () + FetchContent_Populate( + pico_sdk + QUIET + GIT_REPOSITORY https://github.com/raspberrypi/pico-sdk + GIT_TAG ${PICO_SDK_FETCH_FROM_GIT_TAG} + + SOURCE_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-src + BINARY_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-build + SUBBUILD_DIR ${FETCHCONTENT_BASE_DIR}/pico_sdk-subbuild + ) + endif () + + set(PICO_SDK_PATH ${pico_sdk_SOURCE_DIR}) + endif () + set(FETCHCONTENT_BASE_DIR ${FETCHCONTENT_BASE_DIR_SAVE}) + else () + message(FATAL_ERROR + "SDK location was not specified. Please set PICO_SDK_PATH or set PICO_SDK_FETCH_FROM_GIT to on to fetch from git." + ) + endif () +endif () + +get_filename_component(PICO_SDK_PATH "${PICO_SDK_PATH}" REALPATH BASE_DIR "${CMAKE_BINARY_DIR}") +if (NOT EXISTS ${PICO_SDK_PATH}) + message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' not found") +endif () + +set(PICO_SDK_INIT_CMAKE_FILE ${PICO_SDK_PATH}/pico_sdk_init.cmake) +if (NOT EXISTS ${PICO_SDK_INIT_CMAKE_FILE}) + message(FATAL_ERROR "Directory '${PICO_SDK_PATH}' does not appear to contain the Raspberry Pi Pico SDK") +endif () + +set(PICO_SDK_PATH ${PICO_SDK_PATH} CACHE PATH "Path to the Raspberry Pi Pico SDK" FORCE) + +include(${PICO_SDK_INIT_CMAKE_FILE}) diff --git a/0x0026a_custom-bootloader/tools/sign_firmware.py b/0x0026a_custom-bootloader/tools/sign_firmware.py new file mode 100644 index 0000000..014a3a0 --- /dev/null +++ b/0x0026a_custom-bootloader/tools/sign_firmware.py @@ -0,0 +1,242 @@ +#!/usr/bin/env python3 +"""Sign a Raspberry Pi Pico application image for the 0x0026a bootloader. + +The signer reads the raw application binary (the bytes the bootloader will see +in XIP flash), computes an AES-128-CMAC tag over it, and writes the fixed-layout +manifest the bootloader expects into the sector at 0x1001F000. The AES and CMAC +routines are implemented here so the tool runs on a stock Python 3 install with +no third-party packages. + +Examples +-------- +Sign an image and write the manifest:: + + python3 sign_firmware.py build/0x0026a_app.bin --out build/manifest.bin + +Verify an existing manifest against an image:: + + python3 sign_firmware.py build/0x0026a_app.bin --verify build/manifest.bin +""" + +from __future__ import annotations + +import argparse +import struct +from pathlib import Path + +MANIFEST_MAGIC = 0x424C4657 +MANIFEST_VERSION = 1 +MANIFEST_SECTOR_SIZE = 4096 +DEFAULT_APP_BASE = 0x10020000 +DEFAULT_KEY = b"IronNetBootKey!!" +RB = 0x1B +RB_128 = 0x87 + +SBOX = ( + 0x63, 0x7C, 0x77, 0x7B, 0xF2, 0x6B, 0x6F, 0xC5, 0x30, 0x01, 0x67, 0x2B, + 0xFE, 0xD7, 0xAB, 0x76, 0xCA, 0x82, 0xC9, 0x7D, 0xFA, 0x59, 0x47, 0xF0, + 0xAD, 0xD4, 0xA2, 0xAF, 0x9C, 0xA4, 0x72, 0xC0, 0xB7, 0xFD, 0x93, 0x26, + 0x36, 0x3F, 0xF7, 0xCC, 0x34, 0xA5, 0xE5, 0xF1, 0x71, 0xD8, 0x31, 0x15, + 0x04, 0xC7, 0x23, 0xC3, 0x18, 0x96, 0x05, 0x9A, 0x07, 0x12, 0x80, 0xE2, + 0xEB, 0x27, 0xB2, 0x75, 0x09, 0x83, 0x2C, 0x1A, 0x1B, 0x6E, 0x5A, 0xA0, + 0x52, 0x3B, 0xD6, 0xB3, 0x29, 0xE3, 0x2F, 0x84, 0x53, 0xD1, 0x00, 0xED, + 0x20, 0xFC, 0xB1, 0x5B, 0x6A, 0xCB, 0xBE, 0x39, 0x4A, 0x4C, 0x58, 0xCF, + 0xD0, 0xEF, 0xAA, 0xFB, 0x43, 0x4D, 0x33, 0x85, 0x45, 0xF9, 0x02, 0x7F, + 0x50, 0x3C, 0x9F, 0xA8, 0x51, 0xA3, 0x40, 0x8F, 0x92, 0x9D, 0x38, 0xF5, + 0xBC, 0xB6, 0xDA, 0x21, 0x10, 0xFF, 0xF3, 0xD2, 0xCD, 0x0C, 0x13, 0xEC, + 0x5F, 0x97, 0x44, 0x17, 0xC4, 0xA7, 0x7E, 0x3D, 0x64, 0x5D, 0x19, 0x73, + 0x60, 0x81, 0x4F, 0xDC, 0x22, 0x2A, 0x90, 0x88, 0x46, 0xEE, 0xB8, 0x14, + 0xDE, 0x5E, 0x0B, 0xDB, 0xE0, 0x32, 0x3A, 0x0A, 0x49, 0x06, 0x24, 0x5C, + 0xC2, 0xD3, 0xAC, 0x62, 0x91, 0x95, 0xE4, 0x79, 0xE7, 0xC8, 0x37, 0x6D, + 0x8D, 0xD5, 0x4E, 0xA9, 0x6C, 0x56, 0xF4, 0xEA, 0x65, 0x7A, 0xAE, 0x08, + 0xBA, 0x78, 0x25, 0x2E, 0x1C, 0xA6, 0xB4, 0xC6, 0xE8, 0xDD, 0x74, 0x1F, + 0x4B, 0xBD, 0x8B, 0x8A, 0x70, 0x3E, 0xB5, 0x66, 0x48, 0x03, 0xF6, 0x0E, + 0x61, 0x35, 0x57, 0xB9, 0x86, 0xC1, 0x1D, 0x9E, 0xE1, 0xF8, 0x98, 0x11, + 0x69, 0xD9, 0x8E, 0x94, 0x9B, 0x1E, 0x87, 0xE9, 0xCE, 0x55, 0x28, 0xDF, + 0x8C, 0xA1, 0x89, 0x0D, 0xBF, 0xE6, 0x42, 0x68, 0x41, 0x99, 0x2D, 0x0F, + 0xB0, 0x54, 0xBB, 0x16, +) + +RCON = (0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1B, 0x36) + + +def _xtime(value: int) -> int: + """Multiply a byte by x in GF(2^8).""" + value <<= 1 + return (value ^ RB) & 0xFF if value & 0x100 else value + + +def _expand_key(key: bytes) -> list[int]: + """Expand a 16-byte key into the 176-byte AES-128 round key schedule.""" + schedule = list(key) + for index in range(16, 176, 4): + word = schedule[index - 4:index] + if index % 16 == 0: + word = word[1:] + word[:1] + word = [SBOX[byte] for byte in word] + word[0] ^= RCON[index // 16 - 1] + for offset in range(4): + schedule.append(schedule[index - 16 + offset] ^ word[offset]) + return schedule + + +def _add_round_key(state: list[int], schedule: list[int]) -> None: + """XOR the round key into the state in place.""" + for index in range(16): + state[index] ^= schedule[index] + + +def _sub_bytes(state: list[int]) -> None: + """Apply the AES S-box to every byte of the state.""" + for index in range(16): + state[index] = SBOX[state[index]] + + +def _shift_rows(state: list[int]) -> None: + """Rotate each row of the AES state left by its row index.""" + for row in range(1, 4): + cells = [state[row + 4 * col] for col in range(4)] + cells = cells[row:] + cells[:row] + for col in range(4): + state[row + 4 * col] = cells[col] + + +def _mix_columns(state: list[int]) -> None: + """Mix each column of the AES state with the fixed AES matrix.""" + for col in range(4): + base = 4 * col + a0, a1, a2, a3 = state[base:base + 4] + total = a0 ^ a1 ^ a2 ^ a3 + state[base + 0] = a0 ^ total ^ _xtime(a0 ^ a1) + state[base + 1] = a1 ^ total ^ _xtime(a1 ^ a2) + state[base + 2] = a2 ^ total ^ _xtime(a2 ^ a3) + state[base + 3] = a3 ^ total ^ _xtime(a3 ^ a0) + + +def aes_encrypt_block(block: bytes, schedule: list[int]) -> bytes: + """Encrypt one 16-byte block with the supplied round key schedule.""" + state = list(block) + _add_round_key(state, schedule) + for round_index in range(1, 10): + _sub_bytes(state) + _shift_rows(state) + _mix_columns(state) + _add_round_key(state, schedule[16 * round_index:]) + _sub_bytes(state) + _shift_rows(state) + _add_round_key(state, schedule[160:]) + return bytes(state) + + +def _double(block: bytes) -> bytes: + """Left-shift a 128-bit big-endian value, folding in the CMAC constant.""" + value = int.from_bytes(block, "big") + value <<= 1 + if block[0] & 0x80: + value ^= RB_128 + return (value & ((1 << 128) - 1)).to_bytes(16, "big") + + +def _subkeys(schedule: list[int]) -> tuple[bytes, bytes]: + """Derive the RFC 4493 K1 and K2 subkeys.""" + k1 = _double(aes_encrypt_block(bytes(16), schedule)) + return k1, _double(k1) + + +def _xor(left: bytes, right: bytes) -> bytes: + """XOR two equal-length byte strings.""" + return bytes(a ^ b for a, b in zip(left, right)) + + +def aes128_cmac(key: bytes, message: bytes) -> bytes: + """Return the RFC 4493 AES-128-CMAC tag of a message.""" + schedule = _expand_key(key) + k1, k2 = _subkeys(schedule) + blocks = [message[i:i + 16] for i in range(0, len(message), 16)] + complete = bool(blocks) and len(blocks[-1]) == 16 + if not complete: + tail = (blocks[-1] + b"\x80") if blocks else b"\x80" + blocks = blocks[:-1] + [tail.ljust(16, b"\x00")] + last = blocks[-1] + last = _xor(last, k1 if complete else k2) + state = bytes(16) + for block in blocks[:-1]: + state = aes_encrypt_block(_xor(state, block), schedule) + return aes_encrypt_block(_xor(state, last), schedule) + + +def build_manifest(app: bytes, app_base: int, key: bytes) -> bytes: + """Assemble the padded manifest sector for an application image.""" + tag = aes128_cmac(key, app) + header = struct.pack(" bytes: + """Decode a hex or UTF-8 key argument into 16 bytes.""" + raw = bytes.fromhex(text) if len(text) == 32 else text.encode() + if len(raw) != 16: + raise argparse.ArgumentTypeError("key must be 16 bytes") + return raw + + +def _read_image(path: str) -> bytes: + """Read an application binary from disk.""" + data = Path(path).read_bytes() + if not data: + raise SystemExit(f"error: {path} is empty") + return data + + +def _cmd_sign(args: argparse.Namespace) -> int: + """Sign an image and write the manifest sector.""" + app = _read_image(args.image) + manifest = build_manifest(app, args.app_base, args.key) + out = Path(args.out) + out.parent.mkdir(parents=True, exist_ok=True) + out.write_bytes(manifest) + tag = manifest[16:32].hex() + print(f"image : {args.image} ({len(app)} bytes)") + print(f"app_base : 0x{args.app_base:08x}") + print(f"cmac tag : {tag}") + print(f"manifest : {out} ({len(manifest)} bytes)") + return 0 + + +def _cmd_verify(args: argparse.Namespace) -> int: + """Recompute the tag and compare it against a manifest on disk.""" + app = _read_image(args.image) + manifest = Path(args.verify).read_bytes() + stored = manifest[16:32] + expected = aes128_cmac(args.key, app) + print(f"stored : {stored.hex()}") + print(f"computed : {expected.hex()}") + if stored != expected: + print("result : MISMATCH") + return 1 + print("result : MATCH") + return 0 + + +def main() -> int: + """Parse arguments and dispatch to sign or verify.""" + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("image", help="raw application .bin to sign") + parser.add_argument("--out", default="manifest.bin", + help="manifest output path (default: manifest.bin)") + parser.add_argument("--app-base", type=lambda v: int(v, 0), + default=DEFAULT_APP_BASE, + help="application base address (default: 0x10020000)") + parser.add_argument("--key", type=_parse_key, default=DEFAULT_KEY, + help="16-byte AES key as text or 32 hex digits") + parser.add_argument("--verify", metavar="MANIFEST", + help="verify an existing manifest instead of signing") + args = parser.parse_args() + if args.verify: + return _cmd_verify(args) + return _cmd_sign(args) + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/README.md b/README.md index 82e68a7..db0ab0d 100644 --- a/README.md +++ b/README.md @@ -579,6 +579,18 @@ Structures and Functions in Embedded Systems: Debugging and Hacking w/ IR Remote ## Week 11-IDA Notebook [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/WEEK11/WEEK11-IDA.md) +## Week 11a Secure Boot + Custom Bootloader Notebook [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/WEEK11a.md) + +### 0x0026a Custom Secure Bootloader [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/README.md) + +### 0x0026a Bootloader BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/0x0026a_bootloader.bin) + +### 0x0026a Bootloader UF2 [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/0x0026a_bootloader.uf2) + +### 0x0026a Signed Application BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/0x0026a_app.bin) + +### 0x0026a Manifest BIN [HERE](https://github.com/mytechnotalent/Embedded-Hacking/blob/main/0x0026a_custom-bootloader/manifest.bin) + ### Chapter 35: Structures This chapter covers structures as well as an intro to infrared basics as we work a infrared receiver and infrared remote controller as it relates to embedded development on the Pico 2.

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 z zczA{Y3&V-4>6gRi?{d(WP<+~B`zFfkiD<8?eV^qeV%#F>K~xhY$h z#F=&kkVXXFR+2siJ2KR*QCnz_47>@{R!Qj1*Z1n6&FL?CZCZ!1c4 zy=r@GhHdtwEqcbJZBt7T@}r2PC&TlPs$@I}&rVspdr#VCoCwxaO{(qk*qr&ILqr># z=B`GECa9bhZBkjMz3?p)PJt`P!;QW!ybO0R=Z3(SJ&2myUjLVm=J!1wb0{cts2py! zUB zEW@a7dcs=`l^!#s8OM?VPsg1HdAM_6E2yrc#V37?|TfA4Dyz_ikB4uzC!#!S# zW5IoX8<_?qg#kBrMsVnoHgQy~GdZD7SE0Myy3fH-%z4hq=a@}EQZubOYHb6XymDDmZecBJ7^9HLQIB?YvM$gdM~b%+o<#%Oz+ zjxpuaMJpEUA_*OM$Oys#P{E9<_CA)$$I;k8)vm)gk*&ly_eq%$&Q5t;6d--X7`h(`My!+hWu}>@ zSa}~_;_M`(q|P6pA00@Xilb2Ui%fzg7vo^zf11@b&oak|bKR3Se0!v}bQ+ss#E4sW z67%Z529NkuPLcS|`hll3J4car+wv0@zeVCZH@WXV4?lNz7W_9C=5@#Er@AUL1N&Ey zkX$(SfR5S%(+fKs*B}i-r|@vp$&#Oj`a<%;dnXryR`@`RLRl(U0`ELU@Kj6L1o3 zxqV-e-Be8+JP6I*I1spg8_iW>Pg-gK>%Aa^j$=DufLNIo%=iXtWy(*E!Bk6;&e-QxU~w%zYeE z7tJ^WG1_>0-|RU!ZOF_A$n;#DVp-gZheFmy*;n_%mnFLyrI#MNW& z2&A2t{sPzbUI!XG;qdBBcDsj?PE#!(EA-9nUfbt8`a8*FUunOgRt72@Ma; z`rUrYQ>{q;=6RA(vHRylNTGY=4pm!qk6+-ue_~z{%l=PmE>Q zu?NoSPJ*#w@9_W4Rb`YwV|=|YhhLN6Lw z16P4$xNgMKwB_Sd)L*u$)|QJ9>=iJv>s<{2?n{O6Y^18Aq1wY^AO9a?=M}_d_MamIB+-tszd3>g9hf~oEB8juHmG;^uAquKZeE2Ja?r$-)&+Tdt zjZ45@K_Shhsm`t$pSSKy0$dUz!ae5sl5kyq=Ezz4aaRJ0rid#|?~8{l_DB`YODVil zPW=oAM{2F;+vj7zV#sFFY<`X4*jqe{5tqF>Fl{qx7_9%?A$msivH2s1Erv|w5hGG{ zV?M|_7e@n$z9TCg7RU{*dm=VC%$y>4=otWC%dJ27jNWapNVO#!(XHQI@J+P_{U9#P74=I^T)C6fXfj+7S54ylmmJX11e zjG(GZ3d#}4Q$Amp7@c8vy{`z*HX$r9h2la@w8CZHiSQn~R*UQfkv^{|%EQsdB@KBT zA5ciO=TSKyZX5n$^ixw6 z)H_OKSo@s-qG(EjuX=Sr2C4bzMpOt6;h$_U#mmxPQ)>M9Hz-?yde6H+)!(tE;oKjm z8~tD$d5Y}n=^;_tTxswD(~A#V|2>bO_aKvjDRHG#OOR=b^~pCOuQSioCa88NY!FuV*lZ(UQ?6HLsV9SX;d;8nn3WQ>ZsC8y=JLy+YNqNZ|(MdkI|f&fkkY!vSl zD(lP$_}Krj1`%iB1U*Ui+zKY0Cakd~*)_u3Ir3Rq^toPCbPGIaXZOcF4!F|9!+{K1 zkI*^FN6f+<&4eO26_We@8|2(A#EMpxjkvUEcE|(K4kJWbq`a#8dEO+sGFFXf%+Q2v z^(h%@jjV^>+e2>~?8;|8qa?b?-ILf7J-un=calfcnHH>l^L?PNDC{=fV{SQVY|dcx ztd&tgj3=p0jAz@hr0?kcpqag|T;pt%%Ez#~Y!CtZhD5nFxd633PMelluYH+t0bP7HIW{+XM+x>^PJ)!l-IC z0kUYPHQKg27*H?Dw*?{=aGD;GXOiFEi&Dk#Z1;lj@|8F17$2?-O~v(Ifag4GxKh^`6^3UFwW$BEFHLeyUGml%xxzk+AKYuh_z92qS!Fmo$(Dl#k%SvtHOU^AZFdps;{k zuBWUdLZR4RVv5|bVxK(1D~!H9MimUfa63j7Vvee^(I{`C+$1VcoDj1n>BVH`NMEkP z^O!KO99yLtdbpC37o|{+XV~TPrt+)(=~xY9sz1C#UEUUzGC-=^ZqxxhPAyPTE%g3@ z%9_>c=OQHwA5sdotbE#D%V!Zi-{mH^whv0?<0q?+M9|RYka1+8R95T@(sWD;0%%Ed z96@81gS1$~e$hUZOA_VuC@lA9+45CZY=`PN zoTvV=5jYi5QFdB+Qq1CZlw3pe)D|KiRZ@P=7nO72l!&z=Hg z6f%noVe?i4OHI+LRbfC!6vzoxFWiNU<7!enLmYVq!sI^OIvrXt z{yJbkEp>F9zC5!buikf$#@XV^i5wobA$$9g+c(Il_Jew6(cKidjU4~JAF(C!lwP}k zjr7Xnam9A8yoBL&GBZIFS|u27zMi^OhChqf)+u^GXDhuOeGqd*+jYMEggeJsy9GMF zPFj4sf;)1K+N8-bLqpmUvwP9uzJzt3X*)Ru-BqnkLtUN??*Kq&&_Od5d^fdcLk$x~ z?$oXXo54UGko{{bw`0!-IuXy9M&?;?z1SMsi$2z?-znTEcfnj7_?czDucxG%KHYB8 zKrJFCVX5}(*mvI|8N*uke5U%1!QR>Dl77;_02aP|T`q|f4Ubl~cqM+aP4iHsIG<8% zrNGla&#A8Bu2+{fDZdnsdbiCe-z)B~NoMu#D^rHZ$5PtPK5XOJA<2@`i2qVOjHwb* zYn0SeFt9RF?inem%~QpkFu4t=e{- z&uid(1hSsiP1tr3lkr3KnW#?om@wCk03W_+cQAq8eB^E|yxm!~)nISA-=1w-mL?h= z?d6~QOWRaS207L{#d>;<-ubu!i^JD4PFmldmt2$4k{MIG2NxsSt4!a^L*?6^DUP10 zukbgQtxt;>rA1Wz7T6DD*I*v#2_gL6cO%)&W-(TJQt);9Zgf<39K$Cq9g=Vhp&*R$ zp;CB`6#?Z|B~5g4vXh~Zy|1bRtvh40^%%sLnS;QNQN4+XIpG=XF|BU5<4ip2HQ|i1 z!`zH&qw#)teGmVZ%w%1HGqoJC!yGgaTVvW@92Q@R28ZMLkB60yBbh(3RdJW`JXqNA zhHL2$@QVHRb@A>gE?P!F@M`5D-3;y0}lyiLm>3jCdQlBG1E9J zU|01cC5tTIEHRx0m%bKU-2bqpb&`roD)cm?Hh0|k$Lt_I%c}_!AJxG59go6}UkyRQ zP><}P1Ji?(r5eG+<0(LgC6nojPbMWSQv8dH3Ie)Y8T=;IV^5&zy#hd_6M z)Z*blQdcpL_qjL@!5(h%HlTP8zkb3tYgUNlh>`mNk>YOFb7bELf3VJZ)jv)jlI*Q!I%&H=QE8P zM#fUl28eF-TX1g7ol-;!JR`P^{17J%;T?@9<=sdG{x&-17bOeVeixHtm8`;=ltq@w zH2kgf9RObghvQVom7_MYyC-)DC#278OHANigIZL<@>(?G5>)xknaa3=nyRaE>cb&W zg-c%~szO3{zWQQI(4hD1bO8RYIjCkb#|a7DtvNtFXE#_~7hUDK&_5Y`yxCj)JTr&a51-xvv#QTTKDF_XPwC3j>49gEUtEbHWMGqyI3EFv4@+hEeXHnE z-Gca|{S92LMTlC6?70};O5u+tR|y?iqQ8euW5^6>J44?#WbE4sD6p4?P^t)RVIn3w z45w6$v0->J@`MdCS_qWKqH+NI8jkq|o|oRr8!ndg^|wO6y#9x&MNTIw!Y;jbxVWz zP-{bd?kUNvth)>9hpV^rU_Sm*N;U+{t=QWLVqE~yr-X2OX z^=QT4%)R!E1C8RJ2!;ITGSfkyO5rLB1mdHU(0~+~f5}^JK^Fv2d_$8O0k|T-`hk>K zDQ6^`+p-7__GlNk8 z>{?cMjby9taKG`wY!1l){~`dMOt+ACZZ3iQEtYrUo@*9B+yKlQG&WO6=7<-6sgZ?Az&sB>?r7M{cpnlydk;OPHbO=y#gZrvx`L zQ|c-qyOw%bu*q@|{#W{(wR`>_OK|XuLjSts>EdpZe{fFG{mPVgIPn8R_qM0xS^3`9 zrtol1Y)euwlAuJz&Y!H?`wLr0U6A71XTvD~Ov55>8qmbOr|j+$Y{?&U~>3lf2kdbbcFls{la-A@#r7oj6|QX$|J(2U*ze(;@CDuUw%N#wKMfnxW1D*a$*}O=Hj%2=C8l8YDQ3vUp+{spQwTI+#=GPdh4QXf?(Vg85)mir!I1xs zz2A;t!S1zl_QNJZJX`zo)OCU|U*A`ELM?`UbnbrOxEJeN-|yY==kJIn&mm+8@68V# zTeJ9lw2ImD4?SwvP@IE2h4w&K#K|}_Uh`+_mrCPoJtHgq%;j8L2kFjCUU6RHf-D+1 z#PY5WPt4P*hw+1Dd1vR8Fo?>D+JM=yzdM5Y3dbMWCst=mxw2X~zSA3ioN|qBp|wJ; zCi+)PWImJ0Cse%a&O-_A;E7$>{ixA<4`FY&5DBA1Z9(ED=B9S@Gv;AajbEa+Uvs!9-j;$6(JxMEK>$71%Cj@q z(9PL@IeZr3xmsW1kLp(2f^c_Rn%>k}yk1~jy6l{%-%?TlITnjZH+J6Lu|}Qx4>xOg zzm3R9M`cF-hTW1!3%yr(rPAs4f6Y`|6|?!s?n>!o^Vx6on%cV2Kf7EU%oRUg9(>O5 zbRoxy+x6Eza<#5PZJ2O?o{+B?yn$*F6~kBw9IBm+PQR#@1pR4ENgdoC)b3*Rp=xBHdC6=@FH3IxpUBsCQ}K$ zy;gvIRy`0x)Ob*{}w@b&`Lx0_QBJ`zC3-NdNt|P z+0{y-JfZX0X;{d-vULNntY4H83G8A{6g*mj!40gQF+2afoo~x#npWnG3yAq14sU&~J-iGUvAbsBB?^ZXV*%9v)x*B!1 zYC>+g_raY`_M#hEgO_e=p|G6uh_2jW@UFdS{^xl${O|E$d zijl(1gyhkg@w#A6fzwuM95Qqty_)P6c6@JBvZ?Q?G^AaNkR~E?ICai_<&m|wKc;Hg zZtIzxJ_r~>b( z>m+{7a{I>m=r{*;B&#W=i5 z=Zv8WoX%a6n-zn*7jT})0yaM`758?F1TUuVAwYlBTBrnydSaFvb8OCFqE8Pf;NG>A z$8&Q-AKOVuYl7#1)y^kDtTtlKrReR+3`l)gY<&3DaMcbQKRGz|klp-=b5ymW6z9N5~x47YT_vloa21WuzZA>ZD z-d-8ld|X{WuwDx|ak92e6|JrdNkX&)iK~O~*bWtylZD|jdJC?BEYM}7{`XUY{tD(Z zpn#~_g^UE>=v2@*Po*#70d)s-v`S6;+Rt=HikJ^(bP;IJ|Ga`zM!!niq5w%;f6Sl? z%GnrIJi+`tPmU@;LOUP_4EnKiBPBFP8#=~_lKCoF#(WLZTH3rWzO4E7Q_@_~7u{*E zyzi)gCgEPfoNYoh@iZ>wuF148`RS%o_yHzG!INvHF#F{#hLd5=aOsb1tH3;GfLPAd zl>M>9sem8TA-7&i$&UisW1XiMHy>zKOqc=@37yF4svyQ=!UNajh?m@q3IWi#*F$Iq z%^PL@{PJq43=~csw5={CeWq}18MH?#gY?f_{M-^SMX02;*g+dwj3kL21^J=SfGwY3 zd~0hG+(kZsE=ptO3Nml66ZnDF_#=Tp#mDea?N?D3YPF5H2e~H6%m_k4uaR+4y<39H z-I2Nxk$#vf0|KU%0`M$v*_#Gq0T7&$$HAp?O=W&!k0Qh|7) zTV=IXXge}pepl3GZORmUC={$1Ry-6{P>6?2LQc|YGX?@V^{qcuQlJKFvO+&KmSl;g z5~;UOFlCtnG1G+es8{kgZ@+>PgkiMi@;U2;Ug=#~B`BL{_f0l74gcx=gmd;sp!=2= zGwx$^@iZM%>iu{5+-jxgr)X!*tw}f?IkYsJn(5gNj{=GcZG9MI$5hD;Y%_sTMD!;$ zQm{+cKKxJCW^nqWzsT-bf>2mcit|7#%!8#*N32Px?sQF{0w)6MPth|Kvy0@#os+G!^K ze`Z83r^ZGTiJ!?*{oNN?q|<%>B;Jo+?;!)TS!6UzFO*!eV3SL~TO>g}kUfsI(ha~* zFX?3`yr{#7q$H{q)MPk^E_Gm^SE|5V)ztiyomypANK-cY=O&sgY^k5lyC&WGs!GYI zk+;nt&1$W)xXR+$mz&!+%Fb{^Afcs8H~k)R;3_+nykwTSt>x*;NM#y})p5?89c(JN zcUbx+&glLqpBZI}mMtCRVx4@zX&Ak0(Bg{Iay!$ySKx~8Y{lVB_OaO2AN{PU6<5MCIXY)#MYSK_ zKmc{mvNY@=LZzxBJ)t^K@5iw|&y!K`|CxVD7z|>8BF*B7m+fot*ApXxjrSQyzz2aH zZ+?z(0in%!4C%%s(`XWa;6^jhJQ605OH)YH>{K}N{8#9X&=y^=HIHZ9Gi#?D7x1f) z(xro?xG-TrMnLFPbf)f?Ni0X>E(cqM&(G-BJX`V}F*1_2oUx%NHxTc29N#**?J6a6 z=is2@AAe=(M4sdoED_uz+u?AbuFDp+j@%=W!!(lMP$iIuirL~hq{xy;G>c{+XUvKj z*RTbaoM{|L_c`u07OMwTAI&sEk%(8z^|F$aved#$N=!#ht(%I2lf~y|+ku96Js)|G zisbRI?bgj`&Mi*5_<|%$Gn;FMyGpER&eK%lur?|KsQXAUXs7O~gGlXkG1CI9e!!2MIu^0Xx8i$eMR+Q$K3bux&-Lm&{rIX(Udh5+Tjr&c(WoY@}{H za~xEB`)KM(HMq1Xt;uV@SHx(d02!fhu&!Qc-8Sq*1 zW*wGN1Mmt>T^8Ue)y=aL7gh!kEu;JvuVy;uA)IOLrbgS}-kM&_gRf+kl1o~-PfmL$ z62>q)UcEiUbOnrl4|08L^9RzV7I9DwZg9FW5Oi!%_`P4r86Y4NG7bHn2SnW#P9e zBN?QBzM3p&Infj8cy)dQQo9$>kVQAh{_qTgWx^j+M5;*;Pl8eW+aKE+Dg^UxPwveM z=GIXrK025$yJ0}v70VCIf0KZ*fh*n+kdY6Lg|#OP9aFnsLfbcvQ|#gtFX9(g^>(puOv^ju(4HSAf(mD zOQIv6*sQN3Pt=DEPFkRo6_{A%7~moh0hHmPBA2ML;-w>(7(iu}=#!YjGtL_!o(&J6 zg-3HpBHCVU?cfUpQyH_QE;T* zDEN1oL!%9%1zLU`)u67ehbrozxym@}AXx@kP82@C+OVi>zJG241MT8>WN!r-K$Ac= zjR-3ABoA<4l4AeOiKLMX=`ajG-*A;1qrDReM$x|*vl_u9Fr~@obAr~q#iyCFi{fr(qY_qSbZ+N)am6P0^ z3tQiPSKo8t}2d=H-sYZQJ#pf;$Qjy>>`YnH;>&v0I zo~q?Z@z&>OyN_|VtQXT8127be>WrDWwiVALHbVvge~YfiV$o8wEl+h|Oi|bQ74PGi zRb*!uMOdtI6R`5$e;;`ou@gJg>7w*#^Qz#m8-0F z&c}8xhAA<}W@>*WUwvB|Skk0yJrO1+BfL^%+_X`>-7YF`FwPk(SIhDhhvY0tnnCtZ z{A5X$SMnaUv=UT6F!Zls-R8_q_d*+!`I5QiUZD@`+*srAviMEj zZfqT0Z-R3hR-7&iJp(h|W6MGYhHcQwUXivwcdra!lt1A&n_6BAh(Hgr*E}i$GDIBMoUgJm$Rn#zXg*01j32f}OHE$L{SRkYdn%~EuKTJC) zEn3s&5{(}qP(HA%IutoM#iEOKI8~*ua<2vqF842=l)R2m1u1nI(WqB9C-(D3qO9Ez zSe@JAHLL{l$`!MLDkP`6z);3q4XM6&wvB6Ua$%>KoZ;wcr6lnjcauN$XKltl{Dla7 zd-|<}=(%C&S@d}~EcmE+a6Y`J)cZX%_2<5QF=xsl@mfmW_9ZNiOKE5pEmK-DeWnbV zTXFfxefhMA`O)`lyvW=UBo{ZFr`Fa*2i{#2Q(+CqRF|ovSF}9h(OzP|Xs9JMq5G`O ziAGyfjY@`c={606N3nppd_Yr)(1z8HwRr4w`J{UW^C7HqYlT=b0SP+kAW!0n!i7Ga zg2pM^yZexPkQj0^4t5@s#S#|q6`YLE`V{RX9N4-q$>TkPxc!Aw|fS~L2RVg z5cl&d(m?H2gXaxwAfb}t27kO=@7k|a+e637v)9~jvzZOr&~s{H8$hCqF>}jqym$iM z4w4tM)?L!akcL_v;^O&FxE42_N@)n=^WT*av(o=ttIW>u|68lf$nbv=CN^tG*kbp* zd_{Qa=o?5bV3@He(k4ehxL~K60z7svY!QDQTSS{Z|HD{HiH0&YK8oNxZOithc%>&6 zM6){(Nlp&Y{_eb}?D??u*vz80HKL>#T`c*)LU*gP7*W4PckS&byfA8i zohCXl;<`7pTUU6xm z7lh~>`5(x{(D}ZQD(9;{#XXWajk?fyG(V8ILEX?3BKxU#!4*|sc4J|*C;@8tJ7ZD? z9maztFeL6)3Y?-ppj{XlB!<}QaDxr|0sKmOMvZYA1dbPoR06mpPp8m=82=0@1z|=H zIv;jUb1+@eAE?El{l1nzr}0K|O*;U*oDczAwb&|LCdj89X&>tr1&|$t6hQhazn|Nt zB$B>ZWGQ4J=xn_ZXMR}3Jg+^0UT~ZgG=wLu>lEH9L?gO@girgdPL*$1*i?L6}GAe~ve3Pn>I@o*5V?mHeqDmGZDt zA*)!des-k(=fux8;6KXHjok1f)N(-z;j(c< zZP9bjWH#>$>`mMeAOZafh0LD;X5$8Lqvx)XfJ(tyB?+ET^-F^>z%@2-r{tv?WU@E& zq%Rq73Y`nCSj)p#84<9kXbYxN9*2Z1=lI=q0#d)f&V4<(*z;ePZL0U}sK6QQUi{C{ z)C@d3Bj*6*tM=cci93Ib2mkIr@3$MV!`cyTzweLXCFYcNtkS0YbTP&iF{iJ$)yY47 z|K8po|8;|tQ3iplZ{_&Ch$zymSvOk9d4FWNsv^fVu?4+| z){mRA7X-X882|ht#HTn+TAm~S{z9CzqmE$f1s-7I4JIuS!1PalFhr|WB=rLQK(rzn zO7F8Ymur*r`m;lBtn0v6W*n2Vo37+MfJR;}K=6cE6OkK+RHdsQ9r3Z|9w=y{nPFbkjX35312nalV7|aC#ox2G?o3G0ku}d{4G?%OrBp4@JIw&dNXo#YImMdp!-z zA{i{jXhz}%6Uez7e(!*P=wF+_i**90+oSEnF4U(Vxg|OLPSxT932uH&+L5OaTUG1& zNgK*9a;T_2P9=1rN+4cND?2$dA4`2(##LuMm{^iSNb73j8@y%82>BQT*?`#oA>L6_ zpwwRqL`yX!H?^xEqbD$|79;ETvZ>*?Nlt?cY-BVXPFfx&>yCle&@vLI1jST< zq2t1>Y*xxhh85Y+_7ypTgz;DA(4M=2{Xq8~hsnTY(;OiL`$HdkAjgWO1Nh?V_)@BHQ zb&EjT{PTwnQ!P4?@nsNMU7Nvy>e? znWyb9I4xm#loI#D{0NG~+<+vzWGriFWBMkdKmAF@MBg)^Cr2OYCobt45v}&_4l~(n zr~iQJGv;0}8NoA_^nXD0V$DCGdcc`6q|y(lzT^i~zomMoO=?)*L_%|u+d{I8He5%l zo;Nt^UCBUHXWV675rMc{)O<{p0Fq8}K2nqnWkY$6Cawc(ugSW)6lKE?3Sc!f$}Ooh zgMfOqmN<7dQf%;LO}mOapU^-J&a)~o|4pnts{le@xTLZ|S0ynnOmp?)2wPpIEPB#` zopgSkoi*Wk8gBf6hWbg<;n9UyNbxj%`mnQKS)J^{487%ZdS`U zdt&HFE(wUSklIN;3v8!-HkX8Iw^W>q}pK(`EF&+up^DLnon7 z;}n#80>MyPsnVor1y3yorTUgoC!N04(qjzU?7DsEg6BBJGq$kd^@Ar_KqUA=3c=4# z@r|!@L{Ytl=ZL|wEmd$>zWG~Tv>xOAJXk{<0cDXKmtQQWIIi!C=*`FD!G$Z7{b9n6 z$!l}E&C3Y0=z%|^9O|z*2nw{* z9)k2S-6DO?x)&(@?bb9X>Mg%k7mLU_*;a{f;XOy1Hw-Bx=wcjZJvH>)C2hVL4+HHh!vrT*zqREb?=>+&eMuWl5eB&5hC;XDpxb-R zi0i7C;bpto)Lw_}8(_j3kB+Jv1F#q6XjRsO#&7o+hk#tJ>NYbh2<8(}$B$|W`xNYDKNcxJ#XtQ!hwufLKd&pXla6d6U zV&GvM{ZKqGOcWNyA+aU#QgOpS5(vM@Wfl_BEm1r~^@0hR6|=gs1aS9n!@tAPmhuuL zC1bG4sbgNk=ca)({X4*Eh11D*gs)EFA|mB2kz6v9i6hwtMGK0Utw~^bJj9g!95b|{ zMYh7-tKcRm9ZB-AScrhOrGBw^mergQSqj7CZB7)3A};rvC=|LaW9kaWh+iQaJeU1+ zkKyBgeC(q*d`3(z7c5p3m~oOBcUv8~@A2539tn134%ih26ml&h7Ou7ZkDqQZaxel`tW;D2b;V?Nof~Li zx74tdW`HD|9~BN4p+xmSS)Q^;d^Jl99+phzq6 z;BKn<jnH6zH8M6?9EO z9vP9-TfD=&_6bY0fBjKWAWRFX$VxpKK58g>GRx{sisEakpfvyVN$*!xnKMzio>8f! zJZk`Q%i^to>7ZVzs?e_=v+((6`IhAsjx;qOBn$u~2c2TbKwiEkx45drk&+2soPBUr{(Q@cysYumBf@pyH_TK6nh|WvgSNUpZPG;ZR%l z$WaTlIzu4Zj=uwZE!6eTi5AqtUicv~c_Bo?Uy0G)_B-b+5a_}ZgWZLby$8Jtg7JKR znM^n%1OA1^v1f2gf=$&iBPL{|o)Dt+W8o1c@GI(;4Zwh6FRJw_>g^qel!Fv?<+1S$ zm1_)j=2D7(-j&x(nc-*3Y<+a0Lmky#5bv}DkDG4E98|KL@D}iC>mn)r)1;(R_xTHX zuOwTcJoXswMQhV`y--jy4!fI(7Oyjs)O7`Tvcj1T`FU@(A^#dx5bli*5dJCk3!g&Q{UGfLh$!oXP3Hq@@+Pc2tG?9G5LLP+cy3;QkHR&7EG&CvLf}W4n&9SULybp;c&jLq zrVTP?eThNA%Aj`$YYTOAmc{SwOj?`ad6 zFM1HM4LhO$eQ9LPNO};43~{p)Z3+*uJ!SqnE0;+D2C!Ib(^47`FRau%;C^DM4G&d+ zsT;$Fs4<`(tn%cauj17@&LC(`R-lI|ew?wkpBt~mx|{DM5*aHA=Y~Mw9NqPh;{lGl zYB?lD4R5Vjlj;XQa^H-r9!-oq+Zey!-(TW^^d3Z&CB2ssiNtudGwPmx)&VtvLjTFq zMa3~26}RmQq9DJ~XPM{mgZ>tQ7(>T0F`II4k_s8;aMc-@2RT`>;ajGn;A%N1i| zaIO`RZ?EsVS;PS1Rd$O2OO}Vk99xmqjq}c+J}8{^nE}{UK6=K&96Ru~BYKbwlBKka zF6E?yvN;38SonkdlDpr6W9ObYSVB9U8yRaQ=Sr*KO(8KP9iUnr^+~l<7Uwa>!J@;1 z-*O{px0{46$v$PRHEU`E#(FKabXAg4vrL@}3y;c88=cY+lLW5fl~JHMJ=O^QH|b31 zXHLc!jOPL@l}WLd`lSp?E8~bIYdLOHV9vC)Rio|aYF0N}+t>Hpf=QG%a5BAt=~yWX zwW<}{S^yT91;l5ub9e{0)+YR|j>0ou`jH(3M=LwCw(Ka1LKi>5N#~q4v*+R(r(I12 z6bFZFXZc6R!}OqUGlw$CTeLM>&5eHS=J|@vPzQ0b>+wKM*byD#m36D@oj?St89f&$ z&C_uF(%|$B^w82IW%qkZ85@F0cnE)Nzl)j`?Me>3MpF|9hGyR?AJEHqoZOK}T9tQ9QNc}WzU$YE_(293Y2Uv3Yi)? zXF0z}Km(;32}m(P>Z|AEH;C+CCzBANXs;ua&A``QXkDLw5=;Ny7JwXZZ2EMgO3<6m zf#zEl+=R$j2$W|_iEV!D?# z5|D|VHCdi~L8NVV-)3k@=cl`6faEm~nUjw{Z5{y5IPy_8q`h!@xMw#0e5?pUrBs%^ z#4Tq?TI`UWHiXLgG^b?C1f`C5AtN)kQMQ8zo|v5#Fbf`Z=!`Y`rS2FobQ>{d9p9o`9^a*&iST7Qr0SKnPkLsAH0c50Lj^T zkHay?LH16I+|LVvx)OkZaTUv{7RW1A!J1) zYs+zAZ4`NRUN({ho2M`bjjbRD?Ns)Vp)r}YFemv0;Y6T5+0;dUj8JXz~Q_?{M0b3JhO<+_`T zS&-ppyS6qKHex~%^=xeM4vNi zu`?lnpdh|vH}bnYXWU#^gK;Qtum|x&KK0E!Y$G+zgF#EN2(NP8d#5tUD1nNqm}zPL z;!vgtuQc!oPI&{8r~EKhQz7MAgmiPtU6AGT9&R&m(4^F(gX0yw zHW&EFjg5K@uYh_k3II>RaUkT^fbH1k$4+*jejfs&=GtHHksqqM(Im#MV3SCRZv!@}nJL9aawp%sndiF0DXKmWg^bTa; z%UQ3x&J{EUuDL%NK4<9oJlxY>Jmc;a#X>xC9J<#c$ZNZeneL%6O$*C|1Jy+KuTMQDsNxZ`twj60E5#f@01*ZU|N=t2j%(`)I6lf{=TEI_*& zW<1~)GLAL#xQ4t#($tWG2C3Hs71@xW6tZwS&{%|A58oGZlvtvQI5v`DJQzjH9zq|y1g{z=`fqulqHH0|KL`!|fKoGRrscZnycBMfou{iK`p>YS0g{No0f(OyRZzj*W8eWh~E%i`3(x6$NW z>uq1+xs~LD;rPnuw6-MMh@Z}-x=ZfDmx_;j{5#c{uOyq$;dsjrd$O@b=MRS--#t6r zx>@`PQlS^I2;FT`(5Rn#;+Mp;o1iO$6yY$wwPb=LuQViIL6 z;i+s9sfz3q&W)|Fe+LodF!!Rz0Ktnnj;!N2{SXDBMzn#x8M?y#KKw0Y+;+ydj zX0&HWb;>SG;g0k0{X#_aL#i-ClBc@_k8S+$A%}^eeL$k?!Pi8DVMArMb8quK(_t z#-8JBxDNe~zfj>%ErO4t*{lqszwFywq0XXYRX^WP(P_nS#EuaFz$yr8tvWkb7eixZ z+Hl7QLodU_Y8)=xutBwQ7mqN~!OV!jUH{6izpR9+m{!gl3?D8WBaioE5%B??Ud-=@ zqjf!#kKk$rb;gI^T`Q;mi?O!~iY#iF5+9fstfPWJn(-dldQ!XEz&m`?K3N@u1gMX3@7c?Y~G`dw~)jxlU;96d#y!i0P< z#HKdan3Ta1nZ9m(7YCW|M!gE!F#N2mI@f+8(Mzi}G`893f)HE$@eQB{BpPLeb1?w|&vTOfTb+rpJIx2UL7s!kpkOTiwD~?{a>m z`kFESx|Oxbz3`6MSL+Htbb0G{he3grGH1<+)XqbhzO~@$!qXY%Mds)gc;TuQ8M+>z zQtGgk(~1Xe7k+|8>z2GWd@BWIF^=Dvuq|e=SkEo0%5K78{o2^shat6|DABZ`z2-KH z2b5@C3s|$eytyn|3$}wDUUyAeOVa^)6NEvuPjA#OXK!obYQV)9#l`dV@tq9`n7VQF zS!*xNK%_2SP$R^i57qVD?we{8QtE`f#YNnVWZ5gE*i9Xr%d3L!T_`HdQyn+G9WSo; z!naDtl~b@7=yTkD!)=SgkHMzOOOdu^7ii7<7ub(f@|_3E5!jcx2F1$glZ6g3vA^bz zH?hG5IEs01ZTIeCx&FgznR`IL@Zr4xW#cGbf?U`yWZHF3kuHGzJ|maw5$+{m1XPEe z0q$I#{jlFR7Nfo2TRYT;lh7h<%3Bxh1DC{*4Jh*eJ{R17x}Z;4?V*|dn@QF}QG;yjk@v3mclyZPthL(f^w-+C-5v|9 z!(8)+7DgzDiJ?Ah;QYc-m8Sao>e= z74v^|PuqY;RG_MImJrnWUap)8WVUCV#@W@+!_>ZWQUH$Q|qeS<$-#;tq15k8SnD^B)^f8 zT-c7b2OG{=bkou5b!_v|qO9Q_>4{F62B02@EG&1Yhu3*G&3&huC9jP=J2!3EA569! zOk1w{3yxRkrydFk%uV}3@3$g5B3|1x)U>ElGhK_q4uk4O%j4b$UaxH!P59+Jq5cS2 zoNgPftmCkylHjLb$Xbg{hI>!2^j`h}Y+v(I1+;D~>~PordBxExY8{=xb8$WA%h~^_ zYxY*d^eNw6=FfifsU zr%StAGnmHPO21}9w~(763;u9GS^9uA`$^y1W$D5UHzlV0~O1U})tDJzS< z3@8@PUw2^7>KP2mjL4-1y4y7S+Zx%l9~c#e{uTa+mY?Xt3A97N7Pfk5*pi0`SrHtq zZ>W)#Cyd_Ml3ct2&NuV;4!AVGqszU#hBDEQ>-8ur*Y`?)VMJc#Cob*@e4d1BFlt*|gqK#7lt6L2PY7&(U`=1w-jGz@rre7KUM7sMvUJbIf zC&Ot56ykFfLlWYwwn*s~RKH>V9rf`1eGQygGxF+ud)>cGz4WQGd*AP(#;1u?6rBI# z=b(I22m6oI4Y2-!2_f(2Oe2rJvZrmeG>F+6^ose*oh2}^3U0DUNC?91SpgC|tTu5K z+=)B>t4duFyX>MLwSlhhkl!bC75zCVaQ0AiW=r`sH#jpYOU&V)Oh7j&=^kwJB|V$aFe zKox;fvwPPvgc!lF23f08Z9sn+R1}q>HPIen1S_RDnq6Gl3H5L2f2TcM7T{2cse=&K zV|w&bp-9ztdQMKN|4lS00fmHCddyXMk*A`-GSTj`!(j&oA9i>8=NS6~S@%%c5jQ(r zcNB2NUh>x+C=PA1S~{+4Il%D|rg0~^kIUTdsh_^2(n$P^k$AWvxuBTq{KVyxxfo5F z``*MR1yHmvNr!osBuIvPVLjoe%;i?C1F~_Hh2}wBU2{=-;w=mE<5epzU?$w|p|A#w z@n?{H&fFJ&+~|#OXfBA`+74q)i8P?D5zaT(!=842&U$mU*J|12#+gbCU}?R?)Vy7% zSTx5c>76loIzc~#M|<|ZI4@SoGh7|@=~4|Xzj{$SAf^U;b+Q{jZQQ*gU2jhshF*fM z_{v>2d7sbhyJR{eG`Vtrb*jHynOg#87(1V;<}u{)DyXH=2ZYI6-N;&pqg~xac_oe_ z9!Dcn^M?<=OEqx$@HV}L3{xK4nLTH9_Z^yPj@*TnNJga24dbF!$MVw_-0&U@{Tknn z^t#(-rk~2nb0eD3+MxOD&c4*YjkK-e9a2W**%RgmFi>C4g=m@w)Rmzn3nV#@T)6{# z9H0D@6|DP#Mho}{&-T02Q^F1K#Li?DF$8hXe2d>0sxpZyi{7>%LSG|1e6*`#Uh{V_ z3&iji09ZN-oO0TbdV#8;9bOb3Y6dLiK2iu$E@5tF>)+pZ$}>Me{AWsBmd2Kb2xRx= z!xyi2I(mi&21bM@c@il0SE$h+zg<6&KQYfDZT-0h_;cKbEpN9epWFoKBJRSgnvR~s zK7hEgWE}Pfp~gC@0k)*TD?Uishvb-&SlM$GB^WdjI2_5qQ07vrW9C?S_;gfd= zSiHhN+(#+6?lg;fni|kpofxXg_2Fp3WsKEts%Yl7anr{ z@~6Q@{2T|=@US|&n@yy$^>0CTVy)Bd-7CC_#i{k9A0tR#xP|QpO1@KerVKxBt=uYE zpM99$#91DlD2I@_=cAR$O!CiX5TUSBaW*(sB&d|WIf9qS|L zQReSEzA1IhRTSBexeWK0^w@gzXJi-_6r8W^k&TC0`8x)ea;9c&>YmHX-*qZ>zYq}pNi}ka;q+&u(-^*K>ry82CnoBD?+Jjy^oaFhnJXQh0Pc8twerkN@{q>dV zwmI(+9jx(gcS7dQ%>$P%bU)?@!EEJd{&P2*WmOOVLmL|;g;CEuUED4+kd$%=(}Y7F zSdxGS$8ERbIx&#i_b*BH1WlM70k{JWC_Y`uun{={f;X|4y?z)S?=%<3a}Uk?OOq&O zbYqwlvG^C39;emg)R;-9a!y~0Q@$TTbVNvgx6+A4Gfwg%c&o`Wc0sPe+n|+1t_7ch z&ZSzHpP*erq6#kT3wb-kJA^tZbL=r5<^0aX9l#SKOGg*3WT~~2M%S}p&lUtvO(ubh zhjE>Np~lat;ELR~SZx(U`DzA^!`td@@qQKUgq0zdyzwk%u+G}*w9IbP|3P{uT5wg# zuc`Tn<@t3|kV-x$(@Bc5q{%nBmR;Qg)6x)~KoYL=El-ac4#w%Ezcc=o4LQ{$a5{R^ z(NcweXI#HHGgQrE&XDdKq4*AZZC&#L zy0>1EH9y4doQp>Feeimm=Q#Z#{QV{`1}muk`!fPF5oKH-Yvt*Qy3YC zQQ+Z=MZH?n$ITBf7mraM-xqxU88kb@!+M>qwkC$ z@6Ge3YsfQ9gq@8`P-Ki}+Y(kB40MdbDB>y)EU_X1K5apq6QL+Ea@pHI#U&&1VN!FG zYQitbQ;{HpDQ;m4);Ug6{Ou4L=j8rtO3LI}3Sdrr_Q;PNB+i&ET$Z4n_3y`w5an8F zbagq1Ka&~7IX9u*x$YK08QVOERPw6jIeZg?#FK^(IVJsRW2NMvrbinUxLTTGc)lZ6 zN%T`P&;D0=Swl63h1R=VAPkgHPe-$4B#Oj{4TfPcIMQ0(R2>Hnb@3+XVqo zUiWVp@n+&#{<9^U-d}?1dcL2l1Ru|HpWe@hVQDgvX?G@skZsSUz|I#(aBi@rqb|rZ z)g3usYXF4zQs`P3e@s^-P`u-H)kd$jrH}VS?%gf@lBu%sL(TK>cRT&g@7f}=+9GCh z#_v-zy25s(!fd!b@gU(V+!>bjh%Jc?A`X;Cn3#D>n4H4FP>k>5Cx|`qm;ri7xMdsM zF3y z$Sa{WaJT#_Fx_z6Zg^|(D=|Ybz8o?(4jiHbsi*uuyzV77jBS$HA)`TVOGyOR14L#! zP0AGg10^3Ym@>Z{9ZTa$qXC=K`#*Fx{$uci>3#Kq1n?GqkgUrJOZHINM$p{B?Y*)@ zRW*UAE^4#0LJvUT5|xM@8yyP5Gxiw=YQm^K=NXzsl+O%_<}Ms}aBHtDnay~Bkmm1_ z8O$>lZ05CDKRv7VtGc4%MC${Nj?nRuKOAYoF3Z5Fb43$fKGt5Oe9PG1;)}Q4X*PiG zF0CW9HHqu!OCuL>XGXs0E_Iv5#lfIIUtc-t?2+H8DL;4cT^&Fn+??7yc%)UJ#6Emi zIP0G52U_Od4Ve1H9zgT?B==+B#;*%jCGzos*0(ff7fI%!Y|Y=Y8?3`yd8ZjT{f#vT zKlC=P_W#Q$JUNim*t68s0-3jJ?W{XH;#|7}`|+;SyO(t&;I9amhxD)>)kOj~7Wh&;)I{w1@e`!P_Z@oKtR8gV5z=Nvat^or~x zH+l4&LE_o2Vd-2RDkB;4zwQ;DFe5G)nGp<#r)scbc)o%OfHLMpXGm#o+^!K1Jz^;o z+_2>j0YIrHRc1@~777-zye~*JssaNjX4m7o!P$f37gcsEnd7>>)Q`h>l8oy@^RG2= ze+gH3u(vGAq%&fi-WX0UeV=%9ISG1pTO<$;tTMMjRNKj5cXJO+{VyZlGe$tasn^M` z%hvdQ9sm`B8puXt7(KZf8~we9vYH4diMqd6V1>}EnD+>zAt8m6c@D)_W;9((MDv4+ zi0W_JRW$>~DGOARhEYM&$zV3IeP#UfGYdoMX0z%zF>bw_25k{NhFb-QyyRGN+j>X{ePyN< z(%vZW8fwAm{D;bGYcPRgedi^UO9YnpUswnza1CP?NL{*rL=O9euNva>NhYVK$&GzV zv+o=lF<9F8@fo`MW=5<=SB}_??X%Gr6Vz7II zam9Gb_(J#+l-G;zd-odJk^_Y149|<21CIgEx8i%LNFL^r12989s}S=Loqo#X1tu+~@rFE^;C`oNLMZ zN?mR+cA&t5h|#v1hmo$tq?eDoJntbp{2c`7LQ(C2nle!-XfzHxZCf}vl3Eoghu$BP zh=X<{(`nQk(c-#y{m@b``m|@UE z5r(4Y%!bMfb5iaj_d*MR;YvXXki*gZjK+MtUc(zVC|Ei3gOO1y06aTwFC06>gEXsd zEQiDisVr2ql6w5qt);*+qtO!(*>F_uBj?PSC;-K@u)l?G#=DD`s0kX?VAo&dQMiAQ zS9VTZX*nG{ z>sR&;AKl619BEj2MBm4jkradw!Y;z!kQ0If)4wC~YE*lBY<>HIi!fk+GIQzl#)Toi zt*;#`+EL!Mp4}H3C>S`Snx4(d=aj?PeLI1gBfLH`f@*;wn@Tx6=*%~Plt^$LeoK`O z!&0)CuV=zU{dAZa#bvG*nCMx1o6I00jb=(dHN~96Acgb=c?kFpq6`em$srEMkicC# ziG8XUB2J}V@fi{FrGbEtnBE@cNgUgs{MAyh92xelrB+ACL*ACY@y~V8^ei1gBVlr3 z))L?~QKg3^(WF(nFdTE1Bj*$p3z8C|w;t94D80YRoIW?AvnzgMN&fm{Sx!NwsRFL%|yQ1P1? z5ur;sMtV6E&ax(E2a^WnuSDO5hhp3UV^NFQ;ZYO1r(V-|h8(%B(G1m}VQ2XIk@vlN zU0Qc^S!6i{k|O+bz?4zcnE0~rr3uO$?OP>qhX-;ZiHb`BpNukg&=lu%Hb~2Xy~oK9 zdcFEEQ<@FlCNP1o@XB3x**sn2cAI@RkoWUBo2Y7Jl+kmzcbh2m75#0Vtaw^c%s*Y} zW-hju+knk``BK+yQ=sM6H(Kf+J$}D_*${C1c*68x&kbJ=2L9mjkO5j(o2DM?);F%JyT-y;u zUI%gD2)+D1I`!XWCEn(__BjsgdgOzA`k~gnnxdY4d(EdW{ zDR)izGP}jP@5Xo3)6Bp+C4`NjrZpfCa%a6EO2-L4mfIyYm}FR02F`%0D5w_u~3?j$ABb1 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

Ohd0>m zob2-03fhP2_K#$aMhT<^&=zGv}}V3Pg;zZvyBF5hgman-*^gCu&rNA26JA<+&<5wo;H>Uzowl zH^}g;4>?gB^#_@3jY#TSu#chY0D+^MSpJF4ufOA*gDY4?dU?3yiLw;%O`*l;U(66w z&@h4xS(f$2Fd=*MF!QoYJc+4?gyKejsn>(v3J~D7*$RPf4zUGIuZQ)p{KI-}O2>hn zxijfC^y%f6BifHc6pdC3ho-6Q$_x@7rCIM}UElvF%@~2fwmW~!I1;p{$Ch~NAe-=6 zJ=l{J`NdiFJ1$jrCg>Up)&mfVOeYH?dE=sqDHh^NRIC6UqpsFJsF|i|H8d@ThTQVW zFU@l=_R>h45C4N~qOz8~*5V%VQCVKA6F)gk?lx31t?7aqB1(u%GZ&Zry0$$oxy_G5 zQ`1@5<%`Oz`w1EDS?sj83d0IYxz`zAFeNQann>}_hY1c z!cQ#rWX2@#OM^?`--)qeQ+A8 z)cblN>mPOm7xm+pnAb4YW1C}WmnOBnpEEtJ-cFvUr#OW@n%f0fOU`}5g;vij`4^K8 zHAxw?^P_3$Qg(7Py1@H8bFKF;&BpFe;NQE`?Gt`H9k3F-SIyGQ!6w3 ze$XGgH-G58zZ+COxSMSCO>F#@$$?Td_lb!fATE2ohSWVtue^E7TAJj$q++y%9i|=9 z=G^vR#@Gir+hnjG%!1AHiWTl7-3!Ev#!w8q4|LGG&M~K+)ISHGW~7y(YM^legzQ^KXFPz<;rSO^F=nU9ZTWigA5tCPiKs8Zo~7$|v_T>jos> zdDLEz@v1J?hj*x1+K6~ySlbiM&h?iW0uoCUKJVc=Ta3{WhhGzpnY}xk`03wWEp734 zzJ$pQ^f%ufQn+2)h99Br;~gG3^g<#(w#V+4m|f1rr~Z6~@xRR{6JHno#zBEC*QuCu z=mhwWQPv@*fe+4>SepX#Z{Wu^~+hm^Ef=W#A)G?h>bs7d*WTL#SfZ4*s|QeY*r6brY--o@zd~~kN4B@Ty9)f zvbXzeea6ApJ3*Z1mG2kalUXw$K&*;%Ba)zDK zP?dN1MK66L?iE-4JQeD%uj>|ZoY__kO&#fDetcBtmL6y1?5?{Yq|5tG30FI|z!n8Q zQ;zeDLp{gF0XL@z+c+vhXF>!?qo5w(>PV~$5w;1zxUPkdKUD*&20;)7;+(iScLuBg z&VD`R-E4pOvN6O_B4CgfM5*|CM457S?Kz@LfuRm)@d!EV2nVvM z$bNF{n_Hm;PXm55j`a{`UqQt^x^NYE2VMRrcp>XRd&2Ai1OU9vGadzKPSf3ySexJB z#Ld68XhvBl5(W$vKY0)cb!P*PreP6qPo%xaQwSi+1Bc)i1{zn2+6E4g4%{oAw+%p6 z*%SvQLFE<@>I;M$d>9MvLvj|mkR(tcOp9DO`->3qN-=sXAhCri zgNmR(?98|nCb$a87#1WbafCUIfzgy}VT=J6>Wv)iFpyfWE0EUT1DAm(Ld?o42Qgoe z#XfHJ&Mban4OST$Mq`|T00R)IODg-sitGaMc@Q{ zaLMo+#bR=1Ll30QwF&KB?MLsK|4-IMA6D~Gtew?W2Lu2%F^E*kRl&fsmJ3R-))=wo z*FN)mvIGJipM>_|$(SSFRf9Zn+S&lYJUOU4dU#djuP&ohtpBJh1N4c=hO9toO}LAQ zoF+EI#;?6s@o9R@)?oWc8}ZS18}QM7_n{P=a+K{8gt&Rmd^UWCJs|x8+fVWfz7=}E z3cQ#qyNk1wq)G_wU{Tsln*}P8kLjt%dZpgN1|4O@fvv*1N1qMlCK>|4| zh;+i_&j2Al$j%LTK>G9Blt1_h{l8rTy?c8Ex;J)+$f3CZxkI_0!R|yG^=^bd)>hgQ z>(I2%|N8;c#BmPO^X4^5&L#KOhG8_-7s_PzO^YJ_)~3MtZ`TB_v+<;R&?N;Q`r}zd z%L9;XZ%~;55WQC2?8-%q0qfXcVz2aKc z`b9HmZj3z%9usOb7gq<`pOk>11Rj&fM@a&M7)-R2GZhHQL^0lv8mf2R(X2H>c%R)E zpAJ;S7V;Nh$Ax-f1KXzq#wUuTm9`_pDxi^bu`u%~d`Q8KGE~B%RAEw0s2q-V!B9UC0yjZIryP;!W*qXk8;6+PpA8A$x+?4FAZbiHnT-EV9#&E(Ntj|mxH z!|1)Q$Z^ccW3-+V0s4}`=ZJ!VT*Di{!v+d}+={Y=o(0*>_Qj_|?_EQtE*~50%gG7{ z2S>xtLGK5EI!G+X;;&vBMy(Ct*p#pxbCr$%b@Zc75}&QD=mdW;cDtl5Hwn}rItW$P z6v#yJX^CSh|A@@&O7g1#=&8(UpslcvnYhvg9^^wFvSIMl(FbFk9VW1^9!-WZN2ML9 zCN202W8|!Z@XUBZXFq+M(V4bkdgU6UX;<4W0=d8kX=S~zK1^qaO_;&0u5;rsn)89A zawQ+K8a}pal26?mK=Kd3+&X(0Tt{~7t>2>_UZU96J@*#S404BL#~9y%FOdd6E1u(p zLJ5}dfTTpMmI$WYI_NV$i#+O!vqrG0DgX-SA2$!eyf) z@x+;Ul7=Aoul@MkNCYv+;V16;&HdMCk19{8{!Mr0gJ>be1LDH zLdTttbTxU(-Y1uoeZO~TA3+WXAbCd81DVa~1our`>~Jn^rycQvO*CWBM_UbiDLi&t zlFaE}9vAb#1OEOM@I|JOENAZEHIN=lv_GxE3b23C*c)VLhGC?YHs28}k~UVr-KkR? zPl`^U*>QCf>14OluH%VC#7_o-&g)+Xj}t>HqrYj4>d)FIJ#wEB8f06MDFoEgYH#;6 z)B9{!P!mVDTK=@J%62~xU1M0bm76DDnvIp$qud!&N-Vqh zD1dzpo#89Q{{SzOQ_lZC9Cg|M{~UEW+5Rs-UEa+&(hl336Y6u$fR-eRb07>bH#2i| zPX_>R@Nw`MdO-&3A?%YM;B&dNQNT2W9*?oL87;*nT7=)1JR*JKr#UcAu3Ce;;-`D5Kl>hhUbK4X@-5KJ$$$Lfj zC-$L$)O$XJ+~La4#~6Mq=Iet#{q85gFFN4K{mj^Z(E;uKKW1+DzdziwxBOnZ;CFqy zA+}Hon}AZ-H|5XV4_oT>)~_x^Gg$D`2M|)WL5P9`;W5io!elk9NjWZv6(H^V?e*yf zIWJrUatBVUcSHby#W2SO7#8fMC~kKEGhkHrwx0h9`GXNFmXwu1~B6L&r)6QxY*(A`TH^*5V<`4FYWu(#}hZ=y~ z?NF`42dqGc8o-E$^@~YI^B#aSTg*Q@ljOHadC4I(3ra+*JuMOEujH%Bn*#v_w55`l z`t)N2_nzp3gdxbxSpqRdO3*VGym_7Jlh&uM*nAOyJmT>PL*yburB3Y9j3cj=KU!px z4$xp3pb+M_Etn*sofkX^X$5Qlwr5qtDGvbwkU0_R3&ILEz2eLXB)sNjNq`}?Z>5xM zpikdplj`nGC=;CU=?;{A%cyw7y-D~Uj-7K=Tyi0vMHT_F;aZgU=@bSa!St)|z4l)3vZw8U zulL#8`1ApY)-Tw9_02D02lD^8VnMzq=HxQErWtZ28+;a?^`4T*wIg3Lwj1*!>0m;J zC3Y{{UHp_Jk{RGhit(+>+U75OfC}Ny4fQ`N9Mdb(ri{UyUf?rd8pk$0%{-=TsvJVe zPR`55zr2_T=&T!@K0@`}z6F zXf3vZT<)E$9sh!uyv|1kEyb8VLG3QQcCIi`6YIfj%Dh@keP-(Qf_63mk87Ld4-X zI_1KhJtkGI7d)whi6bV}?c95yxfZgB%u<4YnRhFp#&I0Fv*+U=|~SI2Lo6#7oU%31rBjpE91&xR_<_c?{JG zZsXVE2hXg`qeN5|7em4_|3Ki$%7etc5m3+TPk@WwCcsD4&)4Gw@`J(fspnM;>CEAZNhsx;{lCd4d_ zoY}OQCpIvb*W!1YGkmc9@2Sng0MEj}uNTt1V*AyXvYi!7Lb{s;8NpH*j;vEGL24?EFu)ZmJ3vo*ITD7UP~7X_C2<4_JgdVd2Ew z#cLG$tXUYMZD7|gOI#EX4fjf@UU4k2x`Ry}+2p4(+tMrq(t`8=GK-Vde=K@W0Ze`L zoo>IVI6;luSS8GV@a;n^poI-Yw>e)Dh22xY8PdV}-booQ(P4W{|bi zt4=U`Q03`t5+`v9t_7>u9;JQyGO`cWv_pgw`l4)(x(V5eO<- zdu3xIQuZIVpoV~X^D$51Cp3rtS&pYkXcJs+UU4Nc#8{^$^0a(@1cl+i*(UtqG$kW} zDR#-s7LD1?Qa5o|s)fy~X}z7`^DSd=kD3=y)5I+~oV;0{D@6{|{5}pR6m=Y*5EUO@ zI#dtAxnU@t=sqIO)9%$BL_Un&Kzn5ov;*3mV(mj^-NaY((P3k}%WLc|H@V{njV)4H z<*;Q40WD7Hy14eSL^wx&ey9EF{hkVII1Qi{HdrG;wuFe~1Xg_TpvlBt-y}dYBH4SoKi?qG+6K2c- z24h_P#qoc)izhg6s9T;K#i}sjS$8JX1CzXOE;&WqQ~u#=r;yD!;%}p;ub0ebyZ*Kf zLfO#h1^Rt1tpjh!;kdh@;GA-1$8Q#-=s@mdgB||s9<`c3PSz{TN8VEj_5*R?8Vnj5 z^`L18a`2&cza@rgx4vwrJFEbQ!=;Ymn4LT zm92eD@6;kC%D7zZLl2$YL_Wy!FC;6`DWAYTe^+(B&O-;L#gG)0T9n$u;)&DN9kFcMC;>&tNE^8)L{D>p2& z5GlnWEl_FVBxHqSB~&BxwI6|%@^c)Gk>(-^d?5~lc!HWR1q)&YEvq6re>n+flx?3V zT#pq5cSc@5l_S#9NmaVDyQWN1AzelW_wldFIvuLh~>3A&a~!HH_raxA8i+huWFdTnz#hS+*W-m9Xdq?z5sI6yy^? z$ppX517ik<;$G?l6egcv4+v1_fmtQ5B3|bU6f{bi$=wUiwKxT4n&to0 zP@kmSwvZR+lkO9L2Uj_y2x~qt1o>BuQ`IN!Mi}oeh%N5Q-*xkYQQ=nAVy7f89@h@} z_$;K#OP0Zghqz_rqphGsbmG2EqDHJP&BkX~U@+a-zkDdG#OL@hVIC+mRySPxu3?Hd ziyxH5lLsm>W;XNzq5?APFC;BqSG zJuD!J&K#JD!kdoR<>={jHosn(Wj1F{fM-_a&E)?0G$3&au zsL;A)AYjHrsWB7cx*V5eK{8R&&gjg5P>=$~k0E}@Jrnu#;U>l!uGx_^PXgww7i-Tj zo_faJF?{M3njuo(log_%&09wV#Et2aPxSso>}*<#ckwOa`iR!Zx~`#hyba~-uglvx zxj74@##*RAyz54&&FDBe%(nTw`xH*j_(1EVCaKK3E;Z^b$owg$cW0TZ%U4`%p`sVu zRMC;=>LfH~D=0}MOdn5H@ufl2Dyj;e41&YNu{TpVMI=GdU=bel1VL5$$7LD%K(?)% zY=E2Zj2S1e`e$6Zu>vW-8K^&0R&jv&Ul229Wr^Ay^gwV4mjonD4YLcga#4vXJJ3Uq zOs8dKGNuh3PF8BTmahHA0<+!u+9KJRNIt}KYH&X0H`rn>*xi9Ao09a zs>coV>degf5Rnbfs17-yC zq^UwnS{9&$i)rN+E@8@Hc2g*;6~hIk2he)z-xA{r=;!QM>@8@FPg9w43P?y~ICpf! z$po-xVP?q<_eS(Ft`RgHlF!^BT)#*&%)S)Jrjv{13m2LN1j^$=)}`Hvj9fd_W?6b` z6y9>oU5+K?vgXPlcGKncQbi<=$|Z_tXF?ahhOtg10aAU|nxHN8mcUAAUqx(PnH7bl zQj2DY<~h~t(G4S}oFTXP)(mv(hOQUgl(w$ttElfo3%!Gqo%#M@?HPm_7s8~w2Fgucuuue&|NILq}y3&s;inG$DAgN>*Ogzl;MtRW z)ozg4GHIy5yRkSntyJu}oCK}1&Z3;tVn3}|nguR(Jkv{(uae24oGXyr*qH0uAav%U zkE*>{clsA6O!4_(5b==r?7cMOITqsCW@_F_*Ai)cFBFv$Luy{F)qsj|S)&=1qtg3C z%!olJI*j-p$XXcb-fUUP{pJ)UAm~&@iBOd}l>$YTRMj$(?v%<`2Qb2R1!Z0&ewy!k zALB1@oi9R~Z-eP`c(14MWsG*O-=a3G!;hvstvO@PF#XsDl0vPXhW8ZBMBQa!5^B$( zO-jsAt#J=8I;f3=r1i*iw7{o=*Hc|Qqn;Z(%3YXU{z%5WV}Zo`!-qIhx?`so(MWyU z`_pS+vv_W{j&|!`j;)Uo(^2v9ePTG8?wR@iq0I91V=5_Ly?PpmuL=My3qUr}64vH? z12h^>M!Nd;^Z=Ak6mYgOS_qjyrATxm6G;J(Thb9k)_?%U_k%z#jfg}oz_Ic_0VoTo z>^#S`5E6I#cWcfYLH#JyX%57tXaSXEmd&KLfE5-=Y^=71vGBpS2NvMn8 z#f+8Ckat&P3W9MX^&Y^;ae|qFaY{0uTR!{=f?WEEm)yxDkf<<|XtwbXZs->{n>va_Twe(&ymGfXSnXc$YylnNdrSfVqfz#|h=u$$)M|$Oc2& zlWBY)0V3`wkzNy^5m5u(k{VA^%wRpPD&mAKF{rGBif~a6svGc&!qxz%O{2JLN=1-n z7;KhE5f4xSqg_5RHeWoP@615Ocp9Umu2m?4A!sF?!UP~mBRWudU=(FoL8~a0MPvn( z*6lQ_gizlqVyOwGRKI~#LPA-%qIj3bCoU*331%@HSKd0Rkya4VpEw4BgM@-Q92<=p ztjZ<VzZ%DJ>U7X)`7H*s1F=79+5K zZ^Dn4lj<W|iD$-tFnQ9l777j(ZSnSu zciL|M8exrZ?>uw*&HLBso@=DGOdh@O`uY8?i>1syVb{O>r=%ilQ#}u+*eTvEdN_N`e? z-T_wd^xl1_s+M?fFLMjdcAdM!xUb58WQ%nnE!N2mLhRWi2jw_SR^>K~R??-v9>l&P z0@3Zx^M{UlUwLXTmae}^kJdJ+YdTS9)|=8sx>6&LRYNPOy|F9cPWW<-2hFm-XNGa) zSeC5xvd@-fDrx6M5tB3^uWkP-k?&4BUF7d-GBZHxs!pPLzPRvQ9oc>~)@J_iJdmgp zt({ad4X7<^Ov_E4o_cCvHAbrzPx?+%>Z1!KtgD)C^2N}V8qYe>FQ?9X40B-7Z9fpq zr>05z&}&0n=V#x==mf5X^DCVFUb5O7e?#%k1NurM`tc07Pnx(@k2@`@HS0|aF7Ko| z9=k+;h4X?`a+Z4|9wkrzDD5@#$&7O8Bsj@5%ZwGQc1NSA3&$t&`mEo)Lh(Yw;jJQ7 zrzX^kT+z$8PW;Lptw|~Og60_u{2gC|-Fg0Z4?VgEGmN+Wc{-3Py6M{=mZKd*XMNOC zIkEZpxGDwR-TiSZycsVFS3BWeoIDl9smTN5a^y(Q=xFLaigm^Ue=M+L`q{q^|J562 z%>s(yt4+#sqKA|oPNRY5@_xL{rT=`k{fBep@0QV*eMd>&q<0^q3a#zO{o;_^q@~&c z82MDXoW!WJ9vi+v#g}x$^5*^sekH8XGNZJ21{N|Fs`Z-#vdfU%kgW|XNTN|l&?Pu` zA(Ds!h2gbn1BKn%Op>v7C|Z{hHfZ@G+4t+v zVqpnm-I_b^aO>Bta*f5bm0DzIZ7p}}z6>#PwU2*pmS@;w-FEJ7p8r-#;(JV6l#5-F zLQQgWAojR}d?~o z15k|rwA9+2bTT*9dS1$l2C%fe)dKCrNE&mfhFhd7S<{k}cY%>~VvHJ?PJ@^^M9TEA zy2R86kiV5G=0A+%?dR|pKHhHICcwM!XW1;`F4wtz&3%QQ+~OX~LDNQGPph>Kv~38c z>5Yt&G5r)Z8y!k2@7psO#8W?Rta)@eDCbyKy2kW{gYMJ8K0OPDp+EiL!5|r)1k~LG zXwM4mEi1UQI=ozYzb_SETLnD`OLV^3&7@{P8MJyw!y+ET)R=l!;ESJyf&5L=(7)efytJw&S7#miT( zV&M`<0Qpw%ubQEo+}1yLd+Nd5pkROkAhbOFrJC>GYwj6!9OL$0J~m59wtYgp7Cd)AX0ED9<7h@vSMqQGdu&eUFJORpc7)le zK9+OyQPcbuH>|rJW*rbB|7zC{5&{KJvBI`sU~%H!+MB&zmH_bY6bk}>s7}1?uJQiF zIDKfnCb^o!f*h;+*F7Lany?{@=CxKce9N zD-s-n!@tEt!Ti=F-HppnuYA>ZBZr#A`ysP@za^D!AQiizZY(^1Sdru`#*);g7}JhF z9%HW`R_j--_xkKg0+!1jnU1~Gpg8zm`+Q0OAjaIwf+brX&Q&8Vhe#m~`wJ>w#QbQx z7QMa0#@J;a2r=lJQx9nw;Ht@A>SAWye|?q~3!0Hw1}qLsA4Juhp73_2c+G-nOj#?7VPZi2r2cB{%c8 zWyPDb?~n~3?1&?dhK)H_y;-{Mc3AP%Ttlw#wPlf4S(h-~44k`p@cc@`e{Wgw2@apA zJ?szUY0uQzxbExPl)C=snf&SHZ(Y}xp^%pXT-5kq5lBv+K4~vKf!#u!AJ0u^Ki~J| z8!dXwCyt`Wtrouh>7Plrn%GX?3f&~kmx+l9h^9(lwGNBR#efqkYMk2b`?Cj8kTS<# zlLPk=^6g1qX{6uhN8b0=u|}o6LcAq)4`P1zy5D3UH*GoH>o09pPsFAIU$7u{&ly2+ ziQEHXxybD#f`T-0@T`FJ_HD0@3xYwhP~N~lUz*kA0CWfo#MCBC3~8ugco29MS)*L>dd^_e@U&Elg{0 zDi4HFtutMDM)*Oa+pPJO-wNQTS#^ub5>5XhtM)UP|Z?5m_RfPMFejENvo2 ziQGW69=b~f%wr+XKF3*Y#ET+^XC#J@Sja$k5}Di_k2c>P2EoZX#z^X2^M!Q>!z7)* zW=#5ILm{!0yPA&FGn zL@J13CLPo`k3tYcDO8pM2Bc+8YJjF@A0u7PWuDuL88b`i#TEcqE@hBH4n%dkgKAvd z-yvfITxw+wV0)(NBKTp1kE03#C^=GAPsPs2?4(cWP#!(1v@eqskS|1G1`cjarJ-6V ziQgg{Jo-0zRe44bVpL7d;5&dZjH=PahM0hveAob92kxLtMy*itS4}U09jlBzh)qRz z%*llpDrC7pj(v^?IsuSPObLj!_jpUe1D1T{T$0-+q}5+j#8{E72F%=z3c$tK))?Eo z9I%ez49Ss+Ozprz!8QqsT>eRw+|4A0s5Dn^c>jBBO8On#=3>NPOBF(##U2^M($ZK= znG)#3jC*vnc(q`g$#{6`IODxFN(=x)XBRnY;AI?Y)Po(zSD&Fk);3%X_`z_Fnd5Q3 z`o>CBuI0;_JsljUY6wsF%(XU3OV6&+ljzE^>+}zsqUxyBJj-@xf8#=THKUIbLHP=` z(n{3H-l$4GNjFs$2O}tNmD_n$BRUqqi5jXnPdIM~89a=~T24U30PZ`G7(ZP1S5=64 zaGE^~9E61Kk;dUMhM<5WO*C-Aa2yaa`eqMwMxJ>kF?UvOxI1?(Kbcr>0ny470xCN3 zqn}J1Or`RWdEeuG6ftpaXB-F_$M~B&Qi6_~);vrKY~8Q^3IPKsXd8J(AT1cW$7WIj zQ0!QE#!Es5P_oVwO%O1yltoAMl+BFnB)}PI!#dQm3|Ivq{4g14AB=+$T6*P>9e?^G ziYeFUC+M^H`uxA`G%u6^5}yvFgOmeeW1U#(kC(K7GV~yf*M>nz!1!cRZ@gsArT}Dl zu;^q{p!Q@>reQL|Sd1BLsDq3>)FftH8$|e}bENl%S^60~7%+J6B0OZ?Okn&VOvbm! zc|(OC>(OKc9jc-x&bP=Fdp3zTr#Z+mIxWYe$@CaPE*CKIzC=B+0+EqBz6$PJ)`3$e{!%50Zq_28xaGQ#Mj=PO>fux}k_6TNZfQhA!=}!lC&t;~Os; z;=BS{+wW^~hL10*C84gGh?Hyw`|?Yiup5skWCWl%v6vcs0t1l7Iv~$xp&By%gx?he zc3Lv_TI1Yi!6^J$giAhlVLoni>on2$a}*0cequdX_>V5Ni6V1JXf7_(Rr`{22Uuf| zX{4b7Tdl5>MRB+%6G;~5(0!c;qp+o`q0ZAl zD0uRthXaHOyl6m{719@jln`EaHr->t?lSxM_Q9dbihBPo2y`Ikn;* zn#EwhX6usP{%p-0iz@@qZ(loqoOfc}74gh|Z-Xtx%e&>CjW-F&%PwJ8{or5Iv7DcN zm)%IR$E}#SxAk4{&(<6jD@VJ&l~gn+WowMgfRMVvnl4@oC9o!_)^7g5GC~T_Dk#z9 z=6Xm0|Ba^t-SN~XUAoMWQuNw*eF> z$U-uuA|w1m*0M_F7hH#;ksnh@TcE5<6b8Zvbc`m07q!=lP?Uj7=Sdt9>hqV$V_{rP zl9ODj(_X|yh-fdi$z}ZwdKVhuSr{lL2J%TmTf_upO&B)X5H^1-@;htZtfi`8PC-(^ zqcVm$l2>4x(ijyBQaTEX`A6xhOcJcu+H?7f_x}R%=QqX_LrQ42>k$KyJ=ieYngn&N1%;b4hk3g%U*WH!ExoOY-ZiQ&JRh=-eAy=ri%B5=)B9C<=G_bc< zkNxzet%xyC8?7*!Y>7ZdHeO)S-2|gc>TrgbGUb*W6Q0RzQ3XnN710!FVyO~FU6fd{ zN|qF2ADw)ePL|Xep!TCkpnK>m7y$|@3;-LStR=X*3SY^h%A`Vh;V@;SD3ZWBj51yv zWE};1^P4tbO!8MGXYxGINU>y!_*sy>08mTM8B+u+W2iE${^)pC%C%q^-x;Kqi%scD zF%1%&O9O_o92f?wB%`JGALT8hX_ErXSK&@w_HSx-NG|6cBJ{*Zu35Kn25uB(`Y#R; zSv>2GV@5Lh)@GaX2ox-@$I-vJ<;v zQ@r7-6+g8JjcGRuk10RnyE*M8RX94IKV%MJrp#}NrxmgOHkxf-;kH1R-I)yG z(D8IOYYfsEC1XN1PMYH{_<;IlV%r9@4Na%_=WpZDmpp+reZ*9lds=k)h+JXKf7&nX z*>*R-^V&apwIl4Lg$c}2`Izn!#y5BiA)c6wEhi^aPfWD9HY?Pr@G{k3_y&J$t-xYC z>BQDpH=_wf9oP+AVcd1Uxi*`raR0KmmJFLKrK;|3RJv=mT2B7t0(Ib8{66$DwRX0h&-p-tH`8clnmubs+pJiR zcjuYWS;Xpb_J*)VJEC;N9nIyVEsAzJF0(W81v2p%A^iV?<>LN7!*Ve*vvK^tNf*Dt zTm-GaZ!p*79q8Yg4^VKB^Cp6GQA{Z#1HqmQliC_I6OOkpI2F{Wq!@)?SygsVypI2p7r?2H9AL*HTb(7q>-QMl*A4V10Huvgh7x}>MQ|vnE-&Z)s^Yi2H*zQ<%|1+OH=fUoV1h49~&soc+ZE zO>)ciL=STl9UBA1GC!%bI)3TtM)6;@BtDgO-R0?hD z>h~?Ccfk7#2W%t5!~ zY4OE`R>|79S{7P(1sfG~FCjB_i7}O82wDEIIM7E9*W#>VZc;7Rg-7=x-&STuOFi$K zZdsV|y5_cxk08ZHzU6fAn=x3fRmAxIvMhB!kdx=90rcnVfe~hxia%5=Qqwy0J^^CSv`+FrP&qXdMayLQ+V zB$0P6#i@S}dV`EuEV842N9lGDj#&ToS+g^HN1f%3$`d(gIYSi_Fz~9M* zVx8Mq7!}>HJW$=(1w7f{-5S<3i4i`%jFUKS7&?&OI@2Twy^P{5Y4gPAXX5|VeAJ;0 zGsOPU?vR%(yLlc$e`sJ0ewYq;PUE!>X<~b652j>0XW*_=SF?8xk0b=u57vX6c}a)l4>cAfWat4arj-qvm{QWyay$#J zGm68aLk8_w#cK-8I-mx}p;OGuPDu$n9>>VK3C4riCE_F+I59JmB2^m`6(OTX@(;Sz z(;x&Cn-m`0^fIiLZ{7l0n)v{DbVz{2sm|{&hrx_9tFtz_Glr(87!JM$+_q2zQ^Jx_?MuvV7HK3%1P;XeZx*t^UI zo&hszI8Ik~!RRrhz1#klcP54->{LNLU%warsKS%X`#v&DhGz;Pt|J3{dHtO)zvqj_ z_nM(GhpYP+qz0!tmm~0dBobYqf_kEC&)Bg}-fE?iQUxfGwuWf&#?WcNuoAT&)OH=V zvi}gepJO{ANJjnB9^Un#2lLzr+C5Z=?PjPAz*7a6Yokj>@D>4@^DhjK7UH-?#Xq}l z_8*EA=l?9I0qAlaw|-!tU^S$=4iHfq!jj^ zAbxqf@iXJtjP8&K_h>kq*a-I;qg{IgmPxqXAC9u0kd(W%l&$|2y^+$lWR(3K(r?NN z0Iq*9fTf$lcwggTf(QaPax@~r%N}`2zjcrv`+KKiGQ<}r@9h?_%~w~=;aQiaM^*1f zM@ci~fYPL}E4#I3^XK^=bGB0P~oIow=COYn@?6d!%%jA!{$>~0FWCCKS|19UaEUW?^CoI}hi6t$T~!FBi{w?{@t zF~uAq6C&=_$}MTo%q^*L9S99AD==2+@smb`D&}e&1(G9*8DO|L>cb71HRr9ZXTW^} z4RhKCRR1cr|#{XPJl(=)=F`)yRd z{eFD*#e^d$H-waU({HlQj^o!MDKkNeXy^}`GO*>zhG_@OLkIlq*wwXAJbo3^sF3YVpC79EphISmmRJcLPVD>f9_aMO(b|Y` zW}r)+IXmnqkt(-13eUPa5`AeLtE$n^$b9e^{52oDgPDwwT|}t=vgb}dHwDT}ccA;P z-F)TnjwdQ-{Pxl(HcYqT7i?dV*Ncs}X{pIl^pu&7dJOlE1I46H#}wZKv;*!`my!ZE zNZXiW|BUh7tzY*>a*I^79+Tiz=3ni?7G42SZTd#`!l$T$zP@_JIEEoalh&8j)D z4y^=l*ce#Pa%?s1n>s+5C|G85@M4M|d&m|^s(GNya$gVGLUixR7+xlk^=z^HSvhL?3HmcyF$GIrz&)kMuus-vPdZqJi0 zi-_dYX4{L2@>zfl*sKA7y1fi5LORLy=>BmoeK2@sNw+0e%)(c%j4i5xY$-8Cbh3w^%E?MwTX1|7!TFmx%CKws?y2Df2diB z3m+m(^asp=DG8%Kf_oE5LyG^TRL;Ta)Va3TB@VUKJNrj-6nldT@$mNd=seTl+gnh^dvDkZ-qjDk>DS&o0pIL| z0a(F~3s!ZN;ErQ-ey8E)joJx}4pD0+~q1{cga zPhBO9FH<%$DDG2e5M?nVA@5@ZVop7bYgt9iJ<_=T!l=3Yo5>-2sIRl!%WEq+1@B)2 zro#_ywnZJm0{%nuuaKCE(m;GY=*!CAIzqq*jgLdy`%^0E*AW2)e_ zuC=6m<971LP$m6(oQam6XO5TwV)=A#s0u!_?-aA53dbL63En@*`cS3gARPod6I+(t z>0o8sXqcv>HwtD|PoKE{6$13;P&Ax^!(KGb z_(2Z*Bpr(^eEmIZDDKhZ0SJDVPDH__L%=`+bzBOgDJ&^3rRo(MMIhfJo7rI(= z@C<3d&aD7UTfpoBYfo|y_3n)J6#Vq6Cu|D~qCZ%e>Nx>BsPq~Omz7aM(+U=JWlVrj z*DJD7^27=!PsgX}5BCMX=jYbj;m7yhyDRK? zX2pIwSLsnPCUZAw*MXytsv{>>Lun$3SIUBk({On;->(6e>jgWni?wh17<8{ICc$4d z0}oPhM!$rw_!ptF++=hMP%Lj?w$=}>6z6YZCMyg9{4iiPa6N+E$5WI`LAqyT1Z&EX zVHa8yUW#Y7AXPJ1-2-tBjNW=N!#HD=k<{2^F84{}>C$``y4CC3VC6|@Gj2lmRqJMf z*{~m=q|e2k2QzT67j{6D`9$~g$&uq3-n}3v***%VEk6rK4ch1<+id%iRC%@ z^Pi|aGTwkI5kq1#ZaLJp&#)^wyRCCV3nsWY(hB}Oh23163)PZ6GptnoLAHMgAClJ)r%4`j%pobr); zie;(yM(7=2Um?|9{=7qfNbWO}*|~NcyZmAJ^zlpdxs6Sipu!L6kMgyHti+d{YZyFX zc+IwBqQrNCl~n*VTb_hB7J>ac%iUm_xW_@9fr&PM%$q*XZ%!h2DwjKP9yXeeo;hi_ z42Ou;I`|j;7xuka%-g=X^{kb$z)9g;O=-5$Z{@cUF|#koKS`rX7z=ZMbK3M{Gf>GH zHlLB-ktcAb&xZ>u$C!BWCAdv*sV*~6Z!H;IHnos`x%ag!Q>2}fT7I=nJC@nyIZB|m zi3IeP>-so#yU)>%@#e)jeJ zTOb=5(^{5+iiKg@VExabls_hFB!$AQIszkf`V5tJvq^b5B{>YNFtPu>L@k`8o6;Qm z^FvhGqi#1dD5uJto& zetjC>5YCuD*hf6;#&Be@(&sVMsHo<4Tx?I5(Re~OhRset#8!x^HS@dneU#vNg%YGi z$;dCCu!&h2JxZL4+&grVlV-^<)&t`lv>J`YS?Nsw*b&p3IGkp6KB6w06CAHeKT4jI zV!_JU(~#HX&3M0I(```K{ZsS)SwdU>IQmq%VeW8uEu0%1)Shy^pbJw(H5%&PxjmgSBXm+H}zT4(P4l`Du3)k>?sYlO8z-SZ*7& z0EXB!1Ewz#tlw9>Ms_BH`PX^1=dS-H2>U6JY^B8crS| z3LW}Guo_sHn#TET2oCpaFWSw3t!^E65Qq~Ybz_>>H3!~AN8Ip0HFjFoF zs0w2Urk|XYF^qsbM3(DhO@bOT7Fikq_9-n`2{u5Rf^r7aztSr42Bb%6$C7IbdD)K8 zYQ2%?H;%tLS!%+6zYuD0L-+&WnyEBm0dk8)B9+9V;pUx)(=t*ZX+a}mF`#VMPG$Gt zv%jdCS}fQeF|fT^fJ82o^#kX>eY$HIGE}yxm*ILct3;rG$D319t>i~CDVJTr{IN!Z ze$jD6sawCsRM}FaVl$x#oi3K(%5wt_h)Bj0G$9DRu50{Y>t=3c#nvq$>M^eQ0Wm-y zSZNA@UIwSO{)u1iAc1TKGfEzt6L~78pM!Q= z2;9nHglataN_zQCMC(|{kVVjOHL=hw=DRXlF;&@~I%IC_ zP-A|nKw%f&GH@4fGEC36BsZpPBM!MqW??siAZ`{qlINButEq}_`W5+@k%v2chK4p` zwNXAOc%_HU@CD(C07dzVlf-{u!{vUfo8M3oNWLce&S# zN^3Np`C`?&==6Qu8dkd|PZY2S!*MowOO}R|^+~6Qzh~@HKppu|>CCISQi9lu-=F0C zL+83r6ZPl#s)~>hReMtk_d#_`EH!cI6!+L8(LEzBZ)+$H_suN*K0}Q$qPYw5=)~#} z)*&*`j#7yUsfPmAp7a6e#IeNG6)_Kw?_Vk19Wft^*uy4trUTW3I>Z?tm^4WVyO$vb zA`kF_Rsz(72!Lp$Z)OA=s;CEiTT7#>KsdncWysa4*Nk0zMdi+0kevO6M_wr;+R|+A zs@|)k{J@7=l=B@-ZOqbFAJUq4qN#Cxq#e}QdrNMrkoMaNI?1@N=IfseOs>8!x0qGD zy-5a<`I*Xo;{|cf;_5`YKzw~7JYcodvHOs9z{T^)DuqJ(Oq5U@uv;8bmkH+p* zwDu;D{}lzAnPt)~c7~k+kI>j!$8*(7XWRmmA%T|WmuFT_+i0tXo-#~db$ouABC^R| zqy+e(%t%@XQ-oBq81gp!G)Py zBDGbdXXJOCx+Ah@GZ>!W6)xKCxcaJ=@apWkLR3&Pr14n4){Opj?6tvWM&APE74w63 zLnHM~WXC{E^1Tm!?Y<>s9&Yb@XZN?p*B;g*xpY80{j2gRQ}Ni3n+H9&fVdK`4T#%K z#P3F|@1p@W0alCoM9%PJ0UhFkG=!nuno+)hnD4!g%*9=|*g`>?f1ldm`c_6t{9i@#{@(=7~g9KXx^%sxB@w|LQ(q)7?ls<5W8(YfY42CjND6 zZpQV@L(u5Q0B%+upct(^Q zI=ysK;u$EHJ;S*zUp5Z2!J@g-B3I_uT34u!G2)97pCqG4977wpKOcTEXp?^d#tm|jBevNT)G{F=kND{e?%G@1-e zKO5Zv9c`7tFS)b{aLS%4H0kR3n=wu8df|Tv&4)QJlD_#XDVL$R{jn|)_PRcibK(f^F8kv9H@!m ztC3jh6(rVCd=6#Trv5*3r($&_P~&0EwsU^jRQ%KB+s_Q1uRfV}ER$<2lTQO-+O%ma z>T85cFF0yyC?rn`>{C&Th1{j}w(~X#3K+245{_yEt&mKAeN~xEz-X&3xR| zx6db&@!H^@b8F1OyyAZ| zNeFd`-L+qp4Xs6Q`qZj2{$*V5yjhM;EOEQ?_JrWw0qx*?k^V~UjB#k6H(uoZO|Pbv znqlKSdft4TsCU+`CDWHY{iG$cX$QqUw&CeS6thBirps)Dx$n1DEngN+sjhobrR^d7 zCb;5gS0cw>e>l*zsJv`TSvt)!bmNwzD~qKFQ$Ni-fz_k&CywRuPp_P2j_qGPDIBLY zW&}e2#$9sL@gTR>z%@YS970cxH|c?jy~-wMi#UEMTY(-h#nUgsPY6JOPCj zK+;NdX9S`V#b4Ja0@#A==|i?iH|Bc}7J4R7@$3BC?bmwjk3g4S{jAeXN+o7q+Z!X9 zU_oaz9U2RCE8$J8iGUOZXVi>cG#Rdiq(WDD{)Yvf+AO*teqI`Y)ftvBCYMCZ+1F1X zoH+yt8BH{aAkpvybtpx33~)lqi$g!>E|3j?i~#GfY3=at41WT|xWF34o1VfkQ#r1P8n^u7&O@lF@!$IMbq&k#m zT>&(7>9hbq_Rm71G`!-+NacGET*bqpxbh~G1Jp(^!s3HZu;XKC$xza18TMe+e;bi- zLJinjikc|H8q8>?4Z3kq8VkHy8RzPO5C+At=7H9dQyk1@6~lPaOM}1;AiK=Lu0wva z_}&#qa5K=-j@Kc{|FDvWMPAd)C^t$?PpV*Y6XX~iI7PJZ-3$BytWGALrjcAbmWnV` z1VxQ=DOUEeH>)|%L*ta`YB`#L=ZbuvOz!(T9%8hm9NkHJz%*@+O*GH1n6}N1)G0b z9FjVrejI}F0$YGHBJ?-P3+jOtYf%#qX9sl9N2f%!fow4fQOIDI zxblgYCM2w@hN2mD4k9AfxsbcP%75F{MsBQ_z;^wu{H3fEqh9_FXUabwPW8rz5EG4v z$teN!lxktkjBoy(_3lK5;5K_5t6O>#H8tt?@^kOVQ?)Wto%)|yMi!`nR~E*!RmT`Z z)YTx!@~Rh$B5Y5M*PVANQjc1@A|ePt`$E8pQ10i?cExPS|0>)R02_LRKTu!>%iT>N zGC&_Xyp8W*`{pQB6zxGnp3&H@Gzd6NC*FW%sV5@kZ2-tJ>@W^0z>eP?#t_i-+gU4p zE=Fbv2M4h3d5t>q{Rg{(>IkwN`Sb@0;yb{mC?{%AnMv`;vvFYo>wjVXY~7G|h&H{L zLDt`Ng73IGdq**Qn3EXv0+Z>yuj)XW_|%J2$3v6pwm;_p$$1nOCG42qQi@&@0rwp+ zl>H7EQaBHWz_I2{3}$2g`xT55RE~xcLrWN+MoVoBrEX!gVTHL`?i2>Yj2$g?#bTI8 zo!X?btIMIZZVajcEl`bjr!qj~ppBVsl1lTb#NpuGjWl5GGBR!`BEoB(fto`4Sz5aK z#~Tr_Na}l-1ITgIAI-us@zwJwm`vF2YObefxe_-l_tAudCvNnj1tR`lJsrfM1cb`B z3*ioKLEX+xD}x%8Ync0@mi{WY`%#xywZP(jn*dmrIsB6tJgPNzHX7w$fz|Pc+9v z7B#seQ+{uVTdnMW-xN@%6;`!4{Gn`Uy`KYZEoL%eDk5!jys!p8j2w0EbxvO%O3uON zTLvcj<-ma5<9=9Hiui##Z;@uy2vUb&#&y!n(P1n}Ly}$g`o@aq3|o5tEYfK>V2sZvTzLqsJux!wc`U)~xpVe3 z;h2chHKKUWCNBr?qAYuPCy-v2LovC9*W7$7rPpWb723=Tt8=Ck9_7t|StPKD4ViC$ z``Tea^jPNKdGrHQ%`crqH!Jfp2CKY#TQDoj0M|>h6{8~M(}z_lvUTGNMv6VNcPu>z zY$M#@Dsu8?n9q<7XGJjEzXi2=Fe@oKK^eOGGUi1rXSA4<;JhUq0Twg3B4A$S7a0D? zv<(>HjwS#V4Q1N4Cxp!BReAIt?3^ZSn|s@z?^z;9TEfI&p59G>5H;kCUbWn!L299z zFMYV|rhr<%T&Ecs@)}Odiz*ptWBa+^LAaIU9*U`z%rt-&2|v6}0C?|S4>g<+G#l>- z1fV%;C)^nN+~aIi+9eU-&hCKoA3^~~J!sJzbkBM|gUpyuypwwu@^WU>)W1z=&w4x~ zu@5}bgSG6BlIUh;2jzSmr+Ekr{r*HNq>mQ!{)A@Kg!bGoX#d`fwwAaw=+oZ8(ykx- zmGaXjbI>}$*qjX^J}ehx8ljLVIlBlI5`jIk z+yLE@vNN|;6@m8#iwg|Sb#V97{)es*496x?dS22)c1)`W3-$e3x0C33DlQc3Dq^ON zw~uSZ#1O}RM69fx;}8h9j`FT9H8`7H{h1tB^%3i{JqBiAtv4nG(k4!_Bf;^r1(VnA z9)fuAkGfiJS5um^F&?NFB$yJkh=*plY%NX97(Qgz3;EDO52xfmcUW(yeW3nophfaf zwOIg_(KTqB8CJL_WfI;Bc$V-5)AfX=kqDeO>tVp6(RM~XwttZ3H#kegP(!3OF%Iq< z&>>}z5j;j?NLJWJ!m!^>uY5czgIJ{o{H^m5*SAm=S4_$&=atof%MH~W^!vk}k5F!S zr1q+V@zJ(Gw_)@^qX(PtZIk9paGJ(&^UxTVJ}0!ryfdNLkBiVW8#DT>GGjM$6&m5~ zA*LJi^Yw@>#^!|Wde9)4MYe_2VzkT|&nn2l>vlQ$No zMG>BCFA0So{v9Z=l)maJPTBd$lG|?j9S>j2*1hAO3Me0#j~ZA!f?VX#8%QEOtzlY9 zR$TOenpLc+4ZTIOO>Oy%Fut7)khpQab8UjWNI}1}Q!?1&q5zl~in`gLQUVcH0%B8`H6_vvgUJ`YEzL)$*d-YJA+TAa6)1jt2rg*WS z?@{y%#OK8|J?apCi{;gDEPN%KJ*x0AE&r;;yr{_`(J064YwkyNxDU;c!O5eciU@~< zik_t4z0>U(L{uU#vISARDdZD$7ehWj(=o&8LIUY#r zI(A^{lp(6z(6EfG8YJpcueNHmqP7{I1?z1Q^xn{3tf} zcuAMZU%P^YuQQ^274I8RQW?S6_$KVa#U?KVpND+G+oysktH!B0JG$Q~%GZ2+?UU_| znGSB;>z9?~xJ)2)*~ISZU+pem$x&|RjVKJdbW8e`^{5y41wgs0F!d+_a(ZU5#JbMSH>?Pa&?Ks1U3fH(gWo4?O|C+w4jf}SYvZ1HHGB0W$ z8&$*zisXhaSR<`af73jDtV6fNZ8BTr)xhOvAH9^)EfK~%Nfv(6vWbroF8?;hsR|H_CIUz-=ZYFdF5Ze7f6 ziPK+6Cayv``D;bY>Q6P*hTHEpt<)T2Sf*BFS79Z_xiNz@7=)wWVo&7oqd9(8mVj$$No0X&I+ABk)$5oZYk00Z%ZjE z+X-g{d~6LD9`H$YU=rIC5;0qN>E9CdRH3*yTBmLGqUuP3SPvg%q;QSphfz?hgQ+7C zg7lo_($G{O4`EQ3ZSHBHL0eM9BmxOusF+?yl-3rs2Z1Q4jIzhIIZ~8WAlc8FZGmMZ z&mWkU%#=I>HUr?lnHzF2#}#OHLEc;8HiHy5g7^OV%}(afC7Qqva@8h5{aRX%))1-F z_Q$oIO9awml^q8AkmhIn{Kt5)B#qReo+jxFC0{6@$)Gb0W$aFXU42Ov7 z8JwhZDJjWQw@8TIC87PWP#3HOa)RrLh7?l#@a4D&-VKu)Gb#IV@rY%&H>%%o@mB}! zAsfBjCnC>)&4WMtZS?vK*KFxNAHKf(k-pEqF2?4G+A(&HV{ur404WIOaSPSaHwj()LT<6`#&0>4eww)mq=%3%-Ply?a}{7Wv|bn8akc4YMPx<>5>D zP1rAo&yh0|HvukKsyMPA%5V9fXNR7xIX;DQ9C^27>*ptxwpASWpg4 zLWsU(uP>@WESl+oJ(xNNn@gl{zgO_A<$*-s8SYh!A$L_lN;W=Ko-h(`_Wzmbve3%i zmE$wV+5@uw)UcCM0J4luKQ)9T<~uQm8Se3oUtyN0{LG8udYn@R{a0C(Zjj`rLSYv- z#ekwf*%xQX6m6MmP#0yjtZ_lP#nr6y|IB*ja%LDOOtg|1jkWdhzUH~voBDvDnF3C!{6ic@AtQHUdAJj3}&PfT7q(T<}^d0H5Aq=^yB@6JbP zbRjnEO#H8Zd9hZb#i2T@k>hnSG84;6s!p#v|J?=lt>Bq&g8CV)-JKlt&1u_}Ts%#- zSLrI!Qcj&Qy1z?oTUM54=z5%&Y~YpnJ&UV6O(Se5<-V7$`fLp)vg-cHFE4g8RLl^W z+)PU}aou`dca_I-&m>ZH%$gaMJ1g@m-GIYwJi(uvtXGwgx8F;X9l5z|niKTqi@w}J zx&@m6E!H(e!ux|Z^4Y^vd`zf*bfPpjVov@?JG9?KAI+Y`1+gjN3&|Y`H2(h!h~{Sg zKLkXxvT<|#Zz}XLsNqpPIfI+kQLGp?|+Es`4AN< zG8Wphw$+k%hxI{tYO2k^Bqq~D1k^k-116TyT8bdfxi}! z$2EL@iTuG1VovcNEj(+ELcK0^rV+$5JpKiPl@LQh2^zXx1*>=5a0`C7sn@N`mWzqs zDFC{uP7nWE9Ao(x98t1sop6_KCX!IB0nIs#pKQ$|ML6U{usN(q?PIx`w(2rf#p8CLUu z7@s2ZI&p8SaZ~`~ud?wi5s!{B21UIZ^~Nwa5B`O7)W%^R?3SY1i-V#|imT?yO5QV6?tJkDH#rJ!GdY^-_v!p{;P-X3^?ASL_vN?s+3ran*@5Ztt5@2?MOY8R zUBNG)5y$D`E9!F^`up`-)|^7|=0HDpe&WI72(Y|s>*Z{_gsK0O@ab-7MenS9k2>T# zpC$1~6D;xao0MF^GrL+3HH0jcj>IwZr!GnZxSNYNxH63cTzXmi;cG^iz#RISyv)t| z;d^G7z-&0i0R#xFeQAc1$aZP0(RhdOXUU!8TNxpt()L2Ilbw0gQD^ch1)}yHup^#i z>QZYN{X@Z<4w$YFkWDp>X*+%IW@%B*4*l>-j0CLXfT$Sui&PMf zHB+L-xJ{OJ_?j68Fq@_^0Ko-IALRd3&9R%uOzF_Ros9PFw_xp9$+dy8qgSeL$JTxu;{=8x)t2mvDx7P1(}h6t;EG{!XogU>@b@)8fgA8 zi{J*vHrO4T;Rql+L!p3-3K)Qs+`utjN8fdXBdC7?JIJz)Jb*_FEtuIlfn+`11iP6M zXEDm+PdCx7lTN@+vuT7r<5iFEXn z?M3k1|4wEhFA`nP4zg__58%*3^PgBGA7Bd!1)R>I}YkJcFHf)qQ zLqKVqZ+z`$?|vQe|H9WQOaCu?ZJk4aC1Y)rC3kJIqi;Wm2Pe)I<=%!#M@F?E>*`8En< zGLvNqUQ2-AYa;LWgrUEC%FkrRv6b#^RgdZ5vXf;YkkD3OpnC(rB_l0n6Bi&Y#Jy488$G0?+exR ze&0m{1CG9{O#_snn)BpmUo{_Oe(_ER*&vMF00Ax+OY}nXEeq z>RkDf)0PuN_>RSh39iK-oAaV>q!2{dHIdE0>~j^UJ7>6(uOjfGRzj0F_=>liO6F%> zK=-r|M7VxiOuB*_%JEqGQVwCDQC^4N8Av)f1`!DJ$hm?`b1b8f($8&15}rZwju;qpbi>jV7+s5us#UJM zgm_#71#GZxT*iC_SRo1Uh}(R5^hMre0PI^FiEd+ZpVnW8nm{b;a&ZUBSn+?&Q7J6Y zwmw1pAapQCEHoa4KV`U#MFqQmN|X|l4U5sx=HLI7)TH^*(ezheEA)Y_rx!;<>VXXf zNyA?(q}j`sCNjFr3KzaKJ-mjvi8vDrBm_JaGXz%Xk*aVO=I@C(3k=IgLL8-pk)jHu z%aqJAG@_I;t&x}>m0@8#Nk8&fHVzJ(0~uI6f%5adF()=xQnc|^oJ{1t>FzS%NM$?- zZd1ilNB=uHL4JIitO$07GXQw`mF+|(8R{*$N=48hDNU7+85Dysy&q`yb_Z9iIcgKg z)ZX)wsdrtqb@lpDwIzAqzE_J5gZwqgj@wnz%gleJAt)<)=*e+2M;g&u)uA#d)l5yx*&XPlIMn-E^cX0vUWGbAL3OeUih@L`h^vj z;olCEmYu&I+pXvOQnvozooUxjPeJAjd zrn>v{?7?j|^#?pZN-&!q4#7#p6lTtKAI?>y3iziI6bz-+Xt=rK_vn`w;3 zOuY*tV`t;!G+GXMr%rmV3C(x5s$!OijB*>=OufF@eG)SXCHqbujZabPVqCks8N$P8;WTms{l+OloSD`3V${ur9rkVi5)0tS@%;Xooe&EO|gi5%H zk@>E`;Y-3bNnj?529Bqe^vO0~sC?gi*woX`p5uciN*FYsO5=)kW6hF%z$KDjfW3DZ zCXG)lRIBkHdyS`4Vu#FhO(nQ`hy1071NBJBQ8_+B7|gx+kCT5I8u7+)?Y93A6q|hh z%K2~~-7Vs;(rh$b_NO``{>WERQ0KdRu5&P3-?OM*Zp1(p`wN!2wULCu>7!aXJxR{> z;o~^*p>8Eq_bf)4qpkH-L^Vaah~!g&)Q+qrmh+|^%~PBt zMnKkmnp({RA1k>W!#bj9VJ*l9!<*a-&QHC>W{xZ%mF%6D_okGM9}g7q`crHl9nN!-w+@?+S=GI5&40!=hcioeT8=Z!vKdXeWOOg``Cm%M^Rp#(Q~4Ei6+ zA9B|mqtqPhxjz$_i!jMHm7sx|@a$zDb?L0I)MzGpd|i{8QqMf)80)#=OCx=Ue67B+ zY=&OT|FCI9rEVpd$r7T^{9qpc?3VmKc&X75MIK#AGgG-r&#tCD&vF>zk|KJcX8Znz z#K1XI2rPx~wIvEvRz@rLLh^=m!li392K{tV#~LkJxX#k^V<%f9QP(E?%fjGQm}ra> z98Il-CW*Kh`_>??)tQJHXH}9|6=V8f)vAag>p#Zd>xKWs+4{Hf3M?^WTO4}E!jdbk zGgDBQ@$2@io`;tdZma<0;3W^+eS@a{}Y&43Q9C(_W z!ix|S{V&3-{F|!iluiAe8f9K0)?LWYAwFSwKfiV=t_BrmE)fVGV{BUQ8puQ#kiuv* z6^{aEPIdsWQ5iQB!rzC9X9dv^Kxy9qw=tR&(6jQ|69F(d>x?F71sv)|YPpy|7)UWl z^m75WO@7vO8DoO(a4oy&gmerHd0^x4^t!iQ3q#6rPW&txCObgEKx1xYE|{I>PzDUY z9{iz7Afh(RCI5#^jkh2d`0h_zQY{UNqtKxg?@y8pgS!Qv$*Irn1d_6w3>T10EZGYYD`gnHKqY^PI3Gu~K~AeUJ{d;NEka*zIHGo(=9&hA zj`xUCw1t)x_l2zs2lx&Dj;Xx?4;pPRWggbRil1QjtU2Beq9H}HtWh?Osbx@s@AYO& zGddqT&NP58Y=qoQTY$ceD(D3_&WW^wfMWW`m?F;X zS&S8%0(KXr++mVb#}AW>-N~_mC&YqrsLyHwfUlBsCfKC9nN(j3c$pg#j;vLQi3df8 z`5j$(QX0Bi1avJUV*~)1N63d@<`t}W!t0n30><47;m=KpV=o5D@sP*h!^fK{I{U!K z0~n86NQ+u;RE4vWsFxm+#oK6Jt56EDb2H2JrLdxS4Aq0=_VaVn;rVLFut7yoy$+ci zCR276&0IMUGsN)i5)6LtkfY%w!u|MTKoUJL6?%z4Ub8_b2G}4&aU{3?ZE>TqRwvt!(XO7i?I!$Jse80eBoMjB z+hqgiS8FK4?2fwGV$gWFeF@w{Gsiz#D6McxeEG9Rraibf;(?&`Eb(R==*$JA)yMa0 z1lwv_w+MvT;Kf(4$-&J`Xg9KWllI6_(T&cIX&d@6$;G1!9&TPp(0CsoxS1yKTSBY% zh+5h-nsW-~_~%Kdd13eCC(eiN1}j+>6@Q5=SvPh5{jkP`uN$ z4Q8;Nkn)2>21FygD%74kn;F&V%$sN)1b%&I7gabKoXH_G>MXIJ+CMN%Hha1GgQ$Q=C(^$ZZuh+z8EYVNv(v1QXC%P)e@~`oP#_@C=%O#fN%kwnTh!$L8T8n z6v_z@Vln(=BD4KjG9C605CpIy_Ljl6KFJmb;AvPEnPg*s=zcJ9gs%If^QKe_217tZ zp;jFL0(UaV5Sr*Q3HDM692GN zrP8N&VfBSdFjhhA=v9pMc|ur_AO9*sE?1|{x2*O8K6j>Iay+c+ERWCukhYKmW(43t z@P%v`)u_oLV)U`#0PwnEm>k=EU>C#t05GBL->w1Baqv2-g!ROZmCWK-Bpo2wT7uqJ7F=lODJZmnOKw;!jIh~%!Gn2iIRcHV(}?j&)}qF- zj#iC%E~eCnJ-|8Q?^c=0c`H#`Wz{N#17SR?0{U9=8|tDzIn)Rw+96D;hF&WPD+UWM zBVXoe^HKpjayz)%c;eR4u(3cSqtQROIOL@8GqkPc%tzaN5B%H8M+h84@*=J^USc+W4|U}%e!*tH}O zz0-Cp#LL!`MxR`qvkKxSy=bT8lC{ZE=|LM<10mCmtpOC7`Sdx`9_`TFfV)(ro2(1xkk|MP$9e}^N zJhOH`t5uvis{NJNkKZI7a666I@3Q= zcSLdBbx?RMU+A9A)#>AnvC_fZ=y~JpveY!N4uNBSWRR*geAj9JV|?=&bHEr+NpIRs z3!;+$g8xM2ncuEq{VPbv?u(8yT40mc=%e52hjh^((%47k0Z*pB{Qt$+H%3?XL|?wx zwrx8d+v>QZj%~YR+qRu_Y;|ngwvBne|C;$SYd*}Ex>fhxbz2 znpgAH_cZEcDJP6v%PH#-=S2Ny1i!DdEu~#MyoWa%wGs{tESPw4ha1P&3Uuk=XPN8$lIb|X#v6O_r@UTPkzV(WEbHrQe6M#lg`G!R?XWu z=2>sM(Uner*IZ#=>=xW}XYCJNTqUPhAlJ9^xuZhSgjZ`A&u&ug|4MDTF0QAH)LA$_ z#MP*bNL%|FV>PDMrmP8y@{wP}a*3~OdkYkT^es_x=kDjIaJ3W+Pcz!RTa-oy#(v&! zd?HNfn=xt~7FVbjx@dZKT5Mh>X8y&iiU#g03N#9n*j4V!bKgdxf?FPN5N{;rPOCGf!&C(wmE5FkXzIBDo}>iA zNRdK3&Ih8(s^3(pTCIiCn`TanK{;f!$pxri(XCJiK@eh=@cM8B zwqg*a1R+H=srDRMaC{+8YUOIs3Nql}I|e*GsgFKRfMUB^T(`wg_`vzr`Kog`Z zt)mZ)lG-&JYe8Y_F4Z~igCIW?L1L6LVMlAb!==nYAfp_E@SuD!iSP1dcVt$hO)`>^ zL^pj~1?Jea)kRzQ>|X0LPF26poUPP%Bq)qHvZlSY$7=k@)6E&EncBJ*l={`JQ?o_# ze7D}%t@|&(09A$(twaBC;NT!e;1h>r?-KmnOgyI6p$)K2s%b*BOmN)Xa}4$*+u`Qs z44WYkMHeP=ezH)$Sv*ZWk@uNvfprn|)$n`~aBU6O&~j6E69h-0mw$8kBm0?XyPcQp z^x3}R^KZ;k7-1yg#kp41FqgnJ4eQEv@`~$oad?AE-L{=vgB|m8u=V%DUDPE;hw$U> zTa=_*E8;`ZHsfWRE(hnF=j{V6?@o~JE>Vi>pAPQHvWx64*X<--vhMO@rdgdYF$019 zcdva>uWbmr;}V(+tnV)U!(CR%y&&Do-2IjFJhG0PUBd2fqrUXbv$17`P;TezsV^*d z1Cyy%JKOIA(-ugX%zX}}p|57kJXV>X+*Sb_)XW}rkQI8o>xdigFL@1Lr##g+OrL`k@pvl5S}O!w^_mbUH5z-c}&w-bJJqS%{i zEf1?zVE2l(dcQaxuAFeWNB@aoP`_RvJ&*@EbCln@e=cHf{}W-DNzMJ1w#y^YhU5sL zl*?D~ALkoG^&|K3?>CVYyqcKJp0oa>@nwasvppiy_oFrsx?(ag!ua%^QvlERDMPlv zy0^d39r!=fWRmB?X+_+Lz&a45(c4}$eZtsg>)w55MIqdaDCw0>BK^1k1F)PKBUiuW zq#8rAoI?$2+*y(ZWnn+d3VIfFkI+x@^! zV1yqVKmatQEKmXJxuuZ$UD5>xAUmG(AiHpNo)jX#ur`c;*D9Km1DFq7kjK(B0aY5T z=oO%KdfPK6NIRa3q6QeCvWn0BDu>p?ZrB#Q_5bbv`i?WnR~|?XGRd)NNs_!_LR_I; z0-Ae~{aC?RKp*(+#U>>>gkH4EiZ;=)1}bL=##Ap|K=mc#uSZYWsGQD0R=F#BdA6o?@0 zxUjoEu}DZZl%f`9gKB7&ddiLTmwD9m0#!@qWYT_?MKV}63Wm;;>s z({6Br-%$gx&rX%k3YE317A`Kajk#0$l3jd-TQ4q_kH3cnE~Xt`p00Ac58MuB2iz6~ z)j7VvfU=IOg2neXL=KD*#%}9(SNNu14+W3fyy>;0B8Oex;~b}*hn|*+u_kQ0o9O#K ztX&vpd%H!!KH9Dl+ebdH+(IQ5F|+=yoA0mcYER8zZLyCy($#Qy?mPFM0fAqRZY1=T z%kv>ad4d{>7Ivnie5I3LR=Q@bWo3fi0c;gJIO<2$nia$EI+rx31CzOr{*l+!>U_K9 zjLgtDa?FlWtlaLa!~BzBTb{;u_F`U!k)fh4h`d2ruEd0oi+VSNV?^y3ULL*DTcs+YP)LqttQ3p0z#;?NY{{Wj0uJOX)nd= z1d!_O+ZhaScZ*>;QQ>QCLjx%*lS$Lm+7xvBuy;xDg$PJViW1y+!s-A}89N|9_T`C* zlh=$O>-(Y*z^S-rL)Q38ljR|x6Foo3a*_Kf$ccMDuN79}IxFq|rDx3yy?L9N`O@X2 ziKxUK6q{mep#-pKo%zzJx1NYpmCaP_@^M(=i6|1I=f|O8(NZuZ#af|}QMF^tjRIOW zG_DRNqLVx+wf1gX;J#PkCWQ3=y8FM}U;!Z^1{-9@VgdJR-SAX*FTVd2dUe~lyGs$- zg?exK2}q(Hz$Q^-=nZ?8!SW*dMK@W5<5HC`$LwE`nV`O#!2Zsf)nn?#+Q)2chjS>_Q~Vw|~PaYo*Z8krE?%GG!;Fl>VPO;4u%w%+fVYG$U<<`>TTlG+MPVy9=6pn>8?}=-`eo zbKXk}$hUL7SKG71+hy6~HA#UH#ZwoZw`f7U8*^RV1A0=I`3@LZM}Y{B3cn_v7N+?v zy#D!2u5ap0b60&&CN*rQP6PGEw=z2#_m`~KDb39i)~KyE`@tXkqG#z_Z(ZSSJF^4v z>`Hfr)~k1hI)1d?DwsE#W>cLIe6T=rZNW^7;$4HI``QyNbf6kD|5@yao`Lk^Xw27{ z+ahD^VcTw-7~HscQa?(-f=|EC!Rp`mXg0(|LEo!e$ybX1hZDWyBPEh`N|xF$B>O=C ziiZ^Jl>)`N)q6LLl`+{1scci)3z_IRjByTZBz!00f#Ol4+mrP@s_THcK&t3~feIOw zv_k$daxCE5%Xnj@^ueK{EC}L9Gws4yLY7W*J^4{3OdI=Ceiv$9c2B#?x(j15P4s8< zG*+MY2)o_Nr{h!M)!lMIQHvE)3;}yBx5`Ut{Ga_9ysBMC+Hl``Y0dyI42*##P+o?H^dL%7Q- zaes~qMVp>R?bw#)s6Y)^Ul*k3q`P(p&WsjK4R?6dxcqr>6p@S@-j5(!%Q$*sfaL05 zW}7;nYIWI(I`>kr&ht3A`8e+GGC~;^ptIS@dDk_*skn;YAPadvB&}?GXn)*fAkNS) z1~QklcnME_l?+>gIQJE!jqxmNwZ(UFl2!&DZrqSc6*|AtX4w}G;#4oIJMnESo<5n# zoQtiXQVwneKbKm;-&94dLonDKukzD*oIP=#6$~#II3MovW=2WXsD!hOh0BhgkqV9FIsaDk(jDr*4jK;q?XO} zCCe4Pi6cWU+XL84sC5f#ilnwiu}j!yubLFFuLG7;kR-oKmWU!y$Ym0%YI*)m^2;Z-`BBsyWili2Ou)Okm=3`$EDL5;R zm@lFU(4iG!L$)YadH_+e2b(svo%!5TYMJ9%NJ5<(xLvdl$OdP}fgRg~9A5Ja&<+%W zT%$ZL#-qdun=osnsM;wBr{}`21JC9Bh$dt0zrae3C$qNtoa3zoiqMk^Vi9e{HSw+p zj^U;TL*(+~s4}SfnWhH6rNhq*Piq&S%}LW!N^={|o!i2YF|5nJ)ZID+jHfn+FJ^L! zG`-8!>&XNjzfR$8>-GHhJn*iG_^d+_y{Sx?-fZ+PUnnY1@NVfe-TtYi^Ro`{&E8~h z=h5RTIEWy^Q+>IzTeO7mJB^9Guy4} z!B-ns^5u*h`PuLs_R7o3W}o*^lXfWAsO`xVPO=l+(1nd2W2T#2CQPJmquEm$NAW;v zJZ4W}3XjCx_DmcSo&;{XQxm9gK3REu?};}}krS+TDkyxd1f^zoDpuair!rb&RLHsR zc;d_t4E-4e6%x6*>|V$kHg*AY>JLO_^O;i^$aPadpn6V>{;PnYpUAYLtWs;+id1Zu zuu;hF_RM>1j{lcOgRU)1997VZz6)ts@@vJWtrh?$ldT9B6cAjKUn2^9HSMCaY(vE+ z)CMM!l6kKs4=cz-huDaTBPcu&GDpTIl>c3Mr5RM`pR8UUv&pRBvUlTbV3ZeZoaZsN z5rbHhlYzg97L!1yGTicJpx|CgCZzhXTCoTQWce1m&A}Io3w!S zvhu*pQzpvrO%DE$)2}5-99{x0o+LZEZpEMhR((uUgiJ=1SxOmz?Oa7KfSQZRh9NnB;Mrbh8(e$$i8`k_@YXYF-9aZO_3pj7fk$g&sj}E>xkqx2C+}7?C zPBqvg&}|;KAG$bjH<1PV6{=pwk3tN?!zF(?ddUBTYGMqL9l%*N=vQF2P}j7NPF+M{ z^>YQLZdA)19m1B0F9H;e6n8u*dP~^w6q`}p*Q+W$YyK=vLY0SkktE^~S0c!yLi1N| zQcBvtq|7uP++e5m;SBdGpDGZtkEV`CK z%hmj+tMU{ZljRfNjrCUP7B1TvduqvCQ-1WMOIv7bJr>@rwAOY0Ylh*3`MFYV3fR-m z7RRuH-}dk3f7r~rPG_6I3^NIla*1-3l%CuN^4L((Y&JhSo7!-kep9ST#)$mY(1zi!FkPN(6n3Eoa&pSdsmc?^a}R&RWappc( zIKhpu+*}e3ov#Y}UKefEq7RJIZ&8~DkaA5EjuMD~1#Q_FN<~5~4M8anzz$(r<%n>W zmyyFhIgwJbXE3znvIb0~LDzX=LG|8IFt8lT^5P5c3Z#j+b2VVG>*mRpOrvh>&W$QAqjQ%7Y(56BPYGtifbL;a5OZ5p@Zsf|Af)EUyL{_ zgJFiw1}o$hA{pT%2t}4S)Cf*=XAn8$j8e&F=F?qCGiTm1a*~X6AQ>RlYEKN>#j_#M zUB+P0bL^)^CeRJ-H^(3tYKtnFHQAs)QK!Ewqb-**jil%hnL{hiAw zXKIe0Sk1?a)*k_hrXi9R&cP5xBSZnBf~-!ZPaZAopy)g8~2sEf!poNmPWoCppawLM@iD2nwDE{LeIGp@6yj?S4`v!}>SMd1_dIJ%~hC z%-Z)u6Y3*#t&jN^6e1gBj?pE%G`64vV`5Xs@m==DRt8>HB%8^TM7Ia&MyNK7Y9`dc zQKZzy9cllY1wE_0Gd6-juoc@s0?Sj3VJ75^&d#RpFQL_d8JrKuoCp>**nu3#XJ%$8 zsF&L~A&_IHW~1B0zMno%sa93xnvY&gW0X6V5X(ehhahX~l9l{`5({$8XUQ zG}vi9S`04-hTdrYG&HVa%@an5%SQV0V6m^gC zGyLB&maQQh2TRtQ$SaW7-jiG}ny8-q>;rL5hl95BdffqDgQu%4UK=al@9ZwPM9<`I z_wj@pO`!;b12}G>+SJ?IU+$e=MSR0tq`OC_*Qwd8alH4L3YMMCJ%gSi`c0OTS_-GW zAM8>$>_I)Q){Hv8<4OKp~ z&SZS^n2L)+zwI{Eu1O{*6c5rFz1&2K^#gLyEi%w-F;i$?^YcfJ9v|1nU+-Zuf8nJr zpL+rYB(W{ai)#>VZ&^fd>L9pjA0B+^s-lG7%3Z^HuJG?HtOzcM;2pb!1xmA@ZR;!) zUdTTs)b<)HZq=e|_A7^i2_?Us>WzV!8(g%Bz&wq7&A5#IAo4t$I<=g0`2Yk6IBk4- zxiHf9x@5PmjvY(SQV3BEYPv^>z+zp8+7Cx*C=LQXn@*V@c=PCa_&)O`(A;1yg!53w z8cmk3kPj+&M~w>q)}+c@)iz19Z)<$E35m01x0-9)wGt3%HKL-bi7S(%C#s%#R*6H6 zUZbV+T|6C|boN_I)VF>1pdLySmEV7f5V5;-P|z(Au0P-PbFV#vLQ!3Nj4rB2=-7lX zv{)_N3G6*jq!Fd#82$R;@Mw|tj%@5oq*v^JH=V8fU6rY}wW3>ZS3Ws<&aT9}vA7Qz ziAnOv&-EZc$k&zJ@$bp47LhB~p0s@B`QhCHw~fH`1mS!FR^hS{1Jve*10UU0ea#po zh+Q*#$2f`H4TTWP=P%8ugy^s4Piu{Zk(?LR7yb1&vR7ouq& zQUsU#PaCSG38+=KRqP``0`ynATzm?)#vYcYq0B5Hf9A|Y^SnNmWEnuzoK5GbG!8gJ zq3kV0ZyqR=ezDvDm1q;s+CVMgbU6rY4;VbEBzzyU2lQQOxe|aq3 zHUN$SAP_&AbTh7Q--clrps8Rl(xAKxX%0`$4N`^fo`(q$%3J{s68D^=36De7Tt<9A z|4sfw+c@a>FB` zdi0{d>1wNl(ewoJ{iCDurz@1PPr^dLfcVnms(d9w=p*I7PhN7jYs%_p)s$-`UczD{ zw^cQwdNq5Tv0Iw2131pkO;}a;MhRVv?649hiuO%U1HR<-ZB+L~M7rsR4qfR3x@Mr{ zXJj(tZ_UJoiv|ka@z_eMRCZ6mzpF&FG-n2jnk~b*#Ak%M)pyRFb;K>M-rnp}0onY`PW4L{QF5s;}FnUFKdUtD;c??J6yyFs*M*5GOYbj8;u z(wyZ8$9Q?gS>16k`o$OBacKI*LOm#idBsURbtATQbF8id+>-)TpJ{uIk4{)EHNyoz z{P?>MXr9Jt5ls~Rjy#`=Xca6K=k_Kr_kc@kiaaB<*I|CDNW9H^-j3}qIpgP!)Qq!c zw>h=WcLn&&_svnOXe^%k8VB)GfG+r4xlFVgPckiue5sf2#k_?DLIUT?C`0cIIRF{^ za$qMA%=m6~hvq5}%>1d(VKWd3v91paD#3sF=V1DWV%{b20qci85YE?~-o;rcNd-0{ z?>gi*Nk9tRpEm3Ha(N{U3=VybRU;z!B2 zUQMiYFX#Ui$t4TVEdE#~Ei_!QNAe8Mki*V~c@WIzB&_GoB(WGs<#66*pD^AB$Ar4E zzbWg9z{-<-(jQ;K$6+utHAkfl^JQXL=k= z*I{q9cqeA>(a^>h*7bez^o26+;;r{t7ePt*wJQOwZyO506p$IHxwGX-`8zyczmxO4 zt<0mYXNu0Lxx6X#m=n{~RG~5D%}OE9JDN6!e{BN|H6GzHE^UHWn-TZcnL<(+fUvYh zxd18`ne9#(cFcz`LVrteO!0~z96x0(nf1qs#`vfF84Qha$r4U>nh55nb4j-p$-EKV zd9jDIZCsKG;;MJ-bN~@Ue)de12;HdmXV;9HB zw$;7Sad((<)(+~F9{T*Km!M?3I)p^`Y$xsNCODnSc$CmSUY_E$U5RpZwRuP3vV5+| zYWaG1U)FK3<0`%$B8zbq42i`4m=_O7nERgU0!&q~&FF}HX!_fZ+0E+GZ69C1*%)<76 z0ibH|f5iL`019b_c9Th{5F~Zn_F{m3W*y=I%H7kHnY%{#dFtys0KJ?TqZ|!q*y3Gv zu{<;&k*X-q9Zs2)W?yvRyXMKV_7C%(S@ab9vR0SxoA>MRzff}#>E*Zp2LWAOn#mW< z+HNf?>#E1M>7L(TPfW|d8NXW}B=yI>mAzOt)0(P9J-!k z@vo88H(|nL*tC<<52?baTM21G=bHwZ?9V--AwCJXOZJ}73Ya^M!H?7EsnnF1n$h)H zT5`8%WI3LxU>Z67VfD;J>+5ubcA^=Sszc_BVJum?fE6|ZCyyL$W)GnV0@skmj#I?4 zb952-#ib9dfUn5 zy!(qaM@}GpsljG>x?>h-P?vRe8{CErin-b9ZV`OlvdiH{4&0J#qeTX7Y6}@Lb3r1eaSV-XViljOC=PU@Pb-9S<1^(Y z2pS#V*aU}1+(VSATgl?a>@Nufte$MI}4{ZDW_ z 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