From f817b636831f9c93b8ddec26fce9998c72b4752f Mon Sep 17 00:00:00 2001 From: ddidderr Date: Sat, 22 Aug 2026 16:12:11 +0200 Subject: [PATCH] feat: rebuild TDK Pinball Machine in Rust Replace the empty Rust scaffold with a playable native reconstruction of the 1995 Win16 game. Embed the complete decoded asset set, retain the original 640x460 presentation and localized help, and implement a resizable letterboxed Macroquad frontend for Linux, macOS, and Windows. Recreate the multiplayer ball flow, flippers, nudging, target banks, wheel, robot, lock, magnets, bumper progression, TDK diamond multiplier, media extra balls, sound dispatch, settings, and high-score entry. The physics engine uses a fixed time step and 101 static collision segments transcribed from the original 175-object table. Portable JSON persistence imports and decodes the original XOR-obfuscated high-score file on first run. Document the evidence boundary explicitly: artwork and PCM samples are exact, static geometry is recovered, and several numeric scoring/impulse values remain best-evidence behavioral tuning rather than bit-identical Win16 arithmetic. Add a native three-OS CI matrix and retain every decoded resource for future fidelity work. Test Plan: - `diff -qr original/assets/decoded tdkpin-rs/assets/original` with the two intentionally added legacy root files excluded -- passed - `cargo fmt --all -- --check` -- passed - `cargo check --all-targets` -- passed - `cargo test --all-targets` -- passed, 8 tests - `cargo clippy --all-targets -- -D warnings` -- passed - `cargo build --profile production` -- passed - `cargo check --all-targets --target x86_64-pc-windows-gnu` -- passed - `cargo check --all-targets --target x86_64-apple-darwin` -- passed - `cargo run` graphical start, launch, collision, and score smoke test -- passed; audible output was unavailable because the host has no ALSA device --- .github/workflows/build.yml | 27 + tdkpin-rs/.gitattributes | 1 + tdkpin-rs/Cargo.lock | 578 +++++++++++++++ tdkpin-rs/Cargo.toml | 4 + tdkpin-rs/README.md | 61 ++ tdkpin-rs/RECONSTRUCTION.md | 69 ++ tdkpin-rs/assets/original/HISCORES.DAT | Bin 0 -> 276 bytes tdkpin-rs/assets/original/TDKPIN.INI | 27 + tdkpin-rs/assets/original/audio/wav_02001.wav | Bin 0 -> 6302 bytes tdkpin-rs/assets/original/audio/wav_02002.wav | Bin 0 -> 4594 bytes tdkpin-rs/assets/original/audio/wav_02004.wav | Bin 0 -> 7554 bytes tdkpin-rs/assets/original/audio/wav_02006.wav | Bin 0 -> 2906 bytes tdkpin-rs/assets/original/audio/wav_02007.wav | Bin 0 -> 30452 bytes tdkpin-rs/assets/original/audio/wav_02008.wav | Bin 0 -> 39134 bytes tdkpin-rs/assets/original/audio/wav_02011.wav | Bin 0 -> 6710 bytes tdkpin-rs/assets/original/audio/wav_02012.wav | Bin 0 -> 320 bytes tdkpin-rs/assets/original/audio/wav_02013.wav | Bin 0 -> 46348 bytes tdkpin-rs/assets/original/audio/wav_02015.wav | Bin 0 -> 7946 bytes tdkpin-rs/assets/original/audio/wav_02016.wav | Bin 0 -> 3518 bytes tdkpin-rs/assets/original/audio/wav_02017.wav | Bin 0 -> 34842 bytes tdkpin-rs/assets/original/audio/wav_02019.wav | Bin 0 -> 5148 bytes tdkpin-rs/assets/original/audio/wav_02020.wav | Bin 0 -> 30000 bytes tdkpin-rs/assets/original/audio/wav_02021.wav | Bin 0 -> 3194 bytes tdkpin-rs/assets/original/audio/wav_02022.wav | Bin 0 -> 22122 bytes .../assets/original/dialogs/dialog_32512.json | 169 +++++ .../assets/original/dialogs/dialog_32513.json | 139 ++++ .../assets/original/dialogs/dialog_32514.json | 79 ++ .../assets/original/dialogs/dialog_32515.json | 217 ++++++ .../assets/original/dialogs/dialog_32516.json | 174 +++++ .../assets/original/dialogs/dialog_32517.json | 88 +++ .../assets/original/icons/icon_00001.ico | Bin 0 -> 766 bytes .../assets/original/icons/icon_00001.png | Bin 0 -> 373 bytes .../assets/original/images/bitmap_00101.bmp | Bin 0 -> 246 bytes .../assets/original/images/bitmap_00101.png | Bin 0 -> 202 bytes .../assets/original/images/bitmap_00102.bmp | Bin 0 -> 246 bytes .../assets/original/images/bitmap_00102.png | Bin 0 -> 167 bytes .../assets/original/images/bitmap_00500.bmp | Bin 0 -> 13334 bytes .../assets/original/images/bitmap_00500.png | Bin 0 -> 772 bytes .../assets/original/images/dat_00400.png | Bin 0 -> 1378 bytes .../assets/original/images/dat_00401.png | Bin 0 -> 1488 bytes .../assets/original/images/dat_00402.png | Bin 0 -> 1496 bytes .../assets/original/images/dat_00403.png | Bin 0 -> 1495 bytes .../assets/original/images/dat_00404.png | Bin 0 -> 1494 bytes .../assets/original/images/dat_00405.png | Bin 0 -> 1504 bytes .../assets/original/images/dat_00406.png | Bin 0 -> 1519 bytes .../assets/original/images/dat_00407.png | Bin 0 -> 1506 bytes .../assets/original/images/dat_00600.png | Bin 0 -> 11318 bytes .../assets/original/images/dat_00701.png | Bin 0 -> 1726 bytes .../assets/original/images/dat_00702.png | Bin 0 -> 2156 bytes .../assets/original/images/dat_00703.png | Bin 0 -> 1773 bytes .../assets/original/images/dat_00704.png | Bin 0 -> 1757 bytes .../assets/original/images/dat_00801.png | Bin 0 -> 1232 bytes .../assets/original/images/dat_00802.png | Bin 0 -> 1241 bytes .../assets/original/images/dat_00803.png | Bin 0 -> 1246 bytes .../assets/original/images/dat_00804.png | Bin 0 -> 1256 bytes .../assets/original/images/dat_00805.png | Bin 0 -> 1270 bytes .../assets/original/images/dat_00806.png | Bin 0 -> 1255 bytes .../assets/original/images/dat_00807.png | Bin 0 -> 1260 bytes .../assets/original/images/dat_00808.png | Bin 0 -> 1248 bytes .../assets/original/images/dat_00809.png | Bin 0 -> 1233 bytes .../assets/original/images/dat_00900.png | Bin 0 -> 29698 bytes .../assets/original/images/dat_00901.png | Bin 0 -> 1131 bytes .../assets/original/images/dat_00993.png | Bin 0 -> 5120 bytes .../assets/original/images/dat_00994.png | Bin 0 -> 880 bytes .../assets/original/images/dat_00995.png | Bin 0 -> 15064 bytes .../assets/original/images/dat_00997.png | Bin 0 -> 27154 bytes .../assets/original/images/dat_00998.png | Bin 0 -> 26289 bytes .../assets/original/images/dat_01001.png | Bin 0 -> 24168 bytes .../assets/original/images/dat_01002.png | Bin 0 -> 25998 bytes .../assets/original/images/dat_01003.png | Bin 0 -> 24961 bytes .../assets/original/images/dat_01004.png | Bin 0 -> 25446 bytes .../assets/original/images/dat_01005.png | Bin 0 -> 25783 bytes .../original/metadata/version_00001.json | 38 + .../assets/original/palettes/palette_0999.gpl | 260 +++++++ .../assets/original/palettes/palette_0999.png | Bin 0 -> 1285 bytes tdkpin-rs/src/app.rs | 683 ++++++++++++++++++ tdkpin-rs/src/assets.rs | 151 ++++ tdkpin-rs/src/game.rs | 556 ++++++++++++++ tdkpin-rs/src/geometry.rs | 106 +++ tdkpin-rs/src/main.rs | 32 +- tdkpin-rs/src/persistence.rs | 196 +++++ 81 files changed, 3653 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 tdkpin-rs/.gitattributes create mode 100644 tdkpin-rs/README.md create mode 100644 tdkpin-rs/RECONSTRUCTION.md create mode 100755 tdkpin-rs/assets/original/HISCORES.DAT create mode 100755 tdkpin-rs/assets/original/TDKPIN.INI create mode 100644 tdkpin-rs/assets/original/audio/wav_02001.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02002.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02004.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02006.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02007.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02008.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02011.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02012.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02013.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02015.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02016.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02017.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02019.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02020.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02021.wav create mode 100644 tdkpin-rs/assets/original/audio/wav_02022.wav create mode 100644 tdkpin-rs/assets/original/dialogs/dialog_32512.json create mode 100644 tdkpin-rs/assets/original/dialogs/dialog_32513.json create mode 100644 tdkpin-rs/assets/original/dialogs/dialog_32514.json create mode 100644 tdkpin-rs/assets/original/dialogs/dialog_32515.json create mode 100644 tdkpin-rs/assets/original/dialogs/dialog_32516.json create mode 100644 tdkpin-rs/assets/original/dialogs/dialog_32517.json create mode 100644 tdkpin-rs/assets/original/icons/icon_00001.ico create mode 100644 tdkpin-rs/assets/original/icons/icon_00001.png create mode 100644 tdkpin-rs/assets/original/images/bitmap_00101.bmp create mode 100644 tdkpin-rs/assets/original/images/bitmap_00101.png create mode 100644 tdkpin-rs/assets/original/images/bitmap_00102.bmp create mode 100644 tdkpin-rs/assets/original/images/bitmap_00102.png create mode 100644 tdkpin-rs/assets/original/images/bitmap_00500.bmp create mode 100644 tdkpin-rs/assets/original/images/bitmap_00500.png create mode 100644 tdkpin-rs/assets/original/images/dat_00400.png create mode 100644 tdkpin-rs/assets/original/images/dat_00401.png create mode 100644 tdkpin-rs/assets/original/images/dat_00402.png create mode 100644 tdkpin-rs/assets/original/images/dat_00403.png create mode 100644 tdkpin-rs/assets/original/images/dat_00404.png create mode 100644 tdkpin-rs/assets/original/images/dat_00405.png create mode 100644 tdkpin-rs/assets/original/images/dat_00406.png create mode 100644 tdkpin-rs/assets/original/images/dat_00407.png create mode 100644 tdkpin-rs/assets/original/images/dat_00600.png create mode 100644 tdkpin-rs/assets/original/images/dat_00701.png create mode 100644 tdkpin-rs/assets/original/images/dat_00702.png create mode 100644 tdkpin-rs/assets/original/images/dat_00703.png create mode 100644 tdkpin-rs/assets/original/images/dat_00704.png create mode 100644 tdkpin-rs/assets/original/images/dat_00801.png create mode 100644 tdkpin-rs/assets/original/images/dat_00802.png create mode 100644 tdkpin-rs/assets/original/images/dat_00803.png create mode 100644 tdkpin-rs/assets/original/images/dat_00804.png create mode 100644 tdkpin-rs/assets/original/images/dat_00805.png create mode 100644 tdkpin-rs/assets/original/images/dat_00806.png create mode 100644 tdkpin-rs/assets/original/images/dat_00807.png create mode 100644 tdkpin-rs/assets/original/images/dat_00808.png create mode 100644 tdkpin-rs/assets/original/images/dat_00809.png create mode 100644 tdkpin-rs/assets/original/images/dat_00900.png create mode 100644 tdkpin-rs/assets/original/images/dat_00901.png create mode 100644 tdkpin-rs/assets/original/images/dat_00993.png create mode 100644 tdkpin-rs/assets/original/images/dat_00994.png create mode 100644 tdkpin-rs/assets/original/images/dat_00995.png create mode 100644 tdkpin-rs/assets/original/images/dat_00997.png create mode 100644 tdkpin-rs/assets/original/images/dat_00998.png create mode 100644 tdkpin-rs/assets/original/images/dat_01001.png create mode 100644 tdkpin-rs/assets/original/images/dat_01002.png create mode 100644 tdkpin-rs/assets/original/images/dat_01003.png create mode 100644 tdkpin-rs/assets/original/images/dat_01004.png create mode 100644 tdkpin-rs/assets/original/images/dat_01005.png create mode 100644 tdkpin-rs/assets/original/metadata/version_00001.json create mode 100644 tdkpin-rs/assets/original/palettes/palette_0999.gpl create mode 100644 tdkpin-rs/assets/original/palettes/palette_0999.png create mode 100644 tdkpin-rs/src/app.rs create mode 100644 tdkpin-rs/src/assets.rs create mode 100644 tdkpin-rs/src/game.rs create mode 100644 tdkpin-rs/src/geometry.rs create mode 100644 tdkpin-rs/src/persistence.rs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..e9af743 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,27 @@ +name: Build TDK Pinball + +on: + push: + pull_request: + +jobs: + build: + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + runs-on: ${{ matrix.os }} + defaults: + run: + working-directory: tdkpin-rs + steps: + - uses: actions/checkout@v4 + - uses: dtolnay/rust-toolchain@stable + with: + components: clippy, rustfmt + - name: Install Linux development libraries + if: runner.os == 'Linux' + run: sudo apt-get update && sudo apt-get install -y libasound2-dev libgl1-mesa-dev libxi-dev + - run: cargo check --all-targets + - run: cargo test --all-targets + - run: cargo clippy --all-targets -- -D warnings diff --git a/tdkpin-rs/.gitattributes b/tdkpin-rs/.gitattributes new file mode 100644 index 0000000..40c30f6 --- /dev/null +++ b/tdkpin-rs/.gitattributes @@ -0,0 +1 @@ +assets/original/TDKPIN.INI binary diff --git a/tdkpin-rs/Cargo.lock b/tdkpin-rs/Cargo.lock index 2606752..ab8815c 100644 --- a/tdkpin-rs/Cargo.lock +++ b/tdkpin-rs/Cargo.lock @@ -2,6 +2,584 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + +[[package]] +name = "allocator-api2" +version = "0.2.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "683d7910e743518b0e34f1186f92494becacb047c7b6bf616c96772180fef923" + +[[package]] +name = "audir-sles" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea47348666a8edb7ad80cbee3940eb2bccf70df0e6ce09009abe1a836cb779f5" + +[[package]] +name = "audrey" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58b92a84e89497e3cd25d3672cd5d1c288abaac02c18ff21283f17d118b889b8" +dependencies = [ + "dasp_frame", + "dasp_sample", + "hound", + "lewton", +] + +[[package]] +name = "autocfg" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "cfg-if" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801" + +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "core_maths" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77745e017f5edba1a9c1d854f6f3a52dac8a12dd5af5d2f54aecf61e43d80d30" +dependencies = [ + "libm", +] + +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "dasp_frame" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2a3937f5fe2135702897535c8d4a5553f8b116f76c1529088797f2eee7c5cd6" +dependencies = [ + "dasp_sample", +] + +[[package]] +name = "dasp_sample" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c87e182de0887fd5361989c677c4e8f5000cd9491d6d563161a8f3a5519fc7f" + +[[package]] +name = "directories" +version = "6.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16f5094c54661b38d03bd7e50df373292118db60b585c08a411c6d840017fe7d" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e01a3366d27ee9890022452ee61b2b63a67e6f13f58900b651ff5665f0bb1fab" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys", +] + +[[package]] +name = "equivalent" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "foldhash" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9c4f5dac5e15c24eb999c26181a6ca40b39fe946cbe4c263c7209467bc83af2" + +[[package]] +name = "fontdue" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7894823fa221401399e2598f8b63f81ac77ff5c63248b7656779bff1632d7d3d" +dependencies = [ + "hashbrown", + "ttf-parser", +] + +[[package]] +name = "getrandom" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ff2abc00be7fca6ebc474524697ae276ad847ad0a6b3faa4bcb027e9a4614ad0" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "glam" +version = "0.27.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e05e7e6723e3455f4818c7b26e855439f7546cf617ef669d1adedb8669e5cb9" + +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + +[[package]] +name = "hound" +version = "3.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62adaabb884c94955b19907d60019f4e145d091c75345379e70d1ee696f7854f" + +[[package]] +name = "image" +version = "0.24.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5690139d2f55868e080017335e4b94cb7414274c74f1669c84fb5feba2c9f69d" +dependencies = [ + "bytemuck", + "byteorder", + "color_quant", + "num-traits", + "png", +] + +[[package]] +name = "itoa" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f42a60cbdf9a97f5d2305f08a87dc4e09308d1276d28c869c684d7777685682" + +[[package]] +name = "lewton" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8d542c1a317036c45c2aa1cf10cc9d403ca91eb2d333ef1a4917e5cb10628bd0" +dependencies = [ + "byteorder", + "ogg", + "smallvec", +] + +[[package]] +name = "libc" +version = "0.2.189" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" + +[[package]] +name = "libm" +version = "0.2.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6d2cec3eae94f9f509c767b45932f1ada8350c4bdb85af2fcab4a3c14807981" + +[[package]] +name = "libredox" +version = "0.1.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d0a00925a9f930d679b6789b721e3a7f9ed110f41b86d2497caa780c3a070a" +dependencies = [ + "libc", +] + +[[package]] +name = "macroquad" +version = "0.4.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cbd54d99d4d3ac59deed7ee4927bbbf4eb33a55635530af3be9395a55746090" +dependencies = [ + "fontdue", + "glam", + "image", + "macroquad_macro", + "miniquad", + "quad-rand", + "quad-snd", +] + +[[package]] +name = "macroquad_macro" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64b1d96218903768c1ce078b657c0d5965465c95a60d2682fd97443c9d2483dd" + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + +[[package]] +name = "maybe-uninit" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60302e4db3a61da70c0cb7991976248362f30319e88850c487b9b95bbf059e00" + +[[package]] +name = "memchr" +version = "2.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf8baf1c55e62ffcace7a9f06f4bd9cd3f0c4beb022d3b367256b91b87513d98" + +[[package]] +name = "miniquad" +version = "0.4.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbaea978d741f3b60ced666b06a2a1e4a2bc81cb8b9dd29f4a40965e1f59e65" +dependencies = [ + "libc", + "ndk-sys", + "objc-rs", + "winapi", +] + +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + +[[package]] +name = "ndk-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" + +[[package]] +name = "num-traits" +version = "0.2.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" +dependencies = [ + "autocfg", +] + +[[package]] +name = "objc-rs" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "64a1e7069a2525126bf12a9f1f7916835fafade384fb27cabf698e745e2a1eb8" +dependencies = [ + "malloc_buf", +] + +[[package]] +name = "ogg" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13e571c3517af9e1729d4c63571a27edd660ade0667973bfc74a67c660c2b651" +dependencies = [ + "byteorder", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "png" +version = "0.17.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82151a2fc869e011c153adc57cf2789ccb8d9906ce52c0b39a6b5697749d7526" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + +[[package]] +name = "proc-macro2" +version = "1.0.107" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "985e7ec9bb745e6ce6535b544d84d6cd6f7ad8bd711c398938ae983b91a766d9" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quad-alsa-sys" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c66c2f04a6946293477973d85adc251d502da51c57b08cd9c997f0cfd8dcd4b5" +dependencies = [ + "libc", +] + +[[package]] +name = "quad-rand" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a651516ddc9168ebd67b24afd085a718be02f8858fe406591b013d101ce2f40" + +[[package]] +name = "quad-snd" +version = "0.2.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cba0c4943fc67147fbe9d1eb731fb9e678bfc9d926507eebbbfe0103e154e5b0" +dependencies = [ + "audir-sles", + "audrey", + "libc", + "quad-alsa-sys", + "winapi", +] + +[[package]] +name = "quote" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fbf4db142a473a8d80c26bbf18454ed458bf8d26c8219c331daecfdbd079001" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_users" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4e608c6638b9c18977b00b475ac1f28d14e84b27d8d42f70e0bf1e3dec127ac" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "serde" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4148590afebada386688f18773da617792bf2ef03ffc1e4cbd2b1d45b023e0ba" +dependencies = [ + "serde_core", + "serde_derive", +] + +[[package]] +name = "serde_core" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67dca2c9c51e58a4791a4b1ed58308b39c64224d349a935ab5039aa360942a48" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.229" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.151" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c841b55ecdae098c80dcae9cf767f6f8a0c2cdb3416bbef72181df4d0fe73f14" +dependencies = [ + "itoa", + "memchr", + "serde", + "serde_core", + "zmij", +] + +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + +[[package]] +name = "smallvec" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b97fcaeba89edba30f044a10c6a3cc39df9c3f17d7cd829dd1446cab35f890e0" +dependencies = [ + "maybe-uninit", +] + +[[package]] +name = "syn" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + [[package]] name = "tdkpin-rs" version = "0.1.0" +dependencies = [ + "directories", + "macroquad", + "serde", + "serde_json", +] + +[[package]] +name = "thiserror" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec86235f5fcc2a73650310756d2ac5b138a5780bbbdfae3eeccec992c435ba4f" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "2.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ttf-parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" +dependencies = [ + "core_maths", +] + +[[package]] +name = "unicode-ident" +version = "1.0.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6e4313cd5fcd3dad5cafa179702e2b244f760991f45397d14d4ebf38247da75" + +[[package]] +name = "wasi" +version = "0.11.1+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccf3ec651a847eb01de73ccad15eb7d99f80485de043efb2f370cd654f4ea44b" + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link", +] + +[[package]] +name = "zmij" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29666d0abbfad1e3dc4dcf6144730dd3a3ab225bbbdac83319345b1b44ccfc1b" diff --git a/tdkpin-rs/Cargo.toml b/tdkpin-rs/Cargo.toml index 1bb0176..0e4cb12 100644 --- a/tdkpin-rs/Cargo.toml +++ b/tdkpin-rs/Cargo.toml @@ -4,6 +4,10 @@ version = "0.1.0" edition = "2024" [dependencies] +directories = "6.0.0" +macroquad = { version = "0.4.16", features = ["audio"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" [lints.clippy] pedantic = { level = "warn", priority = -1 } diff --git a/tdkpin-rs/README.md b/tdkpin-rs/README.md new file mode 100644 index 0000000..240d249 --- /dev/null +++ b/tdkpin-rs/README.md @@ -0,0 +1,61 @@ +# TDK Pinball Machine for modern PCs + +This is a native Rust reconstruction of the 1995 Windows game **TDK Pinball +Machine**. It uses the extracted original artwork and sound, recreates the +playfield as a fixed-step simulation, and runs from the same source on Linux, +macOS, and Windows. + +The original program is not required at runtime. All required game assets are +embedded in the executable at build time. + +## Run + +Install a current stable Rust toolchain, then run: + +```sh +cargo run +``` + +For a distributable optimized binary: + +```sh +cargo build --profile production +``` + +The binary is written below `target/production/`. On Linux, Macroquad's native +development packages are also required (X11, OpenGL, and ALSA). Windows needs +no extra runtime installation; macOS builds with the normal Apple developer +command-line tools. + +## Original and modern controls + +| Action | Original key | Additional modern key | +| --- | --- | --- | +| Choose 1-4 players | `+` | `=` | +| Start or launch ball | Down arrow | Enter starts a game | +| Left flipper | Left Ctrl | `A` or Left arrow | +| Right flipper | Keypad Enter | Right Ctrl, `D`, or Right arrow | +| Nudge | Space, either Shift, keypad `3` | - | +| Help | F1 | Enter/Escape returns | +| Settings | F2 | - | +| High scores | F3 | - | +| Sound | F12 | - | + +The five original speed choices are retained as simulation-detail settings. +They change fixed-step resolution without changing the speed of play. + +The help screen is the original artwork in English, German, French, Italian, +or Spanish. As instructed on that screen, double-clicking its upper-left exit +box closes the program. + +## Saved data + +Settings and the ten-entry high-score table are stored as `save.json` in the +platform's normal per-user application-data directory. On first run, the table +is imported from the original `HISCORES.DAT` included with this reconstruction. + +## Reconstruction status + +This repository distinguishes exact recovered material from behavioral +reimplementation. See [RECONSTRUCTION.md](RECONSTRUCTION.md) for the evidence +ledger, known inference boundaries, and validation performed. diff --git a/tdkpin-rs/RECONSTRUCTION.md b/tdkpin-rs/RECONSTRUCTION.md new file mode 100644 index 0000000..464a9c9 --- /dev/null +++ b/tdkpin-rs/RECONSTRUCTION.md @@ -0,0 +1,69 @@ +# Reconstruction ledger + +## Source artifacts + +The reconstruction was derived from the preserved files under `../original/`. +The primary program fingerprint is: + +```text +a9022f1894e3e6e21fc42e8f6c932f7c549ca77f63aaa0c488bb9d55d9d0174c TDKPIN.EXE +f1d9ac980c7bfba5dc53eaa9e7cb2c3cd9b82f879ee8962ad40bf863d641bb49 MMTIMER.DLL +``` + +The Ghidra recovery covers all 301 named NE exports plus 62 internal function +entries. Its raw output and coverage tables remain beside the binary, so later +work can be checked against the same evidence rather than against this Rust +implementation. + +## Coverage by subsystem + +| Subsystem | Rust status | Evidence and boundary | +| --- | --- | --- | +| Artwork | Exact | All 34 custom DIB images, three standard bitmaps, icon, and palette derivatives are preserved in `assets/original/`. The game uses the original 640x460 table, loading, help, media, and diamond frames. | +| Audio | Exact samples | All 16 mono PCM WAV resources are embedded unchanged. Their trigger roles were recovered from resource use and gameplay context. | +| Help and languages | Exact | Original resource images 1001-1005 are displayed directly. | +| Playfield collision layout | Recovered | 101 active static line segments are transcribed from the original 175-object registration table. The original sideways coordinates are transformed with `screen = (y, 478 - x)`. Moving flippers and round bumpers use equivalent native Rust bodies. | +| Physics arithmetic | Reimplemented | The Win16 fixed-point/timer engine is replaced by deterministic fixed-step floating-point integration. Restitution and impulses are tuned to the recovered table but are not instruction-for-instruction equivalents. | +| Rules | Behaviorally recovered | Player count, controls, wheel holes, magnetic saves, robot grip, four-position ball lock, target banks, increasing bumper value, nine-part TDK diamond, permanent double scoring for a completed diamond, KByte media progression, and media extra balls follow the original help and code paths. | +| Numeric scoring | Partly inferred | Visible 2000-6000 target values and recovered registration values are preserved. Some bumper, bank-completion, robot, wheel, lock, and media thresholds are best-evidence reconstructions because the decompiler did not recover meaningful names or a clean rule table. | +| High scores | Compatible import | The original 276-byte table is decoded as ten `IWIK`-XOR-obfuscated little-endian scores plus ten 22-byte names, sorted, then migrated to portable JSON. | +| Configuration | Behaviorally compatible | Sound, language, and five detail levels are retained. Storage moves from a local Win16 INI file to the platform user-data directory. | +| Windows UI shell | Deliberately modernized | Win16 menus, modal dialogs, GDI blitting, and multimedia timers are replaced by a resizable, letterboxed native window with keyboard overlays. The visible game and original help remain at 640x460 logical pixels. | + +## Extracted asset inventory + +`assets/original/` contains 69 files used or preserved by the modern project: + +- 40 image files, including all gameplay frames and five localized help pages; +- 16 original WAV resources; +- six decoded dialog descriptions; +- the original icon in ICO and PNG form; +- palette and version metadata; +- the original high-score table and INI configuration sample. + +The parent `original/assets/` directory remains the lossless extraction record, +including raw resource blobs and the extraction manifest. The Rust copy is the +decoded, build-ready subset; it does not replace that evidence archive. + +## Validation levels + +- Static coverage: all intended decoded visual/audio resources are preserved; + the 101 recovered static collision segments are represented in Rust. +- Build coverage: `cargo check`, unit tests, and strict Clippy complete on the + host. Cross-target checks pass for `x86_64-pc-windows-gnu` and + `x86_64-apple-darwin`; CI is configured to build and test natively on Linux, + macOS, and Windows. +- Runtime coverage: the Linux executable was launched through the real window + backend, the attract screen was inspected, a game was started, a ball was + launched, collision scoring was observed, and a rendered frame was captured. +- Semantic boundary: no claim is made that every trajectory or score tick is + bit-identical to the 16-bit executable. Remaining numeric inference is listed + above instead of being presented as proven parity. + +## Architecture + +- `app.rs`: screen flow, controls, rendering, audio dispatch, and overlays; +- `assets.rs`: compile-time original asset embedding; +- `game.rs`: fixed-step game state, recovered walls, rules, and scoring; +- `geometry.rs`: segment/circle collision primitives; +- `persistence.rs`: platform paths, settings, high scores, and legacy import. diff --git a/tdkpin-rs/assets/original/HISCORES.DAT b/tdkpin-rs/assets/original/HISCORES.DAT new file mode 100755 index 0000000000000000000000000000000000000000..86d6ddd3550d11c8afe9c94d5abcea8c0be2b3d6 GIT binary patch literal 276 zcmWG>@mBE2OwTAz&M!(WW?=X^UCaBUa*DU%rCjgMOIhAKwX(bq{)+Ve_{YtgQ`F7d z(8=99afXX`Kw@bQ0|o$zDg-BIl;%{WA|$;Nb8?WlPzmg6eG`jHGV>A@g7b58Q;VQV r8L*2&)F?nDVQT&I75ox&(d`5IGaxfBDKRHUAs{EQ5@I$~E1GQprzAlh literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/TDKPIN.INI b/tdkpin-rs/assets/original/TDKPIN.INI new file mode 100755 index 0000000..32938ab --- /dev/null +++ b/tdkpin-rs/assets/original/TDKPIN.INI @@ -0,0 +1,27 @@ +; Pinball INI-File by KIWI Hamburg + +[Settings] +; The speed setting defines the "time resolution" of the graphics. +; The higher the setting, the "smoother" the ball will run. +; However, if your hardware is too slow for the current speed setting, +; the pinball machine might "hang" or not react correctly. +; The speed setting DOES NOT influence game speed. +; In any case, try setting your Windows graphics resolution to +; 640x480 pixel in 256 colours before changing this setting. +; Speed=1 for slow graphics hardware +; Speed=5 for very fast graphics hardware +; Default: Speed=3 +Speed=3 + +; Sound=1 for Sounds on +; Sound=0 for Sounds off +; Default: Sounds=1 +Sounds=1 + +;Language=1 for english helpscreen +;Language=2 for german helpscreen +;Language=3 for french helpscreen +;Language=4 for italian helpscreen +;Language=5 for spanish helpscreen +;Default: Language=1 +Language=2 diff --git a/tdkpin-rs/assets/original/audio/wav_02001.wav b/tdkpin-rs/assets/original/audio/wav_02001.wav new file mode 100644 index 0000000000000000000000000000000000000000..00dd315f5d1fc34bd8ff18d42208ee450765316a GIT binary patch literal 6302 zcmWIYbaR^~!N3si80MOmTcRMqz`(%Bz{qeei~)=p88{eH5=#<`Bp4X#8|oVx8X6lL z5CALy=7LxtMtwa*8AxSALw$WiLnD}MXn>1@nIQFzAOpd|^^G7wgc6V}$TSc}VuK6^ z3)RC|ARg2~5Op9Dgh3J@!by$Z_=z^&q3b2G-Qn z)Ku40*VNS1R##V5R#a40Rf7RYq^`cP5o~TtOIuqa$cXxMJcUMKcS0bs*b7ay2#8wIKJxy;EP;(Ad-rGQ735rKP#KrM0cC zy&Ys|OG{HD$j6O!rP(Q|H4FEh+127DFQgmOHh=BD0~_YIW(3%2D>zR$e&N`rzPzmR z;`H3s>8(jwGgnUTon7y!m(bf%+P!Y$iakf#tqlSb)7m%gTD@p$O-4y)ZFFSal%A>k zFD#1p&nQeuDk)3J?3g)e!M-JaLSk0&Elbv~Ua@fQ%&w9s8w1zMRr?McKC-4EAtE9w zKBH{Pf$OK%PHjx{wDX9~Dr%j-ZqxGV4Ovm{RxZhHa~IB?yJ%ipZls@=cXZ{n6>C;5 znATkw>Jyn&RMoX$$B~Vb8!I!z{6ms!r!QHxaof_??AWM?n5_C~%h#`6xomb-kgZcx zVZ(&QTeh#9*;O9vYU>hJKYPX6En8++B!mZedPNjYTDNW0oXO1@K9+V-MJ>}-ZQHVL zVMDyPlSf?jgt;r$ZQC}#HYqePB)+g~^`X71=T2$O@^|)*FYa5pW7mc`t%WJUu5J-! zlNPU9y>3}oRF*~{0jp4nCq7Z#aXP}w|b{o!r1>N4XZ!$ab$rmWbwVd?aavLt_J?~JA? zi&rn6wO~$#pP6lJU3dTNbz9cXt&IzbjEqdJn7sbb;f=kSk)aVW>4mk^Hg8)tt-rM} z$iytBdD^@si|5XpUYi{39}rd8zkI{mb*uVwLVUur%PN~@ZaT1YMn!&Bgm-90<%DHx zmd&3zp)n)SJ0PlT?)rsOW-pjp8SN7opWo0kdG4kyvl{c`!y;1hD!XT|+^}qNYk7KX zR7gbGtaa-aP4DlnP7VnONpF}mYw@ZTb35~6{Jp~qTe~JKT)$yKdr@*!SY&$jq!k;N zPM^?OnI01smQp==$*L9er!?oM1i1ucxAf0kv3cX1>eO(*z@*ZqDJ$14o;|faKPD_Z zzNlx>iWSS}c2?x426{x5Pnfr4zKfS9wF)TbOud;3W;+4y$ zw^w9F2Sw&KPo6n<(UMthCF!w|(JAG93s)|kGqJTiH6kjlpuBn7@^womHkM|_g+*u8 zPnk1k?!1{@WvS7TahX+p^OrB1H@USaCNMmsy1jeC+!ae^v==2tgeMfVOq(}v*0hPO z6$QB&NpWdS%eJkaSQr*n(mQKvb53+je&@U;^JjKfWT#{|v=v0<&EB$UX;W-WaaL&d z+|3JGb27V@^=G7%*Hl#%SI=MDl3YHiwV)s;y|kyNZt~9c6`|3^jZM|%?K3A<*GyeJ zr8F`isk)(h;+72^c}4Y2wb{X;WfP}PnYVIQRg`~HRb5qUUw3==q#09d;(}Ak>KYpR zSFh_SEN!kxjEK$eTQFzRyj4^4BIENain3~!Y@OHK(AiO&6CPeZbz)2J(&ZB>atkWT zveL`CCQj&`G`+7RDm1&UuB>6k-2UdKmX`W#|A2yt^Jew;^mmjOR+MLDl-4%%%$_%I zYJGZ4N=18fMRo6t8IyZk%5&3FvMal$O_?~Qx3;3CwJ1^+qIAdx@d0t^zNnvqi`_x%8Ce#-dmK7J26qmNon$zFW-c*s3lv>o(Goh!m zf7--`qRh0+qWYf6Q~P^6n(Avyva?I88~SF==xc4PF3Ha+D6MYm?dzF1rK>D6Ew{Y3 zp}C{8f9B-I(t@0vlB%l4-l@|jwAR%(l%yr6RZN~gqqC`{y{$YuJGZEzx3|4#%EY$H z+^ph?n)>?so_TXSt4j)t%1aB%+9pq*(AL`3TAGuSS=c&xVn<7RUw?B+W=dvtcSmFA zl&O6Uh1o@w)s^KHopa{&HJ0X=H`J9BmNrkB*3;J3+|W>zlvdq0Wnz0n+l0R6lH`P< z=8n$puKr2A^+mb)YBP{&TcO)udA=h&n|85nmDDSwza1&FDIv?n z{k<*ql{q<;%}urS?Gq<=HdGfEmQ|IPHS|oL*im0!UtLjNm{;91p|`88vAM0TC_AsF ztE;)Ot+TJcDL=EYy0NLQsk^VIyS22Syr!nAvbufJ)b57z(wc^flFItlp6=#`=CV}4<_KvRJwwj8HN>IJq*w)?O+fq|mQC?YHS<}+p-O<+4 z(omjXSX$fO*V)qA(a~I8T3lRS-`>&M*45QkUtUyPSyx|M+dg@6M_ol}MQu%4S#A4- ziQO&rRh2c>g$0%ElO}c4H?_4lm8NA>cJ_9+HMe$kG?e9Jmo>MyHa2ujozhs4UDVLg zP*T=BVfw^|;_|xs+RDPR=Dvx2%@sB69hEtm#hp`n>T4Q1`&x^$3aXmgS{s_XdO91+ z@=6<8n`_G}+xuE7>pJ?nDwE<1TBl6y>*(pN%g@QoZJIKnrLLi4(uDf_tempumb!+X zsZ+Zu@(YTqn;Ob1TPIBFYbqzN4q3uDraqzOJ&Oy0Nvhr@OVbvI-PVHLd-Vx|&pv@%4^#D`#M`&ni{G~ z3W_S4x_djC+qydH%kp!Js+&7{CQj&Xt|>3dFRpHAZtd!y)ZbQ>pHom#+t||4-PPIE zR$E$7P+Zy2(mi29S3`AWb!AaeMMHbW12y#_kDyosBhRMWt0W^{w5V zt<8;1Z7mgf*~Lv0CW4Y!OG{m8ad~Z1Q*&E)PiIqkZc%+lYh6ic+w|$(HTn6~O%1hm z^{w4)b#+Z`t@U~7g^hjFC)SnJb#*rtrRCIhboaD3cTZ?8%+9N5@2sn+?VL8Zw=g}g zyt%Wnw5ogRXhE9?8L~#iV5>(bu~42 z_VhQWg(g+CceM9Ro7Goeo}XP z%<|@rj?SLGp3aWC?8J=X+UBnQNfX~3%CpHQEhnwDGD+SAwH)7jQoQB+(}TUAurIAP|@2`x1h`3Z3aZBu7Y?P~AptS!z; z%c*Sco;Gu0ds|~kW>#r+T~k{}&*bUdl|`k+c{znOeKV&|=xnSiE6U9)t!n6=Hm#?r zp{cegH>aSgb7Fr_Z*N<5QDI3@ep&0pNs}jc)s~kR=j2s1wRQLP_jb3}6=!7?R@Jxm z^!HEbYpp0KD9A6VX`eJ@QcrVDWp#O8c42Mjgeem{8ygxbaZmCxE-oo4Z|I&dX+mpleRFMIdTwRM#0fo}?H#Sv`I-5pb#0xk?GvYT z*W_mvlvh^QHFnRK(NSGqQB_@*SKK&Z*0ko*iiXDex{A_(%OOz3K?%FC(lXe_O0n>eYXuCAf7 zw7R~kyr!|GbLym~(xTGR(u&5;uJ)F;_SS|#VP+E-Pr9HK(&Ur?5CTv$T8qj2YbpX=RP& zIi*ca)ivGIru4Kml^4}@HdmFGR8L#Iw7;pYx-2t3w{7x_X)OhXO5TgP%C6?TjGXG3D<+rZ*L3#Or6uN- z*LF?lXl!e*E-bFBttu|8Y@D!c&E&G&qSEq`+@jW*OBYY>Xm7}gkBd(2Ua@>ydwpwv zQ%X=kY}4We-Hk1+-TiIFsflUj6BaG(t1GK)>TJx7kI!qKx@h^V#?rFV+`N*?nuhi% zi`#=6I*lRGs>z;^2(=gS~I08E333BFTJ#5;^fJbrc7!s&P|U?sh+ZEPG?Q) z)G4h635i8bt!@3Y=S-+8%FoFvtZ8a&Z0VUfqqQJ2J3BYOvUlFB_PW;Yma5!@q~eyI ziE|cCt}U&pFVD*=YV2-r?Vmflt0*q1qN%d9wzX^Otch*4B{`W{#dR&6Gv@VHmNj)X zX2+&hcF&mJ+0;L?y)Zp7skE!Ny|ruV!f9p6@ySK4Ek)%s)-CVMPOoaKDb7kPn7MxO zq|V0bioE31?5Y{dCssDjnBJZr?33O#rK_oP){;r38A);3buIM`T~p`JZ7<2m0ks#4 zr>|YwS5wi_QIeRDS~PL#tj_kH_L}_UjFOtRzLv7KMTY>FXqz%~T1#0)Yj;O+Y*KYk|AelFmPx&3iE()yeYIsxJ(K3ltV>BPtf;Q8Ztj^h zYerj1S#5c4R&LFt`LidrH#9aBrljW;H_w6t*`Rw02hHl+?9OoZMJc z-8-QvE4jFHLU&6=MbFIk;=ZYc;mflJIjin`}Wp$m6MV0+?CN~t7H8xh1m6bG3 zp3qd^(Oy?oT2NTt+}GFA*wWV8R+F7s)zQ(^)Y0GFSXEU~QP)sW-rCpI*4|uQR#s76 zTi@2x*3eL2)6iO5RMynq(ooyf)m2|!R^HInT2@#S2nfP*R}QbcU0sS)wQ%VR8@EOwS&i1s>{mi+d4a18tNPB z8XK$2DjV9`+FF`hn`%l*YTMfCY8qRbTU+WYs_N=N0~XDV4fXZ4^^J}7bqy^ojdiuP z_07%ob&XApjScm6^$iX6pn)6EC{SY)Shlgbxe+|@0vi2jXlMkD%GB4^)`7$u>+2gD zp#xF%V2vO%Kqi4C8X*jjILH7H7i>pkBS;@;SO_Fk57G#-uc5x7skyPfwyv?M0W^5i zP*>N`*xc9%9&rJ=y0H;7t^#&?T|-k-eO*0706ZE7QBV)k12P`$c#u5Eng)=%`g(}v zO-&8;4ULWUwYBvizknPHQUh}<*xZK3hPt}?#^&aRI#9@fod^m9kU?N)fjEtgO(2a8 zATKvHfkZ%|R}Xd;gj-(+@>?UwI#77mfrjotgJK}npr8ivn;`xJn*?zWD4apKsR=y( z1~LyiGzf7cbi57ZVaRwKC=@}0;6Mb$28aU=6j0=V#^pc`1COFX3 z=78-2c@-K&V26Q696{rNpg@O9fc*y&1sMX;0-`}?fW$z22pc2{4hE=3unZ`mz=NnD zhd~E3!3sf!B8L#j!5|;O-3U-A!w4pc?6z?FR?`>Or8P0Zf7f>gyXo2qXnl3DwX5)(TeB0MY=_4`PCJH#9UfHa39N)I;^x*MWrU z8ymn1>md|KQGIzU9{)7aTpmz`TzU)Rvy z(~;}v7C)gUl#!8h#eZ3rTb&-3{+(CvY-y~q;$~!wfA@2TC_A(MajpS1|cA6Tu&fn1O#T@_Wc(`+G1jh+5cKd6>vqWrVm`g@iadh4>{F zl?6DawpSG7Ma30W6hqKw{P5e zc3zIN@w@guYN)~PdED>^2$wY1cBb@uf(cJ+3&Hr01e?P>3*u4!qn zt!->->1%6gY^-l?t#58?Zmp{+#X{Do7y`)aFeCofntx38(C zp?gwCUE8E3bK48^GCSwYs4Hsi?d_?`ENbZJD9kCYC@n6?%dco{ZLX^*$V|zpX>Te_ z%xrJ2$V{znYbndi%gryVt}HF7sBLVh$}elHEh#B0uP!eu%udTKDJra}E~~3AtEeh2 zt*vTpD=lm8nAFqW+}b{AT3>tnlqnPYdi!V3n=yM*&xGmIrq7u^bM};pGv+UxGi%n2 z$F@3C>Fw^D*wxb5+}_pO)!5k7(9+RXUsG1xGqJO!tfIN4p|Q5IwzjFdsbvQtfVkADWjseu)L_aqO!WauBM{6sjaECyRx*Vy}6;G zxx1&Ky1uQqtG=+jWkO#^V{=PqUvE`$`{cfcrvAR}mc|K99aFlho4eW?E3%6#+BzE> zigT)`*T$w7S2Z-us7b7CPAHm@5W940(c&oy6Xxf2%`ESpTD5RiMO$ZHT~~Qkb7MnQ zWpi;wYeQ*uK~a58NlkTSLrr5>M{9RuQ+sE7OLbv!VR1=OX-!FaO;t@@by;S5RAxea zSVD+bT&z!suWw9bKuCP7cT8?VKwf@aL49dqPJ4HCOT(K;bMvdKa&q$Xt1C;3^0Es`E2=8WDynNrE1GK?TAFJc8ru50T3XvXdwM5L?CG7* z+uhOL-qP9C*3{bCP}^Q#+t%LPRNLIqT-{t(T-)4S-&|K*P*z#n(pg_oTVLJO+SpuE z)6!7a)m&X&TiMsuR9jfn+TK=IT;0~#)L2p5*4J3m(AGJnr@N!0wQt(Q$z3fiZ9To+ zH6^8$m8E&9X+>2fnXz#x+4&hMDTR%-B{^9|P0jV?71fPx&CQK9^-V49ogKY>U7*A@ zY3j7;le;?Gd;2@;n_8OMJ4-8S>zg|3%IaHNy4otsYie8C>Z_XTYwGJOE32w%TI;K8 ztIDez8k!rbtEy}2n`^6T>+72vYHI2m8tQ5qJ6hXY8tR*yYHQm%8md8cb7M_qV|znG zQ%!Y!T~m8wLsN58Yg=tab8B^db!lTyOI>wQO?yLqOJ!A4Q+-223&^gP*1Ecy>b8!? zriS{~?#9x}n%3^dn(Er-#@g!2%J$CY`i9z?sZZ2Np0?_e z(yE^RmfFhF`nLAws_KUNrpEe~=9=dEy5^SpmfD*7hSrw4s@mG>y5`2R>bAPNmYRy% zx~BTt`o@Olruy2ty4w1trlyw0=9b#(`lhzlrkaN4mgc7F`nKkl)~f3IwvN`?+WO|Y z+P1o?=BE0V`l`mp#`ebYn!2{`mgX!Dl>c-xt#+It;w*LOE#^%<}j{4fVmd=j$ z*4Eb6j`p^ursmd;&d#>x#+IIr=7xs8sZ+aZ%9|%nZ7HlMtLbekFDtKVY-y~muBq+n zZfI&LuWe~;Y^-kSY^p8KukGsYYALU5>g}y4sjO-1ZfU5m?`W$oFQ{qnYH6shZ?3JW zt*Y&812uD+T3Q<$8tZBro7-Bds%op6+nZ`@8ycHhS{fT$K~0vr#`?zA*5;bZn#!u? z=7y%G>iWjohT5j~=E|DJmY(jql8To0mb%)CDp0ztYiy`$?yRkCsH$pdYpAQKsBdnr zt7&d(Z7Q#9X=-S$t*)zUYp!c(sA=w~tFNu9t*&ipX=rV#YHF#jt*C15=xD2Ns;{fB zr~s8{O$`mDrFAt;U2UM2N>g)PeN970cUxTzC;`>CwluUhR8}?Bwzk)nH?+63G}hEM zceS@P)Ku5jG`6&~G?Z30Hn%p_RMj=Kfa0~esi~&ArM;=5th%MMx3#pSvbn3FrmC{O zy``n0w!WdIp}w}JvazM9rMb4IxwWaTwzjUdwXwRov8$u5rlPd2wWX=4zNN9Qrlz&4 zy}72Up}D@HqN={Vt)Zq0ltAig8(UiH>#AE?>MCklTDm&Q%A1;6+G;B5J35-`tE-zD z8{3;28fvPWS{fQ^YHONW8mekrni}h?8k-vHYikKa>`8=C5?>lzxH>+5Q3LEO5!+J=^vmO5~OSliUx-ql)HQP$Af0WLk-+RKZon_61x zs%sls+nQ?Y8X8;Lnwy&H>YG|y>T8=C8d~bBY8z_mTkC2-EzbI;_O_O~%JRCFrl!W4 zx~9h3>Z-c>hWfht#zv4KP0dYpbv1QO&CNA64Rv+REsc#0Rn_&NfU2u$Xaf15zP_%i zroOJRxwf*lskyPKp|-xczP7%hxv8n4uBxiOrKzE|uD-RUsky4WuBD}=sjj-NwY9#g zs;;rMy&2^D`o^aE`ufI(wzfKOo4KyOsjaQPuDZ6dxv{>s7F3lr)YmlB*EKXZfD|;= zH8eFgf?B+FppvDozP`2=+2dD8k=hCo12>&YwH_84TZ+W z=BCb#RHPnHUUVBqnRYOx-OHEZ%Q%iFrC}Gq$w}C8ZZmg}Xt7&R!tZ!&( zZ3elbr4iJRXliI|s;{Z7Z*FX8YJhsXwgyyu)HT#LwKUY!H8QGuG}hLGBDTH(l=$oG8=67o5wyEg2kNsl)z^S}Rtp?C6_pLyNf_rvN4WQHkQ&Cr24~n@uP?$A?!V(k&we|H)&7i(u zV?#a2d-c`zO$|-WptJ_=V}ZJP4NXm;wAs*5SJ%+g)Kp(n59)$}IN%NzIHxo<)zyM5 zZ>$Ho6qFnr8k?FL>g((3>KhvCK~kV3R99Qq)B>>_(scu+;s#J(uNf4vpr8Y*ud4^? zu5D;)0>wJW+J+`j=MWT`^$nnOUDp5#-8xXE1d;}M71VVE*$(RMHPnN&fp2_K~YHn_9 ztgo%BZv;gNIK_jU+XM<`kb4?Iib4HuP^>gHfz*N$8YrSbMu0>?oorA>09y)@00k*T z5bDB4Q0#%?1C%mBt_S%7*w8i6x0)vJ4EKp&2#ZGZw8} zHoLc}rn0oSvZ=GHwXQrrJs~cwv~B9*^;w>Q<5X2eA&7uNU8UbSuOsu}HNNdazN z5gFwzlNW-V*<4pqR8-a4)79QoQ=A?flUCH&H-GK6&C92@7RUR!`$T6|wohHOV$syD z=9;qNlG^s3?zYD2qSTm}w9=-D3)XMjxOj3?VXTjvUtDf==kz7Z=1=Zysx2!jtMBOP zYHO^@PmYeuC~KL#c;nXf3n$d)M*DaMB^1>4%wDo|?xc=}s?y@}#!isRirj>lgzU=J zsY^F)UNg6^HY?oQDdT9YtD3udy4xGev*Kfuaw^-WFWh8I#H?CVUy}dLc&^IVHtFm*(qQ!G2cQsTL z7nL`3cK7tO*A}G2C8QVD^(|PlaqZ%%t%b1xzM%=ZH9fNyE}S``qrR-LsG_N}x3{OQ z2Bb2xxPHRIwHsD1nAn&X9q1pPTv*pTd-1~Qy)8ARg~e4ZU41>>t<^b6v58rwO_LU_ zTfbsXe|>gjKwxxwN%O?H3+GPhZmudWEU9Vj?d$7mF3(PiPs%Q9nYv`n+T|dxM+Sw& zW>&OKp0i-i^0bJcu!P*Ij;V9!&zjU; zTMqJ2N8iN0j{1_U#DtW*>h76K*Q{DJrL`nEA|xU)zqWh&ym>SFTB=Knipv{1`X}_Z z*Oz1@CZrYC_RLgt;qLFP+s>n-?Dz z8k=3wI&s##*7zgWXFbuC+1hTPntb%Mt^H%_Y_V;u)RTgC>C+AgnO`kh=_O$NW(!9)!oRYfk3H=lL+UhEb zatkZ!+b2w$GO??^EI&Ott+2Xn^7L6Vr*t+{7G-DU7T0z5_4Rf&RhJhRm)F#HOq@EY zzrCg;FC#6dq^1Mx8W1-tC$F@zt8c=@p62S3yu6aChOWuercLUsE6q+y%q*$voIGRh z+^HS4#hIz;Ib|(<6DLjXZLKcM&Mhpj@0~Vl=H!mLlFWqow8HwHY4a8@n9^32pOKQ1 zRngu*W%|_q=8Bw*tb)?UzM1o8Pj0U*Oo@$4Eo|(cxp3)%$*pCX$%#oh)m@Wk%$eTT zT%3`To?F&BY0koV(>iPO6Qg313YsR&U9xoEq?XdmlImM)n$v9TyUDIukxzIVo)nNzyz3er>3@~hgW%v&^XN_%;Bd{j(YdE1ov zOP0*-ZzxDhh)*kO?4LPj)|9TAywv3Mg6fW`3l`0t+*Y0y9~qlb(LQzlk|ncyYw}a$ z6VgjsCe4~Nb4o{5PD)aGK~2|;MT=%nY%a@)jfl&tXrH!V>5^Gp)%mIM@fl@plV{DH zJ*BNIDhi^8AxS*eed+S^Jn+f=Org3r580#S+I1`tp3LQ`0%Kdg8II>%U8^s&{CQn z7n4-b*gs?b!dbnwxk(9$X+^Em7J^jP<;I3bCKuFCn73m2-2SHGw7A%mqUH%R7cQ9D zQGCDBx+~J6 z!y=Q4nx`#UxpYonU0z~LTxMD8l=({*PHh8KuyI+{J#&_=Tspg}EG05DBB`i#`qC9k z=k(TOCq#oIY~hjxQ(8;XVx!`+YWn9bU$t~rM@dpdXhd>J`z#Qzr#dS(GCr%SYsTWG z3nn)eCPzoaX4g+#xMJ1PneBz~VIff|rJZwEu39pqt12TpA}*(;vpf})2x|N0ELk>xLS1frcvxIs%k-sd)-0Xg zlot~m6p>!lzi`#+CDYnUQlcUf^6DqdU%q@^e|2U|Xjptf>x|{=)-IXWkR25m7@1Ks zaq*f}i>9^|B}GIe7B)^^uwvQVo{IG7(6EG}_F1botXndrE;G_UAS$bN^5V6t7fop@ zNC=NiE^eN>XvOk5-Q}rKq2Y-oo%2?2Si5*~OC4xxoIjy1J1#sry}Wbg(p5`lv=k+xG~~vI1VyCRPFb>k z^SXuI#qmLY!LbGHb5^ciHoLbvJvt&jx2AW_id73I*5_~sVkmQO9i&w2&JiV zq-DzDRm*2}l%_-k1jZJ3&tJWH^Q!4}84><|p{doA7Oz~nXlhGAd}K^UY3sBltCr1Z zD^3pe4@@ZQUAS)R<`q+FQp5cG!qe-fELpvL{-lQ7_{g}dN^l@eZ!Sm(_6SU9mZJIdcLJfm*P@-5ppF6b#u4DtzxEohywWaZM? z-4*HavB~*$6Bn#lKCizvGs4e5D!Xyoip|^B&+8~o2=WO`DDIfGWaW}son`59v8jcP zlNT*tHm9d5J=`xKCbxO!>aE+>&S@)*3-k?6DC?fHbj9KsttDyk3F$@6Qx~sTIaAN>&uq?%4e||6F7KJMblIY5Ek!ADiCLws(-wnDy|UyG-@y2i&be#0 zZe2aSF(*2}FC?w1f9}%d3#T>}ro<&?mbcGbx_r^J*5brqzmUYT?)mGsZdoz4J}VLw zoHd}_Fn?l0eo|agc4gPhB`X$9Y08fa@(WF=gaqfL+VpTxaMn*=ux#1f{<_@6xa8dG zp4rQmFPPMj8yn~!o>nt)$%d_)mQ1Kj4f6|#&TX8sXgRo8NQ_I#uj`+?blJTA+U)26 z|A@@`DN8qQ+pw^w43y$y@|veETDEv*cU2as&DAhr?y{wGda5#`0t2G58>cVdxMkhE zu9Bp%fZ+JT*69nEE}Gd@kp-%1nc70ins|UDFmUS}?7(BqKRB zr?h3tf+h1Nx0R)a1%{@Sb4T~17JP*hHR-^>MzX7$z;WTa;m)^^WaxL`(aeSUmMaBObfg!!vCuASdo zofQ)t9GBlTVb=TwGrMc@($lkx>iT9coIkxAl!Zg%^BX5GTDy78obHN@=#bFFqUMRS z=FgwjS(TTOkz3NxKYRY%DIJwrF(F||g)LJTuiLO$?X*x(V-D3C2iA|tXsEqdTU8aWN2hsS=(fgWNTS&Mpj;B+oaj^W=?1= zO^ptVNiXl5wS3*$MN?Y}lOjT6GAqH&?g`E1d6}8{)g4o2&z;fNRG1tU8JAVjHGBEm zRSPCI<|l-Q$K_OaPMtS@W?y4jZdOiFZRgZkbEfy!7bZnT#pl%Y&RM=@`P{y`y!h~l zg#5a$X>;dH@2)S&%gHIO12&$Kynrgqj8 z=jG&<)b~!GJ#%7bb#6jbOj=RH#09HXFPYIZsXa}gYCZwfj9I*L#r#Q4#i_B; z37~fG%-PfXTPq9m^Gj;lC(W2OrKh1JJuW6W57hiwxoqx)`oiRxsD#|=_6gHxPVH?h zFU-p?sq2_DW5%S8+M?9>_|(FN-dT%RECr>Vl$h9*g4)hWGiFTgX)G_uFD$F?nmm14 ze_Ks{N?d$eQA6*nCCeAi=&H#}iHl1ss_U9OW5(o;y7I!pqKd}uDbuI+wN~XN$0cQz zHucY0x@^JJj_TZ`*!YZ+hOSAV?m}%@F{rE8J9+A)p4Q5oq=b~*^5%(imoA+NY^y&SrHRZ)c#g#4nlPC9gHCJROC#L09woaPAbn&bSt>xKCaVfbKO+8a) zOzmr~E-x-Du4(U|JgL8{u{1L&F}4y@ zElf{J$ttO9>zgvAuf4vitfZu}sk47#e^*O&enwhGenn&NjQI;@O=_<$NKa19DXVYq zn>@LqI2TpiM?(0m1QMmwJlw} z{e4|cpuCq=Sk*dl=G@uS`dcb;(^E6@D;l~dOrFryT31z8QeNBK+1uaS(NLC`m6cmm z(>8JDoS9R5o67Ps(z6RH8oMV>>hEf)t1K(2sBi1)>FsW>E6vTy&MT?ym^5qljLF?i zW!Y(2y18fK z#NLjkx~j6Ws)n}C?w;<}y3)LyyuyllP$HW)v9rE3Co>Dwq3rJO?`dzYt1PRiYH023 z>h5T%F3HcyEv{(nnlydJls=FZnOXUzH7z~;ecf$M_0{DSHI1#Eot+)c)g=Xa1;tg3 zU6ZFxpVHe}TaufVQ&3jh+TGXJ)!JBBSy5Hj*w)e6(biO5lAm8tTGQM;dHS?TJuNlG zIoY{|6?JXheZ8HnjkQ&km9~5|u&dtdys;F=4>Feuk zZK|!RtgdSYnc3Pe~A!O`6!( z*;rnfpI=l`)zHz?-PP98R9jhD+t>n9+FV;!TwGFGS>Mq&aYBD@dqYKGK~Yg@Wm9K& zS4V40V{KJ+U1M`gYkNB=^_P^CRW)?gs4~ZK|t=sBCL% zswpomEi12V=;-b1>+NZ;2RWvsv=XGU9puic>iWi}=9ad$rt0$Ya!}N^_w@Dk^|aSl z6c?A2lvXvicXqV5wKmm)%xr3EX>Dz)ttc-mE3azo=+EQ6 zZ)>Wnsi~`PXl!Y1ZK$azFE6jCZUiO4-tN}Aiqhhu;_@1h%8riKrrMg?+WLm3*0$D$ z+Um-R@(PelPj63GD=3E*mz38wwYGP3w6`?W*4EY4H#W7lHrLlySCp57qqe87x3jsf zs=TDAxV*NpwWG76y}7X#1nQewz$z=tD=IRrk0K_knMF<<)y_Xm9blHnAzOg)!o(FTw7CKQc_l3*WA(p%Hm)f zYd|Vnnw#osDyypN8d}=Ax;tB&>S`)Vipy#mnp-+Sj%lc?sj955ZEk642C1yBuC1$Y zYVGK3YiX>nsVpn6s%-#qJ0QVbRa4*81RAxftEsB41FP(4Yi_EqsVFO}tOaT8>SzV| zqN=L80j3gSW?M%`TMJlaIYebASY>rpRdsz+6DXMKs!>!{mzR}Q*3>t(b%M;SudS*C z+YVJ(Q&U^t1U0i7lmlw(n~_yEK(a?&byamuU41i1WpiU)bwyc4Rb4|tE zTC3_BTiQCnnYgB^s=Btmsks%R5}dAD5h|JFcb8BmB zOH%{L5Rk)K+S^-On(Cn{n_57eI#9xbsjLT;tRR)GZS9~K1FNhD841crHK0%el_wy5 zHC2_B)wSSK7@S@}wu4lH>;s!w4^i1z4^~;%01D35=Egd3+N}pU4V>XYk=fYN+SUpV z>B`C)P;j=lgH?i3XFVu=G&k0RN{PA#P#M__4lcGAQd8odwuC}he0i5}u0a4%31adUk>ma#CP{wQo*`dv1D?2 z=Z5rIHT9Vba!ND(s^?YZEli)1*HY{^CEc%kgI~&qTEDd${8BeG`c2so<+ov(U+RWQ ze&riF{Hiy!_|vH_MH#GU>ZI~Y$JbgpGU;c)r@qYaq`uyTn zZm9Ij->^E}uYSX#c)#`yb0YnEHq43e>)tRo+OKuP;uOD{4QmSgvNvpK@QYfoVN!@+ z`-YV{ekm(9ObYcY->{+6&#!jFhTdSm;*}d_WcsD_Y*^9l=a;*1!@?%NkenqO7Pk2X zrcd9nd|ISmLgj`HiyHib6M8nRSybj19^boR^|Bhj;OK@88&>p(`9-8J+^}Y8gDmoz78dvghnKI}uy%22Ku~Dj!VT+IwnYX6$8~Smuzqe)P+&;btPLC1P00)j3@w4@wLZY)8r>)wsVcm*(oh9+X0RiE0g)Ot!Y}l}N`P|O3q>zAs(CEzi ziA&dQ*syBJ^rpf%kVsT&W#^og>o%-gxp;b8c}hf3Ku}mzYH7=~rK>k=Si5rZ%&yv; zxbVQhps?uVqK3YC%hzsLw`S#%Iem>KsnH>ULBU~BNqIHxGZw8}w{G2XwPK7q46k(zW!ELyW_#j?fo zW=`sEswvJ%iH`~o4G9Se35$q|PDsruu5Rp{IAh+D<*OiSSFTvLc){$ceeDfZ#o4I| z(GehHLqfwNqGA$KvkNQhTYIO>TCimK$~9}(u3fWc<;vwt7tNnNbwX!zU3o!PYC=q8 zcxXs)a0pmSbbL~JZgFK@Q)mB_S@RYxU9ocY8W32$a>epxOBT(aJ$+JdXG=p>X?|8} zVqA1YIM}j~(6I1`sOY$al=Pg!@|uR0&b}!#<}6sWbot7at5>gCvwGFal`EDlU9xDw zyxG$y_jk87)>W3|XQwA8#Da_f`7RV>L?pimMvYpXyN>Mvu8}3)Zg9S(ok1bT9}uWo{|_J6CD{59u^iF3NkA^A|f&>IyNpL zDJ4BCub`y7x~`$6y}NJHlmMsT?Wy_W=U9x2HqJ;|<%$qxV=JctP zCiHf-w=_1?RF)R!=VYd*BqhYfMn^?OMnr^%hlfW*L_|hLMMX!)#>FQjrKDx%<}X+XvSR5nFj%^DDcA~-9rNeSn=^anjA>IQP3Z0JY-?$1 zsH>?gD=y5>$;wDeNlHqHkBf;0*%lcY0RbS}!1jSGOiWHm&&bNjD=aQ8ud1nQXl!on z=OlarO1k)EEGnwpZFl$4a1m=GTypAa7(2LVtgf;k{}CL|<+ zoSK@Jo}QVNlbe@cP*7Z4T2@|BSyfY4-_X$5)ZEera&u2_Z~ue|lO|1`GG*E{h{I>k zo;?Q?p!4Q~0LYo3UuCEq=^$J^!N63cXxKS zx3#u3H8nPX{83$1SpoJ*aZy2jeqL@)c2-s<)H|suDM=uZn3$LV0`ZstB%F|tkeCQk zmy(i_nhNq)MrKx4PEKwf$Zti(B_*ZhAm3Hj)Pnri(Ad<}($WUWzx{t z*wob2+yV-tw)Xap&d$!R?(XiMp5ETx-oE|`6F}hw3b9F(CQU|wNu+>@7yxAKg#P~i zK9DV-@apLXgHAB$Xm4+CYinz3Z2^HM5NHGkVFL)%*VlnSZB0#0O?7n@2vk;9R#sG$ zgFsnnSt$sVfIu-66crUgS;SEwy|^&Qa1bslD+2{6$j8=;yZ0$`iqOfaJn>{hV*!F;e1uutm2TA?y9bHHL? zH-N$e%0r?+?t+;Er@``I=R?ed1Sr@PkZ(ZhK;aCvqY-2>*zsU>V9iLO-`EII2NDOF z32`8Z1u_SML2_^wB0OM1jSV0(Kp5;>XdHrMVa9+A0AY|A)SX}^EXa}Mz(#;2VKE1m z1giwGKt6+{ArK3y5aI=puj(5RVFGmsSQp48AO<8Mf>|KFP~m!T_<#cnE(HoLkTl4> zP&2`fXlMjk3`(jX13&=|3qp|nAm>AMfu$i%h01_Mzyw$cgn+03v0+xjXpjrQsvE!o z46ztV5bPI_Mvxdt6U3QKjg1X;wbfNs)%6X{P0dYB&8=;1txffH^-Znq?XArX^>q#P zwbd2n71ebOjdiuvwe^in4YgI3RrSqnZ7mJ8HFb?GElmw|H6RUbtxb(h&8_VnZLQ6X zb#+Z`?X4|clV?nBE6>X*sHktKE6K^oDQoQPYAQ;MNiA<}tu4yQ$t|hx>hEo-DlMz+ zoH(_wxu&L}rM-8`%xS%?9TR5Gn>%aT{=W8x`qr+l*2bpBs)DSnyu!SU zr1-d`tfI1_oXpIOw6whPirm<+xa_jJ#@3d)>YCQx$&)AbwbsV|IHFMVNX}uji6Z<>cx_UcnOUkONi?cH_k|Kk{b+S$hI~F zI%7g>T|-M#ZFOyRQEFU5Vr*n&d}3@wL|kfmT4r8;dR%mTN@`kWZeCVqVO@7$Z*PBZ zXM5lDIn#POJ9{V2Sh#YS$ELpl@)$;k%Cr_C=dD7%b{ax+tU0v-hO|?Z? zX&G5*aS>tRVPR3pnVBgGi79C*sp%a|E30cN z3bN9Y6JujyVj@DrViJ>6QZq7A5)#t0(vuRB(z9}ls_UDY+j}NVoG@|nq`uyX(`U_` zHhtcrB}S%wH4*1g}Ip-sR=RBF)`6Gpa6|Y%*@G5NlH#lNlDKsC@d%{ zuW4-W>Fw$4nlNqp)Jc=4O`kSx_LAjG7tC9*WciBaOBT$UF@46=NfY~fyIPuC+FI%= z%S($3axzoFo{x@>jgOCwPfE|sNKH;nO-oD9%+4t&t*UEmY47Up?w>q;>V&=tQ>M?F zGk?*-dGi-7TfThhk_B^S&YV4a`ozB8zV6PB&i01Nvhs>jkeTt(F$qZtvC*+{@$t#& z8EMJMsp)B{>DhVt1trz>jSWp5y?yeCY^^RU$j->j z%1Dj}g=cJHa&lrqVsc7aR!&ArVoFv)QE^#iO!nt!7ESfiK`t<2jC-wJsx3@O8G}Ts?mlfw_XJut1#l^%YCd9?XC&VWtrDbHK zfxFKE{DXAG**}3@zg~er6jV*2M9i3f$ z6DCidGI`3h8MEiioj-rx`~`~_FPuMn)~s2xX3m&8sjsK2v!ku0v9_|jw4^9MJ3S>i zDJc<@GvnfuQ`6JaQ<9U@vT|~A^YRNz%4-^$T3XvXd;0o80Xk{gj9DNa=Oo zrq7%;d+vh8ix$k8HD}(uxpQVspE7CU#Qxr%u8!vVnwpxb(!zqgoQzbE?~{^}5)zV9 z)6>&3GBVTB(z6Q+3-Sv~Dr%cr+S}VZI=lNPO`AHozkky7ISUrdn>T0noH_FsE}TDe z>ZHk2rcLSZ?r3XiZfb0(t12zX&CSipOifCNPfSWmPDx8oO-@eD%+Air%FfQtEhsLp zsc&j(Xlm>3>z^=j;>5nb$us88oil6Z?78z7E}B1k){Gf5X3U&9ZDMCzdsk0qYeQ{C zNpW#$aY1%kVthh!dU|Ri*#GI-x!DTq^#HmxKOr17;+SD0y z7A#sgZ_cb)v*ylUFnju>{+{lh-oEaZx~i(`nwqML!pzi^G?4q^W1`|xKu*j^PfN?n zE6C5y&dCE6BCV~hZJphH6DCcbJh88D($wiQ=ggZwclPXg3m49xJA3Aoi4!MJnbhCi z-ck>064X}|=jVbVI4dPKDkdQ%BQrB2B{?+{6d+j{Y3aG8)iqVsb&V};U40WL^mh03 zO`I|V5ErNK8)8NKK4SNXg8} z&&y6r%gD|vEGa81DK4#P?dtCC?CkF8pFDNi)TvXZOqo7+;exrdK=D3j_MBPMCr|9} z>+9+6Y;CHmudA*oFE1;|Oij(mNKZ*hN=%4PPS489&dN+n%gie-%Fin(DlM;WYHMq4 zY3l|RO_TfkCQO|uC6)XDwb?d>g~247uyabaOWZdPVi zW-7S&0Og~!)by;JoSgjp{M_7vva0HuT2KYj)i+@xDBVw*I&;pf=~HLSnKy49s3A6O z#>`ou%-P-5)z#5bUsF?6URqLIn3t82k)D>Cnw*r7n3A3WDviMjsUW|gxU9Uqvbw&x zwY{gex2I>ql&MpuOq(`!%JkXu=gk4<%$c)i&zLfC;)K5L&d#=`x|-VB>hj{E!n~~P zob2@E#H8fpq?C-zjI@lLyxiQ}{KCS5qLQ-miW*Qc(g{i~{Zpn*oeU{O=ggfobH=RM zvuA;#XyU|46MH*bo0}TyYip{?i}Ukxa&vRD(vm@GJ~bsZEj>LWGdnjgKR>^)xTK_{ ztg5c5xw)mSv%9x{(&WjLCQY6?WA>ccGpA3VHE-UWnbW6Fn>u;w)TtA@+ge&$nj7n? z%ZiJN3i9*v^0QJw`4UuTrlqB&XXWODK~ZUWd3kwtLsKKDM(*qFoj3)O>Zi?^3Ci|! zXHEr`D$^%VoY>#p*4ok8T3=aOT2fM0TAZ7inVFH1k(rqq7oCuvo0FZDot=|gP+C@2 z3UX+5Lu*@eYe!FCZ~x?J(MOAfG zMM*(UW=3{?eolH)Qc_ZKdUke3YHCJqK~YIbabZDG87STx8XKG2yTLggR4aj!`Lr3+ zr_Y={XU@!NQ>ILYG{f4Oo0{tD>#EBOb8`!dit_Wa(vlKV(zC$jXKH3aNl8IoZhm2L zS#@1aWkq!ZC^$iF_lZ-cO`AS_+LTFCX3d>DbH?-;)22?HK6A#D2|ZoyZEfwXjWv~J zrDbImWjV0{{xR8=jV(>p`H4}{$vOFXIoa9yB~`Vxpwh6QuoxUuP0j5SW`d$++O)}& zXUv^9d&bPgYu2xrJ8kmhiM^d2-Tf0M_O{g)=cH%kWT(YNL_|df`}>Edm6T@2hD9dl zmQ~j__s?6pc+QmG_NK=6DGQe^m@#YlhE-E4Qd5g+YsYI7Rr6q&~My3{4R5wpqx%0rjUE8;BSkT+nzi|E5EnBv3TrsD!EGs=D zGd&?GuevHL*wrI2&@U*trhj5bb7y~FdtFW2%+)*g?mu$+#O|dNJ9?*0n>b<0tl5)W z%hJNVoa}6!yhCFmeC(_&jWy&{Y{JrWi);Jl&Y9TWHgVpH&HFDrc=hV`$picM@7}&; z=i%c=_ibH0zpEhJ-N7|5HZCI2$Jg7*SY1`y$jr(uB0VoRJt?EGqONV)+QX-h?ccRy z$NE`4eKQslP64^GH>;s6KBt!J9%K!(pgjb+8SHBCr;|B$&CwivoSX@w{dcFb#}71 zG|ThOL%TPx-?)9(u5B9@Pj1YQ_jj^) za&>q2@bUL?v@kZ%)iJR3k4erfs;sW6ZSJ2wd(pc6Cr%vRyKCdpnUg2an7?@GvZeE< zcUNb}hJ}U(2Sp}jq$Naz1PA&D#b#Hw^iE%}a5gAc&6u}p$AKfqPaNC7alw?nuC|uu zmiCU8>YTVhPbX_rQ)?GbH&<6T2MZ%p2j7Uq+}hq*3zsZjIDgUVt^1CgzIfyItxKm5 z@7cOx-MaPb)~;SWqpK!2#@EHk&BN8f*(<=?(bC-9(%RlLEIvIK)IMzOnmB#Ink~Eb z?Afzx+uB877tCC+c)`qxt!0_6BeZQQte*`fur`fBr2WBeR#?VR1*TwR^*ZEbC>t!!Na z<5Dv7%j=rkdnV7AzkL0+-Fx@$+O}rNf(7&E%$PoB;k=0*&GqG3v0)L>u`#jn32{-8 zkGRY`tEl&_03$Rv>seB#Xc%a_leJaS;y)=e8Xu352k@!W|G1*!4j ze(o+VZmurQPEL+?*5(%W-eECu$+;CZwRLTiX3d?yY~$|zd$(^|yL8?hNW)|9wBEM* zvYf=&xWt6`xTKVnL{M)nKBKU_u4Cf#X_F>TpEGyXti|hh?A*R>+s5UyCQX>w-vg>n ztIG0{LcLs^oE#ioy?i}gon4%rT|I+hvq~E~`lroZv}nPCh@j_qp~OlWTg)uv4?t&Jtg!9HH@b|$6{{^7yi9-dzAPEMW?X(f%_lV&Vf zym}YdHeeNdU*vW6jU{KPM)`P*}{1XS8dv{_wcF9*RGsCxNGZ%)yozyTD*ASoXH)v zg(+cPF0Nia-tMj*K3>k&7B)_vexV6Dam0#)bHLxH&t63&TKve}5lu|H!nGhK~Mea~3XMx@_gzP22Y#Id$RE`I85B zY+Ac&>Ea~|=gpej+gh2E81C!lLb$6Q;~sxN75$ z9h=vzT(Jz)1D-K+=8PFr`dX_C(&FP1K)vVGG*Fi4<%{MoSTJv9e{*GFR${1^i;J6^tBb3rw}+#xt+RJXbbNAF zNljx*d;hdq)2Gc{wPWv&4XaizUo>aNthw`MgF5Sd?bW$S@kz-^iAibMS;=v6NoiR* z`Ng&E6DEUl(wym&CeB*9al@(=%U3L(HLByloJDK5@7lI;{hDQSCiP94wP3;QX%l)o z>Wk8ol2a06Vv=%-3o<|*%an|Qn$Ag6CiPF8HhUH*F)v%Ye#3?htLOJMfrexosw%6h zOS57_0{lE2Z5(|gqr(FO0s{R5g5z?knmYSuEL^pE+5EXnH|#oi^z_BcXAf;%yJq#W z1+%BmnmcEDPeVy&thcR|qfel(hnttTmy5l9~TpskXF<@an_s}lP6A^GO4d` z`qFh9*RNZ*cKPhy=Gy97(C}bGZAo&7w}+>@v!h#JWK2X@czCd{cVJw8L(k;tvllK~ zzIfr{Ra&M;lu=zwpG& z!s-^#m`Qu@gh?}(ZQiqQ=f<_m7tEYIVZzjzbLP&R(%;=!oE#MymzbK7TUeBr4jP9{ zPRl88oiuCC%&AkSPVVcSIA__Kwd>ZcT{dS@cWYx^O>KRBT}^p*bYMt)dc3!}hLWa3 zOkqhzn72=KUPE_xOMUyiZToj^+PGuyfkQ`+9o(~P&w<@5CNws6Pno-D!Gwy0VE=%i z;LymJ2!9{{(1^(JuwWk#pYZf@Q0J|&s;sJY>XJ?S_HUj)W!n4|Yga9r+FIMtF?r^U z-rAg)AP-09pv>B~wz~W%Pmidg_Gt?i&7V1C>Wuj-Hf&h2X!eweGgs`~zjO8UhRpDg z_=5V@*80LIXA3hMw}6iW9UtmLe^8S8c*KDc2{M^o4A%_pzlJhOd% zcXM;^ytNybPVZ@{sc!1%Xe`Z)aI@0#Nd+YZ$-yqR_U<7`1vL#dWfd*`b5`#< zxM%&s*)wLZ+;!sI>3z$)3KHYf%UZhIN)tRx^$hKN!Xg6QZ7l7)63SZI>Pxed)5|9= z+i~>d{?*gEIwvjMa`42l-7BVdwRKILwPfksiS2bYwXOZrr*#xWdU^PTB^B3JqzBlU z7+W}pq~sQ4#)XAMrdD=Mn>AzFjM)oT?KpP!^r0=QmMoaNVAYmg+m`kfM|yb#L?&lu z#`#(s8QJ*8q~{hC7Z#K@PhGS3=z&ek7A{`7?datj7xyjctt~4qDX*?6%Z~H2Gd8w# z0F^L~_O?zzS&iMDjpcbcB^`@*pE`SR&8)tjDT_DnJ+NofqW;#F{#gqb&zsOvT~XE4 zGkMy?*7Ee|@bKv5+_KWFC~tc!JCE?BtenjFu)yHB!j_5CXU?24b^3x$2Tqxwyaw;ee$&VD>m=i zyM5K%$^HG4r_WowU`l6WeQQ^5UvGPPdPHDIbaHNCUQ(F1i-V&_XhLclWV9)_x^v3( znX~3BSPp8E?Ap3+$=ulsS8Z6oV(!F-?3mEVg!HVmC|_3>H*f#2_{`kgoWi>P*$bAe zTC-~L{Dmtw?LK&D-#ijIkm ziH-;bf$-?0^z_uMs)>tNu2{Na`J$PVXDr=%;OL({PWJa5i|g$w7*oIa(izPf4B zoCP!cTPm`m0)nE`bMvy2qk;nh0{nx*;}T*bW77(XORHLXdb>J$rY+lk=*Yh9>z2%% zG-cMZjhk1^>S?OTOHa$pPLB!j@bC$ZOHNBmOHEElDr}#xa4Ru$)Dq-Pd3OkK2W$^1EU=FVTRWW}1* z%jVCVK4Z?3<;xb$p4?GeUfn)<){MzLO+|^};jt;%`MJpv0Rh3G5pju$F`3E8E! zEnPkBjg6gC7OdNK=-|$^OXkg|VPR46iAnL{ey(;l&H=HRMP;Q$ z`S}G!Rc%w}Eu24l=B#;(R;*dOa^almQ>M&Vw0hOz*^|4Ps;e4%rcR&K(_E307#E+E znvszl6%-gAmzb0g7atuG6p>n7-Q3yR-PYXPHEr3}z5BPVTfTJh{MmCBE?GFex2?Ic zzOpDMH9pkW!!s~CJtr$QH9ajQwXk)@;w6g~g29p%YuB$?JZr{`nbZ0^T51auLjod_ z)6){8L;T#FUA;q-3oFVB^NTCW%js zO;wdGlV(osY^*8EOG`{lPR~q@4hoD)O;3)Ci;s&44ofVoZE0?9>*#Fn=$*Z0=icpW zmM&Sobl$8vif$*P{XXxV~UGv_T@G;hJu z)vH%7nmv8S+__Ub8!GbRLnAXPYYO87+}+$gy!=Aqb4n}A%Swt1i!0lw&YLs2d%}VZ zTQ@G9HL-u< z#RLY&XO}ilS+Zf%hLsCv&X~V+^{OSaCvt*47EbMHsjF+5ylnHvd2NMx6|KFKW-M5~eE!77 zlANrZtfUBEH#hIl#LUd3==(w!9DNB~kYRS*YtLdCHbMdM*E9OqE)7sNJVZzk;tGDgly=~p%>D^7$watC= z)~uP=QC3ji*fnv+{H4nmPHV5o&&$tA4DoPs^@~i(%uY*;3X6zJ$ZedqXz{eR^1|Zk zmahJ33zjdRH@RoRtR*X#FPJfT@~p)xmd)y{NDXnZG_&@l~>gjiZRgCT%NI;;t*)$X>z_Jn{=#`vyBjOZigS`eJRBT-B2#k< z@-h;m!a}1ns{7|IoYh-bT2fKp+SNCC#;iFrXUv>4f8nBeGpA0TF@MFXB~$9NLtU(` zo%~}!87V#{KCPsoYx1mxOO`HOwtU&*xl?=Fnp?UiOrJSxdVfo0epYs2Wn)`gLuqQL zr?Z2zM?gqqY(iRYSyN|ES8G$}ltt^d@7ud`-MqfWs_Le$Nz-S|oZQ#l-rm_eanh7& z(#rnHDyZePFWE7N?WG6&~C+604_D`D7-CSP>TE5WS**kH{j5&*!uUI^L z%EW1NKvM~GW^|Rr`8Ybd2SmgsB&BBN<`A8>W$lXZd*HlLQ6wqN8d!y zjAT#GgsC&8^!4^loY)KMzSibNdAqp#g~uhPWaJg*Wu_#9nxVb@-OV-C^`N2RhL+CW z2@|I;T(y4nf+>9yXU<=|WYL^Sjd_V-0sj8M;gM0XiK$sdm9?O0R?uw2%=yb#E}GI- zSJ%|uKW+Bh+0*-4sw*lRT3efI3X&p1!Xrcdz1%%O9kSfYmhSHM*0!GM3s$cX8o=KDXL6eJxot*UEnYbYH+;)!k6j(B3zBQg7en88ardxA#t(*wxh3+SSuu zm75q97Ub_AmY7pgRaaM8l$D-aR^QlA-_+jTSeBn(R@YcxUE4K#`KslM7A}}Oeae)n zGw05mJ*A^EJ;FaQJSHY4F{`Yuwlp`ts;#H1y|Zt|ym_Dr|E{*inue}vplQ(=-F21K zjm>ps`Pn(y$zh%@Za#qlzJam%^&K7UT@xnt_fD9xVCm}h;D~RkZ|>;s>g=61d&UG% z)KBhdsIF;hZLTfPPm2o=4hoIWDygiht*b1`E2?U2r~wu7HRVNxWi|EH6;&-0=Pp{h z6g0#*ZNj7(v*%2o*i~Pc92piBmzb24l3i3@UQyH1)zwm4+uS>S?%WwuC-t<{R5o-^ zo-u3IjA@g)Tbi1h>MQcI(vo7sK;6yY03V;w)RKD8vX<%n9Uc9%mv7jxa?z~GJ?*XS z-Mzh??d{zYCQX|;d)CC}vcj_3rsl@#qU_YzVBf&_JkV5WbyayuX=PnQLtSM_VPSE3 zZDUhyX^r>}R?jA@g4 z`lc^hy=M8`$$fnjCiHf7_xE)+H?{Rno4w#M?@)cC0Iu=w2Sy2^r_ zqMGKGmZtiul7ifvf|9Db`ue)clA_|ezWJ-xu35EW$=u0(6K5=#H@T@aCo3l}CnGH- zDK08Dv!bo1ucxD_qNt>{d)n-olY6^5JDVF@dS}d^JGH-W;>5nL*5=0YteC)n;HZSe zxbQ$9Pw%j-hW@EjCr_R3k)L1Q)ZX6OSXWt?k(ypm-P}@NSyGT+RNXyq)%w-T7A>4V zbMnN=)2C1Fs4dPfEX+wwN=ZviPE0Rq00%;KabZb)-|Pi*CU>y;-`+6o!nb_0O(N>*b z(z|Ng+F5PoMWxl%rFpsKE!`dUg(+cy(FKhSd9m@OeY0ou)R*SvSJqc%C#04&H&^6l zBK7EEey@0&ESySc8cu(+zBDmykJCLuXJzpAkblprT`HnmQew`k7v z$vyQYB@KO3Cr_9%ckzPR(wy|J;iu_!hqJU%%!yR4zPrDN*C zg%fKEa&l6lqf<+2s)}-Q3rp*I=PX^mY{l9&i>7q7HrH3xwDfehw{}nJug!>yPmBu- zPp@ohsH>~5t*U98G<_y0{Wn!qx3ss^H}}n$GjG}Yjmsw2m*k~{dbxRrM1%$U`UXa& z71ww4PMSS`&ZL&w+WLlu_6gHx&YZVq+or`6S{rLia|`PFCik_07V6ctb%C7OTA2|S zn~)fvlwHx-(lveAsznoU%o5*ZVpQB+=9Tm~Axov~>3 znx%86PwDSyYHn_*uB`8zII+LKucbIKG$1f6KCh;wqocK{skObctGjOkXv(9tqqDQK ztE+$7{ADYa%%3@_wJ^%l)!ox8FghV2Ha0mszqqowXX3>EzMig*uD%Jq9i5ZsE?v5G z`HF>;8cOnV^GX_erc9mC+uhz!RaRb6SyfSzo1T$VSXx|IRN2@yamtjbQ~Fzqlf!~S zqEd28E2}EO6P76DCgR@9S)?t7&X$ZEmP3$w^O6h)>L} zZtG}kZ38X-Y-;W3hAdkEEd-f3VbYW-Q>IMnZLcfOjraHP3W|zPOh|}NOwTPUt84G+ z>+9{GFk#}1fW<1#DSy4#!T8|rH+tD1Wz_II?lb%2&$PM^@--P=E5(lk)}t}H#m+bb|8F$uJ~ zDJ3;Mx1t5K{HwjQZ|dwhb7oBG?dq90ZRX55v!}LK=I56+_Dr4H+uGDnS5a6{R#RV9 zl$(=ZTwdGMTvt{CnnVI6ulCB!=-{x_()zlJ^2+M!n)8FOY%odohRcnr0?w6doH3=pts*7R-77RH zJvlxhEh8f%tDvI3rLC>4vv10*IrHbw>}zgl>7M~==*;Y?&P~s&?wB~Sx2vMyRW~mtDzt^FeIt4stVM0Y^teg>YX}s`jm-%6Q|9d zKX2y5wyL7M(pr!$t<_l(K~Y&XprsOxP4%Eu(%IeF($LgCVaD9~^JhAG zzV_Pe2ruu@gw*83M9|8ntb(eR_O|ARrp}48<}X?>XG&LdV_V6p-rm|&RhVB~-O}0J-Pu@@5*eACUs_sPRt;K&&@o}! z%xM#Qx_c+joeQRrTLtRtXl-cv=&z&{BzoV(8bHcP4 z)2H;dH&lbxHa9l4v^3V%)YR70)|BUGWf#@8c6PM3Hr19E7FN`^b+k3t6lG^-=VWK) z6qZ(0H?(&4PM9)%YJYe4gc);Y&zLr4LPu>$L19^KOG{lzUQS+NQDI?GNqJ>;Z9_|I zXLnC~Lv>x})Oqt~O$7yHXG;@kIH0*AFD)fGDHb&87?+e;P+C#b)X~{kRoyaa?gCIl zwZEsUv#V#q)T#aLO|6}sZO!$yRh1Q04K2;})z!7trMX%8l}+vKZLLl9RTU*=l?`oe z^`-f_1x1Ag`GtkKIR&*{6DCcWHhpSudq@BDdGqH??dxc5tSK)kt*URREG{fAD=R7} zDlIK4D6VK|>*(s~>1nO4YV4c6aKW5u6Z^V5TAEuryW6VsGc$8?(i1^rXc4iQCDql{ zjqRPS^|ejiQ|B$3KYii^P-~@g@~r87t&Pp??X9h?Ee+-Q1?3H`?d>gfQzR@>U%P*zw}T$GnnP*PlwS5V&EJ7va<8KB(P(hKUgPHL;KsVpffZ)|HS z%gZk*udFC7E&z=fRW^0?_4jsxmY6qoOqsWM!Hg*rdzx!1YukG|8_RMtvvM*Lhy^nZQZ?{P1O|@m6es{<<(7{J?#w@ zMS0mdMfE)s``YU3>M9Czi|gCl>PkyW%PUKA(^E6^OUi0m`lrpBF&VUkw7qN6Y;c3U zwK_jDx3ak%)SE1?D9O*x$uBG}Ew62#GJAS&OI=-kQ`eNai{{UoK6OHSO=($udq;Cs zA!uwQJ}fXSE;%JFyP~D1x3j6HqP!YBhP+_bl>V-k`ufhv(np2SLS8qmen^m)s`2Rloscvr)K1rl~*=&Pnj~&@IuPMdP!!M?=YwpT5OQ$wv2U?q0c*Ips zUUT5+?v<0u;{5%hN+z#8aPrvBW!jJk~Qz_66kw#jqn&FrsD4|cV8@{KL%n74NO zo~?^Ib0Y#HvzzB`+P81Zyr#^k@Pzz^33C?BpW0cK8R_HV8W3O9K4Gstm39gi`H#gvtUAfetb|sSV~dTgxQOiEuGt6l@#a~mQ_D#@w#=3dWzygB9e;R zrp=u_p}8z8HpI_2FgmNYf5ED?YZgzc&WKIOsRtRee#zwe?1cFAvd)={m(J~}NRJBi z35ZB5Y3iN1aOvXNz13OqaoLSimv7#=b=9=`yp)vO>h78IW>07;N(y#!a`uWyD{GxF zW!jXU#-fzysN~|#xofv-*-fUcYKy zZ*_iVc6sZB=`*HuH&tZEg#?Br=2kZMOr0}-W?y4jeolT>>*V<>*R5SNv7tC8x3qD> ztQozHmHEk`-kyOmsX4`Uos*_c>Zr_$Psk{#@1C(_#gbXQZ4DI_js0^L&7U=GVtZv) zTugF)RdZ)||I}I2dTR31(=!XI+9%DPGrbp7!ey7#cTebUswywei4O^kOfRl#>X|xc z-pu}{(%izz#*Y4(3zy8B)Y(*BQdHGBb;gADhMKaRq{xW)Owfv*&PlUoPi!d4E3Rtp zow0DqqS=$W+v=;T>N_S(?5Zy>&P$644h&DsDK4*WXzT83smRU9E~;$koH~EO%)a*4 z=EkP(nTr=q?`dmks4U9P$SSOAY;EtJJbh|sWo~vsd38hQ#Ho`(b2UZzg_SMceVw&M zIhkn*G0`dcmG#YSy;Ek*>TfD7D5`4enmlL0f@xiiwKcVMt^G5m_cm6PZ@*b0)OamY3FaOq@Qor=c({AwDiTGA=E*xT2=HtEa1}G%G#3 zsG_NN#)5^jCbZVoG_+5cy?DvoNv$;{`PrE{h2^!)t*xCCr%mas%FoFytZ43^F>7jX zQ)NM3QDuF5Z%=zeX;w-?Y)pJwVNG*e*TiYlCUi7Z6c?A*w@;k2c+rgRhRX7a2JpyQ zTTOm?Vq9EuMqX)Mb9>*!DHB>NODgIb+j?d!Ts(i)q|Vy1ibl{{{O;zmtoVqq(D1md zvg+EpruNR}>XL$-oczkx{^_86+gjhy)(dKq%$d?vUzCxYl9^xG(AL@0KVd>wV|hV- zQCSse9n$oP?bStj1(i*mUESSn)j9Ez;ZccMW%VtceN(4TpU_fSQdCma*wHt2_JTQ+ zn#xNmnz|=Wo-(1mt~fn93^Zm}-O|8KsSFZSA0jWl>IMc5!uU_r#eC=1=QtsBP|7Qxw)OOOwl&t2<)o$NRJHX_nl^9oyuSL%#@;DYr_Y`< zy{8V8M$+=j>e~9IOrFr)-cnnVot|6W*4;OG)~pE)#d!r4jqRW{$5nX=5n<6u*~K+& z6Q<9aF{!(yzBD(ppr&KOwAl+5Oz*5NF01e8n>2Z1cVlsCWJq{IPHAOb`=lAuCiHYP zl;!1>HTKP1xODmA86A~{#kK9d6M8!uD|6$5d;??B^T3VqzOJUK;@q^P)WYV;a~3UI zJhQ#Bw6=4~ocVKSPU@=7Pl}GqD5<>XbgPMk8av#BaSKETUAI-{VxrnzUzv zw@n6jd&<*7ef%QQOKO|Dr_P-}tFNIbJ3X_ou5ZDHo!eJWZ!AblFR1UCI(0%veL+H? zmrq!7UPWW)#OX7pw3ntvg+(S6w#-_+W%G*Zt!25nm7UWUELl8fVq<zO`x?)0vT)G$9^&#(O_@HiwKOF> zATTs8w|?UMm1~yI?kG-<2#rc9?pm~U&yJN-n~E~hbIMw$%v&(Kw<0w%C?GU8qoQlp z($y>Hc9*Bd#w6v|O0#QPnYJ_M(MT>NCRp z{6iCpdzWqByKVX8hN9fU%9g&FiV)Rvw3yJ~@T7vq{@F{{teoAN6BQH^lUX};<@TK$7x&i{W@YAA zwoRHdcUo6fW^|BWP<&p)gjoxgEuGm~oEjUOQrI?s>!Cwi7j#!-rljVSH+4^((%Vp& z91-Xn5R+TmJ$=FAx!t9Sp@G3MnKhGFZr`BQRn%)E-Wsf(5`nbljHpBNb#mtNe^ zH*3+d#Zw!zqeH_J@>^%G+rDMR)W-az*o5@rhTbVt`x^`5LjpqLa%#FJ&tAA>-h{fG z_^{BJ+?F}(ckkIar==hzIjf?5^6a^@CNvkPMg|5(q!l+#n73@{?B3e^NM$-GI8d9i{1VF`Ja zt&;8+poXG{cW^>ZW!t2=3ubndrbdT{ zM<$o_EZMSq`>Gkuh3Odu^?h@ety(s_vos|lG%B^Qrepe&74v&5vy$RtlkyrSFWtCx z{i6P=%;<=iw9?kevu5_!Wrh0%$7h$;_s(9vd~R=5Wp!jyY?0?Ag9@N_|dZd~$A8d;ipFy*24! zKK>CYc@-^_=FXqoked({8Izn>KWXuXP3x9SYc0vlEUxdFxn$+CS)C;bq2UR+D@IMkwKyHxs^>l)8@{Z*jSvCm6KoIGG+0`?VDH3?5NC1 zPRcB8?w>Zbr?Dt0$R{YVu%@|dGAILNB*w+3Q6I&~C)6=u^N*em+EML81USCZ?T3k$OdH0N&lRB!hVnV|c3u@c@ zrp}x(v86mOBP~6rxV~r3%Jr+}^nj|SoU%61Ktf+_E-2wh-3NKMZ#uWz3)Yw4=xGuuisGqOq=C(K{EaB@Q~sKm%9uIrjS zePTyrRZ(_kZh6bZnG090Teoa_Yk5v)RzYR!`5&Zd0A zy4=LLB+$yGnKOGUlS6}}(u?bRrp=u_v8}c=CnY((u)cfB%sKNH%miq~}+)_D!BPxwAAeI3O$`x2k>e z%xPWKIf*eb@#)14-IJ%ym^o+0gyxFE!m8FubC)h(JiRG5E+Q_wvblHajHx|!g_&vT znFZAyQ|2yQIB!N@V`+A3Mt((e&&0_SI?9qmf+902I;PBBFndBneo9g*sQCrjxjlDA ze{)%Gc0qN=q?vPOPwOa42@8r!F9%hG(|YUjQ;@K11YKn4lOB;J8 zPo31=kQ?deACp_%+BbPhe@j_U%shK6s{gWs5v{h$E2S=opxAab#IcsW9 zU4BwjY*tlE@6GKxM>T9eh zDk!S$nYC!?;`vjW^W&ouazN(XnLcmH(uFg+YYQ_${iHUKJDW;V z!vZ5R>-wh8nl*hwOKEy+baGKcSO3)63m44jsw>US%&Y92HfPSvDV>!W(V-E^#m)Uw zCiQjH7pKL>=hSvhnY(n=$|durc2*bW=9Sj>Or1HcucPcE zv6xt-4+~Z(46- zae8uUUUmEAX;ZrE3sa-RqBE;{W-M4RtFOK=B_=klsJ?UZtaZ~Dy1U3G;? z(eYVjE&VeVEM7PpwA(2wE3c%op=;9QzJ>zu*nCCXz**7v!);|J~lq1xUqZU^ZZh_O;fO78VqigSPf`x7QS8rKO~T#>c0EIwQrI z$*H;J%{`N*PMtQfySb*U9JHmmXVR33U5ypFDe*~JC3WpRJzY)Jg_)^Y<*gHD%v-d0 z{;bK}Ej3kDHFZsGo!y;Hl?9ogVz0cVr>DEKr79~vE;+lXx}~STzrP=}bhfs!t*dwP z4A2U)hVs13%;LH>(5lMT%3M&xtf_x0Xy033dlPtvTV-`aD`-TtFf%13vlQG<>u;|q z$V|^GuW##~IAvmQS9@b^ODc+ca6p0>uCs;bKJva0%~=H|w#g4Dzma0r6BKV>=T zIpt05ot@o1Jw2UmO$`kVjZLlXpxK6whLX(0#Pp)-=GOMk*6O_UjH23(iPJ$_5~oh= z>*{C&?PqRiZSUx4sm@DDNXad)YwqaoZm!HtNlY)SYHVr-%|x`cw6uZ7j@!HXL92ke zYV$L)i))(NI=Z{tY74V+ifh}t!3%HtyIL9>8>&Go1ZwLWo11IEP20-)*6#j^z0Kvh zIYqUt?QJb>oju(hZEfvs%?L1z1__fImxLx#h~rT?X9)NIeBG`JrgEP1fA(H zvA4Uor>n8Ly1E{;W3{m~BPlh%qOP&IwY8}-FAX&53)%wG(9+V}+}70vGPtv+Z^Fch zJ>Vhgnx>W((5z2MUS4@~4`{P_cUNayb8|~eV|7_sd1X~~O?_=eK~{EAO-p-cXGcq2 zMNv^%185UrD`S6J0PaoV&={e8XN zpc#RQ;IZ`DnwsjG>dNAL&>%)rV?%945oq?Zx(Re_Ks|W!wrAqRUQiMMxwi#0xl>(J z*U;2hS5;bESXS3L0kk=~t+lbfp}C{Gy|Jpi476*tysWgetg@z|3FP=X(D-;mTX%Oy zb7MneeO*Iq&x8p*Z6HolQ$tNfX;~TAdsXGd#if;Xt-VvGOy~tAkdBU?36uJ}TI#AR zE2}EYii^vuKu68g)K-@j<>%!WS2wq{G*pAarM989Yr>>S{atOKfN8F)scUR*Zmh4Z zt|}`jDX*$;1^J=_w12&^sj0Q29kc+9?4YOBi&^FZfc)HS!ZHrG~`l~vU@w{}gKJh`v4rLCj8v$?jquBo}Hp|P>P z610%KrlqrQ(!}2Orn-iv=H}Ms=GOM6s-mLO%8HW0qVnpxx`yV~md5H*&|pn_?}Yv? zP`apT?(FR9>F?`os;_TuX|63VDJie6uB@!ADl5t_D64Jho-}pZ)QKI9bOERMs_Al@yhN=N}ttLCctO%j!XMwoRa=>s1YHU0uBsC---@w15(SV?#qz6KKUj zeSJk?UQtaOXf&h0qp`ZO8Z-pb(bimBUQ|?CQC?D5Tv6ZL)KFL7P*+)2S`Hdy>FVfc zYpg6SuWRk>nJ{@mXH!jeZ9_v%Wkpp@O=Ve0Nm+SWL2hAP59pwliG7`IP0j6~`PYg4 z9rYE(CFSK6piR(?wG}00RiJY$a*AtPJKI5%c_pA#k=^~E4ZH2lO|5M$O$`lAZSA15 zJ}Rq0Lt1rRpuwQt?pDzGH1%!WJ>6{$6@|I^#bxECWi^d0&7j$&+M4o`^16=x34I-) zIqdS%>ZZ=V2@@yuwANKsRaTUP){NEFlou6%rn>TqYPzOOpEem3OO2qhw@Fhc_qKw( zS^`SawEZ znvO}JlORAdO;r`uO&wjGt)SLGVL?H0X=P1)b4z1QO+!O%MQK@Wb9aA#Pe*HWU1eEC zT}#h|iT$0ejg56x6&0XGw>8z3WhJHMrNu?X)op!KrcIwdrLUu5HEHJjxzl=Dn;IKiy88Ni+MAo28tSSm%1Vlh zOUtY4np<0Hi?cIx3W_TmyL!4>L3yR5y1BczucrrGkF?g;R)dO|#xBsZt)l$G^7_sR zQ>IUw)D1dHrV6w&thTDAuCAt{q`0uCxCFGGb3%V-eQ7~KX?1h=+B-TsTWU)R^7HcximMu0TR;mX3QFrcCQY9)ea6)Owubt~wyy53wx$M9=B=qH zEzHj^s;F=4Y;OWp-#MTPr>(7}sjjN5w5qYAv!kQ4w|_!kcY8y1d3hOVPkVQFdt*&W zL1AS}|Fjv?CiS+}l!4A5X#kyzRa;+QTTxt?pI=Z~)7;V1+YK7^EUs?u>F@9B>1?U5 z1W)mHw1HMwv^F=^mgZ$<ZH}MZ-vK&Ir@g(k1ymt6H`JDw zfZbWw(%#lwSDKfZnOj!h2Acn_EiVRH)z#V2+11_C*WJ-nTTxnCUenak)z#KmU0z%Y z>H&Z@H?`MSlvjdxG}YDA)Kpbgl$C(X!shM?{h-0_qSBh?uKr0A`#M04fV!r(wzjtR zuFj6uhN|NHy!?W~;;P1$=K9K#qT-6$*4`+8;udJ-BZtCjqZL29QEUKt)?*>JD ze@iuJWkpq0Ex3VEUs;%wonKs9S>M*(+udGY4r**RwRTMa&GuA-+G&tuf4Vzc>&gpq zva<7v%4=IXJL*gGato`PI(jF~m@|7?Ut3dSQ$u}2TUSqaS4S&ojy}JzxU8nR6SSiz zJ3T$Ow5qPDqqn!Uy1b&gy1KTpqj%!uDO37E9i_se^4jLkz6rf8)kOuxmG#XXz0>B* zoY-1hQC?nJR$ko*iX(8(HZ!-N0<=PCVpnZZPC?xnwskB+UBm_iIaNU zYD@Do(=+pmE9+Xidz#C0LF+x*dneDFJ9m0FsHN7_*wEb81!`k8l;>w==7NHz2Q=E8 zlbV)ST3OTB(bwBrTTxa~UE9#q-qSy65@^u5swBUl7*Yv!))eFvRyMTtPM$V>a&I&E zT%wAKs#;LB3OWHMD@Iy&0wsz5E9l2XtLiuU$~O3+~yg=L@v z=Q>&&DoaZ%>RLLwKu6H@v^LaK*Vcf}#cS>8Y;S3-0j-g4>FAp{c~UR9{H$(lZmb6_ z9S8M3KqpsJ*EhF!bhI{r%Cf5Zj=uiBo{rYq^75J%(4jY7ogFPTC56Rh6=lVx6*cvc zGOrAjjV4Wb$q(1CoF z#f4>{X`9}@zV5b$s`84u#>RTkuCr#|>Y-_HoCf1j6_(Y3 zRQ7eXH8s{%S5?(FgLF5ycQn^jR@T%tG&WQ&k11fm&79&`@6sTEJLWUYJ){2JYT-`dgD+uzsOP+nMA(b7L<8mMNfEh{Q6Ew2PMnJUUFsz7ICl~mTYc2Afvangj& z`m&Om_6gHK3tyTlKn;fS+Gg;XUv+i0m8C@mh2^!N?nhf=MP6ohQElhM>C>k6wbhjs zmsHk+IuWhSpmQecswyjMn>unX_k3Y^yHH z%`2{I>FVtTEyJm;ECrpQ*akXGY)XGybzxq9X+zhen`{h(3Erpm(HymHX$*f}%$n=A4&GqQ^yXCF1yl;-DV=N45q^-P^LYifUcbxBca zUB`s!b3kKe<+-4d=la&Jp5ETBrpm%B&>ru~#?GGJu4YhoE~}&wG>SESLVImdZgxRs zQ%85-go%CaHK6WPd3^`y{D-Oit(AG1dF7z}oS+HJ!t{jrw1UdUmQK)0zPhr4+`Pid zmfp$JrcCH;D9y_O_0nd}o-w7bwJJX&Evu*+G@aVsTw9u-lbusg(b5k(k*~kCs;B@o zs5EQ#j7i;1mHC0+AcUxm+L3&y?XnbbYj7dE$l?6Gu z#Wl?x-93GMU9B}`MFj<=^6(u>C>k4wN)1v zmezGmpTA(%#J1|ftjye!nx^({(4wQdsHle+yC^I=JEx!Vk`FlE=>MBd} z^GZN-)qS9O#OmVwqVk6Bsk3L#nAl#Gm!6(mQr*zn(cV&DT~P#DNm$w3Jz?^cDHA&C zK;>M=#A!2TOqXzP#lO|1?)ZbBCoCn(9HDU6U2^}>BX$c8wg*C0+z1&l8j=VnZs zF>_jfb46ZOW?pFnctcZ5T}5#YC|Ngyj`V77tS-#X$}g{L@1Htj8pur0ZmOoP36m#w zw={tJGN3Npq)C$}^|e+N7nW2vclPy9=pEz+sS7TX0ele)GFkwPp8>pr&uc&DP zEraOm>*;K+EibF6Z|~^=<-XFal+^5^%DUF>?herM;Ih*4sya}^y#u_EvAnFNrK@k! z)Tt9Y>k6}T3M=cHT01%#LBkvc#bwo?g0HI!RNB;4Rn@iiPXV1I)LK=LlMl{BeV~?Q zS#fb$MO6)`=MV147Z((kfrjNKOz4HEZ0zjq>jC)`WOZXpdq-CnXlqCtsAF3TI;*X_ zv$duuBPk6uOa`vj%R!4Q8d_RgL7l&rmX?OfvWohS2~(y_>hEeO&(F;-tMBOPY6fSF z97vApXm4w6Z2=uQSl1<>8w(^glOpPiYRTh`Pw3A79{KQ|ZD z(d+N;1SzYj2Gz&y-F=fLPv`+yMh-vOl+$z z$OLZR*7CmU>VnUfa;tJF&l~v$eiFFDo;*upAWF9Ss$rfvO@>r%$PQzyS=Fz zl>Vxlx+g>G(tOZFT~k*ds1uuCSW;A2RNl}D%CpV2Wrcb9CDpC{Q>ISrs4FYTFD$KU z0IzuHZmO*Y9n;nVHl(egsxT`fBL`I5O`6aKvOT+?q8@ahZ*NO=S!qQ@MP*|*Xg5!9 zD`*MQKS{Rb$75Y15{HrX@iOtVD=j0h zqPb_%q`tP=l7igaoV?P8j@}7fQCpmyo>frYHfh$pSrgkE zYAQfu8=d`ArcUl@t^qHcEvRhmn*yr53$jwvvdfx!CQq5z-BJbGe+JrhGHu$F30+Oq zC4~i`YH>1XgrYh>Eio~pxS?y()QMe9H5H}Bps|e!Q>IPnZ*Qn7Ed*5}ebZ*moZQ(^ zR*;pEQ`*=)c}ibNS2y7p{uE?xTqMk-e}@f&}j*E6{V2Icwc{S zdqZV$PG&}KSwmazgueDhP+zJNG_Esoa$jdt4d{^7vYM8jNmC~Dg2n;z3ri}SI{SJ% zKn}~zF9r=+^!9du#>PsDi_2;nK`XGkn`^+~($L;Fb?T(v*7}<2>bj=(9#9q10_x%w zJWaK$`(TqZ6&2y%Q()wl>z*RF;8;i8{J_yFeXy(476`va&K#0O?6FOGsu~}T`i!KV2cY1OR7L4 zLZAveA9Si{9VidCfCo{k8(KPgLA!ZCr$|;;R8%*#bawZ2wbYd6XJ_Y^g1UL#EwyE( zpy`s~3$YE-fvutZM-c z7<4q&)YP|hbaZs}_H;DXfCf3rOUf#1Y8zYHS{p&BpagVOXGbS!ToH7_W=nf_Z*NC) zU0ow+n7OW@sR>k_HrAGxfW}H2Kzj#3UD~RKmbQ-0uFlr_>S}QJw!W#g6*L;v)>Kzj zRRuD>y%khN7M0c1H-X0I>#NH^eY)D(+WMxZ#-^sGraI7hyA5rfU0q%6&Gof)pc%B@ zp04($n)320@XSeFLqh|oc~D(hQ4Sg#X=!b$2c@~1rZ&(@%Z}zcP?BzH0-X!m3{C-6 z6=mgBbxok@n!2ira!^~OtE;QCwGlLpQ3oD4X=?+WkqMfY18q=gYip_pjm(1l-U>P~ zzpAXPtg5;Wq!u(Z3!Z1Jt7`=1la7`~@TQiop5DIRu9murvNF)w+YOBkjUeBYgLa}- z*EO}awKmmMg5(-Ok=)(c)=*tlRa@T#3ZOR7PSouRcN>l?sZQQ8`-%Sww&D{3K=i8Y|+PI*;*Q%f@_EbFVvL9PZ( zsq}V(rU+~5TR?fJzXueYp!DC+3|0v$RZBq;(a_x1(biZ68qcn21ZCOoHc-d1s-~f} zt-T#|7I9r=NpV?KZCzt?TYFnmZFy-~WnEKS?}Yv?(C~N}XxgWx)%6%|!=jZG~b-F=`@;fks{P*Za9 zq@Jd#vNBMzZ2}G5H`dpIW|k^IX$RDztFJ5u4P=09pV$Km_;T<-WmiW_BWNhQyu6|s zw56-9t);#K6h@70-~``XT@J}J9iZ7Y(B7P?TF|~b(70(UXnRdbCHP44uC}`JBG8$r zplQXnmPXL|zM#n}&~#`=M|*Q!RaGr$t{J=*wyLxUGFDh2Xlrh$ttc)os|C%Wb#%1Wl^5n0lvOvjws&@b#*Rx%KpCSAGzi|& z)>u;k3ih5}P}8}&x&*u_8{Xm73u zjRk?Ggh12HpgmNe;gFh!*3KT#tYJ+>SvhDIT{mc!q6U=vs=$-Wt*xz%wN(`rmDQlb zF?u_j!9fP98X!drXtcP#vAMMkG{guxvK-W?YHS0IeO8wh6&6?2HMh05w}NFVK}Lcm zTDrR0n(At6>l;DiqJ5xg5l|Bcbc9>>`o?C^G3XH6n>#@6tgiyOqzPnM zOH)H_b!BCBZCzbGXc`n$epQ2Z$AL0&J2)Fv)PQq)OH*TgeSLjnV^dROV^a%gG6yu+ zT2l|o56z%lTL#JvpyMj)YO1R$LFEGI4hQh8d=u!VnwIviuFm%6dQdG0y7U8NVof!u zOHG;w83LwjB!GYA!P*+=54=SA->+5R3mbZeY@jyF1 z>zi9!+dy}TfC8l%OptOfR+!mfIxFo z3%C>n1w>_KHK^7Ab-zGiR0p~f1(Y&C*Rg_POfX>bao8JU#fK-DH2X6(JHFb6MAQM0XYasQYK&S_W0;oF&t}Y=S1)X#%ByMzBj88o}4WG}P5p zR#w+Ff+XteYpSb2DF@VmsILckxU~gzvPXL>sETf?uc@g6r=14Sd3e<|HT8{6AP3ig z;9InXY1(2@~Q4;ErOc=Ejobj*Kk z4QQ!DGb9CpmOV5#gYG41sIRLBxvjpT0bG|h)PviEpgDU8vlg`Op&8@?P%5Yc#YH_R z2Eg{$)`99F(CPKIE43ev>t8W08Ky9D| z2eKR#ETCf}KpH`L2xNO>JtPHyLm$-MsH>|7$8HlS)w{KU)Kr5zs!gE$2J!=FFuM)Z zHUQ1WgQKMZ>_x~?oi(8H5VW=gl$}9=+tLaSUQj}<2esuu8LGY()Jv~z0OeB90RlCk zlnN^D!NCOD!wtGZsTms8AV-51DS*6J2cED7uLOV^0!rIWpoJ~fRn^s?eY#+6pmMXJ z5wx_a9keC{besZsrVuor3yKHOBvvCR%hZ8_78GNUUg7z&DZkOvz;MLcL1F(^fXvOZ`wqaGA!wcrE=Dl9;S5-4IIwu6dg zkUK$5E%3Ed^&p>vG5{n^)_@`jWIMQP4@x7T@(-j4oJPU(YfYeR2HFk}4o^_R0@((N z&1O)xgGM#jOi&9Il;lA*5vYu)0VN(#`Q8L7cI!Yc1)U5F&Q>*5psWuv6Eyq+F|rL@ z1cKIzfI<{hN`vMM>cE8(Bw^LnRDmjn#wJisf@UL7c@A#+HG;~r8c;O^YTASH0*KuL zDq%rE3z{VYhdnqSL){5VypUoJoWVf(tsWet&@!!|uDYtS3Y3pPfenfUP(uZhi$KK@ z%%PxrwrW8=J4j-!18w96&0{u!N+ochgGxL|fHpRORf2LH=p+uX-$5P%mD}Kg0b~uR zI0Z*MD2l*G6gM`2f)i{6sBsTc*#LGr=-Mq%5dtbcK^_DZuAuA%(gkijgAy?0wmOKD z!TGNd6bvA*f}^AXEDtK`L8gHUGH@(G%!derk_Ctbs*ga5K$#PS!Bq}OJE+J9)$Sk# zAcY_^K_-FaK!qyE$)F+zoPMEI6(r$+ls7ejY73BwpiBp~9%L!>YBUfNY!t|kO^qPa zK|&y{pk7oRxLSpq3YKnwc@kWgg4_bm1t7CQQsAXDFoVEB1InNvwIEl3{SImYLHyMO z@*2pmpt=%Vl7JL}%>=s&!~=N{>>iLg(C7!p21o*=6s!nLfJ|xxC2uGXWI9+E%<~}S zFxP^t1Q+9w1{5gsf?Nkm51lKfD}PAg8dE)T#!nH6o`i~1=Mx~c@OMn zu-iZ?p%`W{$W34i;3`4>1uFts2WEhc1hXJ2VM<{_IB1v^P(MIa!A*zVX$TgEhZsT{ zERI1yodS0nSOG#4R2n3TupPw1fk9~p9B3eUFbBjy!%)Y8M8Q4>g(rxEi6PQpaR?LP cPLx1EjtrPP!Ma9?(GVDp@mFG&I5t02u@3HZ*{=G}PDEK^S1&AVH9IAXOkM zz$St@AU}ZJRR{4<6WI1fuwsy|Mv#7xGBtz8)e0vJnzq_4ReNAj6s(8ycGG!J%2-(Ad<})C9J^lKUt3$(P+Qm74ANR(TU%ROR}XSYLp?}kJxFhTLsN5OV`EJeQI*==x8XFtxYHDk18k(CM!FDv%*48)F)-^SPVizP?Q`^u`4`S3cf@840uD%Hr zd3Duw;FtoXqx!nK+M2qihWf^)hPt}i`UX&(gS=5&-vAPCY^twoYOHCfudZ#VZ)k38 zZmO?qtgmjUtpWM285AMSb=5Tu4UMf$4Gs0xHTAW1jV(>htu2jpHC2^0HMLExt(_g6 z4b@d;<)t+(jqQD1P0h_ECDj#Wb)6k89UYAgbyanhB~{J!wLLve%`G+Mm8CU}_3izg zEu9U;C1oWQjV;~1-5u>smDLpm<#p9HojvUx-EDQ1)#VjcbYi+En ztgNlAYip@*ZfmSP@)6JvE%Rc%dcLsN58 zTT4qzeOY;FMO9Nvb9+}ueMeJ8bz^C9Q*~8CduwY)3n+H0Yieqmn;YsHYs(wEnyYK- zYg&8S>uQ^7E9&dY3!6KeyZc(I+gj^t8;f&Ft18?3d%L=ttLo}1>+32iYHF)mI$OFs zo10szD{8B2%1g>>8)_y_o!r+^T~LvkT~Slp(^ofPW_xvWeQ{|~UR85#V{>Cu_k_;g zuHyWP^77i+^5&-cuI|?M)~4qA%CgeDf||zm-u}*xo`%NC>WbpB!iuKahVBX7trL4| zE2~PfimJ+L8k#1|?&+S|P*T~Do0wZz)Hr?C#a-<3-$4eEp3^yX3OT4)BCE^A|rzX;!B!lui3C^`K*rG%&6$lkeKS8 zDa$slSumr&p&&IrDmt~OW7@)1YZguEYbs1jj*d$yX`Z}b<@zNvC$LQ-~h+muBsS1g>=R-GIg789OW(>rDP zw)Kl=be1JWh6e{ER`<{Z)0 zEt}a{6dmC0>77{9H-G(}?aODh<%W8Bc?PDpOkKKt&&CCl8#BXwy}g2RI%lokxpURL z{_4yKKd-=;!oDRNw{BZCwWTsWGB7YOwyJ;8)*Ty{O=~Vm4fhKSORbx{eCy7QOQ+T4 z#0GkMMHRHo*|clt+WDR3>0tprzKPX+3%BpyxN>GgK~j*HUszuA)HU0-uU#;qGCjiI zJ0P*7Yr)2yo0rXKDM*M6_6tg>ov?W8_LcJ{RAu#ay({NE-Bq0v9pvjDQ_wMO`G(btrZyL+MTG>0r`7b# zTDfNF%t=l8DUktw5xMmfmTp+RaAt3Hc5JYJU|ebUtW_IVFP_#~k`(6e7oOfQWzo6~ ztL9ItFGvXX^N%cSpT27A+QqZFD>Gw){eqIKC(K*FY2D(f9Tgdofq~%}jgyvc*|K`! z)cX9mV85WGvfjCCH*Z)qtE(y_+}AH6vuXC~EnC*kpU_;I7#ipwU)r~5)7CXhW_DC$ z#fAh#WjD@PzH#H~1(REfQ^Nd0k}JCxY}~YZ>Fkcm^eBJdsJzyhYqxA(Id?)`c5GNc zXliBuq755XFPYL-mKGKm6kFIaYvqPj%Vu@g<|Tv#gr!$aSiWifig|r?g{e`2!6~Kf zv)8RzI)8dwc}{eAXjp!8-=cME=1%Rc$xn(84@#-%nzMGp;^}?0dCAcsA&DjJGncPj zHfM5UQCehBNPJQI^u;Sy%q zGj|->wPt>MURJ<^tOVea38J623<%!vyN z4v4FsxNOJXb@O|xQldirLNi)sZrZnH#f*l6^ytvwn7qz~n|7?3H=!mgJ~k{gwZ4DJ z_ASe%x925Bg@zJotYdJn^xSmX#MJilj`y^ z)8eAi${HuFTs3b>UuAZBQe=2$Ro|k`YvxR>%ZQJUj7TeMo4szs@)^xJagm{6@rCU( zH*Q}(tGysGIy5{!t7gi=b(>dAX)cKH3-Ajp?3ums@a9?F#ZiI5enA;cQ&;TXwrFxg zT1;q=Uu08}`K<+U{+@n8DfN@q?AftuT76nXfVXF4 zN&CXBJ2x%quS^edclC`fpSXJOflYIJ^FqB{?EDMbmmb)^VZo$|gyO6zc62nAtpS{qD`nrq*Ugg$D%36}3-YzjMuksdZTip`HPm<$Y_mtXna?u{a|x z$S*ptcIMV?YnSwwW@dy2Bqta3E?Bc|&4T{&)W{&eu9MwWZmyp<(eQeakj(S~I(+p*T4*AUL&Z>V}=0 zmrZXi%ZU#Ri_2}Bw`t3U1wFNeDKW7LDP>)A)@)uqx4*ssq&B^=fAyBNE9Uf+=O;yn z1f@1iUA=q5yy+dqnaR-sVL1&m*6rE2cuGrNTy#`aOnKjw)w|Zrn$(<|m>3!mU)8&4 z`>xf~TFcWT<6@#SnYx_KMctXe#wsX9G0I3gmabME4;Tjot^ z&5sKY^o%TMTd;lis)fB3*@=;Xk*QT(^H!}~Hfv&iL3%=fPeMWMoNeouFPTuDpAs1w z5L?nRZQa)83ntZPCPeysMU=J8-MVwx>`B$>Y0=)karw>jH*Z|Iu)iudIm9P8rnr64 zrj1Kx^jGI3$M}aP=C;gQxo+*;_KMtuxRm(l?5@6x+A9v;CtZSyy7UNft+DnC6bE+Q(UtZUZV^^0e9)aJ&9_<2Q^w$0tPXXV_9wHb*q zK0aZ&&C}Oy-L`yITUm;)hm%)w?X(TMcCVe+U7Z!|Y~vAEJbBZe?VFZ#SLa20xHt#p zcdR^ebo0uo6&W$!HVy#=?Mn|H*}Y~?Q&yahjg?Pc+rnLkcCKC6UXtSPVCNB6J7dHC zgF9ACtjY{_b9M|C(((4Msm+w&5F-JCp=>!z$Zuy4c4DK%-~UQXU&MLkQm?%ug( zdRuvVn3uP2RN2JUdk$`0HnlD{F38(Xh}8R4F89+AbpOE(|fzixhCRZ@VPvu9k@v~>p$?c6Z4wIIpU z*3mDeammiZ`?ju_SeqT`?c^Go*EWC8k^LJM_E)Ee_&B?V7j-S!b7;?+`F)is;l3_j zF=hSBb{^QeZeCAiQn-h!Ph3s^;vEOKu9(+fogNYB?i^9lHfQ_MJsTHKuFZ(>@pKK! zX_~p|=)tYar!{AX`?@;%X4FsLc{v6sJ}2DE#nmUVs(;n413OpEZ!1a-@^tf#$#0ywcGu4JODEOl#)tU%ha{J^ z&sn#1^NP9MRfS1mLBSE}RUNZeZdku`PIqllQgoPqSZZ8VqiwyJ&h|jN^ynN$^b&IFAmt{r=`?^PDS4>>IY5SUGGuvu&A_BZU zg3_zH=B?eaaoK{2O$7-do^F2ec}-JS?by0**|heuq%dz+kC60=-euc&ZCg99wDyJP$MMU&er(j)xboC8uzd**N0vlG-7DNhP=b94$ytC+lE$KhS; z7f)==jr4Z4a|+FFnzLcgkzMQOcUPu|x!c>gCzP};*nZ&9wv{tmOOgZJ+<OD|?r2 z-MwqW!ijacNs<2kK@nMv-LqG1*s^M7UsG{*d_-hSOnP<8l=&;xuAJH5R#TXs5F4M6 zSXkXPW6|RcyQciKhq?wCWESNp1qop!GGbJe@C9A4)!u%zR z7EbH!ZmcZMNQjC_FRE^xws`5nxicpBHC5y#M}~wY7dA|ow{pdj1+%7f)E6d4`uWFX zly%Nov2N|^B{M(;WmJH7KtfU5%;np*tX@8=x2ZHM#@{C(F2BBi(WZ^7m(88nUX`B` z8ypy!Qr0nb@tQR&7EkSMt1d_m4-SdXsqC7yZ1t)o^QQH-lw~D^`voQB*7h%0y;^5R2$gJLtvyXUXpw07nEX@gV^L;pyew^H*=!uzKN?j{0IyJsFW&);xL9 znsqA|OzUZ^$VrNch)&F^>YBD_)ygIFrt~(IWyeQ^h9(p=Oqjc3{p!VYC%05)$A3a?&BAG2Rk?8?0sf&$W!-aDZCtlv!KC(@{PdU*zp#wbwi!#-tzR@} zVtaj2N_1FYSZZO*^o6U}E}u8Kqq-ijEM;Gi^weNnX_`shGlcR>q}DOqr-z^GRnKAuh_g{`ONOR;`G?iz~Gqd z%H9R5HmzGWyR)V!B`P#1JUX*}!u(b1*DsmXTT_@39TFHElh-(L?y7C;m(1*_$%zT{ z@eNBV>72cG>$XjcCp8r&gm`;<24_@HUa@)Ko(+q-%CjT9Ts^$QOWNjc+J9u*(y8?Y z@c~}$UO_1}(^hReba3OG&hnHnA2;vd)S~A3>$mROvSMaaQGB3}hi`Ox`IIFacJ1D} zxTiKF%-7vJFgmAg?%EyucCDJ(UYro%>g*YmR5N+Wt^)_RE}B%G8t&oX>Kk3qwRr3P z1G`sGYsiiAb9VI&&uE#wX4k<3>u0qWCI-5?dIhJ|OdvNRGNwqlMMpHb5}WBHoZ^C!2KWyiug{JR364$5Yv^CFY}1AX zlj{rPgZzUMbL%E9UB7nil1YsPN#Q|}30alhbC#^zyk=%|S#pSfU~GC>_nZ|QHmsi2 zS)Lvp7!Z+M&^CSfrp@c-^jD`x1_g)2=C@2ZnK!_74h9tm&J(X4~ea(_0D?g1r4gQ>rH}+p>G>%BgkP;ocs; zp^1%Cm+UySYuWT>P_ppwjjNl!blZ^wt7f$4MY=n?d&gBzTCwBM-ZisY3Zgw7Tzumz zr>@$4VB3o6jk(c&?%u(vHItTX-@9q?usx2HBMDljl8zPNeL z>Ma{rOlvMniVO;gOe*b}vvTw1RZ}}k6T$+5LgGt0=C0YXeckNNlB6&nuh7(@_PJ{| zY+g6Fw<;qtC?GHa&D+<{pHQD26A~C0mD@C7;l^!i=1pwKPYeqQkIrqHFmLt7 zRkM3*^O7P$Vv-A*CoNd9dexln>YVtH(AeaH&KV2VY*;m`yCyR#C^#&xsAc-{O*>c5 z>8(r)^Yaf$%xjyoa?`dg3%aT^!~MJiqq3T3tlGMB>!L|@SyA4;fx%e~Q|Zy(yDZ+%)6+LJr)|!L-TSvJom7(% z>gnzsp4~8I#g09jmdi}CmN3QVZzo4*k>R?<_R3~I7 z9a-2hbK{Z2JC;wY%Zl=Jc6ARc=vc7r@R4mRrqt&~dAoaf2IjTS+;-&H&Xsc-a^rp6 z+}-^%8>g<@bA120gzKPY7mhU=raMO~Bwb^0bZY~~C1)U2w9zMEr&9v6y zcz-t+x1jWfsVjFM*t>E5#JZd)Z#O5;n1YV^8~5+qwsLxBd0K>zhpTTwMc?9W2X=2- zHoc`VG05G;JtU)U;)*>7_ikD;r6D)U+rh>qJhx@;#{I|kZCuz}n-S`6Z|f0N(6wmC zvBP^e%;_vm2=a7r^o}pUBvhCph&C8}V7bSu^|KSq`GCnv@yWS6&3nzLxxlG#%_8!HPl6C*=ov&)($&0o26 z;hd@cZFPm|abY3R=|!!R<}F*kY{~2i9rdN)(V(RK+MfBVSFc?$Z`Q=7;?yutcki&Y z>b?c*Hf`FtZ0@AyqNFf)2ltS)%H9QQw{F|Ke9nZ{@{~|NACI8;!nWxv)^FalX7SYa zioBE%4>ymfoZ5*C*KFRlZppNs=BmsPPiK#?go5T7E4OS~zjDEh{-%P2U=J6!pya9^ z&>+*cHFKtP)a1l^IXSq;<Fes~6Q5f%VZoYh zTh}a~-Pcx~73S^c9Gq0p)IVqS=JhKU%$(NWlpX2k>KPiHTGKge?WXl>SIwV0xjr){ z$lb*wD6yhT&Q(!`2$J|Z3 z_iS0SY|g~`>}Y=%Cy$_nvX0rSHf-CvZpoa<&86vq4t6g73B^s5R_)lmbJOzqQ`-vS zJS}aVeWS}d=WgD$dk3g_QkNCsZEx%5pH$W{d)=;GJGZWwGoi6C+SAI?B`~SHfBwcj zd$z7!Hlw#bE8N}M+A}h%VfwNyySHy#HE&W!bw-%GjiX<5PScdd+jei?ylmdI?y9t4 zXM0DVg#4CiE4J*|ykYsgDeaXh!R{^|-Z6PCGgofjzIEfOIsMJ0=|PURE@4R}?K9Tx z-n(_(qM4JM@*+L$9DPGlDkrSivSZ7JRZC}dRc6Kpc)NN;=Qd4QuyVtebxUVWXs<6! z^mp+HPROn6pTB{X5qqnItHz_P6FeJIOWzwP*>(+u2 zPfcN5fR}%CYH9n-<)E?0={?OAX^|nmei3P9J#$xYSif@dtgiaf?D#NWpQzNbo>|M+ ztXi>XdQU@XZX$R%wXAF2l6C8rEt=LwQUQPVSj&8E%k7EEca$WMv%_XQPc zlb3GZym95c{^p|em=J&8kkqpFIjh!hS+{g%TTMx7WJq98OnO!KoV8mwteQ8uvnnSc zDm*$WI=8xK?uzy6mdu~rP*IQ)7a19yoZr~LVBLll^QU*#UfzjDj-E-G%-?nZ+UqfMHh`(Q8WLCrEWm|XcSTnD$EGsrJFd!hYsBzY+ z%{$gDoz+&J6&>ss6rEhsvtaGE?HdYe*`ub$JH8{_Th<{gpUJZsIK1A8{kX)BBe z4NgSlG|bqv@6g^&3pxv9eVtuB12bD@ui1Hc&zjk-InjQeUfwa~Z8O*I-nV(l#JcPl zKX;$dxbptR+jebVGpDmSIn3WDC_b-Y(uz&n)-Rb-mmA~n7Z9CW*EetF#&rv)w3Vet zgolTvRJYGqzHZIDiLE6WiSY?ZnU#&*bCxZhJ*A^0GbK4Kx1_dn!qi!_Cik{gW~ZcO zWfeDc^h}&Pe@1s(b#_WzQbu82*Yuh57tEa4T9p+amynWI*V;R4!J-Azd#dx(V`5UW zOB?%U%wMu#Mo(i&T3mc$NeuPQCv-!CYxuzt$2&6`&*nNXh{8R#Dxo7XaR z(fUnm=5|$OM+XN*r-2gviZ#ooww7f^28TswRQAqWxpwuU{`%sS$k6bFyz1Tst5z*r zG^w^QH99yVDW`hk!j&slF6gPwO%4x_%`9u0zHrIng;Sf$a+2a=Q%mc5r!87CZ+1_0 zK}Je+e0F(D@7$$J7EJ4`$xVn#NKCKkm@;q0>UlFd%hF;ZA``M}d*&=%vvS^)#-gO? z$f$&Zmj1abRxOx4sV+M%COST~qRqcHf zXU?11-BMGKmY9}RRM$CS+U!{~Cbd=Nr^m)+Q|B*T zykKHOQF2s7TvkQ<+{KHR&gyF{OOK0-Pb_NfpSNbs!s(sW8PO3D@flS;Qx>mVyL4Jt zc|v4xXk=ecJl&uy>Fitr7L zO)cu4zjXbEWs_S<5~CucQ;HfU%vrd6>8$SB!lcNkq`b=3nTwV#o;SUzBt1SVG_kn8 zXZF(7%jZvODo%-wj*QE#>6o-+?TUp{d#bV$qhew*s@kT`TfSu8)V8|(l%)9NoT}FT zIg1v~nbKL6os^K6TGZ4#b>5N%GkP0}Q)8p!)6435=PX>hbl$|ef|Q8h$fTUA-g!$_ zu30*(vpPLIC?GhlxP8Xb^_y1D?W@m=4Gjv3&#md7zjE!$Mblb})1$*e;tDESXDnE{ zbkU5Cn!LEM$oQ=4wyE=%ESW#GtvV+mHYzc@w5faUqWKGF_0{BO#)rkE7ge@RTd-{L zyr~_PIjOPX3F(Ekozv$oT(DqfM^!<3OjL4aab@eY>GS5#o!Qk?o{^rEoR(kH)ID|9 zoY~X*+v|#QvQksCifWp>r_7u^Yf5i>ZE0p|YHDVFW&6aL3l=Vz-rZ1=k(>~hoLSP` zH)qANW%K)6O0tu~!=sam8hYleT)$?~jL!1RxQMW@_^hhFX^YmaTQ$4CJ})sUBs40e zq-pZP)f?9>o8DfY9vc!E9iLv)HGS#ob*tu11~t?oBg0~HtGlNy+O&Daf{6_!piz_1 zxa^AVnaehAT(e+OdqqY}a7aXSdTIOAg=@F0UNo(>IwvtcG$b-1w`szn4VyNvn9{vN99m(=+oMIw#DVw`B3m$-PaL1EZ6~-o7zaoio>L*|~GgylJha*$E+T?m=+{4L$SLZQZtc z*{uH7^2~4#ckkfX?3S5Jw(Q!xX~m4bhP?Oy7kj7Bl;Yk6>-HVmv3~L7&Z^`fcPBgV z*sS{LD>v=jvuVwo?xxaIe>Z2B;N+r)>B~3l*}iVUjQ*C2ln_rhpMcoB>IqBMZr-|X z8L0TkiSl%J^$1G?&FF34xoOR!+5NRy5q{2g?tw|A?K9Wx+Od7p(mDMtB?-Pxc253r zc~ujZY}>PK!}6tb`)iUzyxr_vLShQKXRp|_WBbna3nn#}Bn3EG*t>^hSM@L6yl3~` zHH&6XYR(Avuyt_pjm~eKw0zsv?OWF`oz+*B8R>3ouE>sZw{iCLODJibx^ml&9oyC{ zn9)<29_jDuWa;~cW+v^d}dE|W~8r& zlY?(^QOB(1>$mUSx_-%|)|%oZF9$oPu+*~FNlUlv+q-4?oaw#w*`e;v&R!u2g)OsJ zZ{4+H)9OW2yQ|VeeLb9Af)esN=PcW>W7np2OD1+T6h!*C+q(oO6}5tz4m&rmSv0Mu zCMVI?$;mw^uB>J9@(o*eZeKHhW?yZ7tgnN6P-s#?L*K&98@Fs;y=3mR`pjrQPY?Hi zsN9xm%hzq*wt35n8J$(R@xd;(u0g4#%@gKs+PQnzs(CXeHswZoI=Baf#OF0kTef-I zmQAac%<8GmhzjuZ_6$lcY?`)Y)#e==*DRaST~`?E-y)d-m-1$ z#+9>s>oUTNm;`5p&E#0(p=Z5vmXSA251iLvqxrKw8Zp%09+_Da&FhAbM(Z)SE zv8aB+;!QiZY*;aWW=~mSsE3WCUszgg-`ow`wr*LscxHcHHfU_jGbp~OZRV=Y+qSP? zxo|>LL6X0NlZ$6ee*LuNYj^J6xN^bN&Wg+kPbWvu(9Eiyg&Q_)-@bO?wC>u11TSZ2 zC;z14_StK;?b*I=@r(&g#Yw^5o<2S?xs5ZHZQQhNmhITL zZ}ZA|eeLDxAucxd{xR7NGgs|7uw&EmIg{Iq5<l`}f)%hDo! zUA;n5idrTw*|vN8nx(V*8VeJ{d|kXk6N}oXF5k3y=f>qTCpH(Qg!;I7hbI?z%vic< z+op9(r}sAHC4_sqct<8z_sw3jZRhs2^QUywWJh|tdWFQ~HBDT)dE3^FOXu`~hE2TO z{lenQI%lulylu;xMbkQ~a+5=KD|!~J-MnetvN;pm$}^$@L6aUub(5B^*|K5z zq8Z(_h4JA*Uj7kTwOw;ot=qV2(VYIq^1S2_fB(Sb;+AO(mT%m!cxHb`T~0!HNMJ;A zZbSd9rE8ZjUNEt(rXVXlBrrBHzqWPSvSrJc&g}1KC{B+KjY>()Z|a#oZ^8WeQzx`n z7i6Z!#l&WoHg->&zhL3Kshv#~#kq;mu_-yFjeWD0FP=ANQhR+tT1s?uQhHup_sk_L zRxF&}*I1qr6BQAikY3(4ebKTN%NI@Qs?17^jtq;8Eo|tUvtr}Am2>**i!!1EeZ!M7 zE81qR-mrGn!l_+VIY|*gL18hu4HFlv+OToe{0R-EnV>c{sF^ln@rEtyme1~~&r1mR z^$knPsh>D+_4@T|=S}D=&xrQ*4vNjM>X@@)!(2($yg66)tD^{;tIHkY7I4eFnHa;b{s%yr=l`EIe?rSN_N{)+5NY1V9oU~y1 zs^xP)1M^9s`aZL)W8%CuD_1R=+)mo!XWx^eS{6*K#4vg1Pn{DYH=n7 zQx>n;uyWC~wwj#y=!nR~tn#)ga~H2zI%i^QMP5>DbZmNFS<|H1i&rdLFtM#XCov{E zIyR%cVdCt?>sBqC-cePM6df56k(gD}H*@8d4Xfw%HRPqlgoH;&WmGm#S-fHMx~0?G z$};03!o#C8it8uLUb%MV;+b7dMJWm4;W5dDwH-4SEnB*HMt^ffZgN6md{SOn)5KW| zS1z8}-&j?cmXMT~o?Fz|H*LwX#q%e0ROP0|#w90Zlr{IyT(D}@{285%&ywP#Hg^y=(wDU&eP*i$p>-3ddH>_Gb zt-U%gJs~6_Dn6&Kd;ZF`>zB@)&{&e26cZg0lU331jGqO8Q|h}fipsi`H!3xN^ai z*0P+WFwpRMN$un%tF~`kwqQzA1*iw_5g3xq#YZqv^ygV<-$JNazI=i-e>DC=PH!YjdSCgL_>g5>_7+=~tXU)d#yVlK} z++3QS5bEmbAC_I+Hh0~Yom-dB>~Ac~i1zge2#(6Fo48`z<}F(m&j9rYqkVn-!V*f` zC$HGJdGp%&lR9hiQ=`1S1H;nF+NZDHuyNCh1yeh#3sXY_{DLD>%bKPvUAu0>%DFQp zG?t`A2Ko8;ClxhJoWEk@_O**<_BPiP#Q1spN5p29w9j3!VcVJ|^JY(IEQ|{c^7jdj z&1sssWYvaE8&}Mo++3a)8|3BW6_r`mF>CSW-P_kKncd$~5%1;f;1v>?RX1(frd``M zuU;~zyDBZn&%@3oD50LEh;Vv$&uApIvIcwMN+`VPpk||AP*^xf(uI>S8Wvw%p zuHU(L^YZzVTPky+yxcr|!_$izrYu>%b;sJJ3uks$}!El_Z6Dxw?6TrWLo(TDD>5u8k{~Oz)`5PxSZk@(4=IuWp&W zV%@e)%NNa?)>)aK7#Zdt5EPkJ(J>iRsIFN$e{y$od47DbuXk`%YEfP1%w-$5Zd|cw z&eYDD+$eu{cVGXQ?5Zx%;P>`*E0@gdsYs9XaPe~YiOQ<$U$k!Hw(X!MR!ebul&_16 zt6ywEeb4+gn|JQmv|`SrmeTa7Ko1wspv3&z-kFOxZrQSa`RobpwRs5m^9knI7$&sO<@yXfcwe6GVE?%}|!L&*JUCm{A$%)DFiOH$CRjpH|&YU-A;ey#y zI~!{YGm|63q7pKSYFfKzEM2~0#k}d0dKybI6C;Ad<5MyV>$|5fT(NxlviURnT59ss zl42qvlhX34+IpwXU%X`D{27z_JL*buGvcD-DrB3)~{JIv!|vYIXc+O z%_lOWqHW@g#oz=wt+%x{KPK4AFElzWx4eDw!c}WlEuKGjdTW^8ywL~wX=Zbiqe zh4YuJT()e!$tT`)JEnhHe*3{nC z@|2k1kl@gWgxt!m*~?b1S+j2Sf|(t4g-PLFPVT(;GVyL!pY&f2`Vm~bB#_wdBR zj)~J3uG_k0)5=+sx*AK;Lfu^4{i0F}t2*Yd+PrhqI#2~xpA+uk8Omd$J_N{tTmc6aj(%dGF4xpei0?K`%tnAulf zo)PNfWbGP~l3&>~W5urBJGZP{GJ8@>PN=)9yO)1VTu#T-mD{(hUAcbsqN(-ysZk+8 zZf*h51x>wk7OmN}Wz*{UGrDUE69YV4Jp&_C3hO5?UAJY^hSkd!O=~Vpi3kbu_X~{9 zZ<;V~$;!2xHm;gKy`wTOB`Vn0%{MxuqHV&=B^x$x1Wk9e))glO`}z1qrsNgXPMx=E z$GWA97tf#6QJoqd5)u*`m6%mEY5t-W%a^TQwRA>jO>Re3h1ch6Y3Zu8d7OJ+~$ZY@g;@b&hJ zOwTB&o3eP#&h^WdFIh07vpgX%EG#%MBqp~Y)j4s20l^`0$@xva^OmmNw08B0D=N{a{z4h{`ZDQTX%X!Xif>y|H?H>tHOFDX1Y$ip`&uexW(;^mvSuU<8O zLRVc`YLJhcM{rzjMdRd!>o;#)wQ%0d$?X*xVg7-k5y3H;#a#RP5QTDfB7(mAuH zPiQL7hzSi23yDq5t?iq+cGZDFx{{oP5WkSb z?EI>xu4#+bu3oxu{;X+ztp#!6!66YzDd~j`(-tjXu^3c6OmDBuN==H6j*d#mt8D9^ zK7Zk|l}i`SpVrk>oS6_B8Xl9BR#4YHW6{zjpbimeo-jKzE+Qm6Dxt8krFYKa6{}V+ zTQFl%M@?Z`T!?>YTuM$wOaJVpt5+^wykP!}uG+k$*zm~6@VL~x`bo1F&0n%+#j2&V zy6OtEk|QI6{Ug##8rmn$oxgPLhSdwFPiQMENDuc92#t-;s;ussxoGw36|0xdpVi+` zoDvfj5F8O2n^o32Wx?{5tJbYqv2b#0RZeU~U|^7cWI|DW&&-9Z)~;K>e%ahf^+oA% zp#h#gLE$MC-TgBbuGzA6>-t4gy6Os&BLY1=yu#wMs+%UxU%Fw(w)Ly#P3f%4jScql z^zaLf$*pdmwsiHz9h=v$nlq)NJR>H+-OV!~Dn7fWZQ6=0Teogry?oB3_Ogs9e{Xj; z-;jj-+TIzw|L&n32n6nDN%v`!O?Na zITbB^GncJhxpe;Axs$sZO0troB4eZD)3Qox+a}Ikuw?1nSu-Y2?y4!wPEANkPDo74 zC~xYRJbm`e*|TTO=OH_HI@}*XQZcO zW@Z%>Rkid^o-ud!j9D|MPws4~Day~tN=Z!4$SW>uZts~iWAVJXbEZ!1>ujkg%F0Md zPD;xuD64JgnmBFl{5dmcOzZD%ZK^KH%}Ptl%*!h&uWD+WFl+ks$&;r~nAqRhUR_jJ zRG62WpI=m5R@d6y(?50c#L3g9OzCQGX{sqL&dbax%+D_@ENkqVFnP+PNi(L;nlrhl zxwfjjFgqh9DLJFCq^7xX!qge_<}92$Yj$5}dv$4HW@2=BL|kS`X?;ug)Y(f`EL$>f z*0i4Xy0W~)xQKwznB=_T>Xy#w^Omn$wPN9%nSC8~1zCx)v7u3s(P;&ZZCz7l%vrKv z>9RR9y1SZ+OR|!a;$ou`(ozd+ntLYBnl*RPy!i{J_IEc_=4GcQB*w)gB&BARG~RPxw99}pV3)UlAoEBkPsgo6&;^b+txQ}+U(hL7p+`6tFO7HtSC1VQSEUIZ~@0~Pr{_>Rz7tWj9(NIxV zniUfi8Wx_IRb1WFHEGu3h0E72TR5Y;xxThEJ0mVMEHpkjzr41+cgpOAOIEC0I(K4k zdqY)mc5+-qcvNC$W?55R`;-|AmM&j0Z}yD7{*LOBy!6DlnApVB^xTTNw%%!Tmn~Vc zc=nu`liTYnOENPOLt>H=Q}W8HoBF5ES-Nn+sugpm_IK7-mFK3%g+|0CWfoRf*LH)7 z{*_A>%$zczqqVUjBQ7E|CO$K-q^!KQZ|1yJ>sBqCGj+n`{_eWsthng7n3UYS{G8H; zo;iyaEL$>n#*F#1rnFZTW@jcOWF*BTCTEs)c1&8j1XQRlUp}X=y}mp*D={KEHaIdR zwYa8d+RSB3mTX+Pbk*D$UG?Ru=?TH1VL_p>$@#Strp#WmY{ix>E0!&q*wIpw8W$Ph z6C4HOIoGmaSMgrK7sMAT22&Au2Q^DmAaFbIObvGZwF2yKd?H zDNU7S1v!aPfnEV23Hhb<%@b!X*tl-p#ubaFbhOo!r$t5hdwTmPWaL-Z^v<2PYQx6O zYZgqK*i%!b(=P>T0CQVZ*4_>T$sOqNN`A8Zf;fA)J03z zY+Ap5$^7XPx~hv4g8e;x{6nK-a>^Q~E#A0(!}@jWmoA#!S)H8_=I8D27ZetkQ{Fap z;f9SHHm_Z`bm8>2+O((;Z+~C^kdWx?`e_SRty{fe?fNZi7IatSBqu}$fVNzPWmk4h zow0Pqy3Jd+te8Kwt+pUF%Gb-;-7h?~u%>IqlC_(+Y~Hkd-t-AA<=Iglt}gCjq0!mJ z4U?8{-o9nymUTB$bTDNN9)RywX)F?kU4{!gt?7Z5Zxog(1-LP)ivPIK-YO~`*d;$V|gCY|P zTBa;mv1qy=E4+kLA?co!VR@pvt>E)hl7)Ucv@M@fj%y7?%uK4B^@&ttlzPF z-}co@X7@D|XGD0ox;VOrrT;VQuT|8-8Fmj{sX(W zu3NEi{)F#psa*DaaZU0a$K z;^pS%>=Tz&*f3?$s;#?rZd$oy_JpSLtVnk!7Z=~?^n#l11?#u%-nn`8!r4>X%d?_= zJ={G(do#*9=C0hdef!pROXpAPsLGBG^6~KY^pDM~?wh@I&4#Tzwyv8urK_$eBf{6s z#XTS{v!r3-f;AhrY}>GA$;^IGjUM3P<>?iXl3&v?W7)cGpc$IkQ#-2)l7qdx+yg>m za>|<~FIu^N%jOL$7R;L1T$URj;^Xe_6OoWt-QGWM-4;;SX!i8p=F;@YKwtO3@VJbk z`kq;f*Kb<0dg+2WpsGGSKGe_OFDNRlqPb`K;uY&Ru3tTWdT(=OL3&K6w^v9^MnQE; z*ObL;H>_PcZ^p!))~bTU5I_I0nAGh2iu%4eOV_MeGH2%W$^9+mnXyq}VbQV48M$Rm zlV;3cx@htInKPzzH&hm;#79R)M<-<$S2lD^o;82zg4r`BPwZ)}E6+}fkBdu4$;d0N zXzH0XZT{T3v!_q$>u#Js+Uy0(SFBhvcXCHVRY4}G z;TIMapIy@2KV{CMRqNMnShr;E#Mb(C|)~{K< zaQ2jr>cX`6$gq&0;Hc>2f~wXj^A@jIvu^c@rHf`w?XE4!N{kK<4GIkd^$42#XDnX6 za?P66tClR7-rH23pBWz#6c88^8Jk{M+ckC3inZ(4tzNTo$&CK?s@&9=kO2RHfRLE< zyz0(L3seO*$**bdojQ5y%$ai*Et)@jN>5W|QFc~ZLL_LAJ3g(bw!LrK zy!rE&EL{R}QG0DcdSYBuR7_ZKU|4c~ZTFP9^XJW3vU2sRrL!lr)t98FrX)m#2l|IZ zr{-6*_D-EOciy5E%a$*hGrg~=vLG)%BQ82TEHWl3x1_eEqi5=@#mg5jTRMOC)SkAc zx{~a~*r>3m$f)GpqVn2~N%NL0U%6uSip8_0Pws9i%}k7m2@eR2ic88a0xkDgvU>f- z^=novnlZhvr8XxeE<7YSEG8~FHLs#|^3+AER4gyhtW+>-jPS&NpgT)JT4!i95ZPU&tb%T10?NQh5JNK8)7 zF0JpIwQ$j*B?}iUm_K*cwC=jXtd!*V*o4Ta*u>PF%9e>U<}O~cWZBZC3+K(~Z7MI! zPK=KTjfjYdNz5#*Zl5%3{?g@3mn~jAZ|a1O`trPtDUXk;8HH8%E7Te5EDy0y#a&Yn5ByScJ31GJtmJTg8xHKVwydGhQfYu7AYvT)wa zsS~>zE3)GvLxaMiV&alAa!cwa&RD#9#mbdS=g*rnrLUztH!(UQBseTACNV9)q^5i7 z!ZqvGu352o{_NS4+G=y-!b1XsLL+0M5;F1|C(K+7%2%LSnfVi2YqFCPqXPYcLO}j0 zZtR({bj_-@n>Vgrv2@;~j=JK^q{v`@AK&1p#PovN&S{HQZ`izL)26k{7ftVJD$k9N z2=eyv4GxRTD6H$Av0&BaZCkc(TDyF~jIPGYtb_=EKR>^ah=k1In%-HZZ1uW3Gwyz4GIcR$S7`{v|#nNZQFP5+^}}}ylGtx1u@})zP`Txp%L*}mA&(p zt=qC?+t#gH)-0OY+gP5J80PEc6A&C8msQd@W%>HeAgK+jm(H2kT#+3e9N_OC7!ned zUeG*!@#>A6Hg4FwY31TM{h(!$Q6Yi8z9Hc;>BS9w^H#6fv}M!gO{*8qn%GvIpAr`q z;O!R@8JkvE*E?&;x{VvwtzExr$-IfpmHA0gk%2z`LE*8hPCTKQw$xo#hFRr0sbED{$VlM70rFKm#$c|X~Wu8 zi>CIrR%geD`}(-Mdjv$pWYzS|SiF4o`VH$=FP}f9t)?I?+Rw|y+07#`HlwJ1!n~F1 zH*VaxcEy6}lUhpBqWs()9h}^KLz8l=`)4oTxOvNlH7gd*nb=aD8yo2E?BeX=6&Rgb z+BS9Z+KpSbZr-?R(e&=x?4&Rs4`*jbN1uq)^43Xn7q8vCefQQiOJ?*oR%FG5csSZv zIC_O8<<@r3T)ckwzMb3FFP{(ELzEKY>0oJT;}#f`TiQHz@%r5d5ANE$V!`ab#^SV4 zHycY^7vI3>)cnS2OE>QYHC5IwUpTqBC^^F4&BevVEg&+ztf_y&hAlhx?%KX_#e&Hl z)!FfZu1*fluKrQUh0T)|tlhF}|A8IrS1*{-U00AC?BVL{>>d!82AWV^vu)qOeLFX< zSvs?~z91pk+Y>Yj5s{c*J8|yHZM*mE-o0bvia8Tn%G08Pd^|lo{UZ}{DtZ^K*sy)~ z{(U<(uU<5{wI)9`GQi8#!#6ZOr@Up_l1;n!@7uF$>)IvLI_nElL2Y0!-|+aXa?rYs zo%{Fi2hID>>ZvPA2@CM{@(PHI&#q{mx@6t<0|)l(+`M+#tnP-Av`}wvU$4N>=**(# zsVg>a-Lrq!&Mj+~fhx(g=s^DfAHR_3w36n@3)gMhwrls!jcb=q@2M}!0B!pU3=B(1 zFK+0c4_X1SbH~Oti)ZvTm88dn`g!{J2E?T0*Y?a>x_;}99b49~TQX-tV?|C(c#w~e zPe5c+0cgl%<;E@Bwrp56e^!5cb#_v?udk<9NO){UNkjkaCF^!=-@IYvlGzhGs|%7t z{XIPV{lntY3aZ+sFIm57NW5#Z_R?H>{mmr>e0b-{}Do7b;iwRrA~ zzNXU5m_Q#N5ATrh=w$Fn`PxnES1ez;aMr~3@~pTJKQB*D-;fBgHvvTR8 zc{6+Kic-S;e7r%qG$b*%wrA#|mlPft;O*rf93GcZQrk6S z!HP92mMvX6Z^opKs-pBL&_tehU|4KMaeepHS&LS$S-xz=g4t6#>PqsHB0_`w{K6t* zGjhw@r_NcpeC3Me%NNg^+1pxEkQN^v9ONGq8l9X|(cC?G-m+C|SFKz+f5znAma2mE zgs2d|z@XUF%%Y0=?iuq}tX~5f=$k#Yucf*qD>*j6KO{0SJu|<&rftfCbsN^KUcO-d z+?msQ8q0GMLW9EMViVFcvx}dAereqg4_RU+lX3d&4t5>dEv1CSnTSabaLR3^# zRAhWSXsTrDyw&U1tXa2y?Yb39X7@H$=4B*Ag@uJh#KtBRRJTr>ziizmP{(%tss%H8 zn``n?qeDZ&LqnqD6Z0#ZC(m8EVg0%d8`iE_v0zqzTWwxaRAg9KL|AxqVn%UY-<-uO zHf-9kas8TAi|0)1YA8*Ojtmb80<{ieGs@bgEnEq*b=~UKD;Ld~(pr@f3py1dA}ll{ zG%>59f7YVaD^{#sy=L9orXk1&tHuEnT^8&6;(q)~s7HZ)$sG zc6>xwfL~BRaBy&RYEkoqdCS(UTeEuA>Q&2@&Y#d!o|_yK4BGeus=ZPR8+xYBU$Ju4 z%H_+JEnPUXzon)mJ0UDQI50dkEIJ`Qzqqbv#@t2A7cXA4aKWspQ~KL$3v<(AqQfJ? zBNAidGc5PX|aw({vRGOO-8{+QZ?BX2|7?n|2-#vA~iVfR$Y~Q$H-LeHUdz;HM z6QYAXUA?@$e1jtr3u-#2&Rw!@%a-liHm+a0Vjg&PZbWd9x2LzOi&scueobrtyk)C4 zZP~JO$My}&=1uKwDoKwG@$>NVa`6lZi_0vmoj3=if9sBITh}dLG;2zGWo~S6pr53m49r(p6WO5*gy}?dld96&9PCRR%h^X6?pZJ2$Rf zxn$9TSreMdvXemb=>dVkQPFYf#SL9kW-nX2Vco`!peDquiJkSOIVrJ`Apw3t!Qt`g z*+tcD6Xz~kzG40PjjNZ>n=@-#Uqg9LN=&%FZ(w*#Y*KPYK~=}3*-KV!*sylhilvJd z&7Rs*Uk1uBAtAvLQIRq6nI-kTGZw4>rJvQSRxO=7V*;qfoDdNl91 zW8RW=>({JVxnl8x+0%NPD)KWDV!}d#LL#CQQ?d#xoBC$YU%qDT>QyV3EC$V9HkRh5 z#6^aOhlfW-#U^Ez)OSvtxn$X@wJVpeT)K4etVx{>rI|^wk&&U{QK1nD8Tlpkoii3J zS+#c6s#PmjE}T1ON=H?GQglRkR9Hl0WMo`QPIdc?g)3IASi5S~%H_+K&70m+Q;-@H z7at!L77-C1mXKM|GGXrgg^QQ3Sh;HTiUo6LPwlM8&q$4nj*X0njEahm%Pec@pE7&V zl9el#E?v5E#gf^5tu+N%NimVp(Gd~Bq0!0tRn6TXC#+h!eD&&8E9cFa*iv1P79AcF z9TgPl9~zyIQ`ONwf5q|@E0(X`ux|az1yj2kic;dDBICmReSHJM6Vi(s`erX$vSjJ1 zb?Y~*U9w=-$>k|Df>r98hMNKY!_}HS5={TeEyle_Ks)YGQ0;kY9kW zzkhg2ZdpVBtOZM#FJHB8!-f@$=7ZMUWu?SKhxvMW`UZr>rWDk7Pn)w~`PvPeH>_W? zV)2ar#-g0`#E4)YH#c`rzsRJL#;yso7cXA7b=%f08&)oy*4tEBl$jLf$e{KV#{J&0BYE-?Cx(!dd-YH93jlApzbl&K`aNk*V30tyAYOT(fc8t{q!eF9ofB zF3(8}5AgBv@(=L#4~x&M@0qo1*~+yWHg4Oxas9Fxy>*4TptS7c=IZGa9Ftz!&^v4K z>NT6TZ`;0YiI4cxdnDRZC`1Y_BcJP6+gH zc69ae35rU{EN`2#aMjkmd-m?xv3c#%xf5GUGh+h$yu96AJiS8Wa;n-U&0fBK^Ughc zcW++1boQjS>Vl+*Fkg3f4-fx{sLYDGzJ)8+ZQZeB_qL7emdu^eQIV6L7!u^=2AT$m zPAhHhp1y4L=Iy)oY~Q+W#eyl_^~Gs1;r>3J9$wy|(MfqV-P0E?U$<@Bjy>DfuUs%| zLQ6GhGS=78#mhG+EGE0Wxo^(mHQRUW+_Pirh86RtcGVVV#Dw~Jc(}ND285>-SGG@^ zyK?i^9eZ|e+q7!w0#Ghajtug3b98p|35m-pZ|TVi5)cssZjym zUM|jVet}UL#Z43EEMB{5%k~}HwryHAcVbILPF!SEpr4Pci*HC=ZguC>+4EPf+pvB6 zHqZv1o`#aNg!tId0B<)}_rS!$`tAu+=Pg{idC#srJJ&3p+1FB8l${V6;^*pQ=Mff{ zUDVV&dG?Z3>-QYqwPXE~x&7^p6@@9WA+C0|PToP$8D+IC6Q|7Hv}gaJUE9_!nmMVf zuDUEE!Ozyx#?db+GqFzq2wsHN?})!`nY3Ix#h~q`qg~vJG1|ZQihI#nO4xL2LYC!vnoM z14DwM6BDv38YeDTvVQZ1jT=@iTQ-08)aLy3xbV<`fWWYbh{)K?O3;+kqLr&aJ)~7j zXY@6c<)_C6hX(iu`UiwWWtP=Xn6U`7GGhI@^&6HimSj{WIpz zU$}DhhV5H7teroxqp~0eRAqzOL;i8;#m((~GiS|TzINlbEo;{-oY>u3Tbdph6X@&f z?-LlCm|arWKXv}{mEigPr3>awYpW^9NREvQ@$>c%35m-rsqdOGci!UFn>Vakw|d#! zDP48Nd6`L3!2v$Lfgv#|h0Wa)W-MI3dc&qoo7RAKYc*FFW+sD1M!bCj!s4>a8zxMf zy=29jjhi=bUIWrzTb7p^8xiE|?dcI132IPGoV9rQx=oD->_=Q>wtf5eZC|%)`GTpSdG(}FFGqVc1TmA6luyL9Ecb*on_p1)xJ%*pN5g*izPp#lD3QPFV;iJ2vJ?GxuLT(x%9@+C`_ zESW!JLPvc?Q6_ltUQ|qca#~JNRZHj8#h_Yg@q+pD=gpnk*WFl<5+5BGpO6p-8eGXM zuJ4^Xf8m0~iGHdR_rAwB~ojrTb z^uG4G>hhAjjMRjbjI_**oPvt_mahIOvllE|vS9w4xpQVso!H&hTw9r+nVFN5ot>GJ zS5#Kj*a}_+Ja^uLMGI$7pD}G>Uwd6;X;FT5c6wTNPG&)IUPW_f|HLV?<}O$?f8MO= zGiFVn($!Q~UYrM-P|e8CO3lbDuC8h8nJ|6Mg1NJ2&73u7K4{rZV{K(|c3MV8Mpk-K zQfhWlb!|;c_oV4_W>1?rd*1xnQz!OywbYgu=Vs+*rX|P5#iwNDl~mW(wRKOJGHL3p z*)zeeZEdNqEG^8=$w-Wki;PLh%FW3ut8Q#>>zp)c@~pYjr%#&P-`-STTUt_(nUxk3 z6&0V5n30i_Us7G)(%RNHW$LskQ)f(>*xk`sRbEz>la`VY7aJ2BA0MBbonKU3+0xQA zamtj*QzlQIKDoE2t+A%4Bri1~Ha0dkIx0RnB_k`Zw4|o3f6A08lc!FdI(1@SZ%12m zWl>IYLUMdWR8(wIQd)XiZhmD;cW>X+sncf8m^Nkdv?={vEwv>@xoH{c2?>dD3CSsG z>Dk3~jjcVs6Q)j|yN@XL?^pTVr)eZgzT7T1I+G zT6S@DZBzH8>GPMYT)T4l+I6c|E?YQfdS7Q-Lq%amS~dt}z%!9-KKTxHm={YZNuti^XJZ;*4l-^KPoKYX*@ERuSFBsRe9_$LlP2^wmlqWj6cy#BrDbIo*VHw(_Dx&5 zddd7n%hs;jxNiC4xwB_XZZ0XVsII9g%}q_tE~%=jYMr`Z$%1*)=Pz5mdDE&Ti{T)r!MFsiU=}A#xk>L^XQBm=!xw%E96;+Kr-8~(xEnPir&Gj|KdHGoh zk)e^XF;P*m@rj9P1^FelE#2Ln9UUE=U9GJR6;)M*nF%p*F|jexv9ZxHN$HsdRn6@k zU0ogheISRlwKrGfXQ#v^Cdb7j#z!Y5CZ*(-RkZf>c2AhlH+53~go%9}t@TBDIawKL zNpT4Y35l6m>BZFz?Va5dr%sS=2% zFE1@fOG-~o%go8jt*YyrK4sdBrEAu%UA=P2s#S~TPVQ@KX)Mjp$w*GiOH0YhEw1b8 znJ{zif>oQ>uiw03&FU44XH4zuXs#_zOHEHn$w*7gDy?kl?w__`#o7&9Hm=#cbHnO| zGp0@MZ>h;kOG(N|ONdL#FRW;6ZSPyUZu5?H8+Pv4ux{1-8PlduY%I-5N&)Tujg3jp z%PXpGnKXaxx^zTT6@zP~$S1(z- zbm^R#Q~O%W^D-0TK;5y(@c6`-#GJ~eo*7G4%%8Vl*|Padmo1vp-&$Lenv{|d6A}~_ z>K_!5n2}%IF=6uTh09hfU9uds?siI7GpN{$4iEA5_3;gijEhezu5Rj^K6BBkm8(}S zoj+&J%)XAM@`BXZaBmM!AAj$_(D>w(yo$!&Sxc5LU%GtNl7%y8%;@WAEX#-w4+`+{ zaPtcZiHu1|EvoCCF?arwRV$Y)nm2dO^y%G=m3isOQQmIeet{toVG(i3d6mr_GnTGg zwQRw>xeMmbp4Q)4Uzw8}2GT&%S;Fh z@b(P~j|`8DOG?WvYnwWE*_!pMmoHtmXwibXv!-^`fR?8P2L*?OMaRU(#3dKjcTAbT zYR$T}tCucXuxQDG8GRkKg{d*1)nrjgpiL!-X$7^tGZw8}yJ5{D&~m#ai)Kyis4LG( z2n~*ij*f~9kBmvkDz0vxykOP3RV$V)Td{KGvbi&+^tDvvB}PX_MnpwNL?tApWaN}J zOrF1B`I^h!B2dn)scCLvEiYCK|uk*pp8*UX*m@gljkg4vTVt+m21|o2AMRuttu}yE;1r4z}w9| zASg5p+>)L!eeQxKtJZJaxPJA@6$@s8s@~k>m_ToL4=-;&KmWk+l)UnWt_ibNtlPMG z!`k)h*R5VSV^U{hWkGsWu$Q}!mzS5PZ%}MXUU^OH#Ca<>ZQitb)0Qop)-9bgrN5)T zJSQl6crNa@9pE~9~7CGo?lhp zHetq+HJi6>-@a|f*7d6v&zjQT(OjLI5*_3p;18R&$rHPpYf3U=qas2=!z05(qY^U<%IlgtC(Z`V|E^uTZvC1S^Jh%z?doW)%FjxS zh>D2_4GWD<%E&FQtg7prFm=Jw<*Qb&UA=nwf;m$sP3Uf`uPn|7FK$e7R>`?i1yazmWJ|z zjHH-|(2$Vuu-KHeoV@&^s+#()2~*}TTD*ACycsj5PU!1wZ*8hAEl30TAv`QPE+!!( zGpn$qvazju@|*<=7cZJWf8NaLQ~J6)n(M18^3zh1V!}ZQF(Dx>JFln;R2fd1IdAb| zkhODXPMb0b)UvNCDaeS83=5A-PR|0B-lf&GbxmE9<}6vYa?!lmGv>^jHDzLNM|(?S zbwNgAd~9q&N^){)N=9x`S#5oN$HZBSmMmMkXyL;73+B(6I-$3-v$d)?FDofADLy_X zGBPnEyRfXhwz+%q^x3oLEnK{EHE4C%^cj=-x*95q3v<$vVj{yrBcqctQq%KG${RcT zr_Wiqbj9km>sBvYFn8|knbZ1OKmnbU7#|ZJ8WtH7pO%%CQ_|4ZH*4O4B}-PU1I;xq zo;Ppq^!~1v%95On)YyoynAq@;$oS;U(yH>hmY!LQm#$j3a_QP_o7SyZG=1Wv3Ehnq z`I*Tv(J`UHq2W<6>A89Nh2?df6K5`6y?V`>HLF*zfh^|eZmurMPDzLcjfeRLMrKRQM7njv{^-P*R zbHS2jOBOGgH*ePTsr|hjE%jyjnd!-iiO~^Z;W3FBxw!=eC3QWMCeNBRfAP{)Ygd4p za5H93>2Iwn$xcsAPKl2WkBp8>&rDCvD5!3mICJ*Q>GPJYUbA+^g1K|&FPt;AyQ#9c zAU`J|3UoqWVoFjmn>MYWZB}m zQ@dO0YpaT~k|M%DL+qi!ArWzz1*MgBZN1ayEnKo<`SR6kS1nyIZDMzOYh!s{YD{EE zP-u8mSZG9Kd}>xfX?0`Y%*Cr$E?qcx{^I4!7S5jB*V73a@du5OMuvw521mptXJlpN zSGM%dTDV{lDBmqxJa5*F>680gYf7?`;$x$uBSM3NLqZ~x(lQIm>N+P+pFMBh!lmFr z*V!|tPV8x^Db7lcPfCgn3-AvLk4a2Q$th#?);^z)~;I%?p4g1+|^W3oS&5u z9~BuA91MS z<;qp7RxFw^rKh!}p{5vgjsYm8Mn}b_WS4_VkKTE!K@$M0R;^mMYToq86MB1F%d%sF zeF7t+qCiczCI!G$r-tMW%Zy13rm)*Ubk_}rj?84%$U;O-BOX893LGN z8072i7Z@51TBuRp(LZh8vgNBbtlPML<&p(+XH1^ZR#%#p7#R}a@9i5B92T9Bl#y3Z z(K>a`qLnLGuUWNb)w0F2XH1>g+g4kYl@uH1=kMHmYp0M77`E;8WtHHpPE@vR^8Y+VJ2u&AKZXgIDcASUwdP1S#DBf zcvx6SXlQt3d`2#)_u4si$?CPM*Q{E-cI}DQ!sjZ&bL;@q^@sNjHrfS{;^q|AbXqKbyL3A2}N*bJJIU%hnRtf>?GyIbli zvg4z|0(`u^y#t~WQ?qglOR77k%v-u@-KK3@Hm+GTcgD1d{auY!`N{E-!T#Q^u0A1A z@hRz`Q#?AR&snr=)y6GbK+}FRXHA>bQB#nenh+o2>+a;@6BZShn3$YX+R!~|#)1{= zwrtz7ddY&h^JdSS+*(tbotg~Z6yzHe91#_hkX2IM+R-z0{_+i*H-h3|(Y%=xx?3Bn zigS`8{JngA{DMM5BjQuD%c`rJ`=&2ixpwXPb)b|xd)kD~_U5|M%p}kxySI;jU`TXA zYJO2kRdd($#j7@K+_Y}fx@F7eO_|u!)mC4cnGgX=MDE^x!7(XWd4pN3J|14)fst`3*}3^;wGADUXRq40ZTpr@YgR2=ICtix z{?69=^4x@o08ih5kcjA*`1G8j^787IzS%3cY~8#G6!$9^PMbKfzpuTvI3+A7C@?4} zC?qsCEx)9+w5+yk=CXC`*RS8SVe_^%i)K!pG-XO}YgJx)a$Iqr(FIL7Ud1<5IG-vkNQh`{ylPvw7?Go%?rh*|1{Kf_XEiPH3$zN{x;L4L|q> zhD9f(f|dhTHcwr=X8oG=8@FxSwrSE$01osgW7nO#`d zJ#F6NCCgTB-m!h_I#6{#YsSRR`r_R5;&FUd`c2=sDwadvk0^bLxN zOH9o!u5Im~I&b-!b=$UXShs4);`uYDOz3K?Db7uc5B7F(banOg^$m!KiA&Bdu5Rj_ zJZJH$&098aT(^GRiiPuLPU&fDswv4yit_hxb#rrb@$?Idi~%(it2!o3U$}hTrVX36 zg9fw~&6_^Czq78aI5#CSFvuS?nG_Th5}lBqRZ`o~);)FZ;x(IgZr`$T-TD=vJ(ry= zjdhhJIVmwg-k!do1x8_!iRlGZ)phONlV&Ylw{hc!O`A4sSicff5B9dy*A(ZZC4$=i z{(*sk0Um}w`>BH=8NY{pV-w3YJ#RE#DMw;p{5hcWiW+LGD~bv;V`Jl@ zg9Ab%ViMCbvkFUVS~|LWrp%eUV9Cn0t5>gBvUtIqX_Na}o9b#S3$s#^;=_YOBcdZC zqLWiIORH*{>RbC}%v-o>_0naaI(_Ner1Y$!s?xHm zy7tL)7A;@3X4TrY>sBvcx?uLyN&US&?G4ox1(|7akX&E_1rBw~!apieS zR<2vOVa2i)OP0)?Jh8W}wY9mXEITPaIxHwWJTN#kEG{KEySSvRy0Nuy>hyVw7B5-3 zeEFi;GiFTf?`>~ts42=$OOA_(2n!4f3I$D5Cx8aj%4(ZCCeD~XeZl%;bw22dXx>_5mON(=}GgA_y zLqbA8ea@J~)byO(vg+!_wvOIOGiT47H)r;&8Pg_%s<6h!@}i==)WpQNn5eL@$hg>; zq?EL*oZ_0g`qsYwX>(@IT{36poS9Rn&X_#0uf3t6rnDd{H6adkmRUk#e0)4;OIAfi zZF9$jnX~6EnLlUlf<+4#&Y3lHa&LEMTVrKGZgyH`YGPbmd|XO;YD#uNd3|F`@5IS7 zXU|`>Y{km8E0!!-ws_w3iT$1Jt@RZ}d082mS)i^Y1ILnUR&5nO9s@_Lb(LlLpoqvx zNlZve$u6p>uBvV6oji5!@)awVEnBs2YApuzKJsyFI~EL>2lB_7tltVi9Ow2EiKh~sR>C5Dai@Ru`#j9SvmQ|rPUR+ zU6bd`U$}VTqD6}qEm=Nq=FDmR-CgbVRYh4TNpVrJ(eY6sQPHu9=>?^wMWwa%ofBrv zn>&Bj?8OTgg4%)YZEcP9m4$gZDX~!z;lUw+{s94j;VIb#MTI4xaqzy06DCiYF?a6V zd2=RpHrLgF=6~{1<71;j{QUxg{M@|)BNEbc@(T(IN*h``dnZqxG7adZ)BCzwTUr|H%W|`l zBEn;$qr?3J1N}n6<1#XH@(RnV+b2v0%@NFpxw9rs=cIP$V`fhiAhL|i;jv($t|v|EUT#R z>YqAm;i4rgR;^yQe%-ny3ua86Idwv3D`+SoGc`3MBRwf9GAXB^sG_p6uDN^SjCqS! ztzNcd^@fd`!BxccX_NbVK~o8tS=rfHsmX~6$(aSkph5ZO_Wr4J7cN}7Z0WMqYuBt@ zyJGRIsS_qn?Cxl-DbCBv%*xD6OG-{m%*rpRtgNVQXz86gf6?MaiXx2Kvlc8}ICtLsh09i~TDfS}ILtF?;UZ`Sa(_n$+9T*3s5flb@NMo|&1M3d#qG@yThqB}Jg- zb?3w>6MMV+r_Y=|ZOYWCpjLQqS7&>DVP;ldVL@g>Omu8wT6#)SQd(+8R#tI+YjbmJ zOXsBN(`QVXFk!-k{@$L>?ylzQ(&D0$lHAn9*qDU)_=LEml=MvS3cZ?!=GNAZp8hG* zrc9eUc|vb@Z!f5uT3K9}o0FH76rY@w7#|mxn39s2o|ctUR9@TM+S1kEKWWm0iIb;J zn>@L{x2L1CrJ))$z@CwslAM{7m6{lzkerp9S5R71Tvc7$(%0WVv8SiMcjC0^QzuWF z(AU%1+1}AyS5sP8TvS?Al$V~BnwFNHol{g=US3vN+t}LP+1cLPH)Y1OnX~84oilq% zZ(o0ZZ)baBV|`V1d2wNJUUmjJk(HKLR+g35HMezj^-P#J2~>72Te^7RoT-y1_D}5Z z>+WoAsHrS1uP!Uh$w*C4&nPY_uPCjksjY2k@9didnkt<>Z~g+%Wc19*ll!_lySqA? zYpco%3yO=&O7b#OQxY=r3oFXYtE;N(o7?)P&zv!R(!@#A<}6w=Z`O>-QzmwGbhNg$ zH&>P9<`fhb7w4p=rKM)(<>!@ERn}Hlme+UoPn$M%^5n@g=geL(d-~MrlY9ERTRS>h zn(9i63JP-aa)?yZfe0ojP&SlxZ_&&7L)-zrVk?yRE6I zzP`GwG%q_hJ0~wI3zR8y@(K$IO3SP3>RVbnJA3*kOqx8Uw|C;iNfUZ|ySm!inn4#U zf@a3^a&mGD@^f=@va)hPZKleKs*3XJhPLjmp8npBuActMQ>IMp?`>&nZEJ09Z)vJ4 zE3YUnC@3i|%+Jrw%gZgSEGw(2sjh1T-CWty**~GbzkfpCq-j&9P3`Y#ZE9?6YiVkz zudA-EtS&7mEh;H3F3iizFRrPrt8Zv-?d)vtYH#bDFtN98z* z*4I|nG*(yFR8?2k)K(T}Wn^XNmetnQwRE(1w6(XkwsrONP3UUv=$$fi=IoiE?tg1T zU2R=eEvT$6E3Bxksw~aR&B-n(DlV(6Z*6Vw>1u21?CPD+-P6<6(>r0}YCcydnfeub~LrNcXo92P3Yb3|v8lGYvZAiJqr0oKy{WCMqob{} zt)qWZcWYx!eN#(&OI=k-X=zDyRZ&SXp;TL5R#9HtRM*hb($do2(%jJ0 z*wWS2)zRA2*wWJ6+S1TeS6)_8QC(G5R$NqCQc_%4SX@z2QCVJAUQ%9FQxCeiv#GfQ zbOU5tXJ>136X?Fq=GMmg`l`z6%G$cJva+(0;^N$#qN38u%8K%mlCp}L=BCE_ipsjC zmgbh$wzih8?$*|}=B8%QWtkP_RdtQEmF4ASrKROH75RlFMWq$h)m3FBRrQSxwe@xN z%^f|R?TxjqogLjh?e#TvEnVI1E%l(gNNZ~=OG`?sYs#uBO3JE1_l8!KSJu{pu2OBN z2epwqI=VZ%dV4#Y8|z!zJ32dBnw#nxKuM^vy0WsoyrR6ax~93gp#gO7XiHmHdsBT~ zT}w|-Z+~}JcW+Nmds|z3S7#?E+MAl&Iy#yg8|!LnYbt7L>zf)I>uYPPt7{tDI@()7 ze(C7$?dj_3?(1&v?(OOBo-nbmy|o2&TWV`7=+4uc+S=Nt22j$jEHAIFuWRmT?dWLj zXz%Ro>Fb`@+uqU9(=%a0-=v=2&X(4uhDOk>wDon><)xr|MeAxRDywSh>lzyCn_AjH z<#>B{|HQuT*2d=6uAaW`4$!@$O)bsMO-)S=bu~4Wm9=#ZP4%_amDM#hwV<#9U5;5_ zTh|B*ytd|s#^(0UuFkHGmgeT>`ufI(=H>=)kW^OJ*H+h7lvk9NSCp4m)HXCW*4EY3 zH8r<)w1FURhOHT~k+8QCVJERtdTs zx2~?fv9YP6y`vixuFXyDZLOW1oo$WayHaawK^M(dmY0=PRoB;5)l^rOS5(*4)ity< zgYJNBYHI83Zf|L-2VGa%28!;+`r0Z`=~-7-TUl9IT3S(EQB_k_QC?D3SzT4zSl`eH zDg^34cd)iJw=_03Hn+63w=_4`R8>?~R@Tv1xB>ssm+#n(E4`>Z+>h@{*F$lFFLenwqMT^0JC*&}F&xppvSg zsjZ^})C#SyYiMl+MR#ot=)Pi5iBwZvRa;S6RZ-ngUsGLOSyczRy|%8Vwz;LLp`p2@ zt)sKOrMao8xwWmip$-&aElmxzjm-`9H8qvx6`=U80hMWub)XA)>l+&CK=&&*wY9Z% zv^F+1G&Q$2*0nT%l5cHYZB17eA&_lN~HA-^>y|2^)>on4@%60I$5?H!$6?d=^M zogH00phX33t&O0h+}hmQRM*f@-_law(9qOaUjx3TxV5dV6_lGhy4u@2+d-8>OH*50 zM|XE;XL~EiqUILRRnH&?*VfjzG&eNY*Va_m)i<>^gR)m^ds}xG$ezyD=GK;$)^<>- z28z+v))vqe#C0{*RaG^hP-?2H0o{b$($>^i54wD~wY9mawX3}yl!2OBTASNI!BJb& z0Lp%~wGB=6)issn<)Emqt*)r9scUL&s&A~VZfI%%-A~-q+5&PwBPcrCnj5MsD?wSQ z9&`mY$bFUN73DQ`mF1+DYuB@!7sjI80tgNi8 zsxB+9s;;W60u}rf6_qvhO$`u@pu4M^n(9G!EH{CQ`i91qrkbjn+PX&29nDqM;KWuB zDhO*q?yRb50NsvV-vn|eD5{zo8=G318XB8hn_5~ymwSWU-3ZEfApO;#OQRd=tLtj3 zKsQ!{l>Qt z>p^L$1!Q`2YkN~;b8~BJTSrSneSK3?11SI0RoB!vw6wN1*3^Km*9Lh3WLP7}x`w9q zj*iyG#)hW$ZctWfZfWlTCBzO;!Pnf}1TH38bGBb=yGt-9nAGjt?g~iO)a1l z+uG9F-rnBU0?KS1?QQMtpxgkx0vy!nX#mAA$a|ouuC1-Dscmd(Zf$LDZfOPOfwtDx zmPXLs+n_?Zxeb(p8$tJIH#CASvj*L!3<}VCP(0Sx)qwm8&X0`^O)aght*z~?t*wpC zO`sCG4U~Rs!8xv>5!B19tEsB41KV6*2Wq0!H?_5Z(r^>#zHU&V*V+oYe7v=#8I-Ww znj4!yH6iGxa8P|xTU!H4M%7hybq#ej)zzRj4!F2#0u^TU_4Q57&5eyMjdiuPkju|O zcZ%17DumkFy1Lq`it>u;in6kbs>(`GcB-nZ0X6LEK$11pRdo%`pew*Zx1d*7SAp*K z29gsE2>l;CQP+beY ztQ=GWf^s1^iPwVe9|r|PV|{&NU0p*%U2ScB6Sx#@XlMrcrKTQ~Bp`VoePeTD zJ;(#K_4U=&pzEueJK z0*-4?J+0fU`a5W_wVE1zl(lsuvnSps5iQ5DoR9N~5W{v97MZ4iu>M zp!ORmbA#@k2gxiszEsm8knGvuLV^>HJ};{!m0(!RaaM4Re|CJ zM1wkVHK53>1_dvuK?E`eluN-8QwP!kQVZtQg5+yJ^$IBJK&4G}6{zF@8Bz@@A*w1X zL5=|%Q3KWsG6`fYsGI^Pl{!d~1u8#ktE;O);-HwX1(k`Q1Oh5KYC&-UDv3cp1UGsb zph*?f$Ej~t1hv#b5!wjK7@$J536vL_KwNPA zf>|IjPy~Y-=#8MP0*PNxu?>zzP!Ai7TU*=O+S=Md)ku3=dmDrY76A*kcXWViC6Igv zNEB4Zbb!PxRf2gP&c)?Vv7pNeO6@wX_uE6tH|*X=xeAY31b=6(F~OsEP_u zkE*;J)UNBT!Gf>KGgrq-c zx&tRTP?^yT%I~0Z15z5az#;{bxFAUh+_(Y7b7u!ArF3<5b#`@icXcC!o}TWWo}OM1 z=fSCnZ zCPPr=3QB&>pq2@^wgMHnu;d3yb>Q*>Trhx29#AZRN*PehR8&+#qOGhH6p^491*IBL zG61CwP%>5A4+434`FZ*Id3hi}?F}u>&GoG<_3dpONhtsS6tXj=!U_t@6n4jSrcZwEDU!37bhG-(GHBA}*jM@J_p3Od@` zI@{YiJ3t*(uqsel1B#@sj`psu&dx4SOBsYgJvML}1Qki3q6TCK~*=Xn+2jl^*vG-#SY4HFQ%5mJM} z!VOfXfvP-kdEWvq^g%ff)P@BGHMlVgYPv!>pm=D7vOyGx52it544{GviXmJ`D+p{J zD3)Nxx3n}hgBr-7Iu+z32!^^AR1t&9MNpF!|!J!Nabx`9Fl&e6k7*L@B##ImiZsvf>ZwMDuRe{PAP{9r=Q$U4% zC8&@G34kR)wOM5qSPsMl<4TY$hyd3L;A{-47r^#_nmZ5%+zB8zL6QkLi`PON3wAiD zgoFAG>^*Qoh4e{4)dnaDfO@|5pq33Nj6fLFZGj|wP=N_*n1Y%u;HU*>sRTy|I3~a> zP#q4+n;;IT-2-Zrf_k)|2n0tOs0{>e$U>UgATFekfTc*V2q+bRIyew12oIzS)NlaN z(BuM=05L%{C?SLT;9xeWEP^n=B&du5X@j)IL2iK<1hEUu2QfhmP)32IJP;3xL5UFJ z3upld60ZaK4TQl>IuH-yL1;3Clv1E@01Jb{3e?($3VOk?v%v(22Z~g1OoGY@NWlT>wt~_*D9wY488C*FZ;(pehQSW?Lco0nP`dVep_PNE4`64w47c z;I2K$1W36Eu@;=HA!RElV}hIws^UO2q*MlZ2;>j2H$eqDq&EV|<)8`OiUl zPFqkrCe~Y7Zfd^Bnpl>P=rD;I0b-W9E2gM5=?>#Q0)ayQsCqUW};mMbx7~gEuhKKx~NJkVF9*2!}ZqjRx14U;-oo z@)b09fP1x|iWBU4Py&Gk3Mg@a8bP2O2QKQs*%RD{h7@QpK5iOZ5J2Jy6e}PumF3LS8n1TE)4e5g813MHL_QU$^>5F0@W8sc0~l7J3&z?fifp%dVQ z0rEUp0$iFv2~eTZ017Y&1~b9Ih=l;o zKf)Y@9Uw=5B%vZ8SAc~eg#^UGSbPE(0{I$Llz=KmkRXVLVo-JgOM$}#q7WKrAPQ7+ zgJ|+FsIUj=1eI8j#0ZKaaK42`5m*Jd)d$Ynu*ie;0>OeH4hVykfwe&hP~8n;L5u`h z0pfvmfEi$Uu&rPfAOa)~5(Z=YHI)h literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02011.wav b/tdkpin-rs/assets/original/audio/wav_02011.wav new file mode 100644 index 0000000000000000000000000000000000000000..ff5b5b9f822cd9c72d61841f81a181f7e1b6f1e9 GIT binary patch literal 6710 zcmWIYbaT^_Vqge&40BD(Em06)U|?WmU}R7VV*q1D1`dXl#F9i#DF%iHB0zn8eLYB7 zV`F1uLqkJ-eO(<$ps}f`sj0D{zOJsJp{=`r%H#>Hbw#Nu>BTjDGp6^{6{n_`_Rn54 zv!^&dCat`wyQ{OUsj;E1yr8&w%8cH+;+%r|X>)q=5|WA=`zG}^Rn@fhbkvlV)wNBT zJ7-c`bxw9cZF5siMO|BWPe(&RdQw7qS@)Dhi>H-DMpe#OG^e}1th}vk&Q47$Z<{!G&h(D@hPLj;y!7mfrb#pVE7G&-diz?cYnoar zatk`=%&lBNI_J%sKc%xQub{5IcVbslXG)0*Xr8j6#18kVnEUK*d$Fmd{Xj^>7z&Yt#~@~Wn`w#M3m%Knd3yO}G_SUL` z;<}E`mfDKE!iu)`p7y4SqLP~Cmd3h<=9cEVn$qI(mI;%lPwK9%sj6vc>1gY0YpJfN z0O_u)F0X26YpyIPEU&Ars;FsbYN)9yFR!X?XzA_kZfw6!*YJW$uv(o$bj+tAd~(%cMkXI&l0sSOQ{EnpQDmF1;n z)h!*}oo!9^b!8=Gb*)`fCQq9(siUE$rn<4QtFX{NedpFC&bix@+_%jy_4A9Ew{=$g z=8D49oV?<=sJ!jF_SS|)MogO)9@65qb-PpDitW>5f`ZcOCeNSRR#w?Gar%@gy~Rb{ z%U0Ki1n2imn$#Q}bvh-xAvGv?_TJq^A>j!vJ##v1!-{)1ShTHZ?P=;SUfAO6w`^5? zQcPCooVkm7Ya3TI58GPSF*rlE6U zdqHYWT~k$FLdxmj@b1nDRW*54#g$bpy?3u9Kuzhh$cU@Qal=ix! zs)pvAq@?2BzV@=>?84HL7ni}is>*~r&%W9jN8|!MyE2ZRaMj2(%s$FTwhn)(AwYE)lgSnR$kZG*wj#4QCU^j z(9+)4R9jtKQr^(o(b`m7UQyrC(bmw=&;%|Nn;IJGK)I~4ysWaSwyvqQrKz^6u%M{A zp{2W{xxBKvt#k6EzJ{ur&PkJ|%$U*CQd(0vdBTLeB*z6SmoGAHUNxnAVV*d#^#M%>MGo0l4mYkx_C-UPElz`M|V?O|I}&I`-@!M z@;0pB+*TVD8Q(djDK#abd-~Ms!i1E(p4rozN{fqYsvBw>YU&$WyXMWFURPOM**tH- z!YQQ%@i|Rv*DWuP&M9vSh~Bp++H2L4X&#MkRozP`PAX}rT`|dQP0NJRj;3kd?d1*A zmd&b4iH=UGSum$FJvFtoyu6^a22`#z*3~sORYnBI^{rVnp`xp0Wv^{VTWVCtvULl( zYI1Ti@``Gj+o#W*P?4LNRb1EGJE^z5te~uSW`9{$`Ggt06$Lr@g?agT1x0mzeGM7u zl@q7-HZ*kfx8$T(%vdn9rMj@Vx@Y>7j=K7$j)v;0-dR(NqhktNdM9wzk&RrUp>{Z)<64sH<;mY47XpYOF6QD5`5~Z>_5-Ei0|4tOO;2 zhK4#&WP>U{kovmHit?(O#)gKP>dNZc=B};@J?-VC6`d2NOz3PVE3a;8X{m2$YN{(K zE^TONZLBZI&Z}r_cx^mM`kp1FPT4k=FFOendwVM$d}Yj1J)Lc3IhlEt_1#@9rNw1UZSBoX?cHrvB~|^?dQ0#GWjYbQ^c*4bKCSlZOr+u6|2&{|hs+R)wIR#RD6 zT3S6vx)v*u3Ei;IhkZdiFVATGLmT}f9%Z&h_cNlDX`$#v0@ zvE@z6*DUWY%ZyI1oIQI=d0}#H>7?l$(NSRyljhCn%8yL%UAlNeSykJV-lnR8%!1nP z-U)4W*_ru`Z5@qu)isTiX7=YNm(E>1EibWj%Iw~%%BJq_mb!wJ;ez$P0??U$=2;X=Z#*X=g`!b!ACqZFg^bMRDDf zS(6&7%4_NxLG8tchWd*9{F0iwnu?m9NqzO@Rn489Eui|hx(Zz3wsm*4m1X5rb#`|) zfto-)-F4Yn#VwtE9c>MDRizaTy%VNSnb=fQ)6m*jT2NfqGHKS7&dQRcwDjWgmMK#@ zi}OpHnyT^(D;nA+^mR8j)YjD%=jPXS_D!GASz3}?T+uy!N^?nRZF_S~X>C_eM@>~} zRb5+GM{Q*#sEtt9(A?JD+uPUGl$Vp4Q(V#1IDPiis`T`{x|ZparnEE_WoBm;mv?mc z_O`dw)K!#Mw)FP2)z#HB)YVkhH8j*#RyDM?wKg@>*3~yRH&oYlPoLUVQ=VH~Qd3i1 zQPI%ZR$Wk7)7sh5)YQ`6+1cJuUE9*vKdHODrYb)zr@XtprLZKaC~s2ddW+uG^}Ts@ zrA>9US(ydR?JecSh2=G!{oRcfWd-Gpvu97OuP$w9o3~(ILqTR{dB=iT%?XJGot+H@ zg%u6mv!~ZYM3v2)*^ru6+11%to|l$WKW%D9X=!PFLsNZATSs$4)8qvUCN-2Mrj<^a zvtUwNRdHqel>XX+(x&dloYd5m?DpxCs?#&;`g$A7iweq{CQX?=ePUB>T}wxOUQX?l znKL@;6Jq0Pdwc7Piz{lII=UwGb~V)2);AO+=d~I@@ZBOY56!iV9n2&h7;@gKaOOa;sZA`#L+@ zIvQ%~+9yrwYwzrt*il(j+SJxsS6$Q8R8wBv(%Dv1QC{27($-R2UeVCjQdL@B+fY$Z zP}A1YP~Ffwxwo#ezI#GXb3;9-^lof!YA7!&DX(m3X{xKNX>4gIFRf{9Yp$uOZ*Hos zY3QBMRaaHj(A-d0+t$_9*3{J2-rCpzYU+X-5)Dl)_2s3N4Gj%7we?M)7Hw-=LuqkY zLsM%bsJ+`z3n~uk>l?uRqL!AH_KuGB)<#fQsj;=Ksj9rProOJGs+5Q&tE+43TH0Id zKrI$f{ngUi(K}(%lv$J7t1_~4N~_wsTZ%K%l9Sp`#QR6Ktm$lOo7P*NkXqQ(G$l1- z>*jF3b*&TDB%}m%PuT7&Y%$nX=lo=8h(zI{8+w!e-BbwtD^OrPBr9$LI~MSp5|RBYy= zb@Q^Lqe|-ATUsYgnbh4@m6)2DlU3Ex)!W=q+tAq6J8|-q-jGM3 zuG*a3#>vxWPHZnKZko5SKR2g&?$o^Kg#4D)x`KlI+|0t#+Uok=NmKgTS{hm^D{7|9 zn_e6nm)FqJ(a_e`*#s*08yZ`>Cr_Ht-CA8zUQtz1Tu@L}Q&Uk|-P}}HUe(gu+ut*B z%H#X;UMSXp9OG`t2V_SPuc}ZDaQ(J3u3#j%eFD|WYXlkgctN}GMo0=MH%F3%6 zo0=OzU8kmox~j^`nud*^X>nrbSl>Kf`QD{2~=nj31%%WK+ux*KY$8(UhN zKs8@=d3hbk{hfWiosG4H`GwUD?Gq>TG}cvCR8@nFt_F498XB9xy`q+eN>DbNGG*HA zMT=UpVxwcD%j#Bc-P9QFv^ybgYfMUdR_2cM?&`#}%;JXTmhPVN(D06|um zLS0#Lad}BmNz24Zy-oFXb>&%^X?dl+GpDwdm6n0al&adgmi9^0Cw0_UgWAN6E$wX$ zg;T+ zttu<8YG`a}X>Mw&FE1^xZ*FUEYiVh!E-5Z9uc)bQ={?PvmZJDZyt z%1SF5nmXEBnwmhFsIs)Qs-d~P734Wk>!Gf;uAvQ7DAt#k7L`^ufHGD~XLn0&U0G#S z187vEwyCWXWJ^OsV*@CI)wWEUG-X0hLrFn&d}>|W)RnVaA|t}XGS?gq58S*jF(ELo ztY_xL?uM3*{+8m5q`1tw1xwd1n2_Wblv>xnc0o&6Xk>Hm()m-1({ekfPid{Ks%x9J zU}{57azbimRWqnLT2fY0R#x3GVcwj14P`~u%?)*RQ|HYnNsUY>-<1@Va$-?=d|Y^D z&AN5Vn@W^#(&h~t7WIaBhBi;1RGnWtb?&kSlQKhs;|iJ< zFPh&{9TyZ{+&g{lgtmg5)Xc($-oEKmCbczGX5|#O_0C#2ySuz7r@U^$q)A7D-r3O%PUKaU z^^KFJPid(t%_*+v?C5K0s;;W3uC1=Bs;;YR>FnriZ7nYcxS_qrgK?jdh?w zBrvn78JxbFTHD%NTbml|D$1)Gni^|C!%LuqQV(i7fW`~z8yg#IDl2M1rE6_fHK=h{ zSKrv&(%eu}RSRx7g53kE-RnS&fW`)}R`6(4LsdmZd39Z5LrY6bLtRyQO=D+wZ%1QI z6{v9m@=jfCOL(NSM4YgI} z6*ZuiWU(2q`MA0l-AbSQd3@BQQHh^ zr#9Bs)zsBAG=hfuT3Z@GEfR<&jSY3R)t~?ddA_c$7Sy3_YN&5$1o;4DBgikH`VJI8 zO-&88HFfokpvno<;Q@`PH8p@oiNOU%EhwVuYimGNZ(U7QHE8Uu88SfE0xB1pn;L3C z{%>w=Yl75PO$~K5b&a4BrLwZBv9-0a7Bt!k?LjnyItGnxZLN)URh2dMO`u`vhK7bZ z&`@+esJ{i$+|berYRZA?w`RyNbtA~o+Qzn)hN{ZC=C;;`>Wb=y*0v@{QfdYbT~^i9 zLpmu9ji6D>IuO;+02&!;YHn@-ncdO?>e7K*d0>g!`uYaY0C^LrO$hQ|17w&S*~QCt*ZqMGJy)Vrlv+v5@~?=w6PHs zw4h44z8+!{D4l@DrC4dHyV;aELgH?f?3^p6ggAw&mKY&6El#0PBK+dZN4F-e!PzMnP#T(cM zU5N&e*M0k>-=MTiUPe0uW$ETU6@v7x_IfT zx{j&&fj&!0Hg`2`3+Y%;)fYM;yDcMmO5OC789npc+oqJx)SHyjyg2h<@658!%*?2` zzN+qN3pP$^ZmUnsO)4uX?3y;IZ`#Bum6hd%d3mK>ZLQOLr_@x`R+X33)OEGA^>((_ z*Hu=QRkyTsHg~r*G}l&DS5&n&G`6>NHZ;}M)z;S4H`X;awKO#}H`dkG*VWb6H`g~d OHZ;_OAed-qXaE2aP>_QF literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02013.wav b/tdkpin-rs/assets/original/audio/wav_02013.wav new file mode 100644 index 0000000000000000000000000000000000000000..f80c7601a171d44a3ddeb177011a11c85bfc4098 GIT binary patch literal 46348 zcmWIYbaP|b%D@or80MOmTcRMqz`(%Bz{sE!#sJ2Q3>*w8i6w~-wlFX>G}OaT0|?ZE zxb+~ip#enJg9IBI8X**fS6>g;)Cd&;OV>9vHrCZPG&VLifK)U#);BaZ)PY3n8|rEs z8yXtx>YADw8XD^A8k-wx8ye~wLA-{>Ca`(+4NVQTbq)26tqrxcwGA!J4UG-;AYC8@ zbxn=6%`LU{APXCto12;%>KZ|yuCBSUv8A@AslE)YBpnrmuWI$CP$TUy)etLoc2o9dcss$1Ke8yg!M8=IPH8{6BO z8|&(tn;V;(Yiiq@>p;F~YH4n0Zfa<3YHVz%ZR}{OZfU4)Z*8cnYp$(mYHMh0EH7_s zuWf9pt!i$pt!e0JZEb66t}82T?eA=?s;X=4YASE&Y-sFgsB3F!XlbgeZE0<4X=|x% zYHeuf?<*;&ZSU!8si>%KZEa|2t!rqls{<)$sc7hGZ>ei&@9AtQD{cf)6~zth-Q5j^ z6)o+Z&DGV7ZQYGE&CQK%-7SsHH4VKj<*m&Py&ZKO{jJSaMcq?cTbrxun%jChDr-9G z8haWWI=Z?VYZ_V`TPIIwZEdWo>6_YKQBl*-J)yg`v%R6NxwE~qy}7l$y}iA)p|!iU z0Th1S6Wi;m8rr-28_OCx+q=74d%J6@>RS3HbhOk~SGP2^^fi>Xv{biD>g#GLEv#

MMhp}eW9sj02Dx}l-Aqo<*~prNa}rKPlMUPE4KY4yYz4JFlWwFONbO>Gl9s%x8C z+8T;Vni?9Kni^^=TUv^0C$-deH&s_=H%;km?`tZnZE2`(m@uiSp{b>>v#Gkav#G4M zZ*pHlMMG^_Qx7QK8+v*wYCCHiI$K&Mc2-pNw^y~cw>LEP_cV0PtjcR|s+~Twp`oF* zr>m>AwrNUxX>C($`}Fprt}c)}TN`?(H`GpQD4H;#p`*2`Y3kD6qSA)RGp07>S4~|o zp`o^+ySJmGs;PUzgw}?trq=Gst>q09T5DT7y1V=Ox*N(HnmQ)7R<*X4G&F&vTU+~@ zvQs_Ovw= zm(?^h7Z>-;STv)opl4=h!=%oFwn;s0ZJosh{gXQBnCES^wYQDSWpr(D&v}x@H72T7jb+@-SH+N5-Ho3pMy}iG?p=R=|?&h4tistFFn`>$s zx+l->E@_^>xWA^NefHw{?FALHCpWY=_xI19-yD-Mxxb~MXG+hMo{kAU4HXR&W-M4R zp=U}*MNQ9?o}L8@YBCBMrp%Z!p`~TQl%AT3DKi>MTBb~yv!J17LPtYQ!;(1#EiDyu zCNxZ#)00xr(bLf|VFJjgDIFaXateBCrmSeGsA-tcQqt1W(9+N`p`xH?PESWmLcx@d zo}Pl94O1#oQaTp2G&EF9Sx{5Z(9zSFk`}umYkZ7mW~y3a&jtK7A#mY zC840BV$On=1w925YEpWp)XZ7Z&@pAol8%C&nu-}9$AUc8)6p}bp`xK@1qdRj^f3L1JET3Tva zT3UKqDyDQ~G&Iyq=xJ$bX=tdaX=$jasiFFrx>FMZcXjuaCMn^{t*c&x9 z4K*ztB`rNQJyU90Iyxq_)bvc~nb1?yF=IkOLcH1u@Ln36MPNkz|;h6z)8 zrp)MRn9|d;VhK3(TR=XV(b3UT(6V4jPeo0~oE1GeHFFj$nNUzLWyzG1nkh3D)MV7m zSkh6`QBp8vP7f$0wsdq~$bJv9v#H4UIl(9_Y-($Uh=P|-4{qhLZq z!Hg*lH8njI86BWNO-Y$DqoM_rj$0~98s#X(XgN=r>CP~!IYXQ zOL{s=66S2^>FFq`>6kEQN!XsKxEY3W(Bq^GB)q+-E_2?Yfe4KtR^ z=$SI10hCOqOz7yDFk!-ko`#+oJq;}lAjt_eB@Gj1ENIDTm@;9;jGj3&DoScP<}8@d zQBzUT(b6%ep`fFqqGQRNDIGZ}6)khtESb|#&@!c^rKhF>lqP316r?mvsp#m)nX;oH zAt$F|!J3Agik_O3mI*CA3no<5v~=_|WaP9oG_LIQcyEv!HkBIh8mDX4IM2FQ>K*EfP${0W6p$ zpsdp}V@kt>6%{ExEj3G4G&D4HOqnpDqXv}kL3S?b$(b;rWkO3!N5hmQ4K;Hba%RkE z=;^3vS+HYDPC>(*B@0?IDi&;*(NF_QUp*Bq6K2flXsBrEm@ucKq+v!!4Jf3hOqtM7 z($LZ~qobmuqo4tlXeV@ZOle7p=~*$OA}6C^!<>YOoSp>}YAPBQtfYo-*`l;rd@Oj*!Tk zb2c<2#MCTV(gI2p4JjoZ6XwilD5&X}GGj(ZK?Nv#c679~^nhv&P|@7ePy@!Z>7XtX{W zt&b*5=^3q$M(d-|{?TavXtaL>>KKjok4F1Pqy3}N@w(CRy3z5v(eb*P(eb*`{?X`o z-RS%gXb^mK{%CamXmtK)bpB{`{%CamXmtK)bpB{`{%CamXmtK)bUnl9`ns0U^>w4` z>uN^V*Nv{P8(m*Fy1s67y?4pzdhgNo-VHNA+Z0CEdylTK8(m*Fy1s67eckB#y3zG@ zqx+9W_aBY!haKGyJK8@Q?H`Tyk4E>yj_!vYJ)dFpe1?h^&}RG5{?TavXtaMc+CLiY zAC2~pM*Byj{iD(T(P;l@w0|_(KN{^HjrNa5&#xOjzi#yWy3zCNCXAk^I(nY!=y|H6 z=c$gKr#gC`>gf62qvv~%p6@-Oqi6Jd@6q$UN6+^jJ>R=w!f5}fVYGiV+CLiYAC2~p zM*Byj{iD(T(P;l@w0|^u|Iz6EN2B*2jo!yMdLLiQ=zV;n_whB1-p4n3AK&Qxu%q|G zj@}PDdOz&w{jj6=!;an$J9=OF=zZm*_mzWg;U2xOeDuEZ(fi613P$@!gP?!ZQ88gk zLr+ac&x|=M3KFLDbo5ko%;>0T=xCWSp`xQ@!jhVtDGe%fAY;Oso}7}J znmKD)atcZ&ESS;(Iw-fKprxf{!i0{7hMJm^h8Z0-Jv}WGCKP0J^z=+==vgqOr=*}^ z%9Ng-nwFj^6FMpidU|^1v^4azbj)bT>6kO41EguejFOCwITL2|lysD2Oz7yCGo_}c zrKMv^PeVmT$AlSk8cL>gO-)Zn$Bd4Onwpvk3ua7cs3>We zFr^`(X2X(_gpvs}X3VI_nKC0HV#bCwQwnNo8fHxBX-O%V($lkGMoUdb&V)HrCUoR< ztmtVdDe38G=;)X*rz5ANp`&NYjFyU?2`v-mOlYYnsOjigF{h-aqo!rXl!}6eDKn-_ zX{l)d#X(O?4Jht=T6!94T6%g~8X9_fCQRw5nJ}ZFrK6;wrDH-zMMFzVPfJThMZ<&% zEfabwI;M2AOlT!prNLur)R>7DFrzl zGp0l!}~+jyY3WN@_qUams=T6*V1mmdt1=spx2F zm@uKFW=cy&%ao3if}RCaCe$R9v`m@O(g2RKjtQWU0cD5@6FMp?AW5nsres1#LB)ig zmYyC^oOYDdH1y0_(2xO&nUb2G1xs3T8fNq~G&Iz-OqkM8(=(x?rKYB1LQe-sU_uQj z>2gsHy0gF=YnW%$5pJT=#%&23cIuF{7uZ zqNZm?OGQUR%Y+F%H4QzW%vI7d18itR&zuy3j*f;7P`d8vsR4yzO+iCPM@L6X3&^1b4LuWP^fa_gSTLiZW6p$zj+%-I zb0&ZtIH9Mar>CU{R6b3aP*XBtP7f#;=73Vbgc&m?lyoeZGpD7XrUMlAGZxGN+YHKA zJsm9*T52Zrbo4ZIOlWB60F|K~6Q=ZZfQm~{A=Ls-mpL^ZkU(tdX#kZGApIRZGeF4* z%mwAVnw~imI>7k^6e>MadLZeiqNHQOgeenB3Z~4cX_x@=%9NIx2@NHng1P}zPS@nr zbWE8srKSMn?TU^mJuN*QH7%el(J%#6w1X32MM=k$9#HgjG)!nI=>g@qnvNb&fzUIh zr>CO@R6I-orT>-+P!ZSA&@y8}OG8CR52&{2nE^`9pyHyXV#1UO6DkTiCiJw_v`m=M zQ&G{-Go_=YrJ`lRgb5W5QyM@?x}ju3OU;y?l9~w}9iaN7rlq4{%9N6pj)tC^3Q%}A zfNCI6{B$(5G}KI(($djT0U|*u0AzAaO9v=mAvqD0O*&>wsA%W`rzLQ7fvO2m`3g$a zpj}{~B-sO++@CO^r=z2xqGwJ|3n*1}Oqo#AGNETeM@36d52%8gFacx-sPO4%0o8{c zVBv2C@sZGmf~nv#|Y9Ss#F6%%H3v^3PzfTFi!!W2+} z3JU6)7EoZ+6cm6A?P%zk0L~FTpv*J@R7dwrn9|bF(=(-|q@@RxM@iTj2BoE% zmX?;D4p2qcGoh!WrU8^FTR;f`R1t#`LIbF9ZKwg&qo6t;6zLOsKzdpx^t5z<3auUx z17r_4m3Dw40bKhxbWG>~<#KS?gSKFUw1M=31VK4v3Md12OaN=>=x71896*siVL=Nh z;K3oVU`hd~{%t9#sp*;0(leu>q-R1&MMpUATP8vNOpjHkj=0Lu!scER0Fr%jj zl<{hMru5920xEwNENCfc=$JAElvqHe0I05;0FJ4a3Q**ODpAnt+lG!Q6DEKZG_gjz;!UFssn2WRYVP-3m`xd*aC`=h89pbf@%wJ5d{k0mIhGS42pyapc<~D zX9B3L(gIFFEiFA0KpC@T%8V&34Rb)LqG!qsQ1+S9Qv%8(Ej1utPiUzCRlOY@pb+n9 z0T)dTJv|K#Q)W!)0OykqP%8u!BsCQs4Gj|}fNFt`7EqNlWdbM}dg|I8d?L0>4U?u1>6Sj0J$8*Z|Uf1X#mwBpz;@VqZBwdPv~d> zr;3&uaDfX-DPR*o^#dd&f&C9^c0+2RmWGm=o(WSL3P1%TC>>0g&;UuOpyo9wCK?(* zPAIA90VmxlGe8YfP~!*W#*Q9PZPU`yGY3>j^?;gK1>mxvrDsY*1*lf*XlZDeGN%Px z_V<7a_6eYT+A{@I^GpCWoI%Y5P&;@+O-m0r*>rUDfD$e!6M%xH2h=F7sA-u3)&fpp zpvD)tW&vdekT<|BQBcDQ-P6j36DWIwl zl;S{b7jV^43YrZ52^vciL0jr+{gm4dq4>Ql!977-LZy>7EsH&0p$E1aCEnTa^DO{+r0-= zb@qUY-4;+60aSm3S|A`}dqAC*jtM;tpe7{9fjtviDq5z1`f8x81}ddN1vof0gS`Z< zd|Dvcv;jhCP$Yv*1SM0D$)JV+DAqebJwZ^)1}O(w z2eKGcgn$w%s8IuIfHl;B>;g5tL2d*!VkUr^AU)tz2ns(?D+m7 z3n&U9!4E3CT0neI7X(a$^C>8y_JA5HAcukK_zqC`f*K(pdwW2B1yz!u(g)lI2Nh_b zLLQvBK?M&eyMQ`lpu`R8fq^SHNJFrv1)RD-S+WO|96-ersF(reJWyc)wj1ORkpDrh z0YxLIrUIn_P?`YM;GnJo$hn}{2Ui0fP!*se9u!y&pvn+bzk|XDlwLYOjR;T^zonrC z+=u{0Tnnfn2v*fm1FpWn4(jLtHNHXhX9XziTR;^JsD}tDsz5Gmr~$RwKnW3)>_9=( z11btYsTP#rK?%91rvaQ5KnfZ_xfB%kpfm^dCAj2hr~yR;D271o08okr1!f1Rl?}2N z+~@-(P>|O;K;=Ftrg}i(2MR%ux(@K*1;|`bpn~eZhMJBUpmsZ`zY9w9ptRZp>YRdF z1fb!Fj)sbw4p5E*=>pl^0&1Ou!w?+6U;-35E#U4nXv7#)(tt}(aGD224cH-&$_11n zLB@cF4nQR~s6zt^0r1!fIC@$@i3gOvz(o!yyMjX$6uscC1xR-dxI+U9_!dxF03{o6 zr3Z2(D44+U4Gy6mP267oBHGOFg$}5XI|Wi>gPhg^_aV4+0r5b|Xu35t49-T(z4D06|kn4q>PIHExV9-uKIP`L&!qCf<=Gy(?( zq;vq)Di9BX%Bqfz9&l40)c*y=2(&o{D!@Up2zC)9zk|lYKq`8`Hh|k=4d4<193UV9 zBnxV6fY>0rKpC&10@VHonF(mK%nRgX zP{sjwpTIgn9tSxEq7KwSnF1;{#6aN+u2n&% zfSNs^R00V#miZ6JesKxqKvLy#e0b)b9&O4y*$L6Cz%u4n)id61e0 zlqEs!AE+xqZ5og&Q1S-{EGS=q8~_mnTLBJIP@ac`HpoU$Y=CI66v&StTcEiFlygCu z6NEu728BDwJJ4W(7zy$&Xvhbo2jnGCNdjVn#6fAK1=O_!B@|Fi0dg2PdxJs*WE?oK zLH!X>J_Hv4AZ3us6{H5_JaCl*9qs^o2%HB&ia~V&SOTO8-0lV0-U9X=*rAZ7Gsr0* zr63xV@4+DgQq%%Y{UAM{U}va1lbEV6-I#K z43uC&CV<62u?Y@RFc0J%aAt*QgqRF+4%l3f=RnyLWCtXqK$#ol9grx<0FVZ-X&}qN zMuS8kP6ZhQvK~~qft(7G0ow<53nVD%wG59b_aZT|$x@D93=}6f6pH1IU>m zNsti84G=TIK@ZJGAQ4D>fb0S{^FfXPRrC;zkbsAn3(B&f5CypbRMdbR1PV-$@t`~p z;)B_s)Bs96AR6pnPy-Ouzyrk^C|!W#3FKq&5D!QRNCfNyh!T(^z?#6m2N9q)5=aLq zv_J|$?gcgRpbh|~BT$$?QYFY+5Jh0mf*l18La=v0hC{VM6hb@&@g&$>kPpF42e2XF zCgoLD3IpgKY+hfV4w6AUSZpffVyFLtv6%#c&R|VFjv$ zK&2MMX;7Dg0uAIjkW!H0AYl*<;)9wqkmv)M1`ah)SqhPYa6!odEC%upR014jAooC` zAM8+wHK5o58Hk8sQ0PEH31kw;VsOxcO#<=2@c`w4tN_a*1qs9zU zkO)*7OhM$p#)C~jxDVzsh&w=%5WOH47=wZrY$(X1AblW}AQ>19F&m@=CIU()2sX$& z5Lbe9!QBAK${_1OhJsxQl85MnCJV5a!EpfcGRP3HI*=xiS{Meo7@Qd(CV^7`$USho zzzSiKU?ZRe$WI_9$Y_wMh|~ho4=&I^N}yhZGNFzG8wwHvGeA)aVSt1n8o+$8Ye2~p z#Dl8>`3K=3kQ5BVl|ak@al!rr*@{pDW`V@P3`lVbVuH*BX#uezF$WR>mj__~fq5WF zIEGjQaWqsGE`($PNIlp-P{2U^1X2ca6{v#(@()M}7=t9h3~<31!FGb2 z36TV`pk{ytU_lJl1Wr6))4+0IFF{=c7KJBZh+Dz(;P3(mFQn{%=mdoqR3}IPtQ*7t zi9@Y|XoL#D5;#I3ST~#tawb>=q8Vfq$PFORf!Ii*NKB9>uq{v}APQn4$S4R4BnEN= zm^G9WX++K>pa7=!?|Qy?-BO<+;DVIZr( zu7iqz)PMpV5(N;qg4BR~4>kqLL3j-;3L>B~P}3kHV9Ov95E2?6AVml{h!jW+qzi=M zY><1vc7a4e7~&nUUXYs*Sr#S)QUtdJl>`L=5J?mgq7uy#xJHmts0ug}NfOy=WE((Egz%A7fJ^{mxQU=T2BZR_ zwh6=p6D>_3s;LP~K{z0}mX;QXIE2&G)B;rj;)7&bplXqXAxafde-HA_dX|RSROmoCuYKDsF0NfkYLu zO0aS)1XL@A4A?AmNhAY7K?zm^(TT)_2!K3*t{o}^Qj07FVI$0j@S%#4D5wgM&0tYn z>Ohhxawr^-EEvO`0g;B74r9Yrz>*R~8j@)tY><8k9~KQDP0+{#F+o89!eE6kb3hUh zOQ3qec*DA)ra9Z+#-1_FtoV}wl* z-MC1wKCp4%auUo1Sp!iIPezK7xZH0a1h^gsc)Ff!#c0d5}JcaUd2dhKa*XL1=7( wi-EPkR5mp=Au%y{V6|ujszGRyIJqE~Kx_iBV9Fq7A&Eegz@*U~hY*Ld02tdSrvLx| literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02015.wav b/tdkpin-rs/assets/original/audio/wav_02015.wav new file mode 100644 index 0000000000000000000000000000000000000000..b5de7a1db1d802471c3c8e991e29a38a63c61235 GIT binary patch literal 7946 zcmWIYbaP{pXJ80-40BD(Em06)U|?WmU}R7VV*q1D1`dXl#FE5&atsXhFwoFY-%#Js z(9qD>(9i%Dgpl?1^)RXWdaw{k8AK4G7_0-N6QUWUzoDTKM1hFLMhMvera>e~q^Y5y zp$Q}cl0@hQ84WcQWN9NHH}SmO^vn9b#*OujV�t#!3c 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 U*#U|HkcD9HAPA6G5In*x0A?(B`2YX_ literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02016.wav b/tdkpin-rs/assets/original/audio/wav_02016.wav new file mode 100644 index 0000000000000000000000000000000000000000..d0c5f7b58dce5e32a39b41eabbc52707214596a4 GIT binary patch literal 3518 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02019.wav b/tdkpin-rs/assets/original/audio/wav_02019.wav new file mode 100644 index 0000000000000000000000000000000000000000..f3c3c9ff0e2218ff8300e159f682568c6e0a42d7 GIT binary patch literal 5148 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 F0swI^iz5I4 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02021.wav b/tdkpin-rs/assets/original/audio/wav_02021.wav new file mode 100644 index 0000000000000000000000000000000000000000..e65fd044550d96a953d351feeff1362eb3fe0654 GIT binary patch literal 3194 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 KYLE>eLmL2dbT4}V literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/audio/wav_02022.wav b/tdkpin-rs/assets/original/audio/wav_02022.wav new file mode 100644 index 0000000000000000000000000000000000000000..6405869d3f079283604e66f4314e2f19d4d122bf GIT binary patch literal 22122 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 FGyn$;EtvoS literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/dialogs/dialog_32512.json b/tdkpin-rs/assets/original/dialogs/dialog_32512.json new file mode 100644 index 0000000..9751b57 --- /dev/null +++ b/tdkpin-rs/assets/original/dialogs/dialog_32512.json @@ -0,0 +1,169 @@ +{ + "style": "0x00c800c0", + "bounds": { + "x": 20, + "y": 24, + "width": 202, + "height": 130 + }, + "menu": null, + "class": null, + "caption": "File Open", + "declared_control_count": 10, + "controls": [ + { + "id": 65535, + "bounds": { + "x": 6, + "y": 8, + "width": 36, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "File&name:", + "extra_hex": "" + }, + { + "id": 100, + "bounds": { + "x": 42, + "y": 6, + "width": 98, + "height": 12 + }, + "style": "0x50810080", + "class": { + "class_atom": "EDIT" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 6, + "y": 20, + "width": 36, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "Directory:", + "extra_hex": "" + }, + { + "id": 101, + "bounds": { + "x": 42, + "y": 20, + "width": 98, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 6, + "y": 32, + "width": 64, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "&Files:", + "extra_hex": "" + }, + { + "id": 102, + "bounds": { + "x": 6, + "y": 44, + "width": 64, + "height": 82 + }, + "style": "0x50a10003", + "class": { + "class_atom": "LISTBOX" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 76, + "y": 32, + "width": 64, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "&Directories:", + "extra_hex": "" + }, + { + "id": 103, + "bounds": { + "x": 76, + "y": 44, + "width": 64, + "height": 82 + }, + "style": "0x50a10003", + "class": { + "class_atom": "LISTBOX" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 1, + "bounds": { + "x": 146, + "y": 5, + "width": 50, + "height": 14 + }, + "style": "0x50010001", + "class": { + "class_atom": "BUTTON" + }, + "title": "OK", + "extra_hex": "" + }, + { + "id": 2, + "bounds": { + "x": 146, + "y": 23, + "width": 50, + "height": 14 + }, + "style": "0x50010000", + "class": { + "class_atom": "BUTTON" + }, + "title": "Cancel", + "extra_hex": "" + } + ], + "font": { + "point_size": 8, + "name": "Helv" + } +} diff --git a/tdkpin-rs/assets/original/dialogs/dialog_32513.json b/tdkpin-rs/assets/original/dialogs/dialog_32513.json new file mode 100644 index 0000000..f55ea54 --- /dev/null +++ b/tdkpin-rs/assets/original/dialogs/dialog_32513.json @@ -0,0 +1,139 @@ +{ + "style": "0x00c800c0", + "bounds": { + "x": 20, + "y": 24, + "width": 202, + "height": 130 + }, + "menu": null, + "class": null, + "caption": "File Save As", + "declared_control_count": 8, + "controls": [ + { + "id": 65535, + "bounds": { + "x": 6, + "y": 8, + "width": 36, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "File&name:", + "extra_hex": "" + }, + { + "id": 100, + "bounds": { + "x": 42, + "y": 6, + "width": 98, + "height": 12 + }, + "style": "0x50810080", + "class": { + "class_atom": "EDIT" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 6, + "y": 20, + "width": 36, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "Directory:", + "extra_hex": "" + }, + { + "id": 101, + "bounds": { + "x": 42, + "y": 20, + "width": 98, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 103, + "bounds": { + "x": 6, + "y": 44, + "width": 64, + "height": 82 + }, + "style": "0x50a10003", + "class": { + "class_atom": "LISTBOX" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 6, + "y": 32, + "width": 64, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "&Directories:", + "extra_hex": "" + }, + { + "id": 1, + "bounds": { + "x": 146, + "y": 5, + "width": 50, + "height": 14 + }, + "style": "0x50010001", + "class": { + "class_atom": "BUTTON" + }, + "title": "OK", + "extra_hex": "" + }, + { + "id": 2, + "bounds": { + "x": 146, + "y": 23, + "width": 50, + "height": 14 + }, + "style": "0x50010000", + "class": { + "class_atom": "BUTTON" + }, + "title": "Cancel", + "extra_hex": "" + } + ], + "font": { + "point_size": 8, + "name": "Helv" + } +} diff --git a/tdkpin-rs/assets/original/dialogs/dialog_32514.json b/tdkpin-rs/assets/original/dialogs/dialog_32514.json new file mode 100644 index 0000000..1decccd --- /dev/null +++ b/tdkpin-rs/assets/original/dialogs/dialog_32514.json @@ -0,0 +1,79 @@ +{ + "style": "0x80c00040", + "bounds": { + "x": 20, + "y": 24, + "width": 180, + "height": 64 + }, + "menu": null, + "class": null, + "caption": null, + "declared_control_count": 4, + "controls": [ + { + "id": 101, + "bounds": { + "x": 10, + "y": 20, + "width": 160, + "height": 12 + }, + "style": "0x50810080", + "class": { + "class_atom": "EDIT" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 100, + "bounds": { + "x": 10, + "y": 8, + "width": 160, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 1, + "bounds": { + "x": 47, + "y": 42, + "width": 40, + "height": 14 + }, + "style": "0x50010001", + "class": { + "class_atom": "BUTTON" + }, + "title": "OK", + "extra_hex": "" + }, + { + "id": 2, + "bounds": { + "x": 93, + "y": 42, + "width": 40, + "height": 14 + }, + "style": "0x50010000", + "class": { + "class_atom": "BUTTON" + }, + "title": "Cancel", + "extra_hex": "" + } + ], + "font": { + "point_size": 8, + "name": "Helv" + } +} diff --git a/tdkpin-rs/assets/original/dialogs/dialog_32515.json b/tdkpin-rs/assets/original/dialogs/dialog_32515.json new file mode 100644 index 0000000..e2e757c --- /dev/null +++ b/tdkpin-rs/assets/original/dialogs/dialog_32515.json @@ -0,0 +1,217 @@ +{ + "style": "0x80c800c0", + "bounds": { + "x": 24, + "y": 19, + "width": 199, + "height": 135 + }, + "menu": null, + "class": "BorDlg", + "caption": "File Open", + "declared_control_count": 14, + "controls": [ + { + "id": 65535, + "bounds": { + "x": 8, + "y": 8, + "width": 36, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "File&name:", + "extra_hex": "" + }, + { + "id": 100, + "bounds": { + "x": 44, + "y": 6, + "width": 104, + "height": 12 + }, + "style": "0x50810080", + "class": { + "class_atom": "EDIT" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 8, + "y": 20, + "width": 36, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "Directory:", + "extra_hex": "" + }, + { + "id": 101, + "bounds": { + "x": 44, + "y": 20, + "width": 104, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 8, + "y": 39, + "width": 21, + "height": 8 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "&Files:", + "extra_hex": "" + }, + { + "id": 102, + "bounds": { + "x": 8, + "y": 48, + "width": 64, + "height": 82 + }, + "style": "0x50a10003", + "class": { + "class_atom": "LISTBOX" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 84, + "y": 39, + "width": 40, + "height": 8 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "&Directories:", + "extra_hex": "" + }, + { + "id": 103, + "bounds": { + "x": 84, + "y": 48, + "width": 64, + "height": 82 + }, + "style": "0x50a10003", + "class": { + "class_atom": "LISTBOX" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 104, + "bounds": { + "x": 4, + "y": 4, + "width": 148, + "height": 28 + }, + "style": "0x50000001", + "class": "BorShade", + "title": null, + "extra_hex": "" + }, + { + "id": 105, + "bounds": { + "x": 4, + "y": 36, + "width": 72, + "height": 96 + }, + "style": "0x50000001", + "class": "BorShade", + "title": null, + "extra_hex": "" + }, + { + "id": 1, + "bounds": { + "x": 160, + "y": 7, + "width": 36, + "height": 24 + }, + "style": "0x50010001", + "class": "BorBtn", + "title": "Button", + "extra_hex": "" + }, + { + "id": 2, + "bounds": { + "x": 160, + "y": 37, + "width": 36, + "height": 24 + }, + "style": "0x50010000", + "class": "BorBtn", + "title": "Button", + "extra_hex": "" + }, + { + "id": 106, + "bounds": { + "x": 156, + "y": -1, + "width": 4, + "height": 136 + }, + "style": "0x50000003", + "class": "BorShade", + "title": null, + "extra_hex": "" + }, + { + "id": 107, + "bounds": { + "x": 80, + "y": 36, + "width": 72, + "height": 96 + }, + "style": "0x50000001", + "class": "BorShade", + "title": null, + "extra_hex": "" + } + ], + "font": { + "point_size": 8, + "name": "Helv" + } +} diff --git a/tdkpin-rs/assets/original/dialogs/dialog_32516.json b/tdkpin-rs/assets/original/dialogs/dialog_32516.json new file mode 100644 index 0000000..e562a25 --- /dev/null +++ b/tdkpin-rs/assets/original/dialogs/dialog_32516.json @@ -0,0 +1,174 @@ +{ + "style": "0x80c800c0", + "bounds": { + "x": 20, + "y": 24, + "width": 202, + "height": 135 + }, + "menu": null, + "class": "BorDlg", + "caption": "File Save As", + "declared_control_count": 11, + "controls": [ + { + "id": 65535, + "bounds": { + "x": 8, + "y": 8, + "width": 36, + "height": 12 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "File&name:", + "extra_hex": "" + }, + { + "id": 100, + "bounds": { + "x": 44, + "y": 8, + "width": 96, + "height": 12 + }, + "style": "0x50810080", + "class": { + "class_atom": "EDIT" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 8, + "y": 20, + "width": 36, + "height": 8 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "Directory:", + "extra_hex": "" + }, + { + "id": 101, + "bounds": { + "x": 44, + "y": 20, + "width": 98, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 103, + "bounds": { + "x": 8, + "y": 48, + "width": 64, + "height": 82 + }, + "style": "0x50a10003", + "class": { + "class_atom": "LISTBOX" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 8, + "y": 37, + "width": 64, + "height": 8 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": "&Directories:", + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 4, + "y": 4, + "width": 140, + "height": 27 + }, + "style": "0x50000001", + "class": "BorShade", + "title": null, + "extra_hex": "" + }, + { + "id": 65535, + "bounds": { + "x": 4, + "y": 36, + "width": 72, + "height": 96 + }, + "style": "0x50000001", + "class": "BorShade", + "title": null, + "extra_hex": "" + }, + { + "id": 1, + "bounds": { + "x": 164, + "y": 4, + "width": 32, + "height": 20 + }, + "style": "0x50010001", + "class": "BorBtn", + "title": "Button", + "extra_hex": "" + }, + { + "id": 2, + "bounds": { + "x": 164, + "y": 32, + "width": 32, + "height": 20 + }, + "style": "0x50010000", + "class": "BorBtn", + "title": "Button", + "extra_hex": "" + }, + { + "id": 105, + "bounds": { + "x": 160, + "y": 0, + "width": 2, + "height": 136 + }, + "style": "0x50000003", + "class": "BorShade", + "title": null, + "extra_hex": "" + } + ], + "font": { + "point_size": 8, + "name": "Helv" + } +} diff --git a/tdkpin-rs/assets/original/dialogs/dialog_32517.json b/tdkpin-rs/assets/original/dialogs/dialog_32517.json new file mode 100644 index 0000000..9b45682 --- /dev/null +++ b/tdkpin-rs/assets/original/dialogs/dialog_32517.json @@ -0,0 +1,88 @@ +{ + "style": "0x80c800c0", + "bounds": { + "x": 20, + "y": 24, + "width": 180, + "height": 75 + }, + "menu": null, + "class": "BorDlg", + "caption": null, + "declared_control_count": 5, + "controls": [ + { + "id": 101, + "bounds": { + "x": 10, + "y": 20, + "width": 160, + "height": 12 + }, + "style": "0x50810080", + "class": { + "class_atom": "EDIT" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 100, + "bounds": { + "x": 10, + "y": 8, + "width": 160, + "height": 10 + }, + "style": "0x50020000", + "class": { + "class_atom": "STATIC" + }, + "title": null, + "extra_hex": "" + }, + { + "id": 102, + "bounds": { + "x": 6, + "y": 5, + "width": 168, + "height": 32 + }, + "style": "0x50000001", + "class": "BorShade", + "title": null, + "extra_hex": "" + }, + { + "id": 1, + "bounds": { + "x": 42, + "y": 44, + "width": 36, + "height": 24 + }, + "style": "0x50010001", + "class": "BorBtn", + "title": "Button", + "extra_hex": "" + }, + { + "id": 2, + "bounds": { + "x": 102, + "y": 44, + "width": 36, + "height": 24 + }, + "style": "0x50010000", + "class": "BorBtn", + "title": "Button", + "extra_hex": "" + } + ], + "font": { + "point_size": 8, + "name": "Helv" + } +} diff --git a/tdkpin-rs/assets/original/icons/icon_00001.ico b/tdkpin-rs/assets/original/icons/icon_00001.ico new file mode 100644 index 0000000000000000000000000000000000000000..a8b945af26ba6fcf24b093fd7e047f591900a213 GIT binary patch literal 766 zcmZQzU}RuqP*4zHU}Runc)`TLAjZJJpuxbvpuoVu;J^TqXJG&XCNPPGXkcJyU|?Wq zXn;@*4In1NfddB^8X7%2BhyM%=Py%Em|NjpR{QO|_0m5fsV1Vmq_z#k2;0M9~|3Ccy57iIS0p>G+ zOh>kw%IuDEWCJ-m%D*G{9UblE@W9{z@!;H!j*gDa zuJv8XoZEe~|Fgd@q$H1CD_MTZ(g6Z_YyOMkQ(mhI;4SYdbmvrON_ z-F7Z2VJ=&wilaF@I4qyvN=svK&|E5M{?l_+T#RziXAe<_vs0s<)LI35O_#jQyGrQZ z)~qvcUEWGFZfyJY#(M&ThbHUkO*K7PB1fdEKC?002>))}>5}E=7^1A7#%Ap7@~XPX zjdOpwqX_?oxu>2-^6OdwTY>tL}l(`h20F_oFW(ORXEHL9l$lYn9aD{yZmMD zj?!n!v9k_z$o+Tz#Q(vQz*^C3C=CSmdKI;Vst065H=c>n+a literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/bitmap_00101.bmp b/tdkpin-rs/assets/original/images/bitmap_00101.bmp new file mode 100644 index 0000000000000000000000000000000000000000..9a7546fcce249530158442722762d38416379208 GIT binary patch literal 246 zcmZ?r{l)+RWef}q8Vn2!0#MAzzyg+N0Fwv;BoE;=Fff258yX-KLjyxY0|Uc>0|yuy zKn#Ze3?Rht|38Fc_zz+-{Qv(Sq8&_fbaa5s;OOW8Gs@fBJ32ZT7|P2lDmpqC*vrey z+dDcM*z3UpV7eU4|6X2R0TTZXQqaI&{vXU|D6jusUJlm(|9eFT1K0qt1?=VJ1z-!o F1ORFzLb3n= literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/bitmap_00101.png b/tdkpin-rs/assets/original/images/bitmap_00101.png new file mode 100644 index 0000000000000000000000000000000000000000..4c502044b8806d5ec128b909322bbaf5d166ec23 GIT binary patch literal 202 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd7G?$phPQVgfdmW!d_r6q7#JGBxB*NxFf=eU zG#of^prN7RKLZ29e}?~H>OYwE|Nnn~VKq+%28K{i7srr_IkqPhg$@}AFdW!B`^=Jc z6K#xzBx6+nOxd;ia7o0@J56@6`78b9yp3hQN=ZfQy39Ww+~XC!aq0|yuy zKn#Ze3?Rht|38Fc_zz+-{0H&>e_&wX|NkFEff*13AzTIq{tpm7KZGKlgz1CP{~=lt L_JC~Q|NkEVw)rmg literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/bitmap_00102.png b/tdkpin-rs/assets/original/images/bitmap_00102.png new file mode 100644 index 0000000000000000000000000000000000000000..ea23b8e311e85ec874a72d0fdbe42b77292f8e4e GIT binary patch literal 167 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 D!pD`z literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00401.png b/tdkpin-rs/assets/original/images/dat_00401.png new file mode 100644 index 0000000000000000000000000000000000000000..043448e2d14211929040ca1304037f2284f7b489 GIT binary patch literal 1488 zcmeAS@N?(olHy`uVBq!ia0y~yV9;Vfq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeCxBi(^Q|oVPbl=RH;6VF-BtDfMqn z$<&kG{*FnGhEEcCZlo-Gl_jxq*JQb!$1EmD8~kOw&3Bn)z9uib(cA}%@|<3+cGQe& z|1b3PVV=}t)z<|bBFioxQs?V@wjo2g&v|)ppIz^TTxPMa^L{!jp631Nr}_6w%h?Y% z%v+x=NZ|jYsoEg9fYXxQQY&amcX79m?;^8P_Fk+8Z`cgaYfRlG_2Y=t+lfruB>wt_ zUYFIDFOCRO7C99DMSEGp=KEbNfBt@4C?WQeONuxAMyalLK=ABC=K|NgR(md`x$TvW z`>qqB8xm(-OL<;7@%PoJn6>MBp2qM?7kn$QxUj5LMloSpfN7%dcY#BjcBFK#*yqXo zj&Y-Kq;S}3QMuK+ITddt&W5dd?c2O5-LK#^n}Ezj;psx&O2|tEcW*7xcHa9m)h#j+mLy4 zn}^Esn&=kkYv#?G*{A0%{&7UI^++S%XcKY3%_m>zL P7#KWV{an^LB{Ts5OkBbC literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00402.png b/tdkpin-rs/assets/original/images/dat_00402.png new file mode 100644 index 0000000000000000000000000000000000000000..65596c0429c4f0595fd9e61779d89d1b7ed3c14c GIT binary patch literal 1496 zcmeAS@N?(olHy`uVBq!ia0y~yV9;Vfq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeCAZkcA(Ho10>L`&V8OA|6UyUiY&lqZ zID?bx-GTW*Ofwi~MHEd~tmK-xce|14%v~z=Q@Iju@CMEE)G9Uo;AwhGm^H`nmvq>5 zS?&2n8+Hn62}=C+)O_$}yH;aCyq(BlrC7(sAGvm~D`mAPwR~fKvh?ng7~!K~f9r&| z7O}>}Of$Xx{`#rEuVmI;^FLU$uD#o$+QKH|vQ?jip?8AsiI;N8Tdt)?yYj|L74mz` zy_RWh+;Neebcv1&|-z8$b4z3I!`moj${(__@mJ8Ils^}LbtL=W?ARpi=94hbPd#AiqJTQXMGL?GGVy9i zHFB)}ek+M{^#N@I9o>-c^0zkTXQVa@PJ1Z2Hh0ByjR32-3*Vk?z39`zYCrd&tGdpQ zmm8GU<{$dH$#wR!`wt&P-ncmF;msR9KFfl8878(a-E!-7{KXr7J=?@>bCXKW`L2zq znr_Ya;P2JnU#8nvZTR=fHYH$gukn_@$$M`FWjsmMn2>s5b#CMH-+eEye_M9l{a0b; z`Pu4kZly)5Y+Cwu8;AK5{^ph0xA(Yj70%c2(PK8b&@;W!QEJ;d-R5QSw;iU1EPR>v ze)e+lE!8&XF4^q=7areuSh6bIXYrCP&F}9qH5>7ko?4v$#fkfPNlDT9UhyyTfnUX& V7w+6^&A`CG;OXk;vd$@?2>^1h!PNi& literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00403.png b/tdkpin-rs/assets/original/images/dat_00403.png new file mode 100644 index 0000000000000000000000000000000000000000..4856661ce06e9bbd4a7eb1de17617ee4a4b76a1d GIT binary patch literal 1495 zcmeAS@N?(olHy`uVBq!ia0y~yV9;Vfq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeC=mF{UQbuYic^*uK< zgO{uB`1~NI8H}?+iYF{qa((GkV6?UMm(G6;(E}T_pV({;d6o5Wa`u)~t{X{T%wuEC z*VLRlIMpq~<;@F!KgRU^W}HV}e^@3V_L51;H~mIxruK#4_(OG@W2S|kGY!tU`rbTP zJ^X-r^0cJ=@#^1Kf8P;hFM4|CJG+N(68RVSX5SA!q_Z&l(7ZfN)#pwdeXm$7;r!lk zr*jSG?yFwguZo%7E$a)@zV>yI=grMVcQ5BoWyzZ*vP*bX$OG1||EJumJ~kmQDtrEf zx3`*Cu&=FNGbekg_s(sSvaY4)K2{&pXuPD(Xmv~7VZk;*!4;tmPCK{iwsLJ{$qM8Q zS*OeN`G1NR)2S;$D*~&Xr$%M)t9l))KlRJ>+@+T*Htyz{_p;Q&R9Ewj!78tlmoH!7 zd;P1c@7%{s&aYW3BlI)Qb-PwLOH1GUc>nUXV`Y6zOCPg7RX^XGrliyIlE=>~QPHPe zG_zXhT)XZqlV)+2>U&3LUH12G`|f6DIMdIRX^EcB(z9{@yVUFqZ^eDdn>^`zUDnZ0 zoA2y%z8}AM`~FX_E`GiKLaF)LJqzcb^3qqQIce)Vx5lz9z7g{ V%!1y-77Ppw44$rjF6*2UngB~E!;t_0 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00404.png b/tdkpin-rs/assets/original/images/dat_00404.png new file mode 100644 index 0000000000000000000000000000000000000000..278cd025f4a0f615e44fbfda0668437a03df955b GIT binary patch literal 1494 zcmeAS@N?(olHy`uVBq!ia0y~yV9;Vfq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeC!ic%o*PVe%Wx6-qP@IfbNp#S8zuCCQZ(aVE2UnUED@m`GtJ94rgCd>obl2bX zRZ&}+YQ5Tv`tn`eGNZGuanJgkCOGfHu~}cMT%x6KTS`soW1lkL#%xyO27xwXix&;8 z1~S){y!Et@+m>?!b>Ac5bP=}cj1nc^Pb(88&B-OVUYJ#di ze`&}v>$_xR|MzP6l!BIdqOSvkZp|*w4|JG)%fq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeCu2ni^}j zYu99PZ^uW?2Pd>2?DM^HF<_2cQ?N8Y5d~PUh&TKj#;>Ix7ui%n_VsB1Bm)V2x zg|$1npJg0nlhJB@x#7b}=f$Qvw|YKrcp0+TU%4c9VRzNpKg$B1c2z8%B6l}Y`_A^O z3rsbB$nMYPOkm3hI_ucqCGu3}(3;@z73V+o2Qu>Pb~G1>a{fMB6d7iF-DhLy{`)@Z zdztKfF9*H(ZvFc2E8BI~{Et?x+wE^reSJ`-csDvFVEIPhpD%mk-aIs} g-BsM*EB-}a(OxP!Xswb10|Nttr>mdKI;Vst0N*#)&;S4c literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00406.png b/tdkpin-rs/assets/original/images/dat_00406.png new file mode 100644 index 0000000000000000000000000000000000000000..71e3de48d6f68e5ae86f2e12b7aa0fd6e3a8f9c1 GIT binary patch literal 1519 zcmeAS@N?(olHy`uVBq!ia0y~yV9;Vfq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeCKq+x~>fIRd-)!$fv@*%l?6dqh`fQ3!R>oP3=*wS2j9oMs?dy z-1g9j_u`_h7HuL|avzEw>sYoSgPAYcFSKi&MycPjybR`B93$+yGjcbtc7x=D{rsP*gTi^L9ZndZ*tO1S-THvV#sLS! z7ISVfvFLc2w^8uLmK#}fKZph$xG8VKxcq0@Dcwh6K@5ytr z7u;C&zI?&$9Zbixx4QqX%YS^$j4k}N_QPH5QB{)to7+!sx|a6klicQ(?ozSE%fHv% z&e_6!<*}TARiV#$kNn*(lb4$0hxMqfb}v19#sAwH2mSarD%YLVhwGwti#2no@q!PBR|HeFou_*DwSwAQy%r(Jwidi+IH=D|%HY`fDRC+!uAT_s*2cCEB3 zaM9eOtnoT8qdso=cuyj@b*)&>C2gJ+YGJ`e_l~ZY%dNi{m{DrB?!vciA<y7V(o9C?c=+3EXTg#MUQDMAf_Sxqve*M1|f5=fYB8Dwv z!Lz0L8s2N>&PwLK-BxTm_4(;+ZQII8eiQkoX1xx}l6#KTaMCQAOy!-|EBhMv1voCYWWME)m@O1TaS?83{1OS};$`b$p literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00407.png b/tdkpin-rs/assets/original/images/dat_00407.png new file mode 100644 index 0000000000000000000000000000000000000000..ef885a011d886c9c9d8f5adb29c19505442089e1 GIT binary patch literal 1506 zcmeAS@N?(olHy`uVBq!ia0y~yV9;Vfq|JJz$e6&fq|g`j2pmI z149EtL&Jds2M*jhu$9Pki$;US>l0Rjac9y2^V4tRLH@bFOZXz=i8DDY^Q z;n8rwqv3@|gM!Bn504!M9y?}u>^R`Dg1s)0o4ITvz1qBT=3K|X+ zG`uKiP$<~pQLv++V8@Jt9R~__yeQbAQ1HQ{;6p*dhZzMQ4itQNQSf0yNy46v422m2 z9y0_AW(drfA#h-Zz>66I3Nt`XFPPymV}{3p86GcYcqq(h@R-q1Fr#6{jD`a<8eYt3 zP?)j9W5$kx89Qdo*l}RSju$g_D9rfaG2=tQj1Mzrd^j-U!;2XoPE5$Tu%JZYfPlvV zfr0}9GY$wGI3V!ifPlgQP`DHv@R)JH^SgZ$BP#`6kdGrc=4g&#fKR$J{)-Q;l+y&FAmK4aAgOB1p`9@1H%Fa zh6@ZAE-)-uz>tu@U}1qQ43b&EupogU0W6HrARr*1prBx2VBp~35D*ZMkdRPNP%vS_ zgar#0Y}l~j!i5VD9z6K);e(HcjE{_lhL4Plj|Q0OlM|t^peEwQii{8gffx%71qA^Q z1%Uzuff)({2NVQeCtNxXI2= zYw6|#ffIft7^ECLrZe;9#97n4US67fT7rEQ(=OWtdk4)QD@C}4T3zl`my!;5+?`V2!Ycgc-)2tsYUh@6vUqcBq z=i)cavznVsf86qBFm@0w;!|1W5xDN$+P^F%i_A{tM=^FD;xjz2!CrdxL#L^g5^K&z zxn91YUD;VIQHd_Lowo8g@F=S`_0Ia$8yVC2kMZV9Bs(3@X*6Hx&@XUk*RB-xj03g`Wsfqp z9!g%Gv8~wTwx!gId8%)i+d2DXw|sLx+%T)Dt&ZO$Q}*gV2GLm`-Y@#(J2|-8aaVSC zxno;p|J!R{mqhQ{uKr@zx<5Jdhw`G%PZu*7JQ*XCk z{K5Gu)bKPQ}?IMTHX?+SL^t-SbxIN zr)Gyg|L%LI$Nb{8dTsU5bLRdUQD!Hd{4Om|dGzpMzLtKo!@`X`f0!E%TDkgdotCkY zZ(me|oNut!Ufsx-Cogkr$@OnG@%69!@-*AR`F&Gw#>I!d>G}JbYF}lZTB}|)@32|! g+&jgOS^qMx4VBveX!U~U3=9kmp00i_>zopr06ZGWN&o-= literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00600.png b/tdkpin-rs/assets/original/images/dat_00600.png new file mode 100644 index 0000000000000000000000000000000000000000..c02b7070bb77b23706ff32bd3e185a71283411ec GIT binary patch literal 11318 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00704.png b/tdkpin-rs/assets/original/images/dat_00704.png new file mode 100644 index 0000000000000000000000000000000000000000..ce88ab687c1e2becf922d2934bd280acb5378ac0 GIT binary patch literal 1757 zcmeAS@N?(olHy`uVBq!ia0y~yV3@?fz|hCR%)r3#cH_br1_ow^0G|+71_p)(Fm3=- z4Gawo4Gjkl95`_2z_L>x6cl!NDC{Uu*fB$4#{q>MFBEntD17ix_)wtmVTQto0}3Br zD14~#G3W`gQ1B4&@DM2Q5SZa1aKJ<0g@=HG2M82+c+BwdIN;&&!ox$sqrt4GJDRJUn(3c5L_g#r(c0*`_Mj~N9X2MRo16nH2UG60G3NJu`Uhu+W#tV-FFFann@KAWs;PIlN;6=lX7YzqqG`x7xpzvac z$BP{WFLum$vE#st9WP$&P6b11Y#^S6chwJ z6a)$s1ZF4*98eH=p&+2307_K_3LY~QJPs&$yio8^P-yT_XedxcK%wD?2!0ferrHY!X z9~=w*b;Y7D+G~G_ZLeI|W#;Tz&nn+d>63p{CJ_7m)2y@m{QV!V_snz%YMr)DNOi`g z^wi*2xq-DamvVo1p60t!JV-!Q`|5YsX?l0gM@9Q}J9{>WrY*-i4-KA}5!ye9~}SJSBLsOWAcqH4U&SIj;)KAyDbTN^|-9QT-T&j72g9mK zUhc_XmOef{$8vr6jkS~Zr6{HTzT~xt#a4m&)QO84YgN3ey-rC5lpG6PQlgUB^O`?= z!K^9Y9P;C*XMJ1hwaQB~qW>ERIW_Kpe^Y)8bIJ-rAy*THbPHLG{dG$nBpi=L2 zqbWJsAG6kc@|YG>=BH5l{#|4-(@c-9YtxI^&jnfC`rfbg_Fx^g$(MeA-=Q63 z>J`YpN=misl;*?5S2ZStAK$#r!_eRRrDp%7&4F1{f*u82YJRtvbiZAL6O!uww@zAVeNN`ayoEb1nx1m9tb6l%(zBXdt$U|F?rGbQeWc&*W#y75X;YT5 z1p3RaW#&_zEcE^r@Amkb^E2d|g}%#``zBOQ2?##*G5M=1pX&2z6H0i(C#65!Hbtae zXx1a;9+q>}b7p(Zo1`VdS+Ti)`>zSii}g2ZJhWP#YH{rP^R`DHFD;&M>8z$pt9<5; zprjs_rq&-N4Q4_sTsu|xR0EUWyS?m~vc%-%Vi4LN^eQFLD!9n_7n9dl(cEs2&YaL+ zajK1%;#UPOIuRuFbwBf58!t80$onaF!IRuFr@3e5P1)Bs=~mDymB6U;Q=SCe3KlBu zkDjt)_4j#`rnz&f1WJ9MqSDLawsDHeSJlQTTWq{`1)hrdqMuQ?<=?sgz+DSH{Z_H7+LyKp-Cs6$()#Si-I_ZN$R=;y`{7shb))LfHS8N| dWdxSjM_OF2deB}Q#=yY9;OXk;vd$@?2>_kVL*D=Z literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00801.png b/tdkpin-rs/assets/original/images/dat_00801.png new file mode 100644 index 0000000000000000000000000000000000000000..d89ef04145c16d4b08969c27747edeaf41369046 GIT binary patch literal 1232 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00806.png b/tdkpin-rs/assets/original/images/dat_00806.png new file mode 100644 index 0000000000000000000000000000000000000000..103e95562dc873eca92cb6feaf9c64e624e2dc34 GIT binary patch literal 1255 zcmeAS@N?(olHy`uVBq!ia0y~yU~pkzV6f$2W?*1Yeqi6pz`)E9;1lA?z`)P|#tmSq zfuVt+q2a)R0|)LLSa#}zg2E0Dg&hS7J7y^CIH0iOg~AR6g%2JI9|{yc%ux7nK;gp+ zg%34820bAb3LXL;9s&g(0y8`W4tNN>@DNb&0D%Gzj~N~w2RuApcz7syG^LxE$BP*|6lQ$znDL=t#)la*J{*|w;l+#(Cnn@vSWu#HK)~aG zK*0fl83zOo91wVMKtSODC|n8-c+5E9ao~W*ivu1C2O2yMG!z_Ym~o)tz=4Jr2O1O( z?C?0Squ{`f83%S8II!czfgK75K6o7XP;lVGi~}DI9Qg3!z=soAPnW~0&n^n{RzE%2=GD2NaQ;T7k0B|?N^c1- zb=Xm;!PL2QN3_#yAIBpJ=hq%<`Otk}i5JThLF@S$3nyG{@;EoGgK-jv_ir7spd1}`T+O?|%6FR9eesG(%tdN;od{d!F1hxXkP289p0jA6?ky zu}^(Mhfhawi}2ICU*_iMDr=|-xYqEve>gV%j8!A&O9Am<1+(2pE?#@;@L!>1|E0_S a7$$t%Hg8SB#sdrt3=E#GelF{r5}E)N0YhE@ literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00807.png b/tdkpin-rs/assets/original/images/dat_00807.png new file mode 100644 index 0000000000000000000000000000000000000000..a5f2cfa0568dff829afe367ed9dc0c39f55848a4 GIT binary patch literal 1260 zcmeAS@N?(olHy`uVBq!ia0y~yU~pkzV6f$2W?*1Yeqi6pz`)E9;1lA?z`)P|#tmSq zfuVt+q2a)R0|)LLSa#}zg2E0Dg&hS7J7y^CIH0iOg~AR6g%2JI9|{yc%ux7nK;gp+ zg%34820bAb3LXL;9s&g(0y8`W4tNN>@DNb&0D%Gzj~N~w2RuApcz7syG^LxE$BP*|6lQ$znDL=t#)la*J{*|w;l+#(Cnn@vSWu#HK)~aG zK*0fl83zOo91wVMKtSODC|n8-c+5E9ao~W*ivu1C2O2yMG!z_Ym~o)tz=4Jr2O1O( z?C?0Squ{`f83%S8II!czfgK75K6o7XP;lVGi~}DI9Qg3!z=s1Q_<3Psh`XAaOTuA!Xa5IGdHpxl011!aVcl=)-F%Y35HXGltlWD?cTg`l2VRM zbxvc#2BUX(<1{!I^{!s(kd(5KsXa)-Fsk@ogZU>8-mK0Emll2erfrO1- z`*_K%T=QT0aruG#&~Sg1|L#Bg7Pap^ z?R`!%X>PSqTi5li{=)okB#q|Jp10n8>iv}8`LfO`9bW&h7&w*f<){$&y6@+HEfYtb zGoRL+Retp0bMkp^X5p+O&s^g}xKyIWH?OF+P|=xK@h{wC*Po}U6CY)}++pBy$?JT$ zhFR^%bC2blTnd(_Dj6xpD9`%PFVdQ&MBb@0MR)|6aWAK literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00808.png b/tdkpin-rs/assets/original/images/dat_00808.png new file mode 100644 index 0000000000000000000000000000000000000000..9f70c2c57d77c82354d592694dc700d9187b9c0b GIT binary patch literal 1248 zcmeAS@N?(olHy`uVBq!ia0y~yU~pkzV6f$2W?*1Yeqi6pz`)E9;1lA?z`)P|#tmSq zfuVt+q2a)R0|)LLSa#}zg2E0Dg&hS7J7y^CIH0iOg~AR6g%2JI9|{yc%ux7nK;gp+ zg%34820bAb3LXL;9s&g(0y8`W4tNN>@DNb&0D%Gzj~N~w2RuApcz7syG^LxE$BP*|6lQ$znDL=t#)la*J{*|w;l+#(Cnn@vSWu#HK)~aG zK*0fl83zOo91wVMKtSODC|n8-c+5E9ao~W*ivu1C2O2yMG!z_Ym~o)tz=4Jr2O1O( z?C?0Squ{`f83%S8II!czfgK75K6o7XP;lVGi~}DI9Qg3!z=s(6fJdx5qy)*2ce0r2swnmsOVGwvZQ9Ju650Ggxa9uf;@Kc&n*LvZO#CdJw9dG2c~##%Rc_&usk!Y=qJ!mfYZ*X|&D5E^}&!k4Ab+ z=hVa_eLV{znoEuxHuzNe_vnJJf?K!qf_K@~t@szi}nVJ2>?s{F; Sn!>=qz~JfX=d#Wzp$PyUT0ma_ literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00809.png b/tdkpin-rs/assets/original/images/dat_00809.png new file mode 100644 index 0000000000000000000000000000000000000000..e3318f0b3e03ba61c9b0965d6534e69d87447764 GIT binary patch literal 1233 zcmeAS@N?(olHy`uVBq!ia0y~yU~pkzV6f$2W?*1Yeqi6pz`)E9;1lA?z`)P|#tmSq zfuVt+q2a)R0|)LLSa#}zg2E0Dg&hS7J7y^CIH0iOg~AR6g%2JI9|{yc%ux7nK;gp+ zg%34820bAb3LXL;9s&g(0y8`W4tNN>@DNb&0D%Gzj~N~w2RuApcz7syG^LxE$BP*|6lQ$znDL=t#)la*J{*|w;l+#(Cnn@vSWu#HK)~aG zK*0fl83zOo91wVMKtSODC|n8-c+5E9ao~W*ivu1C2O2yMG!z_Ym~o)tz=4Jr2O1O( z?C?0Squ{`f83%S8II!czfgK75K6o7XP;lVGi~}DI9Qg3!z=sCf^69g{Ty>z;@>KJ}Y7(ce(R(Avf2=4RWX>C%#l zw$3~~l0woxy|(sFK0ShyqI9H#7&^Y3I1^>)@M-2e!JCY-Aw_Nls=SNR1K*yMvsQFn z;P&OD*1XAUzIc2*V%AZ%qukJG%RyO@0_!7lr-)7bl;iNDW5vRcJx`L1OfD+tc%-?1 z3;E1urP(EM|HXYPs|BpbI0aMR9;}X?s_5UXv~!z_&jgnTv1>Xnh)&omCZe-j;H9LJ zf5O36pHIE|(CblqZ;{zQJ{{Yxny}*=)>gUgd%9At{>h&IQB9!$WcRZOL#(5&T+dxsY>Bfm0 zS!*1v4ke2!{OY}LRM;$Jq-f{U*wgxBCCg9G&f0p14Q^%kn`ZrCU|?YIboFyt=akR{ E0Fur?>;M1& literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00900.png b/tdkpin-rs/assets/original/images/dat_00900.png new file mode 100644 index 0000000000000000000000000000000000000000..98a8883a757ef717b6968670257c2f51a8f00d0f GIT binary patch literal 29698 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 =>e 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 X;+}vTpC&UfFfe$!`njxgN@xNAz5lhz literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00901.png b/tdkpin-rs/assets/original/images/dat_00901.png new file mode 100644 index 0000000000000000000000000000000000000000..cc8e919d74c52c4b1b41b1698736bcf7ced224b4 GIT binary patch literal 1131 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 F2>>{ThVB3W literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00994.png b/tdkpin-rs/assets/original/images/dat_00994.png new file mode 100644 index 0000000000000000000000000000000000000000..01399546a1d750df7d6ff3d18bebb9253e70cfa0 GIT binary patch literal 880 zcmeAS@N?(olHy`uVBq!ia0y~yV0a5+b1*Y7Fce*vv}a&oW(e>Jab;j&XaM5|Fx9}& zz|hce;J|?ccMdE&^+7>lhlj$B0)-tj6m}d?*zrPPhl0Wf4}}i}3Lj=Dd^n)+;f2D7 z8Xtq65DNtl0S^y>0uO;19s&nE1YURuD0qNCfrrNo503*L9xpsR6g(O{JQ@l-8fJJj z9Pns(;nASrvBSe-M}fzV86GJ0$Ga3|T z?C_YeqhQ9488dbqn6cxcyZvvjTH?KHcU`>A>i>spx}kT zj28k2UI@H+A)xRA6zBynJZ8M`IPk*b#S0IG7Y!aS8VX)C%y`jo;6=lW7Yzz8c6hwl zQSf5Nj2Al&yx8&L#SVoRA3R=sD0uN<#)}UJUVM1*;=_vrb3RwXS)%BEMaqg+WMvvF}->c}xrp3=E#GelF{r5}E*XoRi-G literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00995.png b/tdkpin-rs/assets/original/images/dat_00995.png new file mode 100644 index 0000000000000000000000000000000000000000..494ae75547774edf7e93c37f257270605fc9d66b GIT binary patch literal 15064 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00997.png b/tdkpin-rs/assets/original/images/dat_00997.png new file mode 100644 index 0000000000000000000000000000000000000000..b99e127df1858e93d43cfc4acb62561f6ecccb4e GIT binary patch literal 27154 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 wFVdQ&MBb@0P4~KRsaA1 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_00998.png b/tdkpin-rs/assets/original/images/dat_00998.png new file mode 100644 index 0000000000000000000000000000000000000000..1ae93f51ab4ec51666e25480471a7fcd6eed20ab GIT binary patch literal 26289 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_01001.png b/tdkpin-rs/assets/original/images/dat_01001.png new file mode 100644 index 0000000000000000000000000000000000000000..62dec9344c1415ba3266004604b1576cd598d0f6 GIT binary patch literal 24168 zcmeAS@N?(olHy`uVBq!ia0y~yU}|7sU_8UY%)r1GqhLot!HyXPI}Q}=cu}xJq2Pl@!H0r^4>Jlr94PqkqTs`Zl7u}S845E5 zJZ1&UNFOB#te@GGdy0*@KBi1;4!12U`E4?84U+!G`yJ6 zpfF>H$BZ2XGj`0FvE#su9WQ3=P?+(-W5$Pq86RfM_;6sxhZi$GoS2YvVL^$)0RfK# z0tE*IW*iVWa6sV20Re>rpl~TT;4$NX$AJSLFAjJp9BA-3&`@xoVa9=m0|y#j9B5ED zu*2iPj)DU_W*pdY;J}U-2X-hN_~3EiL&1R$GY)(>aNxs>10QazXn3$;g2D>{j~4<3 zF9c@15IFEc;Kd68g%_YeFL>cGD7^UK@!~_liw`qid^qsp!;2RmUL2V7;mQsM3kHS+28IO; z3>O$KTwqwRfFU7)!NLMr7$mcRVL<{z0$3QKK|nx2K|#U5z`()5As`?iAt9llpkTs; z2@4i1*sx*4g$oxRJb3Wo!v`M?86O!94Idd99}O_mCnrK-K~2Pq6&WE00x=dE3JL-q z3IYWR0y7i@4k!q`P!Ld10Hvw|1&GV z+ta`CaZG~z!n0<__N~8gFSdHa>-FYgm5)_6#GU89veHho^U|7~4(Ay@vs4B+eEu|F zFlE9bm9%A>ye`&i1q-?j>LzbonOIIU!z>!K)u zDb-VVZxK=5E9W3OZ~K{j)h%X!1R3I_m{$bXa?~5wE%JG4JKKKZhwWSk{QkfH%>{)v8hxKZ|xX!eB5J@20AuV-M)x>RCZ9#p?) zyXps%1DRUoCI`;`jQ+PY=aGMX#ub}}S1QS$e*a$kQF#uVg;(loMm0v4KYQC4-B$F9 zIn)--3z`1o+6LJQ|G(u@2?c-oB==5dG+VJZ`ie}$CeIVk)=ggid|&oYj`gVxv5v=2 zns`4kIUu(6`^^Q<7~inWesXi-*~1q;3HmY1EENjRUiYalz2W-D>2Dd6uh=x~P5Ar! zj&D!@S(68u4V@|bikWi)Co@Q0sgeGm#anEDYO-+t6*eA+wY>2w8TJP<*US){v0Eac z{nl>RTp8=j+;#h3t?R6s*4AGj^+03l`(q5{lFT|vSB{-yTH$xv<@U#NsRXT=@9!~a zH?Cl1IQsS)zjFS%|8aL2%)K958y`@p_I$^X70VFtA@724iJs;61uN@2r!#We%&tmX z5@(a@-`6xDPU?iEa#`EMu#HPobG^5J{^uK_r6()8w`ys|Kn;XQ-sFbsSN8L=rim%63=#^W&b>{r&2B+4R^Y{uvV2aFxa4s=rU~i{ zUZn?5guT~X{zgRYEDu}2A+g!ZgbxJ2Q}v1ZDtsV#p4yszh9~L`%WVSu82l?&c`)RQ zGL)$|EWhLWis6kPga6L{4gboRDo%ZFxvK>cn7oInA@Pcg%nolo7a5C~Z`U9EHTcAL zRJ6AD@P;2#dX0A(F7Z+GUotE1*v=z2zdgTXqvGl^WuDanxj!F2ZDL?LB*6P(*Y3ry z9|Xn}%I=s`Q(E{)-|~qk!^$V-OcH_pM$=?m+%+3Mu74)^iHqS?jhm>O(6pHEt@j!a z#I|$KU(xQ$a4}cGP0GPb_A-B)-f~H=dJCRu4F5!r?C<=c@JrO*Gfwn?-V{CM?uy2S zX$(!X-|;9|OtnidDq*@|G~aTv=tp-Zj@3!h4S_yCqRnRie9~Pmu=517N4j{87{d}L zn8vn|a0;r58^k-|-b#o(;Igy>RpFx08aL3EMuMX1KInuxj~)nr8>MG0xBwnRd@> zipbgsc{P@XSf&RRHVl%X*EAN`D{v-cGfr9i;7E#Psl=xb1`Ll=B(1J5bO*phu1!fTl(ug z7zLzr29Bv7j1El(ulk}G-lmp_xOyu1GkUoFGw@`1)5rNh^Ztqp z;FM_N=E1OA_&~6n3MiR|f|KbShIyYtEE#Q{uH3|Rp#Qk1=6U`z$0ph6TlahXw9A~s zU^YegK<>sowg4NqX$&<1X48&@Ufe$OQ|%=S#vBdxhUjEhhDWA~>J49un0A;EFjym zc%MvG^76|KD|PHMEw5c?54dpN!`{4d+C*_-t4$NTJlsQ4+An&(VV>aXn4O?5-fVxP)c?%dyz}O<>4<+qmVj^My}`&@|DC3$d4KKbcFnl_xKS40j zm&GFFhvC|b4f{kKE#3FCuKF@L`cGuZ2C)N6-z-pBVX~PaEohtS?37tMdOh0r^j28i z=Ul0I>dtz$BT)<+qL~w>C}};|p-{MT)^eqH*Xq|Y^wcY;GDKc+tz~I&nH3mlc*v~F zNBY8Xx4U9`he}@DzO?)^e_=gCc;BZgo-dRVOXB<^EJm@1}nZx%$j#uK8?!Uc_%pVqu6efHZj^Ru=RI<%!We|6S3Dbrt zb5%N18CLFE(w69yb0qhN(wXoo>5nCx4W8dRTxJ}Y$+l69G3FxYNhXfNOIzhW%@(tp zdAf>0_t-;;sis-Qze?^#8ZFl8HPJfr>&+2{pv)RcCG62E!g0%Xg|eRC%5V21G`Uw-2B~cug+$PIPMS(QvbaF)U4&3JDuN$3Vw37 zN&K|CVdFa%gVz-@qN;kkYnB5ykP zuQR*|_Wv|pdsz`{E_1+wGXnSgG#ehowVhii@tT1p&vn6t$CI~i;#lDDaiUBZV@Kj^ z4u*DFhGq6=cQbOB82w}Jn-+)tae{E_YNcRTyO=g|2!o9+o&*4^zx_oHR zl?JAC^P011GDo`@RPOh5p1Ydi@L6)Hr~Tier)JsAk6I>AI#akq{(z6zq~rPw66SFa z)>;bl*d6k$=93BaT+8X_HEl(<*ikNqHy#WhciO61{Phj{BP9K$sjzE9@x#l@UwO6^ zL{}Y*WbkA+m7lYaMeaS!~T|RNse78?lX1Y0){2`c+X5{=y}w8w*D4( zU%k=C0+&B;p4tkFbFbgTRCew1<7JN?^-K$j`%xHvx_Q~7OW~Wt7r%Sq$v9OCDG|b&m1Duc<-K58hQ(O<+?o`o&v$xWH~9gD>NqsFS}L zYdZGKFh8Ss$%ApuJI;i~G4mMg6rZv)TFhn0no( zq2^sGBhyLrsQtUcC$g>>A8J3?exd0@>EK9lj*;=lUe~ zlBW&$a*wO9y7iMl1~*2lLps(B^YwPT6h38H7*O)u zm~Uk#f7YXoT+ioC5{bF7MOAE1-i0r@AG}*XJ96(^b^7WH69pfwdEf8oeF=&A;!x)u z@hFgMBbz5vnLd+(Ub@BU^rKqM8GX~fIrcIy;7ax65^4D88WFD`%91c=N`m6MO;Z@x z^e;E+wdh|EQFMNS_y1_74S!DPaJtN2dQee&O5=*hT3U<}@hd-v>Uwf1d|GX0zi%$j zF@{O}Eyb}Pd2TbjpuZ|K5Vt#bRB{xPi zv*QNK^7vS8m0X^{jck>b426Ns#}hpj9_1{#wW2#v#-PHQSL0DXYh{IWz>(C6)8e8o z{ETScW7Hs;>#%By5yLJ9m)2tk!x&Cn5_z=ZQh%x^!rN#W?9~^Xk z^QivNW<2tok2B#NXSvk8uHCg0l6{Was`sv48pEDY^6p{vVF4lL8R4JR8~QyS?`GdH z^?tt2>4|Lup!z+Q!N5+O@x-0|XE`-oJZ3&fKmDEO!M=!YhEG`xt`5siJX+;2GnnJR z;S--XeeRg@e)2J)hCeJD;`|u4AHBtKpw!xGsUGu&%kSo}=bY(eW?nmggfuB4n(3|u8w z+fze))Eka_F3#Lk%D`93Fs;1Ai_s-qut7o1djDO41K-Zh$~`;3`b0TzLY4(%G)qIK z0(*kUWDCYMQ}cxnER=G%@nLl)bJ`!y4^ywH{Wy_UwZ5jF!D>d&&M!Nbu47W1&~MNA zd9Tgs(cyg2@An8d1jcV~oWl?X6H#ICInV37 zKaAO|T+~9V;q0QS%$?>9f3p~7pXPipaj9yI}+QfaJB!9+=chCPdFc?MI z*%^t4wXK}e7HAt&7R;W)-*DuaOW<93VTb=u>m7go_z~Y7B)lw0%I&K{q9^0F3A>pr z^qEg^xpyC06~|b`bi<90U16)Ow3Xp~Ne8z(4o3=@Zn(|J-8+Zj9s30_6|MV=nSZ@`nuocDR>r-M&#E_|QAU0YXP{@LfWrSDUZ zT%7kIc=@7+Bqy)J=j^4ED?izvI`Aq$^^LM=BirQn8dX1Q?q+0v`8kQff{7tr>OjTi zS+6X$^oT@Ms9wEgEO9IxiR&{#^8X|AKr{14fp$)73wTYc^jfz19GlTV!WW~P=1T$w5G#5Mx7-s zKVEnJ`Pt}s;&s4-^GqB+y&0}}d}Xj;2n}cu4r=JyZ}=?##0PcZ7x7F7cB(cU_?9Om zbii-_MVD*Mwv~HdCb%-!ytcRd<&n3M#WYp>j$?;Xm`?NqnWBk||DH~dmOL<*ErR`C zQbYc6#to+#U;GsIHBnH0^NMRBgG@~LkxaFNIt^PG&6ccr$)Ur4;L!)Eh6N1uJ2z#o z-`~pd{i}@B$+OHA{f;kP8^7MrWzx9Cup^j*VYlLx6;`F9J*yM8Fomo-(y~{%At%LW z+lf7g9vd6SSDS+wz##f{1fZCe&eb5Hk9eR#rRvB$<4FZ4I>e<;c@N3mhMGt-G1 z>FQeb<|{c<4Z7@8C-W#8y*YmTc~ob!p6ux#sZy6-MKaufc9HQ!>bn_RZcgLObx<`o z{<~x28S!RuH<63dN^^@R?z<^|#v{A-E5o~0({zK_6(0ES5IcO3;mIU5Q-vF)n_jir zoiu6K$S9{%E14z5WD&vBs#q{VEh2(JbViN~Lmbx{7bV6ce@a>Ey(jK_DagKbaXg2^ z*S|X$Zn-6-Gd|h8?m>%v$9-GIFP#=F$20k)KEyIx-Kl7!!a#n$*&73U^ zUCY>ZoYp?DdUx%<8#meJF;93{?(no_-qI*d!G>f`hvIh=82rQz?2vC4d9dJT^nz8A z4b1yEI9nL}`i&0oIeha!bH04$$IB897LB2k7VYQY3KQUYu!Gg1&CKqoaK2^#rMXTF z8Z+KCx-dBX`*q{jJ<$Uen$wsKzBFu|n{v{+v?g#?=gHGYzTACwaI5|fn@4khEB&AT ze`Wj=R>?T-2Y>wkf7x!-utLfEQwGD^oe~ajj09x3nhqayHdzpm>rni}N^u8!&F;WI zcX73I5VHkVHsmf)K#VvH}BtwU|hgp z-)Ip0K1*`{@lM_MC+A#s`pVGOwT5ZKn{%6jGZ?J74ot|Mw7;6sV~OfAnTB&=Obm@u zMGUiE^)Q6=XELPRVptsz^xv>mekJ45pWpuIGE0Q21XSp(DwR;HQDC3)bX83%gSstW z#*fPk*FKi(GYGS4v@#VGF)UhCV&{5~#d@ld@#3de{0lDDpJ856X~J-B#e-Ps3C#WK zvJLvo9DN^-o?uD76CrdwC^U^>jzYaVn}Npc8w}|`SF;A#G4p6?i{Hz7)OKCfAX6qU ztnVy`!~MtwJ_c+7+Za@H_Z()J6)OA6n;~G8y_ACn-+^c`hiAGPYdq>X77|R{%$!sx|k)?0B0{0Ky2Wu5$*aSW=x8XO+h~#f#Wl%S5kzjb;Cdi=i>|H;D z!?Ne6^RKV&*s5@vDdPK$-On0|r3#*z^C;xHF8=#8m{&q`?iH4N)`B30rsD0cD<36|BvNQ5V^*x7{R2#iFILPHt zv5xJ4&4=72LJs0J3w~Z+cADXY+s}yik**dT%n#0sxv%?C%&=;y@qvxUUhJP4&&kBf z_+YD(hkizg(k*U#i_1Y1kF>5hUVCMW7gGZF%C-M^8Ls_czL)qx(u*r$Ipd$mE>?k0 z?o21#?oODb7V+`=>9XMeb{APr3B+XE2=DC)eDve74MT8R!?~~`%U-$le2a)H)MbD7j1ZPM^QG2x555@4yQ;4$E+v$b9CzEKW+SZ zgZt-uYiU=hpxH5;56+7@*nZUcdHMK!`}0n{tpERPX1!p_u=k$htVjli`zeq3jSsZ= ze9BBW`*P>zma@`aPXB9^8CKb!p5Nr;z-l4Hu&Hp?md{Nr0cRV$RW)Zf+Dfw({cyQ- z%I4mr4CV!PAzT}Z+q=$XNXoqGym3=tW$C^3HC4ZVMA)g`9fJ6V2|U zbJ%Cv!K1GqyfNA_dwJmJ3K<6Wl2R2j9V?B79lQ}C4M`!|3hfLE=B3)wt?~P65@SDiVv-5gK_Zo2>xP5kKhg?eNoRl9c7|M>+88RM7=i*Fw!P-2( zmTAGOPp9;bFZj+HYG}Bc;p~@bZv+?3;}BlV5Xck8c&mH*JGN=glB^chvMF15UPMPT zyq#qFw1?qV!NW?Q>~;I9bEX|ky>{^Ci_aIoCJP?8`&jZQhY~~kb+!xFizkFImhC#d zI{wF!+YNp8*J@v05w3qJ(Z{XnU@OV3SN3CqVdwPijX|tlswV^+vMwZF;;WwC-|uy# z%l5$zcBAmJ?2z?oLBgju`OZAkvSo@W10PF+4ReBY=I6X#E{4YE4N~8e@9Zh^iE=zV zKaVlXe4X?sl?hw|Oq%@`S1OjVN{Bo-b3ZkI*Zeba5><>>wl*`oy80o@E__iCZ^Cc6 z4NvoDRo?GaZ>T=XoS|dDQm|pNh!>CQ<=wBER{VRnAnnl?Bf-rf5zH%QWo(dFIwH^5 zU>w&VqwOGhGStoN>tWxoj3Ia43moXa+1Kd5<~qZ*s|k-4Go+WZ1=wXTuM1vh<}$;f z*?9j)yVD7MeLouh8R#*YY-Ug4boi&m;I~5f(a}D}x|+We{%5lt%dD!G*Qw7+UBXn5 zlC|@%xaf7?SqT8i}>l}b8Gq4 zt85F{e@!>&5ZriK#OG?a@kX4qe68Xx+&dviIrLa;QKVd@m? zvde8AzTPXhzV6t0ey4Jc#utveI*fZV`P&<_8Qi%Xmaf)f%-O^@_t|+S3tdJDyG_?0 zPkxbQ+EB})@L!Daid^aYD8^MUBd#h*-^|^!_jclph39vjpK`P>Yr|^E*2#CDX0tqC zVVI-MxMwlrwSPCVir0Q+Fv?%K@ILp3gAcW?%ue{3z)z_IXCcR=iwQ%R81Ci7EZ_V`Gx@KKZI>Qw^4!#2mJ2igq zzsKM|y->K}O85b>!`nBiFz_b)Kg;x@WFbqytDWm6cfE@(GS^C%czUvK@?5sBKa{V3 zW~n`Bxq)SYETc?_bpY>yn5oisj0-M?URb&3h}Tv|v8voy8`1IoR+tGnQC&-F}#M^QLUR7xSymhjG2LV%D=cNVeq$ zHLj6=`ZwlV!~J6mUm4mo{J-aLjVa^DY+(j@Em4NFxq|aFB^lP25A-c1?6rAjYm=#{$w3t$T0h0@L6{9yB3eBOK&wO@7|Xk__-*WVGGv;? zf9A}W`C*kpIb;mg&%&mC_)zx}K6#ZLM4s~9C@Y;_yL+Ze9wQxCj& zXCd#3UHuDg{Jp?sY{zkrVZU9&#SN)pA3UlwBOXpTRm$mLC&944ig(2{g_GOne?62g z2?+O8qo)#<+e7tv-ZnnA8`CV&xOCTJ??|+d3lF+hQEpJ3uc-h za9VLjhW&u_t|&%@;{SH?2bSj zQAUPW+Y4=(9HQ>X7<^{i!H_UF^|q#9!}eYVE{mXh1=fdenD?IA%68#RA8Yl&$!rBZ zz8{|F&H26hqtn#6z5V^=cQam}JuRJ6@_Kf|nJUM4_vbaKx&SC`MGnxb|oRNND z(_s24X}<}pLD2UHoEH)p=6Ihur@kz)c;~y0w>MkZCa^QuTQf}EwYxMcb4Jmj@byB8 zd0*CZGd%nD=|qy|!fVbKVhaRPu9tVtzP6UZVJlA_0kf7jrgDVf!L{#GUEG zH5P}07Jaw=mcnFD8K*Z41x5^Ih7Et>r)Irs3;euXY?&p~{lC?RJy}m2Sw6q+*UQVx z&%Bd0-_4`4g)!ZjBbedCxy`Q8M?|ddeVx59s;FAOd(Z4IQkmQeMMB)+65fzTs?B79 z)r^1U|2HgMFUIy-_ki_vwh~^)g;mR$C;!=ddu`&C9o$M2au|(T=TDMpoV8yskLei0 ztI`AP>;k4UH1ac2wr$XjUTYxD=rQv~hvF@k<>$38JlA6Q@6OFoFiVKnqWEdgs_P1d zyb0GUMJqNRzS6>!^2p!bav|rOGbf67Y+cN7Wu7df!|w^6(g832pEdvZ{vSh(-#%Bh z85dmdF|6i2b2y+vJ){1>7Bg?PZ0;J*&^*Qo=YlrB<;i9gk#M+r;TppymIHZz!cA`; zEP21Znc>@+H_i?pzrXaKcEI0~>1IM%G>7`J)oP!nF`c-Ze51XGL4;u~$6iqex5al) zaL;O7IV0~DyF%v9RjKw3-|wE=ut|K)x2jElG?{c8gc%^$OG81p2u zN!;ujy)HNOrwoI6iuLDRVF^u@d=8=Cvwlx2EU{Kz@wVgGyw$wCDU1U7pC{?u{C8a5 z?(c`+_e08zwI(dCR-G{U9*6cElU{pk&tsbzy7n?~ZM~4yBFfJD!S(I@|IZ{|tM!R5 zJHET_c-mRz_UeQGUaz`k!_Xid#b?bpg{4j~FP&wtRMgDWWB2p7&y;zcJk8!%L|M8~ zlIbIp-_dwZho?OmeJdMZ+|6}3B5!m+%;EQ@Lw&~?!oqH!@>;x<&7tPF;@-qN-hyuo zdhRLjVpvd@-{BUpmOJc+X85o2tqCnD-c!Hk@Bjbsa>ntbBIZj!_GG2j=`m->J(pwX zT6thT-{ZLJw|-u~CnIv;MPD-$$L#;A3=dalA6Zl8c42eTuH-XDe@>b`$hZIVZ}qDt z4r7rSvjq=!U%UG7GJ{JK?*`+`-xgQrG9=b-4_p@1*;B&WFqti2$zcPtuF7qX8;Hzz@wICGi%QITe>`HduWzW0=U~5*xm*Dp8stN7=BU!nmF_p@!X*??tQN z^KBg3a%qfzR*Nt{5MliBRh#L;o~!;^np@mc#_;F6)5m~a z8(0#~#Iqz+)*twNDvRMcGxLw@`=gj-8=9^)r11pI|NY~~9+vs)AJn}c6lEyX7&n9l zu`1l)NaI@XD&o%aVHc-^#Ri_|8w1(J*T)_^c$n3wX;$NliIM+A8ne{$E=ew7c*9t5 zRsS?g@xj$GTYs$eKh8LxS>Z#I8$;i5#t*X?EL{7I(-}&bCnpwMiaX7>V)K`2IV_@5 z1&j{)O=r7}t*@u7sgKtFow7Ia+DMyQFXCd2Q4yLb;29i7U^a@y!-O(KtULX4&?%LmS)aE8d7-h)?4 zSrUp8O&b>Q&R`GFJ#*##@<`qX&lkC8$sI_PZg}#;do3H!X``6|cmH}Y?&E0)W_hqj z$RVMLb(d52fhjwx7}&3H`!SZNMf7i56JN3~vcleu*!YcA_=&!^uGxf7?EEG9Fsbs9!a zn0j!b0E5)}^YQg(8Go2I?9e#W`?EHSF+rTsqLi~?`!|Lt#i|1eJ*)*5It?!hp9wWg znWuH))Ps#F41YpTr~h8Iq=#+IgY%3(Rx&p3dCcJ8Dkm?`u8`Yc*lQOOmwn{&)&9CA2}}y_ziJvVDA?pviz`w7IK4(_WHU6O8dQo_H{#3Ua9MhOALT5a%V%q!j@0Y{* z`#Cpm*FK}pq7eR`xsIjb)NMh@2U~pZ$8jF8;x%>c zEQl}rxSZ{=Lc_1xE1mWaVi}%9GUpsRqrWrJtU+GW6}*^>>lVcCU4&4QY|f zs>B!GVsD$7T5#jv4_D7uysutnOC5-Kh*W(!vNHSIIUMe+V=@eClN8jXkEq*f1b*i&% z!=c|!SEZ7c?Rn3eGGB;c=IsT}DP}Jsm@edWXYQ!py_nPNw2?8}jjfEnW^Un&53+3j zpdZ4nQ!(WSgVJ)pOD}bc-sm!YaAV^5xtLKzKu+qwi|^tcDIqc;Ju_pn8FsS0-9L2+ z1KZQ^)aJdPKdXOK-}A3yC$CkA`qC`Fe4z*C3XE?U8y@Y;Jz#j5nJ=-YXS+?qN-KdE zOFGt1Ug$kFGH!~B5`${}^k_zh2eqQi9H9zl0ycSGE1GvwHYim0|M&W6CdaRBbJwl< ztu()`h^H&#@9YiIB`>~u)~`^QFjHp=JVPVbnp{>kS&5Iwzf2N1eE<6W{{f5-o)k4O&S5$6uqN|qPXRY; z{0qjzvjQ&h9XPSj#o})g;~Im5+zfGA3@RoG7QUKqRe2+>vc)ib*v!7cZ;rXo73QBQ zR~Jbw`u8{A)VXEWmO8-$qEa8ueNOt#aHhSj(VV$rA!7@t>fVGZ1u3)W#mBvFt?kTO z%Mg(N?}?EF2hV>!A&;v2w;N~1*Zur5yC@=pZ9*u+ihFm;EEqn&YGB!LfsN&=|E$e_ z8SI=pd{5;wG5oM(E4Ul6#o544ol)e`cK`h`*~eG#W@t8uf0y`nG_vZ4d^@%SYjj^1wc$un2r^VjA6 z^N;8;uy41X&pKf{n}I$18y4n@y=HT}lyCVQ(bWFR5ZA|>(ErWnv$TQV;p!z!*R>A| zyynmA3HaVRJ$!TV-(8h|R;{ah!Pw9>^%}#g>xpH`r@u6mN_?0*pJAPtkb{Yc?e1&G zcS}9HaZYBM{S840TdB$S7jbxTEigIw&(Ng)EQ3tR8lSCNU-uQK>1U+zD1N@|8@PB@ z{CnPnlixQ>9XP$3;m7p-e_a1*&yF;%4^RARX0SG7!EHr1!HD#m;*3vN8WNgM3DpFy zuo=x!9k)4#y_dshU>xW6K7q*#Rlx2N%`?(bJkLmj*nDmW; z!#D7r;d>*{crNz8e`{*7e8Sd3o(ByKSGXoHZ17?}wveY`Gh4x*AN9(?Y!dqnWc>pz zezGy7e3YHd5K|b;=8*O?nB~>B^JjCIg%@sWcirw8nAy%}J8vShK(@o#cw^xl#*n}K z%i_4azc)PIRL9Anug|bxT?YSxEeET_CDQH%-t}Vjnz7Y7Ec2!T(*|b-Kf{KY{byGy zHhey6aWKZ>{FjEuoB9}I%GB0PStb37VUGyom&4X|H5xB!+U(A3z0?|9kfZ8noJzwHeOt>CzPW`poL+dW0XAm!$p zlMfzm+45(bX2ZShT(cjTS|=q6%gkf4XWy!Ij_JqEkITgp68>npCsjp;XO(5yH~Y-` z*VixDV9vZCWvOk$#keP@m1cjp`PQb$z_Zj}V#Aq}JwcsIR2w=u&&9f(IO;z0!Os|H zhKo5KYyRGGo63FV%cU$YgOJNL%FSi{ddvyzjB{)oyuvjZO26$kV<_5a!am1Cwqd2Q z;fke`ETgv_>18}3WpL7G>gPN<2x=_i_ zQZQ8~eTCO22E9w0?l6Zfeegqi$+1^Iw)8pjJh;#=*s%9wc%Z&;@y&cLh3i85AD-%- z6~W8km&(xm@nA~gWH$|`FM-ihzq4#|Dx9Z#3=OJq9~FX7#wHi4D(hZn;lHEpAV8zc|xImR!4VI^0~*S{4e zyI5}NN%DMVco*JS#pq*k<-C-{8b*Ox540G9{~quCw>q>TLsCY&|Gmx$qK;9g{=uVf(aDA)Q zCy@h=j3;ax8uqVc&|By1pU3el|3x^%jySRWD8>b6KMFNe+_hP9%FMedF_vk<)0_gv z17UY3oDi}O-s3gp-jlx$83*3|?PADDZ&*E7AgAOg&Y|Dmz0U8taf4! zd-7`^L*36$svkls-`D@WUeCy&DZEDH;f;seZXL0<{=VpGl$hxP3x><5Vj~sQukcwc zRPyFYe=Wqo?YBHo*e>_&W4Hb5Jte&NX>~LBO_kc?W~L?Ua_%veb?A7L#i-hSCnjscf-`}R66 z=RUDdv6I2&D#L5Fb^G@GOSsa$xQe^sGE;+M@)v%koeA@&9OQm*UFh$PM=|yRCJosJ zI^cA6`o6qr!(66<1wUUW{kw8IuZm}~+b-{)uNmrV`}Vsqi@o4t;CiL9vM|GX2j77; zY(0nUT;#YPM7i$ZNZ4Gs-z4<&xHk3nOP`UtqiPsfOYI$Nu^k{>%@0nF3Oy%KUaR1!OO=Z`S|Ua$MCeP(iy( z`SZyooN}rSK}Qb9h3(kO8^Kf%eqOoSc=5V$#vS>3>sTB9|7ceYV6O0Hkg;iqVLUP8 zlUnMp`k(y2zn|&UDs+sMnR(v+^ckr;| zfkkQVJs-|WxYy|OE|}YVYdOPhrWM=LIv7KW56B%@C;jhFx+`~b-}VL}n?$A%C5fg@ zcb*qAzIn{R(r{ghK{8pe;h&F79EYY0pF_#}(+n$$YrE$Ny4iU$Ts>s^bc@k7<_J#( zo+zddNsM!%86~6w>v$a$*G%SRh+EBYBwpBf)}2t64aZn+yLwvh-FPd@VXLpb9QzeJ zji%7(0slemKfx5zH{{hNi*MN%{+dg4bMH6{5Xy%~DJcJl zZ}b2CED!8bq_#5#GkiUC@-c%&FvF%3#kGZVBSS7nh(7wh=68P@gPrpxhIes-mn05+ zmpG8e#IWz=8hgP5=3C7)S2JF23;A-eDA6T@c~YCey=`&_P6skx5ii^Ayq)z!F_Xe~ zhO(TL{5^}8J=*j+i+A~>B_C6>8AK#yK1SNtaQk(#I0)R#V$gSIFHkr9&Q@T=VDyxC z@!q+wH)QF(S+qAX%`B8*$BuJn=C-~)z~Zo6|MQxef}|Tmh~%&3p3)zRLKxJUAN+pDTG-1t#jN7RZVrb$?s$FYRk7_W zugfkyZQ!lXyit5o>Wqy73{26Qhr-*c4{GovUDSxIk9+fmb@BakH9ibGnLgD1?>cjh zK}%GEamB{Xrytz0^4ZUmcS5K6al!7e&C7Zt*vtb@KghdcWHEiwR5oM9oUfVFLY@jW zRINOu$oNF;z}*8T>;WnaWsfJ%s3d@byI@L%^dikB|4;Z#sE>dYIk2?2yW3 z*469`AD_8!nx1F5uFmTGsM^)0hPkS!6l? zm_LXU;5(e_$h@m~qfrb)!6yc*e+&(!OUuL;GVo003yi7T9leC{@)J|z8m@s z_!oTeWx6swbwTW_Ozzre3nXrq^C_(O#3kBMb@1X*tA96I7+p?J5NJ4+$jY$eVX8tu zO8`d!Q;idE$JKk2IQ6cj$Q?Kk&!dq1kbOhcwtLf=ZaigNqw>L+H{q&qE1tLuXBlcfGo-OEnkhf4rJc!0?ZCd} zSG1zS&p*6Z6sLX!(=M_{Hj)c$AG6i>bAgCYSvL-i^gsK6EpED85iHa3H=nfT8H=l{f~0KW1rfTlF74{`I~$ z{9D69;RTu>4Knxoei6_YzI@>`v$gUSh8O>OO{KmjHZ7X=@-pL}eu)F;@BKS8_v2@V zPnoO@RiYgxOW$A5tg4P)$?(u<2WwbS+=>la_peOr+FQZNaM1F4%35{4J@B zsnPk{?>zV25Vg!%;^F@Sp&!N!b!BhuKjgK=*Pj(!!CRo)ApX}(?^yQqgS-i`vn#J$ z+}C$us>2?hyd&>rPKqyV4bBy=sbP4y^D6_Fzy&6cSr69UjAIB0m2!PhZ}2<*!Fz7G zwv|j5K7{is#7*6nCmF*(?cmBs^S#z9_e?+N`uf42MLR(y*(o-L-#QH!r%icTH{~B+ ziRr9>n7MDc7Njj3>~2O)l5kL!WO%!c@nzS<6}&GPS@u4da$rW%`FJ*mw#{ad4C-60 zr^=?r32fnc$K3^5RqzN{hC}EuZOyAYIlqGrFzEk@J8J^ewGh}{{ z^WFC#Uv$HP^O6kd^?C{t?gBgo*I53`PcdbG(7N}0R;WyTO^^jk?waDwjT!s3@;Vq> zdcSixtjg{8f3xD`F@}4A8Vt+~0tdPu_dEBmblJCr;hbPY3(LQCwVV$1OBmnGEPFqJ zH{4bzJVd&M@gDnvu=*-3zrCxxU+`)PGq9?iu}p9GzL|JW*g?wS?y3Dw%LBO_eloTv z?$Z%GaX7_GiO#yO%5v+Ow+XeJbe&Y8!2%=to3naA46HzXYyEqIi96AZ4ZH1N!N zVX$NOVl_^NpR1WIPBNRD%?@wmGvQcZ8K@xerQs$Q?+s}N*30?V)82e4fBtmlx~|Ko z4HoxW%wp7dBepk^A-9T^x1;Y}V$)A^h6T4;F7lN;;V7A+c;nAXo`waC7R4+N0+<4( z&Yu@u#PIKL{=Ks|UWxt>UGLmqec&yl%x8v2VhP7s9xL9JHQmYSFy~31;z`p@e$2lb zx81p9$u8M)w*I^z2T#Eg#^X8-HjDwcByLJ<$yN#c9#Xriwq&O90poc`^H>&C?UmzI zxZ^#EVZtlc_1BwH8GdH*dZ^a1D}^)M_@3y0@yw%Ae~FOtc!tI+z7C9W>sJN5VtB*b zaENimD&6f`dhZy`87?G6uzi@giS@w4sSJPC+&l2%hjb>BU`hO>^&68D4$V)}G8d3z z%t(v#eSVlpqe#zirs9iOH3=pQ?#(uTKQNTNh~ZKAeD-;X$D~HllLxg+PgkUB-p-o* z>HqKbmJIgBoe!qYKAYWcH+RzSKQ}GyoBj0P{TI4-@c_g9DwErd&lcVM?;5Ghc*ZkL z|5IA71M7mW4=)(X1RI>W6tY?-IlJ(*-dQV>%+S8@JdcYs%lhl9pXM)MXbH|=_&#yp z#d|+9IA%Tka)YHW_1uA3KTR2yIbYazK$_8louNIPsX&3D$DScxuwhZJt6$8g%ITTS zj4YxJ+oPu|3iR6S*5CP5v2TBNS3HYCncD)!Exbl;|I%*$o>9Zk!ji-C;LY^My&oOE zD5pvu$YXEFSaB(S$70TZzoxQXka#rvQpB7HMJ9vI%$KhHc{WX5a>A9cPR=@s1B*D1 z1s}`{of9i*zJG7#^32Dr{D-zO2H0J@ZO*Td*yOt7lFn_T$Dm=0McTIf3*0uyrxZ_! zQV}ow#yWSoNP^sc59WW}r=u7O3K)zY_dlwi{=q-@=xP&%aOsFyXK&A0mSZHkd|6UX z3p2w9&LFk|B?g(#49}jeT)FY=G=_iwzW-195zLat5W>+XyFZ8}>D+-G-q#q?KYnJ| zw|8Z;eC{=-hE2P6%H`@=DyLK(*mapbNPkJ*3k7irkj5^vieT&>OE@vR~EqiMnMS?Ogu#!?;ZAfn zV@=luhPtakOaY23-YsWf`N7KK`LFATCByxDCXJj8r{gfW#bu#hLjvv|6 z4j#O)idUoCX|MLX0}NXEGxClw^c`p4FqwCSPNS5g7pu~r0}4Jx|C#Etj^@f8aAckl z$=*Kw;LOs3Jjpr2)ej#h|2DGt%BVMoVcql|&TSkebBmNTm1e~7>RpgM?wAO=nB~w2{ZE~W1|d9qlU-aOd4Ac zx$tghV3{0T+%(_Kfc1lSvNi+t>~)_hQ(< zy!z3<28JuQo*Hs^EpR(Mze+YOFH}aJx54M^){_%L=IVR}mD!2+M3=WE&U@MOVJ*W7 zv3bTv=POO9{MVy>^RHlvS8vI*{q|AEIgI&Mm@VvQcr%5qMm*=q6^Ad6UK`x}ANJ|v z$Nk?sZqMueUSlQDu${$WBI^eQA(IE`EC~fpqTk&naQ^+ppWpCXkwId10{enfQ*>`; zq}5zxFlP!_?GSs?oh@LGK!eX`bxszBvRj405MfW?#K8=dgh%<;rfK&T7Ss53eUO%DEW`^olPl zw$0Axz`?+zCpvGZ=oV(3dy zuqrxv-T8uq!xpW)uwO+%b_Vx2wFNr7AIxKzRp-@^U>fn%+Ud@2hM2jl%QkU5FqKF+ zJ746Ylw*5*N<;d*_!;NEo?$EU=nX&WTV-DKv}NmubvwcsK8YNd@h5~^KQzFQp=wFK z(18;SyLW0`6gt=tpVAPS893=)*QCtPM^E7Ra+L_$Owz!2jAz&g+F-_vSq{S2vo>J9s$rkLg4ytoSJX>k0$+?HVpeWd=*e1=F?u$uTZSXQ>eD{&Bd)Ila-l zsEE;hdRU5WgDl&H=c?fe-zOL~%yZn#rE-fm=8daBmi-Eb*4ax94xVu+;aR}vy1r|* z(Sd%(fDVtXu5S)_`M=Qlp!JSXp;`WCl6HKYrX)lCcWeIzi2=E9=Du^&|E3`E@c9qn z8T(`!s(zVo*Ye9fVt8}E;l1`uso}*sDTc@5VaplH+*vN@ z**Y^sakz)RJS&h=HT|2Mbi(I9Ji9Y*HonLRm0=QC-(|e|ftucby_dTmIe2bk`k>3b z;JERJwv*9|8DBo|bj@QAXh~a^zoJcTrN?%60VcLq-)ldde#pA+>|!+GzFhx(cZMG^sf1xuN$8!WtJsxhF}}Dj>OM2UUcmQz)8jbSn7(JP^!LRJw68Qj zqsG8oD=@F8O3Y5;htxz){UzHU)m&%bkT4PO`uqK3;ofs5jbY`2f9_t1<&k*6Q#+O6 zP^f3AZ9;VCnv=U9eOa|*;rVTh@`|$=oSZ|_R( zz0xPm(vs!d%JM-=#Ou2Ers6tAhm-S}K1`3(Imq7n-I?pblCYzO^FD3A!rZ3HF#VwK zRKFEFvMht&cU4<5REix~^GbM!WP`oO*AoS2GWT6vQy|+g&GD&V>08r=>zxW0Ug|a3 zvp$&3wxMs|`CFXw3>niRHgoDWOMf)lp%=w=z3^3TfxLW~Y|OqQ-PtdVEUGWA-@RFR z_j>MxTVkpr3mxXDmR}HmblYiPGQ-O2g3lyP)FOl&1U#5Es+bp;toZsRmBA!vGml@& zeYWMF;&<|#+do}zO_Q{niax8tdFB`2GmiRRx{$-V>`L^l2z z_SQ+OWW3mgl70kVy?6a^I)h9w?+pj3bzQ~EyW3d>^3Mt~dvGV3MSJ}^R+4ppzfhBq z>a}oTi`#Pq-zNL7Mr>D$VkUMKb?^N&ktJYif4pe;ede-7W;*^>3ahIW@?yedY2lpkqi6TnTQ$V;JlMkV;BPC_g?+ELOmgg<y%k8e05yC^}%-b1+ncrPb_fv+?l&k`_2Yl=8B!O-fs918~IDcv*7=HqlRabUlv-O z+rr=T^55_Bqn#nMx5SBF-`Th|C53sVh0UF|_T1XG;=^fEMSt=#Wb9pVRH<1&^`ycL zBY}QqKifM!Yk3v~rDpus0$PuRU-e*gRJF5yKNz2FVS( zZbq(s&OBq;@kfiFw8zYJHOkoKy^nDNcie?VXB6B##g@$%cVqCY&_BS`;8W)Ov0;PM zyIzJl2R2@He_3*@sGINGj_JUJP9dEL2&OPFn=UH%o;nK^kOcVH~v0wP~ z{My0P-ztJ$Hy_&8*s(9DTmN9fCw0a*yRu(Yzp^{V!Z1faEA&nR!<@NIiA`4;qMkkD zTglR}f%k-yo{}(+?&6<=y-F-+k}_0YYa`eJg#i7CndbQ%)Ww|Raw zRFh-4vi@+&to^IxHtgVT2wuhLs4wx4$7#OA*{s(6H@2pDZe!3eXjt*QSBmXH54*ss zFIv+>)(f#PUleADdsKQLmF>0rms900WmdlRb@yWQV))r&tbEvsVefW_uL32-4C+h= zT*9`@xaPt1V1kN{wdawY5zLRo9E#eQ1lT#OgtUuqFmPU6&Jd@+kx|b$!gRqVmIcfF z*K$r|nDj@I;pzLf{`j2YxLo;+dBrjBTb7nFl`!0MbrL;N8aH|O*C1wv^^5^342#wa ztiO=tYv0naokPNy%Z0(hnt9GAcS8@xj_aFi|IOKVL*V<|)|+D9pWUSrZZbZcJYlW? z?}PNGm+U`YWZqH6aqCU%e;$VSW?My>E#9z9So-*J&s0Vp+v@zil1upmzlbz!VLWH( z!F(c%(PWqZTIc_dr30%TUv{qegtz<;s6sYHF77wR}t{;ZYEN_1C3s|2Z>;VzwJ=?iMio zdt|cUok}J{`d+PbRbQ@tO21Ohy>ay;3F$u8giVR(%-I&i+bISH6))h}sMN6Qy!QK7 zZ|q#894<4Q`Oo4!vEL_9ouv?MmSbdVM*K0dh>KxkkJ6j={4j&XKAnb>>%2NOc#8@}Q>K~zdetVnc(s1A z$mI586PGR8_3TvOwYxXiz3v)W?A^P*-(WWn->dhgrysZ#NzSQ0m+8oCR8dgR@L06q zQ7VHDk7F>~4*4f@CmLN0yBaoky?4y+=E%;4yJi0-NH?%D^BAvbUvN-k;!gFa`JYbZ zbKKl<_0#lyeH+^L*GNxLbuT$ynC~ja_-0aZJ9B_<)kHA^_6HiK3eWueFI+5rxl=~B zVFhDHwZeOyY0YaY{w zl|sxFuWznhAKt*F`o%}|&)3C_7y1vJvANG27I8P_@0WE8N}2f7j`bxrr1CAd<6iLI z;J5HOmEHUAn(bse@J^LMh9zD5hd09-!vo378K(TvWKgZ|W~=!2R8v&X;J`0mo^pc& zFZB~oG8o_GU4NnBpt3YPj6Zup@5UTb&J+ z_DyZooOfMcG59##I6Q9}E5mZ7hTXyU^#mKFQ*O_lefjphi|(fw8IGLeP;c;kcdPiZ zb876|Z3UC<7;BEiR_E2Mu(>OpCfxA*_Tr<}4=pragzOT!9e1sNclP;S{;A8EC4Mu@ zaXUP?TE$c$Zpo+yG_2uVGq@YU_J-2^?vF?Mm zqblFKl<&YQb5+H}(~cbH1en4XdW}GMMEj*WOXT=B^f?d-pC^ zq3a__hTX@RBOa#|GTjJ@<2rD2p7jiKpVxOR>~0cXq;q_IJa``f@7f!YU-CecYWwpRiFOJm*K>vnU7V%7A=-deb4gY zVy85NJJW%JygE*X;)xSHk1}d7Z1zy!ILXQ0f~g?!LGfFQSGzbg7@FTNEf>Byo83x( zHG@g@!=((9KIcB`*}V2ltiNpPANCJ@h4mZteJ8y?&M>2UVo$whno=V((~JE_gunED zo}}aD#mMtqq@L?Q;~iD`YMC8p+Ks=Y{Z!!D#dhMbyx#qb7HXUej@vDf*csNIvS@ql ze1=>8VsopM8p@0>6iNgM`xH4biCj&yI6dijTZxOLKI4g|*G=p;CzID?{|)^;lhMG< zYW<_l8H*?RGc5UIdBC6Dm22LO^fpz+z_b;n{I0wb%pA(;3i6%ITz=Z7{hp7y8Frn` zxat;?Idwgo!8rw{2_*qbeF~=QTf3#GGYW)AuiLVOSK=MZ52KPze7Rp(3>#7u+b*$A zRMXt(;~`TlVy$=jOZXgyjz$?Oz z#R3|`7(D(cL?|AXu)JlX);XP#hpQmyy;U@8Lf7A@NY)3J)|Lj{A4|w7t)ZG*d-6Es3PBSbry!E6p@XSf&Cufo;RWKgl`*b{-?Ut3@+?uu=B}c+{3_-pUt?ZS%&L?uhu^n11}r?gzJv1C-U`KAM9h%GJPN>`rn0N z^Vto_Od9_c>Mwuid$3w%gOR#BTfvtWoj_#bOi4LjfXH8tbzm~zBGr{0MHe-o^4)YAnykC7b4Tja~4W*U~ z&vLvh7Ur9t>sl^$g3=I|2oDBV%|D$Q ziU!s)KdtXFI*1o{$j)hO@4wLSN;I_5p6S3G_buXLwaZ^=tz&tiwRg&UUWTS4;*2Hx zKcD!@5q>`#f&A&);CfzQAGT(z<^jG@gK#O6A_qM+!{tUNIYBQYJpUQA@;UC+Ykh8pV z7~DFiGqn8K%3AQ+=G;r(%U0^g*#th6XRcw~ev&ic^_)Fi4bz1Wh|yk|-*Zy8VY(K>!&@_X z>^7?FvlKW^{&8bIn?lJsWz+2f>Cy$kkJua@U0uWIaQ6Ntwj=4qznWPLLN!8I)qmEB zG;Dl4^Oya*XI%A@et!1UpD~v~ty7=z#gEAhYO5c)_)M^y{i3m85ktbOyYpXNc-+IB zCooOzLyV<0qI+wNfhDUUY>4MK`swQl9^-MQFaUsI6Ls`!juZh0|(}>xI5>CG}8yUB2bVrSwu4Et2eBD3JOCOg(vH!4(vV! zidz|(0|)MNKIjIOCh85VpRjBw_3PtRc)-u_BgB(ok2}-bJEqH9jDsqzUOx?Y7O|pvAw`EI}-l*XBw@~*q!?tJVr*A*!w35mB>r}=& zQ+Ef&asTO^`lmGV-?|kxPK^N!O8*oZChTYMT=^yX^LD8Ne2gpRh1!bxGnOoWe>A?8 z>B=A507kLbYJm-N&e?r>Vv!no<^8Jt`(D3iaHy!7d}edq$6fVbH~i#uzx43FbIm62 zb&J0S^&UyxGUM`|1$VZezq?&;oAjr3fyNAdA7APksb9U-WM3!$Z(6-(>OY5Xe*dm@ zGWD+9n*QFLk>SX4^AmGIvUTfK8anoS-$P2*&HVSeygjDd@K|F0 zJ%#%l8S`fD%#TYkZ{EAVJofyveZ~x{{w7^{x%2b#>!&jt{8tLye3)?g&p*3Ol@bgM za~}nDS?-P6=g(a8X?xtRxDESWKPx}xzJl>;W~Aw4%e_%%(g{KT=d%5{Em}9VcW>R4 z1-^6G85Up8e!7(BL)} zFHY_Ez5B~j!!}Nz`qkmoABIvfCquCu2M#|Ai;4CVbA2mb{}uhKan|u_Eo&*$JPwt{ zq=a4njxBvgk7Oy=t2Dg*seQct-Hjvj zyPEHsX&rF=Cv~uV?Su8}pPaYebFX#3-En!gfPdi+)_3Qve4fAX-!zM;v-2Yk$MZQD b{;j`d@ceP+ikA5d3=9mOu6{1-oD!MGqhLot!HyXPI}Q}=cu}xJq2Pl@!H0r^4>Jlr94PqkqTs`Zl7u}S845E5 zJZ1&UNFOB#te@GGdy0*@KBi1;4!12U`E4?84U+!G`yJ6 zpfF>H$BZ2XGj`0FvE#su9WQ3=P?+(-W5$Pq86RfM_;6sxhZi$GoS2YvVL^$)0RfK# z0tE*IW*iVWa6sV20Re>rpl~TT;4$NX$AJSLFAjJp9BA-3&`@xoVa9=m0|y#j9B5ED zu*2iPj)DU_W*pdY;J}U-2X-hN_~3EiL&1R$GY)(>aNxs>10QazXn3$;g2D>{j~4<3 zF9c@15IFEc;Kd68g%_YeFL>cGD7^UK@!~_liw`qid^qsp!;2RmUL2V7;mQsM3kHS+28IO; z3>O$KTwqwRfFU7)!NLMr7$mcRVL<{z0$3QKK|nx2K|#U5z`()5As`?iAt9llpkTs; z2@4i1*sx*4g$oxRJb3Wo!v`M?86O!94Idd99}O_mCnrK-K~2Pq6&WE00x=dE3JL-q z3IYWR0y7i@4k!q`P!Ld10Hvw|1&=wcWn@2;(a07s5ySS-MV}pY3t8 zvOV;8s$|&IdY2uSJ*|H3l+3KLIHNjqO-X7YV@yJ*sL*4Vpq23vJ^7Q4Jj;6Gv|0OZ z0GDN%vRzo3pzQ>yvk#<~0d7L{w?7C{Xw0f;)bNd>{q@&qF>00YQ4YrXJyZRUxu=8|7X~Tba9%l zwPJ2~*7fhlzSq1ei?+4qJ5>e#$A7#;g0EI@lWAl4IHMqyA)-%$iM$B z^uy>trB=Aff!&|C|64NW=={GMR=6^pb!7Pa_wSa^x_fvGyr0G}>o9rzsODq#36QpJ z`1ZhPw%*6g<7E#_zurI1u=sQMi5FXWHaNe%yI73jimy||ElK@|gZLzF^I7NhJB$tRI%pzS4^2AG~f0zDt!01I#5djZ&u6youbXN=mFo%DpGbzu77WjI{+h8yuzi^I=c=f}_TUTC2UYVa;tl#c zS7$Kz^D>m_GsG8(W-@Q6X8bYfHOH6bAgTEWRx%!V$NIo~oyvKJgio^;%Rda^ILN&G z@<*9{a_;vg?zj;y$M!=}UVXR0QXMt@C9~!)+qvXs-|`{V7?Oh%U$ zL8%iz3tX>1jNkLfs>JHI)T1TwUMIR4yiU&NR9HMOMd$ayx~B}EmOqpG#KUl_W)qh% z=jn6Do!$pLShu)U|H@&lh9^cMi+L6->3b@zy!(zene-pXyIZyO} z-c-E~*F8=L<}oblUdN+gHRXQ#x7Vx>=Ka)}sdH>Thr+t9&kQMs7xRziOq;wuPVvbi zo&|GazeF+ya1~~2GFaFOHzYYYG5nsoW!aGw^{W{Zmx?iLe)2k;W2b<;kf2+Q{b~lW zPbJKlcWg9j*m^ocZidr(W(ngm{Y>V98XJZ}&F4qE>RskeXN*|$$Ex8|YSX=yD)Bou zerC`S;d(NiOI20-+U!n-gz1bHc5)30Q%yM~>N{8tgfWzATNp<=$}Y3H!{abdXF_u9 zKkfeKfsAkDWDl&F=+2?TG~<<4%z3Sd7u**zYEtHKU+hU|`1E9_+xt(Kk4{?_!dJO) z$#Ua0 ztU392Q*rl{^^=crACP^@`k->-Jl+Mnde<;kEY4Zuxnfbi@zd8!J~9=!S29-QtzmK4 zrS^n1VfP*e8}l%p2QMudOQL_KOaBs{c%I3QZ)w3%;YhR6vNs?0^-KN;ja2z+(%p1^ z(v+8$^QUL&OjxJE?#tk1I4R{rq@vTD!`+N)?#F4=W$ZZE6(i~J&6(%gr1ve1J2$W% zFupW}QABUG+vQIQ8%<7idQ9CD^g^)Nj~8KkkilxwK4km*%) zDr0C34HQ4J+QUYRWnG#v6UU3L2`Zf%6@5J{`8=1OFPXEaDiP&1%TE@)|HQSz>F-g?h8KE)PdZA&zD3T8j7(!# zc6p;+YZKpu%T}GLJNO>lU{Ua#ahHFBw0Gv?Khv^9Pc3Ch@K9_zyGrybQz&0U|It&& z&8H^yYz;lRYyo5N7oB5QO`O*$T(7r~V?0nYUFTE9q1d@{cLIVn%T?xEHmpntNKNyv zo%chH;q2?E+l(To1T-qPEcKET+8MSq<{Cp!;p3o%E-Dk{xWZB_j%{Xq^77&Dc;CrW zg_sQ5CYde>xlkGRNY^#gu_&Bzg6P%~VHt-I-FKD|>>JLqbaOtoKEmEobd%8`X0}P5 zX7xv*yr$rvDcAGZC*1HV@i1L>@|`0?z=Z~fr0EPSv-Yxh#(Amodh7`LBQc@lgRP?4 z(N&@hG1nVx5+~U(3S{&}UKC4ZZrE}9!R$p`7cTyI(Rx8^?)hTZ^>;ZG@~e+KtC)W^ zxoG=@VOa%>dCwirKpXvq#{_2UtYApUS-)hHhq<6+hwOwe6E4>^glu(EUvieWI8MFA zzL|AroARzncO(x6nCXA-%kwP0KV|)Nx0mzut~EGm-9DY~`;O&7SO4Y-XHOg4nDwkq zGhV;Z)#-l5Zli{VIQja3$jp2F?3C4&OE%619KeyQEaZ@6z4? z3qPhS{aaU+Z0xGoF8^fmKl8G+OPOtqBilSq*<4zc()(UCIdaYC8gfnlL<>xK%(@wHMT7|ntvEg5Jv0NCV%zSo-N1h6Ljc05HqE;_l z{LVQ+UUtGdoBweq)jl0lwP%>JiBZFPrC@K+LdjD~Nt)bsO9PB7&Q{nnoHg%e@Oe6I zUjC~p&t}~f4W4^NR+&{tKa*g`;_;AjKoCR-Id=W5Umo7`vDzlF~b!Ic)4~7tCL3dilqWC5z{|%}>&E7n^Q~2rW<;N7TR6@~z zvN(Tt@SdAK%#(Ht<#pZX^PO>|i&4gmsYCvZL&b_lpQ)3ZHQNRLJ?rnDaayZ^!AA0g zP@39|P!?V7m+N&R+$X&7^qXPnbMs_YkAuTJgSe@p!gCnTaI2-PdYQ)Apvv2E`8li4 zWc7_g4DOs}FJ~B-E?@K9Q}3}sjKG-!Bi^GiVhm4~_8k9Lu+`;pYt$!;@EGsor!SQU zN;GKvs@NZC7L@i^bc*~Gg#~VUr+C_%Q{)w!xZ3Xce?BWD+>@jjD(&~tkE5C`h%=3W zFP%w(o7;ZwOs#Z&y;Yup)$O03TP*UPvSp5Ku%5)4U5TfjFWWjVZMoGRbry=iCJq}PBFfjCvw0@N|&|Nl_7Of*yX(p4l*gM4&MrFSQ;M9 zHaxk}oyFi=jgu#rvhjqj-u`V9-u3@~_+KISP*uRaiEJjb_hpOK`dw62E7@NYYjnM~ z$2z8Mcd^5!DNAJ@_gqZ4o@3@R_1}iLq@hGXx{ zz8YM9uTjFaK1j21{nrnYMS`zA7VbA>bNwQ4ibq7xP15nI3)4|$2j{7#3wD=VSxk+e z)0@m-t!K*9QhIPrPvN4Ym)JGKcouxgd+_od!?o`|As%-f0vIA4Swa)efBw**|ETIh ze6v2Mcn5=)&A;Y};V&Ll%xFoobS*#NHZy`Tkk>;`U}wO_IWJyt>#AAyemOCT`_kSe zk3=S)OLk>=wmz*^i{Y>+Q^Us!9>+uJR*P8_Ivv;ot~KmnYdF&Be{s&Iu56YGOSGA1 zv`+5!^kRO({lWg{G38A**F+h9ZfrL^sMN5cz+2*&yhe?1!&@~AzP(BUGk$tY9yALy zIe18xlXVJnhlxU8#a$M0?S&~#ty^Z{i+GO&9|&47S71u2s>#K!xf5Ti8Q#zPWXm{bKCi>26DOr@C$xTSFPv`C zzhbR{_vyo%XR=#wiYahE!yL1pVlj*2y3o(TBzIlP(hIZult`R~g+Y(7Qy31=pFF|;lA=TVru zO(3t|&zB?b#8kcS+nE&-;?=dKj{3Xk8$WY8^v#B0ak#j3{ANoge{O}HwjJA#ds|NX zQnkkO7DLUH@2r<63h>98rJdKZvs=9)vdvq28_UE;w<26Mez8QY(yR=4CA8DBVa<}M z1p;RaBYI6wer8?~kh$WAvhk5h?|$ZpOs#dHg4b&`cBu&m> zccHfMoYfpfdFDG8bB0ag47+Z6u)HF1>zkQ^3?XOkt?CdE5EVc6;^j$;qV5C*@m-9cc`?Qx~NBtUYhEK`*45{EoUMRzIt%jQ%>XU99 zcbhq#?}3$k3B4*O_HFqb-t(IE!QG&`6o!ui2`?61 zp30w6V^EuzXKpt|;@7t)9Y0+duBF%>`TInya`)xG^XKQV-M+%IK%M7zkkDa0Tq~4CE zJq$UM-t!-@JmG)jDROW8gY&(D2EJnYDGDN7;pTJ?(>sc8WLj z>xeVXc+Y$IRozR&2BT!v1?$)pPJH?pXtB}IXYm_}t7o4ky_yiiv|xkfMXQE`o;~5U z>gQ!6D-`vwFVp5av`NttS{#&?S0tOW}hoa{;u z1bg(Ys+pj&(rb^5?pp4yko^pM=Gn+JT>6&Nv%ib2=NI4SmPqbmt`9}IHJTGFdG#6A z>ph6pzc17f!)(Oh>~e->d9h`~1ncdr47HAvKGl{mynm~@XI2dFfu$@9HoUS1wH5O( zH2jR+&rrj$Q>>wzXTg?N)?byBmN}`bm?^#7los&v`gYz2d71OoADlhDPwhv|MTTeZ zIae}P=%2hMbVPqiO+3T86Qx#)&$-Xs?9OsydGLv;;Qop@2BXS2hSbUu_b<$q>)tm; z>-}843nY1f;n(BMqP61hHt;X2|9osMca~pG&6%H`GI?H$<{wwEyElckR_B=(+jaN$ zefD$vHr3SZI6ry%zUzXUZ67{A=hAqz^@>m*|1+iX=k=Ew&-za;=()lw6|*n$%ddaC zE?$4}SCzTIg+cE;Q^F%9CJlpUKZ_Zr10kuKtsm zWm|8xfzP&#Z530!WdqxX%a0j6;{En=EeO58ak*B{S26#E2GRZ^j67ThGGzz7xC*)$ zrU?hN>|b{(zQiXfuAQr1&f!cv+XB~B?gtcCOk$eT$z<}Uch3HW2j=@NsOMssK8ej` z4hMsn|JwOCxf0UvXDoVsP~K)<&W2Ttc3WJ{2!@-`L}nU~X`t~ufHiI3B3!@G6~HD19BZr-GApt8_#q&%wUcear|X=5*1G>jXER9%b8_^3o@DZ1H*0~-#Dm9GA}%R6xa&(O=aX` zIP_kjuRM}rH#<{7O&o*h4LJ^GfzQ{AUss1RR0ahw8GLPsEoL)!RWO^Nm{ZNvF8Su_ zyJK%-3jSulIwbyg|G)D#6WNn0Y#UC$ulv3|lp)#Kw(T^}4vn=By+R||FUVI%Fxa+LJgX?mFllE1$cO$Rb^;i>%ySKAHr~9r8C=toxbb} z5zIMGnSa^Y>;svzKFj`$W}c9L)Az1q&5JJ9JeQ9~3_Dl#1^NH&Nnbtb^||egz48}6 zrZeU|ejmk<#ud=b@<4`x=c!QERZ-mpmao@Y=S+L8)Zq8uk>$dt7Ys2TmhEN_TGDK8 zG6ZuvcnAn-Y;znt}_m>P_q=`#oTytHFbOFhh6FmZnvL+P}_fY_Zsg2c`3 z)~{CRSME7=(21dEF6&8_V1`oefXim3A`aVE9j@_Y$oi_zJR`J)?Sl(L&&`gmGh6*a zPeqxPh&DYCzP)-AQ-akohMu=i&y>5DTL(NTUOaEzvs+9SCmD|UO#hM167amZLFCH4 zh+S9y90`1RLEYTUd8xEz!!GA;tJO2@O_*M2ml>`u%i%3Q_w>mx<$uvHS|a|ITSS!3 zoSDGXZkm7j;}Hgy2UYx;2SO&BOpajAyI{!6aL$yWF=fKKb7!uWh1{3^T4H)#sbPw} z@#h5%)8;#FV0w@f)4{nRPeQOE>*c=|1{UkMIx9KR>rDYH8{Tfymtxk-JdkP?$iVDa z(V?X!&a}Xwq}4xXy_evDn+zR&bNwo^`~GlpN?G{WFPPbvJIl9f*R1UI92^Z-7^K;I zPE4Kco}YH=pvj);nk|)ogjE=LfKhG-x75e* zLPu*yhF?YX#_`jf1s$#&Vs??(ns}0h{m-M$x1o_N0`kfXTGyf!q$K7)WO&qcL$8;i z?LqUI`KGaa4iaB;_lk=?Tp-h6UoE44IG*8x&Rj>~>^c9Umo0W!AjDu})?vXtYf8u5 z*7<6ey(WHe+EOQPyyg(Yp0#rr6Z9E7LQSq7*~AvYdCj{xm+_5GgMIc#hNOQk42fHK zHFKMI>-XlFe|^8%X91sKWbgAu*A25|>i^wj%oJI`c;QbU*M)3{*w-q@I2OD-b4&9| zxZwd`udlw}kKQlQwP9{}5^=uV?SU@KHBLcOg-e&82ShM@cs}2@v1`Wy*MG-ue*V5N zzgnt#>HmF)SA3dq?MW6x{WpeNjp=9S|NZ;(^P(R8AJ6C8HY{Y6_{w+j3>V{%Wy1Ss zGK!^KE8l(Kg8#u~wu%ii=d8WFt#gZktW7-|SF7j)4F-%aWx+sBQyJQ8=eF8FW8tFwQm zMfF<7-|TD#_w|=?EHHWc+-nn;!nrRRAJ}Ix+E*TovEp&I_xrn>EpYJ(=kr|5D?}G` z?XUZ1^HR=y*=1elOTCu@4Gsx9To2-Y-4q_(z{`7J<2{Cyi@bTAb0+7r9*{mI#&BH5 zVe!r5C;j6tOwW4fb9A3|yOg@XvO>oDhyKWjEZF`%YHHbX&dZt74Q29?e@}9jFdR!Q zNK^c1dHTU2tAs?!v~4_n>zhBHe&9FJ?eycv3>FhMFW!)Nv6;!^c0(xZ3b)NnMIH=( z>+(t$e>go||AL|R9u58l#|!5L_5{CRs{d9J_3uy69c2%Od47pqFPhhMUFK0{c)QSP z=jr2$H7?(|KNRTE>CN;6e?y^$dScI+r`0UO0y-W)WXe6x-LewheVBXU*(sxK;47E+%{3-s(5g4vJno z`18f-i(emmxI1-ehBCU`KhIuJk;jm1tA0{6A$|9rZ>|2@cqM)`zw=Ii_rsgrL~jwp z+XNk}n-}LZNUhIc-pX~wt3ZiCYWeXT^*6G1c2a_?zcp0yr)0jlHY4tA4%@WS*+%RF z7v4;Ju&vO*%A4uR^+18aLX_c-`?t#NZp;lC&l*1dKKLZga@pDi zkI!#ocx$pwc&6t9Q3bZ3|Fbq6E7m=*gkk#2*ze1J-+bGeDDEI@&9fkuH~(0%sn%JB zclVjU{W*L3O8H`j1S##M?_!O9h&esjxbw%{*hneapT`(V#3Yz4emHU|_f7hFx5Uw> zzT7~$uxw^Wv{nwIiLc2W{=irM90ywU9G-CnxEEcSc=m6BQ7wb;cWbr}54I)GNPD5% z;Jf0@+oo@YQ4C-AmOY!vwN>!KA>o7*9NP03GajFM30 zhTUtN&p&oyIQOW=;lw^pwTMtgmV}4b7~V)WT;9&HU~b^|JkbS`eWtpb1pOYryt_NG zZJ$N$GQE4N8Qq_^UcUQOnYqA?L9dq~?jpnOpEuHqbx*RePbdg?deNeg@Hl^^aFJNU z<*ST$+)LV~ong6s>CH|~v%Kinj5X$bchAjAxU6Y;_VCNQR*SCQ;Z^84VJfua#V14S z%`>N66cQ-P-R$xElL4hA(ml4sK!YWqy{i>>)RURjg{x#u=x@nAg0yW%Z8f zjBP_&S}D_ob(ve07$ZJOlQ%$8Ah6eniX39e9+|Qtid)p#Se$2zNvG%pOxo27kr_g?9W0j!HlH zSZi~a-9cJ<)f$ViMpx;tEDsi)`7_y_?Sp69;S&t!lp5wT7i?hgOAEMpBwF0;uz{E>IG=k#3W1>p^o-EOX#Xd^ZG-Lc0> z6HdN!UB{@heY1Uo!T)#f+bw3CW}L&@aF1a>gN-{2!_l}6%pbI`1*vU$$01RE|3THk zX2*+VPIIJ>8E`x;og>P+qEULWc*>8<*=E>bNk;vIyDy4@1v5AQ z`5MB^SN4u`_f73DP5fnl6nLNi;(y=NmeDZPXy!ylpT}8;9^^Sp>O0UXYaqfMF2eVq zb51Vn1~pNOY;jR`{>?G&44cg!*mN>TT{Za;*-&V9=3;K#y}8^ElCI_OxNl)Pnt33u z+*P3ATW-vDhJa}XY&;hkycyhTkEI2%E;)3upy^yFgJw*iM8oo2hDFc0&o5A&b-kMT z(oF%jOV4CWY^`@Kb^2G#aQ9ur4sn}k2KT%s`|`(^Iq1H9 zFDFNx*q1_{$?Ny9rZL>Qo_bfB<@Z!m#Pgxm)a(hknHC)d# zon6?qVBzYpZ+;PX=lMo5EN6M}oMAy=`SNo*yvCD1oL%jrQ1O2kOG2i8ztS|Rtk+HN zF0nXT?90BhCeM{&R%(GZ!@7`}69v+g8xn=4U2G_9n8DofMt4Gyl0yIW&>S;A9DAl^|TxU z=GXmtx!iv~*Y5H;e~czvVT+j~yo~9=RQK+4f=mjtJVm2wP8?Youu{?baoDydG95|to`NtO?y7>7GOFm zrXcaBX9~xbKc#y(PcUwI-5@V>pgYy~wdm?kJPe!N9F|p1HhX-3g;=;l|B4!c;B%!+ zAL`dAFg&-s+;BQYZSgHrj|9dyyH+sy-}BYga0saXr`h52;Em1smzVsQE}VPg!SL(% z*;@^#{=MI~vcB8?!pk?(#s?22OY?5HdBA4pA?vMH@&$|UFgvWtf61j$uXEwZv+HWP z>|P8T3iK@-x|lMgZiyYxWZoeC|0qvc!`r`Q5(nh&*s%!J&;R#^^G}G90NeK4PF4nT zx)Ybn9MHVewm+V2fm4Rz7c+(vd+w%)nJid1Bk!K{0o@|QhV&ED*j>aP#uiE)`2Tah z!vgjKF@`y3Z$G-j;mUNuhxNMb!}8PjbtDqLUiR;EID7xP{hz>)#%;Nsda*hUdm}sM zF>FcQ$(9gOlg`Xh@S{4)@FmOnrZfh>`}_^R&#a#sALhX@r;A~h>}mJyX}WKC7c;h; z^f|cc^Hf%bT;>4FKXpIWUf`MIBi_Pb**iJ1t%aea^@05@pAVG`|NiDP6#rSn;n5{8FswUB+CrO*(OD^SY1E*-tK0YIqgIFf}s6^ikJgwjT-K&ewCF+Bkdp zJJttgI|UqkABc;Vxoudzus5>p<=>Jhmw5S#e{;0m%$c}ZF0syO+b`9SX0+(HuH_>A zJZ7PP9gN=?eoYrGyS$j$V|_&e!(!=U?*wBRFYGfvqLgusRr=4FkYDAS6I@bGhg`|8 z|MBqhi&{g~b`#sYsG0L$Gwiy(ldU0Z-G}tUE!Ve}ecWo!&!w=tslO#5|K6&U#y#Fv zJ9#EP-X*h~K_Tzob%rDB*9CUplswpX>Smvz$dAjp2kzJXI2?YNHSnBhgp}aI?rUey z?`HI9k$RA@?63RxI}CY3iZ(@I#`a~&>rxrgxfh(eYhc%v`mxTzT-WjD+SNI`{FZ$3fF`myVWjpS4%LwO#8>?P{%rxS9ouEiIkJYB)80vKTMf3 zj>(4JnC(0Fa%7k$?ZYbQ@OvZE zgZ-gdzL#1}87%904t$)+5K|;9Q&>DdaOy)z11)(L$5w$#X1)b$xVRbqeO*8A0K%>o>_#sW zu1S2qix;uwFcq+zpRahK=g3*JW}yaKrgcA4XJ+VBTn<_L^2+nN1HTzM(j0{ujvr_I zFoV%z^X340&C zVpx?5NoCsJ`=5#7gqA+Ybk3tsnG)5C{@(M*O z?gr~qZ#IQ8#441EHM}}scj@YK+mZyf2UqS2INW5gS8q7o$}p|%YJtWA`|iS14F7&* zD_md?dd`s1UVC`M@$2?6xA^8Po5_$7*IsGNz|A&;`G>{&?6nL#Iv9>|vLwnewS0AZ znBJqRC+)lZ!j1JCxP-mb*YPh<3pni`U;pFbc5my$yYw9x=A6khlsWLyieVa$0rQ6X zGzP}sa~KUKRk-?CIXb!R-)bEprF1e)^$Ei{UbP*)2QupH|9-fg?-hGXbY2?MgOq#h zHQWqmbKH{}K1bD7tAPf6eX4rTon~SScIj;EIr`Mn&3C_n%cQvi*IBnS+)$Z+XiD>k zr%L~NjQN-|?z_)D%f5%JA^0N0ZUb%)hIKxy_f(FS-t~}T^!X#}HCgaOe8==>42yyd z8A3}mQai#YM{6?7xMQFdb?fz%YCMXgf+#+Q`7A9*$TE?l@(WQ z4K1o>elaa|R=MD;+JpnT&CaPD8G(~3o2{4v-nz`U;y)nFe}KV8#;I)cO#>c>EK}uj zo~s-RDh%fh4jSL>y~BQ~{*0b9-|j8;*SL)K|NU_I`ur)mEYD8cJA|6QIC11hGe?6n z%Lm?doC{*7Wr{9f`%thT_(9H$o9koGGxnsNVRw7`wZ=xi;Bfa>&LjU0STg8I9GJ|I za81bNa*$@jpOBo547+pVMRMm(P-@UR*P3N|Bq8m-^$ELF2B#YfoJGxEL@-~-?S8qV zdiNsEveQP~Y!+J>W6h2QEEaLdo2TO1{Q6F);#*;bUg5V%vIiz}C_L+Ds!%`4I7cVr zf36CAR+?YO z#iOiA6`fI{@R$S~$iHjr-n>R?y7H6!Lq{g1UrT{Apihcn(;z_{K<&utmg zaX$|wk5?@mQWJR0m$?0p3SGxgQ6a_f_L;w8bLW9C&i{~?Z2w)C4C3eAh!d$KRT}6Hchi`x=DoYA7??oXSB%l8(w`tYwz0BhKAdJ;cz&7>K?xpH` zB2@?W#4Jx|Gx*gRnH)Srrg@Lo!HY|h=4&l!(NpD(d*&g|sIu;b>W-E7dS^ebdA8!u z#p;AL=F9fD3Qm)8$ZdL@8}YAC1bU=y1>_t)tcr!LM6{rBVJN97-T7c?vHcp!L^k>%K= zhDkRzE@jvzc!TSKBb$Kr$(e^`?&e!9wJErnvEkHVvBRN^f7bsmVv#HHao@swhV_OZ z)8Uf8_Tkgc)-JeuOy)o%Lx$)AhJ?v%PZr8Fbh8%x`BASd!Q4}O>fy#XMgy^J`rl0! z%{~(mW*?ZkwIPU{l}baQmC(&fEkEt?3&i%rsZM zy^#1mi=dZwsb=g|BNfG3<(OoJvTSMI`!)K^~^)k?5sggLk!KB zDm0iQ3VJ3hGflOy@aw+wQcXBV+lpyL?uNUpYLs0wQ~iy9z1tGq@U;drIepbRlL+K;ZGc6!AhnbvHvdJT-9_+Vgtj2MT}G0 z9!WHO@k+QqAPDqa#cuax0q{y`RFYt@+vzdqaWR#en5O#RsCDw?4!{c!tP{^Wbpx6FRN ztXTi-x1?v2zpFDXIQejgctc*yQPHl-;<=UOegf>(>HNz+#h5f)%9-&X5kN3b@rL|qb_pY)2JHy1&6~9=0+4a&?x8-{20$X0bUpA4kqKF|Y z>>K-px32s2c2(L>ylD`_wJR|+)uip`H3pT%iZQ=id$qz>yxe;AO2Uj~KWFm%vfU-q zAj?+J$siS*%CP0;`)`Z|LD|U%X0Bn3XvvtnPVL`5U51wlC!R0*xYlU}O< zgRdsbKen|ScV*r?rodY8!ksPQ{j=3Grgyf!dC&DArFH*9tuDz3Uxsr`4cf;xZ#>O$ zQ_yoAXTn1kRs-vL&W0G)v@fQX315s0ZOYgV9E|eWd?hKkc)}LOYNiJ#87nMyY`+=H zctDdOVijL_89(6A^Gv3{mb| zq?z}zHB2@>X#D+gYomd6bb%f-2cyKwMy$B9_J zIjm}*Ug%)>hw*^mbjB@r_Zjcv31w^FXss03YR;O^e&JiuI)(>NZZ{OZF=l#kb>U(@ znR+n?)iqtrVQ+q<2Xq|_b6l}P#7axW;l;`O=1d*)#CZ}<1wLWP$BrNBc9OYwvqIj8;N#TRBXCA9UazK49;|KeH%z`Hvz9b(M zW-Z`4oN`y>Nabff@5%P(^_^$EvHo=6Q+v1WR>rf|PR}_W=rD5}?NZKFTqke9=_)+u z@7@UJOMVJw@!&*!P)laq^=BuF8Q7U0h%mbRnalm)mDQIwO-uf_{mW$dVp&(f z@cmVrfwzp$M>WH$;#cgB%w_N0nI6=!?Wh!LT7T|er^$nI&Ii-=a)SmkH@W%d7UKF#cZ@TScBV$bF1^@fKJt8i%YkNzxjRojO^?xQ_qIl zX{@IbZ!ykM<=rvuTh={~YajkTySPADs9~}F_UnE!6Zg9$Sl9PCFh98SU6}1c-o&h* z((3DX96R`D(;wDfP74kOPVRm4YD4CX3m0Bgyg4DmVthyFhIG!ZjyJ-BYZxa7vsTM@ zm0o5`2%N<@XFaRJZ^gKS{BgV3uc&Qg$UC@!D?y&|jZJ<1CWbP$1CGzuKmIdw``s@h zYTYH%KVMh;_e-c=sX?oJSHb?-76-a*cAn%ueCW}tJt54`K02xP-(dIHyzGQAd)My% z4|DH|9a!5{AbQ~LpSs^3yaz(oCR(Uk)^s!PIq-Lv%^OLEbE>>Ej&rY?4{Tp^r%7yQ$WApi7iNh34vAHO$os_hVHJ;3O4U-U`($)75_GY;s) zEqM8?zIDySJL%h{>aH-sbOU>-^#dn3gZ?3sgjIx%P;qy$x+)}8+bNx<}aZJ zhgG68H4-;W{~M|zVtnE`gGIPWf>?f9Q{(fcIZes$Qib;{V!WTe*lb;5(|KX$1zH&g zzVjWM{O;R3WB#UZgNM9pqImclz}HCCB@gIm{1Y7$+=W9ki=s>5Su3 z^yiuOExp0HlKI7xe+>T~%m3dnpYOnAmIWubyqn|4=CFF=zovahm<7e_7C4D@FaE%J zi=|)6K{xC4X|6=w17SM@nDfrxTV}1nx{k5pX2cyikP-77xF2XT7j!WAu{kgp&lY*} z{}=zC=!XuITNWtx9eN)B=AW!Tb3!C@-f20PyVn)A9tdU7FLJrha3GO~;gz0yy*mSc zI>V0LZ@3? z-bh;6P@8t0X;YH#+Lg=MF7!LbE@Sx4dLifR0Y;PL1A+(EN&ovK?#%7*KzCsa{|<&; zj%5o1e%)a`5EL=NZwu26?~TR`{rU{Ik7zXr&+aks+st-BC&qYk*s(GOY0e{#*$i?v z4czP#c13TnUizYK;q#f-y7OdTF-=^xiT8jqlfZWok4*>oF5aK+C3(R6`Qmr08PA&i zy~3aITw#Z+C*y%qVV{?g2hX#{njU25e{hKL%e?RhebHqxjWs+0y4Aumf75yE4%A6E z+z9ksccNjpWP`Zhv0IW3ufH8;xW%c>&zn&AMx=j(TJJPjVIPBULdDP7SU2P|d^o}A z^1!)<;fJFA5?*$FG*jbX`6s?!s`G z;pH?xj^BM}b(PFBmUT1O6fpc`UMSI^bK)xFo(VIunJugt4xVY-xOwjF4Yy(+B%~kK zF-T|NVwh6*Hg@W4MwPRBt!F0`|M~P)!J0WEw}A10`30$h{jq{(U6qT~d`|QHRqkzB z!&H$VB`_f_?tRM>;Z5I9Y-KGlV>rjp37XcNnL0B+e|iqf=2HElpw6&+%Tj0ldN~v1 zjNlowyM7$XntT3xxA>8_JPWoRbiQxMpdKGrCK>eF%4hdGjrg|6YRL}!iMofMeEPsJ zDLuW?he4hB!SAQqM&H>ktZ-mkaP*vhGxuwQ$3{CAZs5r~bbISA)7(QwJ0hdl$|p@b z*ebGjgZR}an-+F?dao|It7gvg(4XnUvq_8=l??i9Y2^%|YzgM~R^JVuaF@|$w^k}c zCu3a-!+m*y1Lq|ho}Kl4CKopC;Lp;6@JP1fEzBCe3F&sJcXs)olN7DBsF-A}5bi4$ z&)jf@!Ct4~c&yF_)(`2r;_f0X%o*1f&Nfw)(%Y}4CzgA8ZM$i1dM?XkD+Q~a+n=5- z<(6zXvGH`+Qw`CdDSa=md_Obo=aL;KN|Qpx80Hw%^Yc8A+kL2}=Fgj_pLVP%VDM$W zuq$!d(KTJxi`n<|-;KRjqIYjfq^LWi&n_(mwi}f^S}!fkyqfe%)GvO$R9YDt#%N<> z)v$ZdqffUOZuKU-S+(Qjx-RQvb)6eW1^3D*PYY_kRoa0IEf&Kr!Ix$H$T&teLaK+;9kB^W0 z4YWl|`4zN1R$nMhU(c{$k8{=wj~Iprzf7|keqEoZ^6ycc*LTx{@{$eDwH-eE?__BD z|GtKSoh`xq@ImH`TV}^t`WX-0NKElv84wwv$71j)kmZBgCAJ3-KQh|v=l-w`D=OpQn=iYSEXE z(!y772r`_NVc|;n?bndU;leUO?^er?-5E`}ElLeDKP=O*5B(Wy_4h1u$ErP!tdrsl ztZyEZKO^F>iKmkxLv4)$!}$uy6I&UV{1X?=oS6Q2^37kXN=}uoJ@oyXtEb?BBlnw` zZcJs&QTec$CtrN^)bnIWwydhh`;Nt*&al*Y&g#ll3^3h`r}fdjZ=GjH}k5_czMpEh{+2doMzOCsQp-=n{(~dS~GQv zhFI1E8)XmZOB^WsmypMH!Ow}8;n3{J*-AU*21+E84@ob9%jT~lfd|-U-`8FZplK zu-|GT!<;iqzHv3YxEb+Ar-t`_%KyE-y|xK9oELaQmpi`xd}LRJ<5_2W&dGumSD(uA z8J(X}6JBT`?X=Z>x2*p$t-G8DSS;&YZX}1yv~yd>b6nt7ILn9omJRb4|2=B`csk>p zXS@uzLKSXJ*(d+}=iA)HOh-;X2%Gg_Y2=C>TKCUP>)Jc($i@eM7T!;IWyX@vA|T7{ z8@6Yu{l+gVrglYbdZM0n$EhMHL*UPy4u&9Mo1}bw^Mh$K`x09I+j=}Y&-lY~%l`|z zCF}lfby;9~U@e2(o7+1QvSQiH7nJ6{3v>T(btr(TM)HoweaoPAmHf+Zs?A{LP>`6r zo2jEekbyBfp2hpxB+_?EY=%!#SaVf}&oX3Qt<7?j;Co4?Xw z8RLEzhCt~8QHT77>OFD|j22HB-fiH?a}S#*alrKEjhqZ|z6BGR8tQI0)Ewo=W_Du; z)VENd5G?akn}Ne5doz21+3w&<{m)$!QVZBan5KG9yUN!gIN9bv(A)`GtS8htj-Q+U znvp|cYf8Bg=Yf!yKFqficHKSy@Z`_Obq7Kjni=C54gT>kG(}D`>(ymRvwcwOQ($8B zH)q)yvrLDsc|vu$(_d#DSk1{^@N>C5H-lc?eG#ifZowZr86F7rtFlzGoMaI9{qSEg zlAA&9L9OBHN6W5SAJxl9pIct+ay+zp%m)89F?>r{UjCwO_17bzs{;%UOlQovI$yTSc>SxOvSu$H zg`#~y%kxT3irtZ^zVc){_k!G~@*kH3aytBNylW7DjbqLv^Tiww>`yc3u{oTczb-8N zK+1~)-_P8UFer6wwo%;b`y+*g`GG-CMWU6$bJriPd(-|^&q>`7?aRgBcb@OTntGP| zIgzYv7YrKSIkY-lVQ%A<+EC7*wITmHo5deniLDF^mu6lf4-a?ElXjkjuuJvj0};i#_an>>D1>n3>S3ct&0J&KZ{Vj4!zJd|jr0TFb!F z(YNi=rJW3tZMt>(f*m{tmm87=4`?z6+?Kd2@g-Zu^ZS*WS+ymK5)WGYlHRi{sN8#R zM!A#I(`Ui_9_lV~tL(R{88a+5W4Kr>H22hr`D+d(-kRU#_u6}NEc=G{m**{NJ^Fg0 z!J2pb6quHFPhhf<^If=w@rE@+D8q#*j+vn{?-}1SEI7V_=|S&P83y*erpJ>fKD#qv zIV*F=@8B5qc{AT?HOxONEx}yB*hiu9o%gq?{yb-X82e0>dC22n{^^yKyqrVmETP~6 z$M}>c!-npn)0gGt4)n<=Gt6RMVd@~jy;oDJ?fa&(6WeYs`SbsuH|K%#3j}Ta@;={M zc)tCKT|M9A`GL!)f2(i3dGQ3p{3@ecj>i@~{6A?;C&RQQ8^nL+5$&x@0RR)h)b|#X1Pc8=jf<;PaKS*RnvY1GOSjc z!N=MjT3DBQ=hL?|b>H2QKQ!*xF}%86Rb9v6y7P+h6(yMi^}m+aZ<`v&c0uU||1L`n z-AT!FY88*GvPK;1&pc4i7wOHw$LLV-IdIW&=KsdgAEkILX7cKYU#hv8s&S6z=noEd zmIty+_#WsmfHuq5|2S-K{g0=Sm4UY@*<4nYNi+S#`yi78u78vo^7Ee^@3+h5bcnq> zIamC;8fcW>O^?~2V8@Qo!nEWa>C6Q&j32~`tx%z5ZECLjT>F5_Hk`MECwwNg2M}TMfH3&g_09C*fc$y-ZrO;qhbU z8!y>HCOUL4Si;0vcY}3wYEUc_Mn&#gO5!9(~b6{H#&t}eb`hnFRo_7_WP8(VK zh(@t}|9Eiv!L@t%^md+|`=f^^OiuE^M^45oQHj&;=yDue}b;pu?dMN zF<+Q+pKsISRTeg~uh-R1Sk5xxZr{-ZH&^dm#acY^$Le$KdJoL~>!X+rW<>n{zGwTv zw-J9TtghWf!QDH5sj=t_ZKyRwe@{W3!)8uf<_*SDA7T$$c=o-xdOh*bf3r^?KknC`xWV@J75~r7j1{LCLR=Z- zT_&;p@nP_p9B_53AWLfee?i^?dliPAoO}$ke11+!4Zak{`@xSPN;E_J=S0R3e-?#^ zeC9O9vRKYS#s>b>rn|4+b0|cy8QqFqc4ezT$&ar`82FWoTrRi1ocvY# z@ym#u(3m;R3}w=xE7{7K13DR+TF&le2szJ^(B#DYW8M$xp8sE0tZQ6woL@TOGK0)S zsj*SsCSl+MO*r|-1- zkyHF)6YlvZ?y1dSp0P~hlBtbWZmU3lqZ6aXQmyK`SE7|-4Nh-P&RTH)(Dwok^UCf< zt)J5vY<9L5oM2!NtXAy!;QdFE*`}w?$cfRxn9YaLW%Z+3F&D103n;tHW^{S^uxp=Y zLo9bg(#5SZdpQo=|9|fiV}+#9-JZy|jSG(EzbIy2^GA7VlM#bD;{grdKe5sWt|+dW znV`TB#LMwwRrZVre9RKJS+q>U_xicb)G&*DoO|?Jo|s3@iEE5KJi9^_a?A@#HJc)S zC$g@vskJM6-tmm#R=}rKJJgtKYI!+UeEIC>acB3j+esn{w=z@atzXEf*&q-Dk-W~ZL0I;p_JcR7k_~@auUa<9UT#<+`@m#I&f5MQ>tdRo}gqooHP#5Vkh-=zARQ6lW4iUwExvUjF!FCE*vP(+}J~8N+&l zLHtEFi@$-=)>2KQ{RMoxp4{JG9W?>7TV<8wxoeq!tuERtZshmf9M%vY6rV=2bzDmtRq0 z`KVLWyT(-YJYzu>2gAt~1=0=k9F3J<-H2xB-|UcZA(pA0?SMIVf^_Ztw<$D5o!uX+9YuQ$!;x_54CXqn3;Hk3 zt}(u`XeiFr*`c74B9WBMrPIamU<+%{`T3?^e^2^GpNL!U>>@$v9F(hcj|(Vd;6KKk4HDO?O)8v^Q81p=`SCC$L|fP z3}^4^ZqC1x^M>(#a?{^cJ5pasHV71H%zD5u*^6&e#vKpsfE^!v7_9jo*reAvG{vWV zQ#6{E*Z++7#?+_kZfCYLU)cY8%S6ZSNzMfpy`c>JjQi6Vcx%_)jla@R8zUNiv(tBq ztn9`7T{qhGEUvwpEO;pWRm%#dhBqO*3gj8mc@`|`G2ZMS&CGG2=8Soq|a|MBwnm$%J_FIwD301hkL6ZSu}7x{rIX#vtj4S z>TiAK7uOTl8A${hUEcPf!#rm(gIr&pwN6#&L_1%hd;gd7E%?py zdim@F=NdbCCq-!N(fAf8dY$$7t?jG|R~zoI9RI}n<-3yb8^$l27hKh9mQX#baLZ`I zFUIF``NzW8FRU=y^nVKL25qK{|F=R5-58}9rgk|`{5X-d*X_RtEm+LbZ z@O@t|5-FNK=e!lu6|Ke#2O3v1u25?DT+F!QTe(Yq=#Nwe+xkS=n2r920$3_VEep)ce{dl!`Juf6f#T>&ToZ z%6Nb|o;@ag!`;Q<`%l@~q*Y%I3~G=%khyH;#YDq~!fg(lxvR<<(j^^iDvp}CSc(4b zohg+WtR>mN%%6Dgn~qGi1w%i3Uc+l1Gs}=`3|mt3uC-(^xc-xA*p;{JWA}Qc&9w`( zj~4z`(b+7V!0|kM@^I6?cgVE#q=GuRA z_TQNBZSK_DVy8c;OC{W8oSC-NT2bu4`82QpHobxe*6L+!7yq}F(WiESNx@XBY5Uro z`6n}SM7M4J)Ws5;XXC=$@Po&`!T-Yi-OL)&4}_YH8ZK}xxLlhi`)mHQO^jv?THFr` zYRnJo=IMW8dGN-z;TXeXQ-vS$dS;tNwPI4Li-m1k-9l&aPOh2ARjDm<;m;Gb^4a>j z>pdh`7=He45@ic0+n_R^>*L8K3k2GW6?U&x6J*%(KH|5l(E*P&Y>~_cRf%2fhm>t6Cbbt%zI!GV_CL2 zQ^S51-VAF`u>(ifb$vGe74@_DRW<*|)sGn3xEl5~MRsHAb3?-7+*Vb|$ zu;5yM;MJcbnLU2bML1j482+{yIPtpPUmUM{WXWQ+8*MDsj0sH}c>E5Zntsr7xm6sS zcszT!=CmC=d8_oAopr^}e?H7$k;hUHx^2}qx08%#%0f>a$(Z20LSg$F!!Yx864AA+ zi)Y+5=`|6*Y-%o?dbqWAk%><8=G(uIade-4u;JgmO+0xb(+{@(o+Izg{7JOnl@Y`B zzZ0H&u_YX3)s=iucOl#;HEHdt^}8abZz*HnE_Are`qx2o25mNp^c%YtOq_lqcJgO) z_owDda^^(+JRR?TNFk5UlnsprOT{(_#G!-ukr6FPE7r!XGlstFrj|mg~X- zmv<{0_t%v$xbdGcnp%B;ZS~~5#xDyOCBJWJPlhIBMc9m`gJSGQT?BvL9c;*17ld8!mo*pbLKNU_#WZ(yXm&Vl{F(k zY5UEThUGUIUr04%vqh{_v}Clio4{D6c0=pYw%&wqPx>_uB(_D`YJ&P7r4Rc*U&?E+ zY`A9kjl<$1!+FjFV$5rpb4=;)-8Vdr za|)lx&RVdJsbX`?vqKCv&gXW2dh_Mn`4_rR85x#L7K~$fS9DcX{9Z^L!?si02Uefp zJ`h&PSRuO8x}nDI0r!E}b-SJ%ntkdrqr|fW$8Wm3mwcG4_kme4!}PvBL;2L-JB{a< zFrC<*epq;JJj1)1hrUl48Rrx+Z2rrrsHf=4;B+fWeU5)S!&x^`h8}LNIEK3TNz4{& z89M%PH;GrZq>II9|_a+HcFdW3!EyUD-4@26fH@ zSJpqZd~T$M{;)TSf&)uU{yJ#=8aA+!@K{h*1h$f9>;Lcnmv4?8pHYz>vqU8 z+}YdvwQz1k{!E9>CE?mfcss=z-sCYpD63@LvD`+qq1*mj0YjW}qxQYWSA}oPm~8zt zjrTww^A4SVH@FY5`zIv($q66OWB*`Kx|l;@!uv{nGwb=XXKyz-@Gn0d$MA0MWOc@Z zNWQyz3|{W~Yz9_^W?coWkCKl^JY{*ObDm|v&93Frf(<#R9RKjmG#A+Lnt#!I1B(@k za%Ue+Nz?0KP&5DLwvuT_`kExB@6(PmP0;fyVpx`(roBRtafZL;0fnj0G11d&3vUV8r0gc%UTbA;YDe4GWVD!an_B4k>(R z9%P)!#N0UXTH;BT-`x^FMBZ|g@|-=!6UB;-Th42ae)H$MZI(l{e(n=qc2xx(9V$D?5}u`&Qem zJzF2No|&h4bI}r+10`oZq%+8*2+RCqVhos5e}Lf()04tYx6l2V@$sSSU-`a#UQto~ zIN?j*8=(c#bPwxete(m!?yH`EzlD3suuJAp-JiEYK+R{<&i7}*S1Ii?^&Q8xUkhAttxGJ*N$K%2Fa;I-Srn{N#S5C?Za?-0~Te+$A zkEPo38a0KsD1C1hg?`TeXWm?9)hgs}U}t~uVFyFrl&?`Yt-}l%SL$|JC#~2x^Xt!m zfd4HEZiGB~8p9A=WFhXf?A+8chR1n#od4@G?6`Kxj{m^dZ@VWrtO{Ecy5e16i)P6j zmZQtB%ww1|KdJk>PbQneC-d+3SsHRV@1$t(y%xR5(*A8r!q13!za^#W43YVho_^hw zl)?Dn1JegD&I?jvR*LtoXkA+7;(N@4#d0Y}gQ&}@xdPL=Jyg%XPCdGTFCnO5bLI8O zI7=P=9T_ce9KW&7Ptn`V2>* zX}aLv7flyCIZjRyVK^dKpxGF#J;Rq_)8glh73`H247>TX54>z)aN(Wk!MjUFLuiNm zdXfD+E0~zS3Dy=m?VHHva&FZb?bRZ@&UmmOl969Ebnyt`4;?Z z|2f;0LG){^t0PO0`=p>ho0c#IGT#c1xu&MWEHPD;%{;B)p}L)!M&pM6ynFpskM|!A zU|FolpxIb``Z2SG+rKl>zFiErw7nQkNeRSabsR`T%_xvmJ^?jyM6T2 zD&%QjUHK=_TP$e7l>H1To!3ni!WxVku9QD*vH29CuJB?;zGmEU#+>U7T^SA~zKjP% zRwO7orb@0pw!TYK!xCaw(m#%d){BAqOT0W+cgS^parK?l7ICo;mMIcv=w2oOE=(Qp;|k8;cl^ z3u+%=XWJ0!u`^6~$6XJPpcR5wZ=7T+;`pm_UZyZY^H;-0zTH!Vm-Ju$e0tuUDHrE< zFI>lXR(q9Dy*|VDi9!u$wk`kWnfF(8pFsO3FY9cxj$L-_0*4Mn8y!@X{j)RKaLtSd ze3B3H84rA8dAE>JbYs~^X%_d406$KL1?`L3e5!Z?xLW5V@UC!3WN@~6lB|A{;lUTC z4_2H{7}C7@x0vjdTRdHZOQEk+oZnr21V&(%0FGJoFdV3@e%>8+r=|PPv!}hp<7p(cS`5L6JwXzsAth8&G;V>=bb?lQo zi4@z&`PM-qZw>YZuW|HLXDRfyeiP*9!mxRpJcCHoq;xOihG3=-9gHe^Y)>wEpVwWI zu<*){Kg=PUo7!D=-F}q9B2yuHz{}H1N+5l+z|l&Ed*O2T1@9*Qd#21L@G|RFk?J-k z=M@(mJ^XE|p3UfwSaVUT;q_(49g7#vaG2FIfoZb!lXv~%4e9Fpm>%dbudry~T50(` zJfrEuPxg?l3g@R;_{@Gj`>C44;b;d#<~tVyd=%D5K5DGJwn0wcR_itAo#=Ut2Qs-E zn%F{E930ZK8CI37oABJgL|J?7?S>(&3+KW ztoC*a^NiUK+G@)8c!#K1*4-6%DA^Di$FS+hY6hi$e8+p|PKaSX);x(VMt<4Z&u1CW z98bQOJZaN5?FN0`io{2~400R|yS-QIt@J$^KcBB*hL)--lLYhQl?^FTPP_Mj@&d!0 z`OF7wpZcwS)bRg~+gDc0N+AaRa5j)7@8(W^&Jgf<`yPfnmW?-DQvF;j7*{aPk!U#0 zePFM!gRke6#W(M)*khp1&-K8C!Q_wTHSTkdRb*pI7DUaH=Kd|sV(=$5d+s{@e*On7 zJO#`RVec3d*6g?0HN$FEu87|E6BBka&FQk)9Q2&?lXDW2jKh@kvri~9TNpB!)>}3l zxhkkFepW?%ndc&?pb%fd3=-+~eSqwo%OJA}(iw(<|I*H!WUkO)ev#F7V?~7Q0WI@uWo1XFZS&vBEAf1T>XwNNzb75) z)Nf(E-b`&L--EeN7cz*%ot?$7<m#wZf}gn@}y z*CwCmK*vAs1KW;VXW;ph$>5(V+*9AJHlyj_x&Z482hl}4^%~xUxiG{_6?i`qJD|s0 z@Qp#Pi(%8pYZsO%zLm^jPj20;?QuK3_n=b4zH=MbIZaQ!nZatn zz>lHo-<7}!(d!E~f14U5EilQ=cbCO^b-wLv3QIIwwd58`eQ5GKG54t^gU=t$eL9AbWpH1?pcxfnVCVmez7We$FP7b)?&ElD#d8?|6xMki_J?b-f}xktKfAwb3d4| zB9qB{K5sF9B^QHmy*|TymBwDnO2!?Y;5N~5Hi3`r40~3mfLd06llP`Foh{nybY}us zFZY4vo(m%7I1j93bojn%-Sj;v`I<}}{d0eT4ma+bu`*n!;T7ux?>t4x9HEB4+y|z| zc!EwqUKhl$A(?>>dOCN3L_EX3Ct6C(Cu*AiS{(9@D-xZ#%#s>zhx#Nj1RzA3|cdWZ;`?RZ5)=f0*sBCzB)BI>=UV==Ln}1T2*(XD> z4w2=tDhsb3O_?M+afZ#sLkTD6Tw9Vqsc7PaH7t_aLRapmq{<%H`?LFL?&g5i2SRE~ z8T3!Z>aG|4cg*eIE~R?+Ai0$eDh!)aV09Zo;F>4y0F$&oC`=;-Y z@@Gq2IB+Jp-d>YM!M3JNCvxkyPwGq_Kdj$GAJ+BvYTeKI{NK_0ZW|Zq7OxMq_LVzO z_@w>(g!eZX-p|~bA6H_|eDD75b?r;v%QU3zmng1y`RL)>PeupyGllLxY^bcPmrs;r zV@XKgape(T{i%^iSW74v3%peX*?E_vtDY1?xS5`{bGDyxcEdKihS2TFzSL zvy2uW4og2xZHV9G=(oI1;_r+crU^3l)byGEO!746Cw7M^p&{mCA+J@fw_mGk<(_~ouH zE64JdNeYGyYxftf{T0J1#8CWi9b1A~tk&$!sn4&Qel+*`^OiY5xn5$m@lRpKJM;Hf z)ja9i{KL5Lz)K(29jEU5eUO#@@ml(4w{YD0L-FyC`k7YzU;W|wM(fx*+&&t;ucLK6U~*iC5w literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_01003.png b/tdkpin-rs/assets/original/images/dat_01003.png new file mode 100644 index 0000000000000000000000000000000000000000..790b54ddaca2b5f976c023c9fed5ca5478aa250b GIT binary patch literal 24961 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⁢Ht=l} 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_01004.png b/tdkpin-rs/assets/original/images/dat_01004.png new file mode 100644 index 0000000000000000000000000000000000000000..e4bc7f18d060771adbf66c84a8526750ca87e9c7 GIT binary patch literal 25446 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/images/dat_01005.png b/tdkpin-rs/assets/original/images/dat_01005.png new file mode 100644 index 0000000000000000000000000000000000000000..fecec156bae533ae07abd954d26f9c921f4689fa GIT binary patch literal 25783 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 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/assets/original/metadata/version_00001.json b/tdkpin-rs/assets/original/metadata/version_00001.json new file mode 100644 index 0000000..b0f66fc --- /dev/null +++ b/tdkpin-rs/assets/original/metadata/version_00001.json @@ -0,0 +1,38 @@ +{ + "printable_strings": [ + "VS_VERSION_INFO", + "StringFileInfo", + "040904E4", + "CompanyName", + "Lars Hammer / KIWI Hamburg", + "FileDescription", + "TDK Pinball Machine", + "FileVersion", + "1.00", + "InternalName", + "TDKPIN", + "LegalCopyright", + "Developed 1995 by KIWI Von Wendt Konzept GmbH.", + "ProductName", + "TDK Pinball Machine", + "ProductVersion", + "3.10.0.0", + "VarFileInfo", + "Translation" + ], + "fixed_file_info": { + "signature": "0xfeef04bd", + "structure_version": "0x00010000", + "file_version_ms": "0x00000000", + "file_version_ls": "0x00010006", + "product_version_ms": "0x00030001", + "product_version_ls": "0x00000000", + "file_flags_mask": "0x00000000", + "file_flags": "0x00000000", + "file_os": "0x00000001", + "file_type": "0x00000002", + "file_subtype": "0x00000000", + "file_date_ms": "0x00000000", + "file_date_ls": "0x00000000" + } +} diff --git a/tdkpin-rs/assets/original/palettes/palette_0999.gpl b/tdkpin-rs/assets/original/palettes/palette_0999.gpl new file mode 100644 index 0000000..d0fc73c --- /dev/null +++ b/tdkpin-rs/assets/original/palettes/palette_0999.gpl @@ -0,0 +1,260 @@ +GIMP Palette +Name: TDKPIN resource 999 +Columns: 16 +# + 0 0 0 Index 0 +128 0 0 Index 1 + 0 128 0 Index 2 +128 128 0 Index 3 + 0 0 128 Index 4 +128 0 128 Index 5 + 0 128 128 Index 6 +192 192 192 Index 7 +192 220 192 Index 8 +166 202 240 Index 9 + 32 32 184 Index 10 + 72 32 184 Index 11 +112 32 184 Index 12 +152 32 184 Index 13 +192 32 184 Index 14 +232 32 184 Index 15 + 32 32 240 Index 16 + 72 32 240 Index 17 +112 32 240 Index 18 +152 32 240 Index 19 +192 32 240 Index 20 +232 32 240 Index 21 +124 76 48 Index 22 +140 84 56 Index 23 + 32 72 16 Index 24 + 72 72 16 Index 25 +112 72 16 Index 26 +152 72 16 Index 27 +192 72 16 Index 28 +232 72 16 Index 29 + 32 72 72 Index 30 + 72 72 72 Index 31 +112 72 72 Index 32 +152 72 72 Index 33 +192 72 72 Index 34 +232 72 72 Index 35 + 32 72 128 Index 36 + 72 72 128 Index 37 +112 72 128 Index 38 +152 72 128 Index 39 +192 72 128 Index 40 +232 72 128 Index 41 + 32 72 184 Index 42 + 72 72 184 Index 43 +112 72 184 Index 44 +152 72 184 Index 45 +192 72 184 Index 46 +232 72 184 Index 47 + 32 72 240 Index 48 + 72 72 240 Index 49 +112 72 240 Index 50 +152 72 240 Index 51 +192 72 240 Index 52 +232 72 240 Index 53 +152 92 64 Index 54 +168 100 76 Index 55 + 32 112 16 Index 56 + 72 112 16 Index 57 +112 112 16 Index 58 +152 112 16 Index 59 +192 112 16 Index 60 +232 112 16 Index 61 + 32 112 72 Index 62 + 72 112 72 Index 63 +112 112 72 Index 64 +152 112 72 Index 65 +192 112 72 Index 66 +232 112 72 Index 67 + 32 112 128 Index 68 + 72 112 128 Index 69 +112 112 128 Index 70 +152 112 128 Index 71 +192 112 128 Index 72 +232 112 128 Index 73 + 32 112 184 Index 74 + 72 112 184 Index 75 +112 112 184 Index 76 +152 112 184 Index 77 +192 112 184 Index 78 +232 112 184 Index 79 + 32 112 240 Index 80 + 72 112 240 Index 81 +112 112 240 Index 82 +152 112 240 Index 83 +192 112 240 Index 84 +232 112 240 Index 85 +176 116 96 Index 86 +188 136 104 Index 87 + 32 152 16 Index 88 + 72 152 16 Index 89 +112 152 16 Index 90 +152 152 16 Index 91 +192 152 16 Index 92 +232 152 16 Index 93 + 32 152 72 Index 94 + 72 152 72 Index 95 +112 152 72 Index 96 +152 152 72 Index 97 +192 152 72 Index 98 +232 152 72 Index 99 + 32 152 128 Index 100 + 72 152 128 Index 101 +112 152 128 Index 102 +152 152 128 Index 103 +192 152 128 Index 104 +232 152 128 Index 105 + 32 152 184 Index 106 + 72 152 184 Index 107 +112 152 184 Index 108 +152 152 184 Index 109 +192 152 184 Index 110 +232 152 184 Index 111 + 32 152 240 Index 112 + 72 152 240 Index 113 +112 152 240 Index 114 +152 152 240 Index 115 +192 152 240 Index 116 +232 152 240 Index 117 +200 144 108 Index 118 +208 160 116 Index 119 + 32 192 16 Index 120 + 72 192 16 Index 121 +112 192 16 Index 122 +152 192 16 Index 123 +192 192 16 Index 124 +232 192 16 Index 125 + 32 192 72 Index 126 + 72 192 72 Index 127 +112 192 72 Index 128 +152 192 72 Index 129 +192 192 72 Index 130 +232 192 72 Index 131 + 32 192 128 Index 132 + 72 192 128 Index 133 +112 192 128 Index 134 +152 192 128 Index 135 +192 192 128 Index 136 +232 192 128 Index 137 + 32 192 184 Index 138 + 72 192 184 Index 139 +112 192 184 Index 140 +152 192 184 Index 141 +192 192 184 Index 142 +232 192 184 Index 143 + 32 192 240 Index 144 + 72 192 240 Index 145 +112 192 240 Index 146 +152 192 240 Index 147 +192 192 240 Index 148 +232 192 240 Index 149 +216 168 128 Index 150 +224 176 144 Index 151 + 32 232 16 Index 152 + 72 232 16 Index 153 +112 232 16 Index 154 +152 232 16 Index 155 +192 232 16 Index 156 +232 232 16 Index 157 + 32 232 72 Index 158 + 72 232 72 Index 159 +112 232 72 Index 160 +152 232 72 Index 161 +192 232 72 Index 162 +232 232 72 Index 163 + 32 232 128 Index 164 + 72 232 128 Index 165 +112 232 128 Index 166 +152 232 128 Index 167 +192 232 128 Index 168 +232 232 128 Index 169 + 32 232 184 Index 170 + 72 232 184 Index 171 +112 232 184 Index 172 +152 232 184 Index 173 +192 232 184 Index 174 +232 232 184 Index 175 + 32 232 240 Index 176 + 72 232 240 Index 177 +112 232 240 Index 178 +152 232 240 Index 179 +192 232 240 Index 180 +232 232 240 Index 181 +232 192 156 Index 182 +240 212 184 Index 183 + 0 56 0 Index 184 + 0 96 0 Index 185 + 0 160 0 Index 186 + 0 208 0 Index 187 +208 208 0 Index 188 +160 160 0 Index 189 + 96 96 0 Index 190 + 56 56 0 Index 191 + 56 0 0 Index 192 + 96 0 0 Index 193 +160 0 0 Index 194 +208 0 0 Index 195 +208 0 208 Index 196 +160 0 160 Index 197 + 96 0 96 Index 198 + 56 0 56 Index 199 + 0 0 56 Index 200 + 0 0 96 Index 201 + 0 0 160 Index 202 + 0 0 208 Index 203 + 16 16 16 Index 204 + 32 32 32 Index 205 + 48 48 48 Index 206 + 64 64 64 Index 207 + 80 80 80 Index 208 + 96 96 96 Index 209 +112 112 112 Index 210 +144 144 144 Index 211 +160 160 160 Index 212 +176 176 176 Index 213 +208 208 208 Index 214 +224 224 224 Index 215 +240 240 240 Index 216 + 76 40 28 Index 217 + 76 28 40 Index 218 + 40 76 28 Index 219 + 28 76 40 Index 220 + 40 28 76 Index 221 + 28 40 76 Index 222 +108 88 32 Index 223 +160 124 88 Index 224 +232 168 104 Index 225 + 84 48 16 Index 226 + 92 56 40 Index 227 + 32 32 16 Index 228 + 72 32 16 Index 229 +112 32 16 Index 230 +152 32 16 Index 231 +192 32 16 Index 232 +232 32 16 Index 233 + 32 32 72 Index 234 + 72 32 72 Index 235 +112 32 72 Index 236 +152 32 72 Index 237 +192 32 72 Index 238 +232 32 72 Index 239 + 32 32 128 Index 240 + 72 32 128 Index 241 +112 32 128 Index 242 +152 32 128 Index 243 +192 32 128 Index 244 +232 32 128 Index 245 +255 251 240 Index 246 +160 160 164 Index 247 +128 128 128 Index 248 +255 0 0 Index 249 + 0 255 0 Index 250 +255 255 0 Index 251 + 0 0 255 Index 252 +255 0 255 Index 253 + 0 255 255 Index 254 +255 255 255 Index 255 diff --git a/tdkpin-rs/assets/original/palettes/palette_0999.png b/tdkpin-rs/assets/original/palettes/palette_0999.png new file mode 100644 index 0000000000000000000000000000000000000000..5e0c6adeeb3e77849f61a9e96e22b79ba242322f GIT binary patch literal 1285 zcmeAS@N?(olHy`uVBq!ia0y~yU}OMc4kiW$hRXu>h71fWXFOdTLn`LHy{niXTPkz> zVKv92t}g9q4KsEyHO^SEX3d&4N*qsA9(g%U3+QxFP!mw_P!r&Yb2xhB3Cki*;ov1* zAwCZt$eR4@oIU5;XPaNu=XPDL`DFh5o8Ih&t6$bt9Q^Zdv-Y#^^WUyNe?DE@X71Vl z|DKm@`TwokeDUAsi@zSeUvF~f@M0x~ODqnv7(9d-GMN;78J2K1m@rOILle~f{rB#R zrmcI=*S`7NfBu~N@4IEzyZ^V(zF3!g{`rmHo6p`1eE*&Wr*;%Gqxr z5MQ2t_~19A+~<3rcg`2a=2vv}ObWR-<=?r9uX$VhF8Tfani`3>{_}F&e?Q+HzWDF0 zdFP$~+cXnvkma5)e;N8K-~YUGo|9mpgB`N%P5ixHy@=bt?;O9k|Nr-+8T;>^-6#K` z=>O%6{o9^@zF>d;0ny=peV_aT!}qrHe_Jx*k8ZHdY7CdA{rw7$_PcNS7ym8WE&cZV z`E_o;x7yBc|5wRIY~&T~_)4-FoK|DHXYLv->>tGBHyUB5VgS^kp!vhUWLUtj$9Y}z-cU$ZY(ZH~O1pRj%Q z-TLjf*JcrIpq{?IySU8nzic=+PKpYCVulRRgB n`h&d0{r@NI_Y;}2-`4Mss{Aw~(j}3Bfq}u()z4*}Q$iB}7N#A7 literal 0 HcmV?d00001 diff --git a/tdkpin-rs/src/app.rs b/tdkpin-rs/src/app.rs new file mode 100644 index 0000000..7bbf05c --- /dev/null +++ b/tdkpin-rs/src/app.rs @@ -0,0 +1,683 @@ +use crate::{ + assets::Assets, + game::{Controls, Event, Game}, + persistence::{HighScore, Language, Persistence, SavedData, insert_high_score}, +}; +use macroquad::prelude::*; + +const WIDTH: f32 = 640.0; +const HEIGHT: f32 = 460.0; + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum Screen { + Loading, + Attract, + Playing, + Help, + Settings, + HighScores, + NameEntry, +} + +pub struct App { + assets: Assets, + persistence: Persistence, + saved: SavedData, + render_target: RenderTarget, + screen: Screen, + return_screen: Screen, + game: Option, + player_count: usize, + setting_row: usize, + loading_until: f64, + last_help_click: f64, + message: String, + message_until: f64, + name: String, + pending_score: u32, +} + +impl App { + pub async fn load() -> Self { + let assets = Assets::load().await; + let persistence = Persistence::new(); + let saved = persistence.load(); + let render_target = render_target(640, 460); + render_target.texture.set_filter(FilterMode::Nearest); + Self { + assets, + persistence, + saved, + render_target, + screen: Screen::Loading, + return_screen: Screen::Attract, + game: None, + player_count: 1, + setting_row: 0, + loading_until: get_time() + 1.1, + last_help_click: -1.0, + message: String::new(), + message_until: 0.0, + name: String::new(), + pending_score: 0, + } + } + + pub fn frame(&mut self) { + self.handle_global_input(); + match self.screen { + Screen::Loading => { + if get_time() >= self.loading_until { + self.screen = Screen::Attract; + } + } + Screen::Attract => self.update_attract(), + Screen::Playing => self.update_game(), + Screen::Help => self.update_help(), + Screen::Settings => self.update_settings(), + Screen::HighScores => self.update_high_scores(), + Screen::NameEntry => self.update_name_entry(), + } + + self.draw_logical(); + self.present(); + } + + fn handle_global_input(&mut self) { + if is_key_pressed(KeyCode::F12) { + self.saved.settings.sounds = !self.saved.settings.sounds; + if self.saved.settings.sounds { + "SOUND ON" + } else { + "SOUND OFF" + } + .clone_into(&mut self.message); + self.message_until = get_time() + 1.2; + self.save(); + } + if is_key_pressed(KeyCode::F1) && self.screen != Screen::NameEntry { + if self.screen == Screen::Help { + self.screen = self.return_screen; + } else { + self.return_screen = self.base_screen(); + self.screen = Screen::Help; + } + } + if is_key_pressed(KeyCode::F2) && self.screen != Screen::NameEntry { + if self.screen == Screen::Settings { + self.screen = self.return_screen; + } else { + self.return_screen = self.base_screen(); + self.screen = Screen::Settings; + } + } + if is_key_pressed(KeyCode::F3) && self.screen != Screen::NameEntry { + if self.screen == Screen::HighScores { + self.screen = self.return_screen; + } else { + self.return_screen = self.base_screen(); + self.screen = Screen::HighScores; + } + } + } + + fn base_screen(&self) -> Screen { + if self.game.is_some() { + Screen::Playing + } else { + Screen::Attract + } + } + + fn update_attract(&mut self) { + if is_key_pressed(KeyCode::KpAdd) || is_key_pressed(KeyCode::Equal) { + self.player_count = self.player_count % 4 + 1; + self.assets.play(2012, self.saved.settings.sounds); + } + if is_key_pressed(KeyCode::Down) || is_key_pressed(KeyCode::Enter) { + self.game = Some(Game::new(self.player_count)); + self.screen = Screen::Playing; + self.assets.play(2008, self.saved.settings.sounds); + } + } + + fn update_game(&mut self) { + let left_flipper = is_key_down(KeyCode::LeftControl) + || is_key_down(KeyCode::A) + || is_key_down(KeyCode::Left); + let right_flipper = is_key_down(KeyCode::KpEnter) + || is_key_down(KeyCode::RightControl) + || is_key_down(KeyCode::D) + || is_key_down(KeyCode::Right); + let nudge = if is_key_pressed(KeyCode::LeftShift) { + -1.0 + } else if is_key_pressed(KeyCode::RightShift) || is_key_pressed(KeyCode::Kp3) { + 1.0 + } else if is_key_pressed(KeyCode::Space) { + if self + .game + .as_ref() + .is_some_and(|game| game.ball.position.x < WIDTH / 4.0) + { + 1.0 + } else { + -1.0 + } + } else { + 0.0 + }; + let controls = Controls { + left_flipper, + right_flipper, + launch_pressed: is_key_pressed(KeyCode::Down), + nudge, + }; + let events = self.game.as_mut().map_or_else(Vec::new, |game| { + game.update(get_frame_time(), self.saved.settings.speed, controls) + }); + for event in events { + self.play_event(event); + } + + if self.game.as_ref().is_some_and(|game| game.finished) { + self.finish_game(); + } + } + + fn play_event(&self, event: Event) { + let id = match event { + Event::Flipper => 2001, + Event::Launch => 2016, + Event::Bumper => 2002, + Event::Target => 2006, + Event::Wheel => 2004, + Event::Robot => 2007, + Event::Lock => 2017, + Event::Media => 2022, + Event::ExtraBall => 2019, + Event::Nudge => 2021, + Event::Drain => 2013, + }; + self.assets.play(id, self.saved.settings.sounds); + } + + fn finish_game(&mut self) { + self.pending_score = self + .game + .as_ref() + .and_then(|game| game.players.iter().map(|player| player.score).max()) + .unwrap_or(0); + let qualifies = self.saved.high_scores.len() < 10 + || self + .saved + .high_scores + .last() + .is_some_and(|entry| self.pending_score > entry.score); + if qualifies { + self.name.clear(); + self.screen = Screen::NameEntry; + } else { + self.game = None; + self.return_screen = Screen::Attract; + self.screen = Screen::HighScores; + } + self.assets.play(2020, self.saved.settings.sounds); + } + + fn update_help(&mut self) { + if is_key_pressed(KeyCode::Escape) || is_key_pressed(KeyCode::Enter) { + self.screen = self.return_screen; + } + if is_mouse_button_pressed(MouseButton::Left) { + let point = Self::logical_mouse(); + if point.x < 145.0 && point.y < 115.0 { + let now = get_time(); + if now - self.last_help_click <= 0.40 { + self.save(); + macroquad::miniquad::window::request_quit(); + } + self.last_help_click = now; + } + } + } + + fn update_settings(&mut self) { + if is_key_pressed(KeyCode::Escape) || is_key_pressed(KeyCode::Enter) { + self.save(); + self.screen = self.return_screen; + return; + } + if is_key_pressed(KeyCode::Up) { + self.setting_row = (self.setting_row + 2) % 3; + } + if is_key_pressed(KeyCode::Down) { + self.setting_row = (self.setting_row + 1) % 3; + } + let direction = + i8::from(is_key_pressed(KeyCode::Right)) - i8::from(is_key_pressed(KeyCode::Left)); + if direction == 0 && !is_key_pressed(KeyCode::Space) { + return; + } + match self.setting_row { + 0 => { + let speed = i16::from(self.saved.settings.speed) + i16::from(direction); + self.saved.settings.speed = u8::try_from(speed.clamp(1, 5)).unwrap_or(3); + } + 1 => { + self.saved.settings.sounds = !self.saved.settings.sounds; + } + _ => { + let current = Language::ALL + .iter() + .position(|language| *language == self.saved.settings.language) + .unwrap_or(0); + let next = if direction < 0 { + (current + Language::ALL.len() - 1) % Language::ALL.len() + } else { + (current + 1) % Language::ALL.len() + }; + self.saved.settings.language = Language::ALL[next]; + } + } + self.assets.play(2012, self.saved.settings.sounds); + self.save(); + } + + fn update_high_scores(&mut self) { + if is_key_pressed(KeyCode::Escape) + || is_key_pressed(KeyCode::Enter) + || is_key_pressed(KeyCode::F3) + { + self.screen = self.return_screen; + } + } + + fn update_name_entry(&mut self) { + while let Some(character) = get_char_pressed() { + if !character.is_control() && self.name.chars().count() < 21 { + self.name.push(character); + } + } + if is_key_pressed(KeyCode::Backspace) { + self.name.pop(); + } + if is_key_pressed(KeyCode::Enter) && !self.name.trim().is_empty() { + insert_high_score( + &mut self.saved.high_scores, + HighScore { + name: self.name.trim().to_owned(), + score: self.pending_score, + }, + ); + self.save(); + self.game = None; + self.return_screen = Screen::Attract; + self.screen = Screen::HighScores; + } + } + + fn draw_logical(&self) { + let mut camera = Camera2D::from_display_rect(Rect::new(0.0, 0.0, WIDTH, HEIGHT)); + camera.render_target = Some(self.render_target.clone()); + set_camera(&camera); + clear_background(BLACK); + + match self.screen { + Screen::Loading => draw_texture(&self.assets.loading, 0.0, 0.0, WHITE), + Screen::Help => { + let index = Language::ALL + .iter() + .position(|language| *language == self.saved.settings.language) + .unwrap_or(0); + draw_texture(&self.assets.help[index], 0.0, 0.0, WHITE); + } + Screen::Attract => self.draw_attract(), + Screen::Playing => self.draw_game(), + Screen::Settings => self.draw_settings(), + Screen::HighScores => self.draw_high_scores(), + Screen::NameEntry => self.draw_name_entry(), + } + if get_time() < self.message_until { + draw_panel(232.0, 205.0, 176.0, 48.0); + draw_centered(&self.message, 229.0, 24, BLACK); + } + } + + fn draw_attract(&self) { + draw_texture(&self.assets.inactive_table, 0.0, 0.0, WHITE); + draw_panel(342.0, 72.0, 267.0, 144.0); + draw_centered_at("TDK PINBALL MACHINE", 475.5, 107.0, 22, BLACK); + draw_centered_at( + "PRESS DOWN ARROW", + 475.5, + 139.0, + 22, + Color::from_rgba(0, 72, 102, 255), + ); + draw_centered_at("TO START BALL", 475.5, 165.0, 18, BLACK); + draw_centered_at( + &format!("PLAYERS: {} [+] CHANGE", self.player_count), + 475.5, + 196.0, + 16, + BLACK, + ); + draw_text( + "F1 HELP F2 SETTINGS F3 HIGHSCORES F12 SOUND", + 322.0, + 448.0, + 10.0, + BLACK, + ); + } + + #[allow(clippy::cast_precision_loss, clippy::too_many_lines)] + fn draw_game(&self) { + draw_texture(&self.assets.inactive_table, 0.0, 0.0, WHITE); + let Some(game) = &self.game else { + return; + }; + + for (index, center) in [vec2(205.0, 47.0), vec2(234.0, 50.0), vec2(262.0, 53.0)] + .into_iter() + .enumerate() + { + if game.top_targets[index] { + draw_line( + center.x - 7.0, + center.y + 9.0, + center.x + 5.0, + center.y - 10.0, + 7.0, + YELLOW, + ); + } + } + let side_colors = [RED, ORANGE, YELLOW, GREEN, SKYBLUE]; + for (index, y) in [180.0, 195.0, 210.0, 225.0, 240.0].into_iter().enumerate() { + let color = if game.side_targets[index] { + side_colors[index] + } else { + Color::from_rgba(38, 38, 38, 255) + }; + draw_circle(286.0, y, 5.0, color); + } + for (index, lit) in game.wheel_holes.iter().enumerate() { + if *lit { + let angle = index as f32 / 8.0 * std::f32::consts::TAU; + draw_circle( + 114.0 + angle.cos() * 29.0, + 79.0 + angle.sin() * 29.0, + 6.0, + YELLOW, + ); + } + } + for index in 0..4 { + draw_circle( + 155.0 + index as f32 * 14.0, + 214.0, + 5.0, + if index < usize::from(game.lock_lights) { + WHITE + } else { + DARKGRAY + }, + ); + } + if game.player().diamond_segments > 0 { + let index = usize::from(game.player().diamond_segments.min(9) - 1); + draw_texture(&self.assets.diamond[index], 123.0, 298.0, WHITE); + } + if game.magnets > 0.0 { + for x in [18.0, 296.0] { + draw_triangle( + vec2(x, 345.0), + vec2(x - 7.0, 359.0), + vec2(x + 7.0, 359.0), + YELLOW, + ); + draw_triangle( + vec2(x, 367.0), + vec2(x - 7.0, 381.0), + vec2(x + 7.0, 381.0), + YELLOW, + ); + } + } + + let (left, right) = game.flippers(); + for flipper in [left, right] { + draw_line( + flipper.start.x, + flipper.start.y, + flipper.end.x, + flipper.end.y, + 10.0, + DARKGRAY, + ); + draw_line( + flipper.start.x, + flipper.start.y - 1.0, + flipper.end.x, + flipper.end.y - 1.0, + 6.0, + LIGHTGRAY, + ); + draw_circle(flipper.start.x, flipper.start.y, 6.0, GRAY); + } + draw_circle(game.ball.position.x, game.ball.position.y, 6.0, DARKGRAY); + draw_circle( + game.ball.position.x - 1.0, + game.ball.position.y - 1.0, + 4.5, + LIGHTGRAY, + ); + draw_circle( + game.ball.position.x - 2.0, + game.ball.position.y - 2.0, + 1.5, + WHITE, + ); + + self.draw_displays(game); + if game.tilt > 1.15 { + draw_centered("TILT", 263.0, 34, RED); + } + draw_text("F1 HELP F2 SETUP", 345.0, 448.0, 11.0, BLACK); + } + + #[allow(clippy::cast_precision_loss)] + fn draw_displays(&self, game: &Game) { + draw_rectangle( + 371.0, + 235.0, + 222.0, + 31.0, + Color::from_rgba(0, 191, 209, 255), + ); + draw_text( + format!("BONUS {:07}", game.bonus), + 374.0, + 258.0, + 24.0, + BLACK, + ); + + let media_level = game.player().media_level; + if media_level > 0 { + let index = usize::from(media_level.saturating_sub(1).min(3)); + draw_texture(&self.assets.media[index], 380.0, 72.0, WHITE); + } + draw_text( + format!("{:07} KBytes", game.player().score / 1_000), + 395.0, + 211.0, + 16.0, + WHITE, + ); + + for (index, player) in game.players.iter().enumerate() { + let y = 274.0 + index as f32 * 44.0; + let panel = if index == game.current_player { + Color::from_rgba(0, 191, 209, 255) + } else { + Color::from_rgba(36, 82, 137, 255) + }; + draw_rectangle(472.0, y, 121.0, 30.0, panel); + draw_text(format!("{:09}", player.score), 478.0, y + 21.0, 18.0, BLACK); + for ball in 0..6 { + let lit = ball < usize::from(player.balls + player.extra_balls); + draw_circle( + 397.0 + ball as f32 * 8.0, + y + 27.0, + 2.4, + if lit { GREEN } else { DARKGRAY }, + ); + } + } + } + + #[allow(clippy::cast_precision_loss)] + fn draw_settings(&self) { + draw_texture(&self.assets.inactive_table, 0.0, 0.0, WHITE); + draw_panel(145.0, 82.0, 350.0, 285.0); + draw_centered("SETTINGS", 122.0, 30, BLACK); + let rows = [ + format!("GRAPHICS DETAIL / SPEED: {}", self.saved.settings.speed), + format!( + "SOUND: {}", + if self.saved.settings.sounds { + "ON" + } else { + "OFF" + } + ), + format!("LANGUAGE: {}", self.saved.settings.language.label()), + ]; + for (index, row) in rows.iter().enumerate() { + let y = 181.0 + index as f32 * 52.0; + if index == self.setting_row { + draw_rectangle( + 174.0, + y - 27.0, + 292.0, + 38.0, + Color::from_rgba(0, 191, 209, 255), + ); + } + draw_centered(row, y, 19, BLACK); + } + draw_centered("UP/DOWN SELECT LEFT/RIGHT CHANGE", 328.0, 14, BLACK); + draw_centered("ENTER OR ESC TO RETURN", 349.0, 14, BLACK); + } + + #[allow(clippy::cast_precision_loss)] + fn draw_high_scores(&self) { + draw_texture(&self.assets.inactive_table, 0.0, 0.0, WHITE); + draw_panel(124.0, 32.0, 392.0, 398.0); + draw_centered("TDK HIGHSCORES", 72.0, 28, BLACK); + for (index, entry) in self.saved.high_scores.iter().take(10).enumerate() { + let y = 110.0 + index as f32 * 29.0; + draw_text(format!("{:>2}.", index + 1), 153.0, y, 17.0, BLACK); + draw_text(&entry.name, 190.0, y, 17.0, BLACK); + let score = format!("{:09}", entry.score); + draw_text(&score, 389.0, y, 17.0, Color::from_rgba(0, 72, 102, 255)); + } + draw_centered("ENTER / ESC TO RETURN", 409.0, 14, BLACK); + } + + fn draw_name_entry(&self) { + draw_texture(&self.assets.active_table, 0.0, 0.0, WHITE); + draw_panel(112.0, 145.0, 416.0, 170.0); + draw_centered("NEW TDK HIGHSCORE", 183.0, 28, BLACK); + draw_centered( + &format!("SCORE {:09}", self.pending_score), + 218.0, + 21, + BLACK, + ); + draw_rectangle( + 153.0, + 235.0, + 334.0, + 38.0, + Color::from_rgba(0, 191, 209, 255), + ); + draw_text( + format!( + "{}{}", + self.name, + if get_time().rem_euclid(1.0) < 0.5 { + "_" + } else { + "" + } + ), + 164.0, + 262.0, + 23.0, + BLACK, + ); + draw_centered("TYPE YOUR NAME, THEN PRESS ENTER", 296.0, 14, BLACK); + } + + fn present(&self) { + set_default_camera(); + clear_background(BLACK); + let scale = (screen_width() / WIDTH).min(screen_height() / HEIGHT); + let width = WIDTH * scale; + let height = HEIGHT * scale; + let x = (screen_width() - width) * 0.5; + let y = (screen_height() - height) * 0.5; + draw_texture_ex( + &self.render_target.texture, + x, + y, + WHITE, + DrawTextureParams { + dest_size: Some(vec2(width, height)), + flip_y: true, + ..Default::default() + }, + ); + } + + fn logical_mouse() -> Vec2 { + let scale = (screen_width() / WIDTH).min(screen_height() / HEIGHT); + let width = WIDTH * scale; + let height = HEIGHT * scale; + let offset = vec2( + (screen_width() - width) * 0.5, + (screen_height() - height) * 0.5, + ); + (vec2(mouse_position().0, mouse_position().1) - offset) / scale + } + + fn save(&self) { + if let Err(error) = self.persistence.save(&self.saved) { + eprintln!("could not save settings and highscores: {error}"); + } + } +} + +fn draw_panel(x: f32, y: f32, width: f32, height: f32) { + draw_rectangle(x, y, width, height, Color::from_rgba(214, 214, 214, 248)); + draw_rectangle_lines(x, y, width, height, 3.0, WHITE); + draw_rectangle_lines(x + 4.0, y + 4.0, width - 8.0, height - 8.0, 2.0, DARKGRAY); +} + +fn draw_centered(text: &str, baseline: f32, font_size: u16, color: Color) { + draw_centered_at(text, WIDTH * 0.5, baseline, font_size, color); +} + +fn draw_centered_at(text: &str, center_x: f32, baseline: f32, font_size: u16, color: Color) { + let dimensions = measure_text(text, None, font_size, 1.0); + draw_text( + text, + center_x - dimensions.width * 0.5, + baseline, + f32::from(font_size), + color, + ); +} diff --git a/tdkpin-rs/src/assets.rs b/tdkpin-rs/src/assets.rs new file mode 100644 index 0000000..8c1a11b --- /dev/null +++ b/tdkpin-rs/src/assets.rs @@ -0,0 +1,151 @@ +use macroquad::{ + audio::{PlaySoundParams, Sound, load_sound_from_bytes, play_sound}, + prelude::{FilterMode, Texture2D}, +}; + +pub struct Assets { + pub active_table: Texture2D, + pub inactive_table: Texture2D, + pub loading: Texture2D, + pub help: [Texture2D; 5], + pub media: [Texture2D; 4], + pub diamond: [Texture2D; 9], + sounds: Vec<(u16, Sound)>, +} + +impl Assets { + #[allow(clippy::too_many_lines)] + pub async fn load() -> Self { + let active_table = texture(include_bytes!("../assets/original/images/dat_00997.png")); + let inactive_table = texture(include_bytes!("../assets/original/images/dat_00998.png")); + let loading = texture(include_bytes!("../assets/original/images/dat_00995.png")); + let help = [ + texture(include_bytes!("../assets/original/images/dat_01001.png")), + texture(include_bytes!("../assets/original/images/dat_01002.png")), + texture(include_bytes!("../assets/original/images/dat_01003.png")), + texture(include_bytes!("../assets/original/images/dat_01004.png")), + texture(include_bytes!("../assets/original/images/dat_01005.png")), + ]; + let media = [ + texture(include_bytes!("../assets/original/images/dat_00701.png")), + texture(include_bytes!("../assets/original/images/dat_00702.png")), + texture(include_bytes!("../assets/original/images/dat_00703.png")), + texture(include_bytes!("../assets/original/images/dat_00704.png")), + ]; + let diamond = [ + texture(include_bytes!("../assets/original/images/dat_00801.png")), + texture(include_bytes!("../assets/original/images/dat_00802.png")), + texture(include_bytes!("../assets/original/images/dat_00803.png")), + texture(include_bytes!("../assets/original/images/dat_00804.png")), + texture(include_bytes!("../assets/original/images/dat_00805.png")), + texture(include_bytes!("../assets/original/images/dat_00806.png")), + texture(include_bytes!("../assets/original/images/dat_00807.png")), + texture(include_bytes!("../assets/original/images/dat_00808.png")), + texture(include_bytes!("../assets/original/images/dat_00809.png")), + ]; + + let sound_bytes: [(u16, &[u8]); 16] = [ + ( + 2001, + include_bytes!("../assets/original/audio/wav_02001.wav"), + ), + ( + 2002, + include_bytes!("../assets/original/audio/wav_02002.wav"), + ), + ( + 2004, + include_bytes!("../assets/original/audio/wav_02004.wav"), + ), + ( + 2006, + include_bytes!("../assets/original/audio/wav_02006.wav"), + ), + ( + 2007, + include_bytes!("../assets/original/audio/wav_02007.wav"), + ), + ( + 2008, + include_bytes!("../assets/original/audio/wav_02008.wav"), + ), + ( + 2011, + include_bytes!("../assets/original/audio/wav_02011.wav"), + ), + ( + 2012, + include_bytes!("../assets/original/audio/wav_02012.wav"), + ), + ( + 2013, + include_bytes!("../assets/original/audio/wav_02013.wav"), + ), + ( + 2015, + include_bytes!("../assets/original/audio/wav_02015.wav"), + ), + ( + 2016, + include_bytes!("../assets/original/audio/wav_02016.wav"), + ), + ( + 2017, + include_bytes!("../assets/original/audio/wav_02017.wav"), + ), + ( + 2019, + include_bytes!("../assets/original/audio/wav_02019.wav"), + ), + ( + 2020, + include_bytes!("../assets/original/audio/wav_02020.wav"), + ), + ( + 2021, + include_bytes!("../assets/original/audio/wav_02021.wav"), + ), + ( + 2022, + include_bytes!("../assets/original/audio/wav_02022.wav"), + ), + ]; + let mut sounds = Vec::with_capacity(sound_bytes.len()); + for (id, bytes) in sound_bytes { + if let Ok(sound) = load_sound_from_bytes(bytes).await { + sounds.push((id, sound)); + } + } + + Self { + active_table, + inactive_table, + loading, + help, + media, + diamond, + sounds, + } + } + + pub fn play(&self, id: u16, enabled: bool) { + if !enabled { + return; + } + if let Some((_, sound)) = self.sounds.iter().find(|(sound_id, _)| *sound_id == id) { + play_sound( + sound, + PlaySoundParams { + looped: false, + volume: 0.72, + }, + ); + } + } +} + +fn texture(bytes: &[u8]) -> Texture2D { + let texture = Texture2D::from_file_with_format(bytes, None); + texture.set_filter(FilterMode::Nearest); + texture +} diff --git a/tdkpin-rs/src/game.rs b/tdkpin-rs/src/game.rs new file mode 100644 index 0000000..07b4309 --- /dev/null +++ b/tdkpin-rs/src/game.rs @@ -0,0 +1,556 @@ +use crate::geometry::{Segment, circle_collision, segment_collision}; +use macroquad::prelude::{Vec2, vec2}; +use std::sync::LazyLock; + +const BALL_RADIUS: f32 = 5.0; +const GRAVITY: f32 = 135.0; +const MAX_SPEED: f32 = 430.0; + +#[derive(Clone, Copy, Debug, Default)] +pub struct Controls { + pub left_flipper: bool, + pub right_flipper: bool, + pub launch_pressed: bool, + pub nudge: f32, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum Event { + Flipper, + Launch, + Bumper, + Target, + Wheel, + Robot, + Lock, + Media, + ExtraBall, + Nudge, + Drain, +} + +#[derive(Clone, Debug)] +pub struct Player { + pub score: u32, + pub balls: u8, + pub extra_balls: u8, + pub bumper_value: u32, + pub diamond_segments: u8, + pub media_level: u8, +} + +impl Default for Player { + fn default() -> Self { + Self { + score: 0, + balls: 3, + extra_balls: 0, + bumper_value: 1_000, + diamond_segments: 0, + media_level: 0, + } + } +} + +#[derive(Clone, Copy, Debug)] +pub struct Ball { + pub position: Vec2, + pub velocity: Vec2, + pub in_launcher: bool, +} + +impl Default for Ball { + fn default() -> Self { + Self { + position: vec2(157.0, 426.0), + velocity: Vec2::ZERO, + in_launcher: true, + } + } +} + +#[derive(Debug)] +pub struct Game { + pub players: Vec, + pub current_player: usize, + pub ball: Ball, + pub bonus: u32, + pub wheel_holes: [bool; 8], + pub side_targets: [bool; 5], + pub top_targets: [bool; 3], + pub lock_lights: u8, + pub magnets: f32, + pub tilt: f32, + pub left_flipper_angle: f32, + pub right_flipper_angle: f32, + pub finished: bool, + accumulator: f32, + target_cooldown: f32, + bumper_cooldown: f32, + nudge_cooldown: f32, +} + +impl Game { + pub fn new(player_count: usize) -> Self { + Self { + players: vec![Player::default(); player_count.clamp(1, 4)], + current_player: 0, + ball: Ball::default(), + bonus: 0, + wheel_holes: [false; 8], + side_targets: [false; 5], + top_targets: [false; 3], + lock_lights: 0, + magnets: 0.0, + tilt: 0.0, + left_flipper_angle: -2.72, + right_flipper_angle: -0.42, + finished: false, + accumulator: 0.0, + target_cooldown: 0.0, + bumper_cooldown: 0.0, + nudge_cooldown: 0.0, + } + } + + pub fn player(&self) -> &Player { + &self.players[self.current_player] + } + + pub fn update(&mut self, frame_time: f32, detail: u8, controls: Controls) -> Vec { + if self.finished { + return Vec::new(); + } + let mut events = Vec::new(); + let desired_left = if controls.left_flipper { -2.18 } else { -2.72 }; + let desired_right = if controls.right_flipper { -0.96 } else { -0.42 }; + let flipper_rate = 14.0 * frame_time; + let old_left = self.left_flipper_angle; + let old_right = self.right_flipper_angle; + self.left_flipper_angle += + (desired_left - self.left_flipper_angle).clamp(-flipper_rate, flipper_rate); + self.right_flipper_angle += + (desired_right - self.right_flipper_angle).clamp(-flipper_rate, flipper_rate); + if (controls.left_flipper && old_left < -2.68) + || (controls.right_flipper && old_right > -0.46) + { + events.push(Event::Flipper); + } + + if controls.launch_pressed && self.ball.in_launcher { + self.ball.in_launcher = false; + self.ball.velocity = vec2(12.0, -330.0); + events.push(Event::Launch); + } + if controls.nudge.abs() > 0.1 && self.nudge_cooldown <= 0.0 { + self.ball.velocity.x += controls.nudge * 55.0; + self.tilt += controls.nudge.abs() * 0.34; + self.nudge_cooldown = 0.22; + events.push(Event::Nudge); + } + + self.accumulator = (self.accumulator + frame_time.min(0.05)).min(0.1); + let steps_per_second = + [60.0, 90.0, 120.0, 180.0, 240.0][usize::from(detail.clamp(1, 5) - 1)]; + let step = 1.0 / steps_per_second; + while self.accumulator >= step { + self.fixed_update(step, &mut events); + self.accumulator -= step; + } + events + } + + fn fixed_update(&mut self, dt: f32, events: &mut Vec) { + self.target_cooldown = (self.target_cooldown - dt).max(0.0); + self.bumper_cooldown = (self.bumper_cooldown - dt).max(0.0); + self.nudge_cooldown = (self.nudge_cooldown - dt).max(0.0); + self.magnets = (self.magnets - dt).max(0.0); + self.tilt = (self.tilt - dt * 0.08).max(0.0); + + if self.ball.in_launcher { + self.ball.position = vec2(157.0, 426.0); + self.ball.velocity = Vec2::ZERO; + return; + } + + self.ball.velocity.y += GRAVITY * dt; + self.ball.velocity *= 1.0 - dt * 0.055; + self.ball.velocity = self.ball.velocity.clamp_length_max(MAX_SPEED); + self.ball.position += self.ball.velocity * dt; + + for wall in table_walls() { + segment_collision( + &mut self.ball.position, + &mut self.ball.velocity, + BALL_RADIUS, + *wall, + ); + } + + let left_flipper = flipper_segment(vec2(103.0, 394.0), self.left_flipper_angle); + let right_flipper = flipper_segment(vec2(211.0, 394.0), self.right_flipper_angle); + if segment_collision( + &mut self.ball.position, + &mut self.ball.velocity, + BALL_RADIUS + 2.0, + left_flipper, + ) && self.left_flipper_angle > -2.55 + { + self.ball.velocity += vec2(-20.0, -115.0); + } + if segment_collision( + &mut self.ball.position, + &mut self.ball.velocity, + BALL_RADIUS + 2.0, + right_flipper, + ) && self.right_flipper_angle < -0.58 + { + self.ball.velocity += vec2(20.0, -115.0); + } + + for center in [vec2(207.0, 109.0), vec2(167.0, 148.0), vec2(219.0, 167.0)] { + if circle_collision( + &mut self.ball.position, + &mut self.ball.velocity, + BALL_RADIUS, + center, + 14.0, + 105.0, + ) && self.bumper_cooldown <= 0.0 + { + self.add_score(self.player().bumper_value); + self.bonus = self.bonus.saturating_add(100); + self.bumper_cooldown = 0.08; + events.push(Event::Bumper); + } + } + + self.check_targets(events); + self.check_media(events); + + if self.ball.position.y > 454.0 { + if self.magnets > 0.0 && (self.ball.position.x < 145.0 || self.ball.position.x > 175.0) + { + self.ball.position.y = 410.0; + self.ball.velocity = vec2((157.0 - self.ball.position.x) * 2.0, -245.0); + self.magnets = 0.0; + } else { + self.drain(events); + } + } + } + + fn check_targets(&mut self, events: &mut Vec) { + if self.target_cooldown > 0.0 { + return; + } + let position = self.ball.position; + + let top = [vec2(205.0, 47.0), vec2(234.0, 50.0), vec2(262.0, 53.0)]; + for (index, center) in top.into_iter().enumerate() { + if position.distance_squared(center) < 11.0_f32.powi(2) && !self.top_targets[index] { + self.top_targets[index] = true; + self.add_score(1_500); + self.ball.velocity.y = self.ball.velocity.y.abs() + 65.0; + self.target_cooldown = 0.12; + events.push(Event::Target); + } + } + if self.top_targets.iter().all(|target| *target) { + self.top_targets.fill(false); + self.magnets = 12.0; + self.add_score(5_000); + } + + let side = [180.0, 195.0, 210.0, 225.0, 240.0]; + for (index, y) in side.into_iter().enumerate() { + if position.distance_squared(vec2(286.0, y)) < 9.0_f32.powi(2) + && !self.side_targets[index] + { + self.side_targets[index] = true; + self.add_score(2_000 + u32::try_from(index).unwrap_or(0) * 1_000); + self.ball.velocity.x = -self.ball.velocity.x.abs() - 55.0; + self.target_cooldown = 0.10; + events.push(Event::Target); + } + } + if self.side_targets.iter().all(|target| *target) { + self.side_targets.fill(false); + let player = &mut self.players[self.current_player]; + player.bumper_value = (player.bumper_value + 1_000).min(10_000); + player.diamond_segments = (player.diamond_segments + 1).min(9); + self.add_score(10_000); + } + + let wheel_center = vec2(114.0, 79.0); + let from_wheel = position - wheel_center; + if (25.0..=43.0).contains(&from_wheel.length()) { + let angle = + (from_wheel.y.atan2(from_wheel.x) + std::f32::consts::TAU) % std::f32::consts::TAU; + let sector_boundaries = [ + std::f32::consts::TAU / 16.0, + std::f32::consts::TAU * 3.0 / 16.0, + std::f32::consts::TAU * 5.0 / 16.0, + std::f32::consts::TAU * 7.0 / 16.0, + std::f32::consts::TAU * 9.0 / 16.0, + std::f32::consts::TAU * 11.0 / 16.0, + std::f32::consts::TAU * 13.0 / 16.0, + std::f32::consts::TAU * 15.0 / 16.0, + ]; + let hole = sector_boundaries.partition_point(|boundary| angle >= *boundary) % 8; + if !self.wheel_holes[hole] { + self.wheel_holes[hole] = true; + self.add_score(2_500); + self.target_cooldown = 0.15; + events.push(Event::Wheel); + } + if self.wheel_holes.iter().all(|hole| *hole) { + self.wheel_holes.fill(false); + self.add_score(25_000); + } + } + + if (270.0..=302.0).contains(&position.x) && (45.0..=105.0).contains(&position.y) { + self.add_score(7_500); + self.ball.velocity = vec2(-125.0, 60.0); + self.target_cooldown = 0.3; + events.push(Event::Robot); + } + + if (151.0..=220.0).contains(&position.x) && (187.0..=205.0).contains(&position.y) { + self.lock_lights = (self.lock_lights + 1).min(4); + self.add_score(u32::from(self.lock_lights) * 5_000); + self.ball.position = vec2(185.0, 181.0); + self.ball.velocity = vec2(-40.0 + f32::from(self.lock_lights) * 18.0, -120.0); + self.target_cooldown = 0.4; + events.push(Event::Lock); + } + + for (center, value) in [ + (vec2(113.0, 285.0), 2_000), + (vec2(132.0, 270.0), 3_000), + (vec2(155.0, 258.0), 4_000), + (vec2(181.0, 270.0), 5_000), + (vec2(201.0, 285.0), 6_000), + ] { + if position.distance_squared(center) < 10.0_f32.powi(2) { + self.add_score(value); + self.ball.velocity.y = -self.ball.velocity.y.abs() - 40.0; + self.target_cooldown = 0.13; + events.push(Event::Target); + break; + } + } + } + + fn check_media(&mut self, events: &mut Vec) { + const THRESHOLDS: [u32; 5] = [360_000, 720_000, 1_440_000, 2_880_000, 5_760_000]; + let score = self.player().score; + let level = + u8::try_from(THRESHOLDS.partition_point(|threshold| score >= *threshold)).unwrap_or(5); + if level > self.player().media_level { + let player = &mut self.players[self.current_player]; + player.media_level = level; + player.extra_balls = player.extra_balls.saturating_add(1); + events.push(Event::Media); + events.push(Event::ExtraBall); + } + } + + fn add_score(&mut self, points: u32) { + let multiplier = if self.player().diamond_segments == 9 { + 2 + } else { + 1 + }; + let player = &mut self.players[self.current_player]; + player.score = player + .score + .saturating_add(points.saturating_mul(multiplier)); + } + + fn drain(&mut self, events: &mut Vec) { + let player = &mut self.players[self.current_player]; + player.score = player.score.saturating_add(self.bonus); + if player.extra_balls > 0 { + player.extra_balls -= 1; + } else { + player.balls = player.balls.saturating_sub(1); + } + events.push(Event::Drain); + self.bonus = 0; + self.side_targets.fill(false); + self.top_targets.fill(false); + self.wheel_holes.fill(false); + self.lock_lights = 0; + self.magnets = 0.0; + self.tilt = 0.0; + + let mut next = (self.current_player + 1) % self.players.len(); + for _ in 0..self.players.len() { + if self.players[next].balls > 0 || self.players[next].extra_balls > 0 { + self.current_player = next; + self.ball = Ball::default(); + return; + } + next = (next + 1) % self.players.len(); + } + self.finished = true; + } + + pub fn flippers(&self) -> (Segment, Segment) { + ( + flipper_segment(vec2(103.0, 394.0), self.left_flipper_angle), + flipper_segment(vec2(211.0, 394.0), self.right_flipper_angle), + ) + } +} + +fn flipper_segment(pivot: Vec2, angle: f32) -> Segment { + Segment::new(pivot, pivot + vec2(angle.cos(), angle.sin()) * 49.0, 0.88) +} + +#[allow(clippy::too_many_lines)] +fn table_walls() -> &'static [Segment] { + static WALLS: LazyLock> = LazyLock::new(|| { + vec![ + Segment::new(Vec2::new(125.0, 21.0), Vec2::new(7.0, 61.0), 0.82), + Segment::new(Vec2::new(300.0, 3.0), Vec2::new(10.0, 3.0), 0.82), + Segment::new(Vec2::new(120.0, 6.0), Vec2::new(120.0, 26.0), 0.82), + Segment::new(Vec2::new(195.0, 26.0), Vec2::new(195.0, 6.0), 0.82), + Segment::new(Vec2::new(134.0, 33.0), Vec2::new(134.0, 16.0), 0.82), + Segment::new(Vec2::new(148.0, 11.0), Vec2::new(148.0, 33.0), 0.82), + Segment::new(Vec2::new(164.0, 12.0), Vec2::new(165.0, 33.0), 0.82), + Segment::new(Vec2::new(180.0, 11.0), Vec2::new(179.0, 33.0), 0.82), + Segment::new(Vec2::new(304.0, 64.0), Vec2::new(183.0, 21.0), 0.82), + Segment::new(Vec2::new(298.0, 417.0), Vec2::new(298.0, 313.0), 0.82), + Segment::new(Vec2::new(298.0, 336.0), Vec2::new(310.0, 336.0), 0.82), + Segment::new(Vec2::new(292.0, 374.0), Vec2::new(291.0, 342.0), 0.82), + Segment::new(Vec2::new(281.0, 378.0), Vec2::new(300.0, 369.0), 0.82), + Segment::new(Vec2::new(275.0, 343.0), Vec2::new(290.0, 382.0), 0.82), + Segment::new(Vec2::new(248.0, 364.0), Vec2::new(264.0, 339.0), 0.82), + Segment::new(Vec2::new(257.0, 387.0), Vec2::new(249.0, 364.0), 0.82), + Segment::new(Vec2::new(277.0, 429.0), Vec2::new(257.0, 387.0), 0.82), + Segment::new(Vec2::new(287.0, 446.0), Vec2::new(277.0, 427.0), 0.82), + Segment::new(Vec2::new(303.0, 430.0), Vec2::new(283.0, 436.0), 0.82), + Segment::new(Vec2::new(320.0, 410.0), Vec2::new(302.0, 430.0), 0.82), + Segment::new(Vec2::new(320.0, 21.0), Vec2::new(320.0, 410.0), 0.82), + Segment::new(Vec2::new(307.0, 437.0), Vec2::new(316.0, 430.0), 0.82), + Segment::new(Vec2::new(296.0, 442.0), Vec2::new(307.0, 437.0), 0.82), + Segment::new(Vec2::new(285.0, 443.0), Vec2::new(296.0, 442.0), 0.82), + Segment::new(Vec2::new(112.0, 443.0), Vec2::new(285.0, 443.0), 0.82), + Segment::new(Vec2::new(99.0, 438.0), Vec2::new(121.0, 444.0), 0.82), + Segment::new(Vec2::new(78.0, 427.0), Vec2::new(100.0, 438.0), 0.82), + Segment::new(Vec2::new(66.0, 409.0), Vec2::new(79.0, 428.0), 0.82), + Segment::new(Vec2::new(57.0, 385.0), Vec2::new(68.0, 413.0), 0.82), + Segment::new(Vec2::new(59.0, 304.0), Vec2::new(59.0, 396.0), 0.82), + Segment::new(Vec2::new(67.0, 288.0), Vec2::new(58.0, 311.0), 0.82), + Segment::new(Vec2::new(41.0, 268.0), Vec2::new(64.0, 279.0), 0.82), + Segment::new(Vec2::new(22.0, 293.0), Vec2::new(31.0, 272.0), 0.82), + Segment::new(Vec2::new(22.0, 447.0), Vec2::new(22.0, 293.0), 0.82), + Segment::new(Vec2::new(11.0, 445.0), Vec2::new(23.0, 445.0), 0.82), + Segment::new(Vec2::new(13.0, 288.0), Vec2::new(13.0, 448.0), 0.82), + Segment::new(Vec2::new(32.0, 228.0), Vec2::new(12.0, 293.0), 0.82), + Segment::new(Vec2::new(10.0, 158.0), Vec2::new(33.0, 227.0), 0.82), + Segment::new(Vec2::new(12.0, 51.0), Vec2::new(12.0, 197.0), 0.82), + Segment::new(Vec2::new(37.0, 111.0), Vec2::new(37.0, 166.0), 0.82), + Segment::new(Vec2::new(110.0, 74.0), Vec2::new(37.0, 111.0), 0.82), + Segment::new(Vec2::new(19.0, 73.0), Vec2::new(92.0, 50.0), 0.82), + Segment::new(Vec2::new(19.0, 167.0), Vec2::new(19.0, 73.0), 0.82), + Segment::new(Vec2::new(141.0, 45.0), Vec2::new(112.0, 72.0), 0.82), + Segment::new(Vec2::new(97.0, 47.0), Vec2::new(130.0, 31.0), 0.82), + Segment::new(Vec2::new(0.0, 433.0), Vec2::new(7.0, 478.0), 0.82), + Segment::new(Vec2::new(292.0, 73.0), Vec2::new(292.0, 167.0), 0.82), + Segment::new(Vec2::new(221.0, 50.0), Vec2::new(292.0, 73.0), 0.82), + Segment::new(Vec2::new(275.0, 111.0), Vec2::new(205.0, 74.0), 0.82), + Segment::new(Vec2::new(275.0, 166.0), Vec2::new(275.0, 111.0), 0.82), + Segment::new(Vec2::new(177.0, 31.0), Vec2::new(216.0, 47.0), 0.82), + Segment::new(Vec2::new(201.0, 72.0), Vec2::new(172.0, 45.0), 0.82), + Segment::new(Vec2::new(40.0, 257.0), Vec2::new(73.0, 273.0), 0.82), + Segment::new(Vec2::new(73.0, 273.0), Vec2::new(67.0, 285.0), 0.82), + Segment::new(Vec2::new(34.0, 269.0), Vec2::new(40.0, 257.0), 0.82), + Segment::new(Vec2::new(292.0, 231.0), Vec2::new(292.0, 205.0), 0.82), + Segment::new(Vec2::new(292.0, 205.0), Vec2::new(302.0, 205.0), 0.82), + Segment::new(Vec2::new(302.0, 231.0), Vec2::new(292.0, 231.0), 0.82), + Segment::new(Vec2::new(292.0, 247.0), Vec2::new(292.0, 222.0), 0.82), + Segment::new(Vec2::new(292.0, 222.0), Vec2::new(302.0, 222.0), 0.82), + Segment::new(Vec2::new(302.0, 247.0), Vec2::new(292.0, 247.0), 0.82), + Segment::new(Vec2::new(292.0, 261.0), Vec2::new(292.0, 237.0), 0.82), + Segment::new(Vec2::new(292.0, 237.0), Vec2::new(302.0, 237.0), 0.82), + Segment::new(Vec2::new(302.0, 261.0), Vec2::new(292.0, 261.0), 0.82), + Segment::new(Vec2::new(292.0, 277.0), Vec2::new(292.0, 252.0), 0.82), + Segment::new(Vec2::new(292.0, 252.0), Vec2::new(302.0, 252.0), 0.82), + Segment::new(Vec2::new(302.0, 276.0), Vec2::new(292.0, 276.0), 0.82), + Segment::new(Vec2::new(292.0, 291.0), Vec2::new(292.0, 268.0), 0.82), + Segment::new(Vec2::new(292.0, 269.0), Vec2::new(302.0, 268.0), 0.82), + Segment::new(Vec2::new(302.0, 295.0), Vec2::new(292.0, 290.0), 0.82), + Segment::new(Vec2::new(148.0, 254.0), Vec2::new(203.0, 236.0), 0.82), + Segment::new(Vec2::new(215.0, 261.0), Vec2::new(158.0, 280.0), 0.82), + Segment::new(Vec2::new(187.0, 232.0), Vec2::new(209.0, 225.0), 0.82), + Segment::new(Vec2::new(209.0, 225.0), Vec2::new(214.0, 240.0), 0.82), + Segment::new(Vec2::new(191.0, 244.0), Vec2::new(187.0, 232.0), 0.82), + Segment::new(Vec2::new(169.0, 239.0), Vec2::new(198.0, 229.0), 0.82), + Segment::new(Vec2::new(198.0, 229.0), Vec2::new(202.0, 241.0), 0.82), + Segment::new(Vec2::new(173.0, 251.0), Vec2::new(169.0, 239.0), 0.82), + Segment::new(Vec2::new(153.0, 245.0), Vec2::new(182.0, 235.0), 0.82), + Segment::new(Vec2::new(182.0, 235.0), Vec2::new(186.0, 247.0), 0.82), + Segment::new(Vec2::new(157.0, 257.0), Vec2::new(153.0, 245.0), 0.82), + Segment::new(Vec2::new(139.0, 252.0), Vec2::new(163.0, 241.0), 0.82), + Segment::new(Vec2::new(163.0, 241.0), Vec2::new(167.0, 253.0), 0.82), + Segment::new(Vec2::new(144.0, 267.0), Vec2::new(139.0, 252.0), 0.82), + Segment::new(Vec2::new(84.0, 318.0), Vec2::new(105.0, 329.0), 0.82), + Segment::new(Vec2::new(105.0, 329.0), Vec2::new(101.0, 339.0), 0.82), + Segment::new(Vec2::new(80.0, 328.0), Vec2::new(84.0, 318.0), 0.82), + Segment::new(Vec2::new(87.0, 327.0), Vec2::new(111.0, 339.0), 0.82), + Segment::new(Vec2::new(77.0, 370.0), Vec2::new(77.0, 331.0), 0.82), + Segment::new(Vec2::new(87.0, 372.0), Vec2::new(77.0, 370.0), 0.82), + Segment::new(Vec2::new(110.0, 337.0), Vec2::new(87.0, 372.0), 0.82), + Segment::new(Vec2::new(184.0, 426.0), Vec2::new(172.0, 403.0), 0.82), + Segment::new(Vec2::new(193.0, 396.0), Vec2::new(205.0, 417.0), 0.82), + Segment::new(Vec2::new(213.0, 426.0), Vec2::new(201.0, 403.0), 0.82), + Segment::new(Vec2::new(222.0, 396.0), Vec2::new(234.0, 417.0), 0.82), + Segment::new(Vec2::new(242.0, 426.0), Vec2::new(230.0, 403.0), 0.82), + Segment::new(Vec2::new(251.0, 396.0), Vec2::new(263.0, 417.0), 0.82), + Segment::new(Vec2::new(291.0, 205.0), Vec2::new(298.0, 187.0), 0.82), + Segment::new(Vec2::new(298.0, 378.0), Vec2::new(298.0, 58.0), 0.82), + Segment::new(Vec2::new(298.0, 288.0), Vec2::new(298.0, 211.0), 0.82), + Segment::new(Vec2::new(298.0, 313.0), Vec2::new(291.0, 290.0), 0.82), + ] + }); + &WALLS +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn player_count_is_bounded() { + assert_eq!(Game::new(0).players.len(), 1); + assert_eq!(Game::new(99).players.len(), 4); + } + + #[test] + fn launch_is_deterministic() { + let mut game = Game::new(1); + let events = game.update( + 1.0 / 60.0, + 3, + Controls { + launch_pressed: true, + ..Controls::default() + }, + ); + assert!(events.contains(&Event::Launch)); + assert!(!game.ball.in_launcher); + assert!(game.ball.velocity.y < 0.0); + } + + #[test] + fn completed_diamond_doubles_score() { + let mut game = Game::new(1); + game.players[0].diamond_segments = 9; + game.add_score(1_000); + assert_eq!(game.players[0].score, 2_000); + } +} diff --git a/tdkpin-rs/src/geometry.rs b/tdkpin-rs/src/geometry.rs new file mode 100644 index 0000000..bd6c734 --- /dev/null +++ b/tdkpin-rs/src/geometry.rs @@ -0,0 +1,106 @@ +use macroquad::prelude::Vec2; + +#[derive(Clone, Copy, Debug)] +pub struct Segment { + pub start: Vec2, + pub end: Vec2, + pub bounce: f32, +} + +impl Segment { + pub const fn new(start: Vec2, end: Vec2, bounce: f32) -> Self { + Self { start, end, bounce } + } +} + +pub fn closest_point(point: Vec2, segment: Segment) -> Vec2 { + let line = segment.end - segment.start; + let length_squared = line.length_squared(); + if length_squared <= f32::EPSILON { + return segment.start; + } + let t = ((point - segment.start).dot(line) / length_squared).clamp(0.0, 1.0); + segment.start + line * t +} + +pub fn segment_collision( + position: &mut Vec2, + velocity: &mut Vec2, + radius: f32, + segment: Segment, +) -> bool { + let point = closest_point(*position, segment); + let offset = *position - point; + let distance_squared = offset.length_squared(); + if distance_squared >= radius * radius { + return false; + } + + let normal = if distance_squared > 0.000_001 { + offset / distance_squared.sqrt() + } else { + let line = segment.end - segment.start; + Vec2::new(-line.y, line.x).normalize_or_zero() + }; + *position = point + normal * radius; + let inward_speed = velocity.dot(normal); + if inward_speed < 0.0 { + *velocity -= normal * inward_speed * (1.0 + segment.bounce); + } + true +} + +pub fn circle_collision( + position: &mut Vec2, + velocity: &mut Vec2, + radius: f32, + center: Vec2, + obstacle_radius: f32, + kick: f32, +) -> bool { + let offset = *position - center; + let minimum = radius + obstacle_radius; + if offset.length_squared() >= minimum * minimum { + return false; + } + let normal = if offset.length_squared() > 0.000_001 { + offset.normalize() + } else { + Vec2::Y + }; + *position = center + normal * minimum; + let inward_speed = velocity.dot(normal); + if inward_speed < 0.0 { + *velocity -= normal * inward_speed * 1.8; + } + *velocity += normal * kick; + true +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn closest_point_is_clamped_to_segment() { + let segment = Segment::new(Vec2::ZERO, Vec2::new(10.0, 0.0), 0.8); + assert_eq!( + closest_point(Vec2::new(12.0, 4.0), segment), + Vec2::new(10.0, 0.0) + ); + } + + #[test] + fn collision_reflects_velocity() { + let mut position = Vec2::new(5.0, 1.0); + let mut velocity = Vec2::new(0.0, -10.0); + let hit = segment_collision( + &mut position, + &mut velocity, + 2.0, + Segment::new(Vec2::ZERO, Vec2::new(10.0, 0.0), 1.0), + ); + assert!(hit); + assert!(velocity.y > 9.9); + } +} diff --git a/tdkpin-rs/src/main.rs b/tdkpin-rs/src/main.rs index e7a11a9..3ede069 100644 --- a/tdkpin-rs/src/main.rs +++ b/tdkpin-rs/src/main.rs @@ -1,3 +1,31 @@ -fn main() { - println!("Hello, world!"); +mod app; +mod assets; +mod game; +mod geometry; +mod persistence; + +use app::App; +use macroquad::prelude::*; + +const LOGICAL_WIDTH: i32 = 640; +const LOGICAL_HEIGHT: i32 = 460; + +fn window_conf() -> Conf { + Conf { + window_title: "TDK Pinball Machine".to_owned(), + window_width: LOGICAL_WIDTH, + window_height: LOGICAL_HEIGHT, + window_resizable: true, + high_dpi: true, + ..Default::default() + } +} + +#[macroquad::main(window_conf)] +async fn main() { + let mut app = App::load().await; + loop { + app.frame(); + next_frame().await; + } } diff --git a/tdkpin-rs/src/persistence.rs b/tdkpin-rs/src/persistence.rs new file mode 100644 index 0000000..caec789 --- /dev/null +++ b/tdkpin-rs/src/persistence.rs @@ -0,0 +1,196 @@ +use directories::ProjectDirs; +use serde::{Deserialize, Serialize}; +use std::{cmp::Reverse, fs, io, path::PathBuf}; + +const ORIGINAL_HIGHSCORES: &[u8] = include_bytes!("../assets/original/HISCORES.DAT"); + +#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq, Eq)] +pub enum Language { + English, + German, + French, + Italian, + Spanish, +} + +impl Language { + pub const ALL: [Self; 5] = [ + Self::English, + Self::German, + Self::French, + Self::Italian, + Self::Spanish, + ]; + + pub const fn label(self) -> &'static str { + match self { + Self::English => "English", + Self::German => "Deutsch", + Self::French => "Francais", + Self::Italian => "Italiano", + Self::Spanish => "Espanol", + } + } +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +#[serde(default)] +pub struct Settings { + pub speed: u8, + pub sounds: bool, + pub language: Language, +} + +impl Default for Settings { + fn default() -> Self { + Self { + speed: 3, + sounds: true, + language: Language::English, + } + } +} + +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq, Eq)] +pub struct HighScore { + pub name: String, + pub score: u32, +} + +#[derive(Clone, Debug, Deserialize, Serialize)] +#[serde(default)] +pub struct SavedData { + pub settings: Settings, + pub high_scores: Vec, +} + +impl Default for SavedData { + fn default() -> Self { + Self { + settings: Settings::default(), + high_scores: parse_original_high_scores(ORIGINAL_HIGHSCORES), + } + } +} + +pub struct Persistence { + path: PathBuf, +} + +impl Persistence { + pub fn new() -> Self { + let path = ProjectDirs::from("com", "kiwi-hamburg", "TDK Pinball Machine").map_or_else( + || PathBuf::from("tdkpin-save.json"), + |dirs| dirs.data_local_dir().join("save.json"), + ); + Self { path } + } + + pub fn load(&self) -> SavedData { + fs::read_to_string(&self.path) + .ok() + .and_then(|text| serde_json::from_str(&text).ok()) + .unwrap_or_default() + } + + pub fn save(&self, data: &SavedData) -> io::Result<()> { + if let Some(parent) = self + .path + .parent() + .filter(|parent| !parent.as_os_str().is_empty()) + { + fs::create_dir_all(parent)?; + } + let encoded = serde_json::to_vec_pretty(data).map_err(io::Error::other)?; + let temporary = self.path.with_extension("json.tmp"); + fs::write(&temporary, encoded)?; + #[cfg(target_os = "windows")] + if self.path.exists() { + fs::remove_file(&self.path)?; + } + fs::rename(temporary, &self.path) + } +} + +pub fn parse_original_high_scores(bytes: &[u8]) -> Vec { + const HEADER: usize = 16; + const COUNT: usize = 10; + const NAME_LENGTH: usize = 22; + const SCORE_KEY: u32 = u32::from_le_bytes(*b"IWIK"); + if bytes.len() < HEADER + COUNT * 4 + COUNT * NAME_LENGTH + || !bytes.starts_with(b"TDK Highscores\0\0") + { + return Vec::new(); + } + + let scores = &bytes[HEADER..HEADER + COUNT * 4]; + let names = &bytes[HEADER + COUNT * 4..]; + let mut result = (0..COUNT) + .map(|index| { + let score_start = index * 4; + let score = u32::from_le_bytes([ + scores[score_start], + scores[score_start + 1], + scores[score_start + 2], + scores[score_start + 3], + ]) ^ SCORE_KEY; + let name_start = index * NAME_LENGTH; + let name_bytes = &names[name_start..name_start + NAME_LENGTH]; + let length = name_bytes + .iter() + .position(|byte| *byte == 0) + .unwrap_or(NAME_LENGTH); + HighScore { + name: String::from_utf8_lossy(&name_bytes[..length]).into_owned(), + score, + } + }) + .collect::>(); + result.sort_by_key(|entry| Reverse(entry.score)); + result +} + +pub fn insert_high_score(scores: &mut Vec, entry: HighScore) { + scores.push(entry); + scores.sort_by_key(|entry| Reverse(entry.score)); + scores.truncate(10); +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn imports_all_original_entries_in_score_order() { + let scores = parse_original_high_scores(ORIGINAL_HIGHSCORES); + assert_eq!(scores.len(), 10); + assert_eq!(scores[0].score, 6_537_392); + assert!(scores.windows(2).all(|pair| pair[0].score >= pair[1].score)); + assert!( + scores + .iter() + .any(|entry| entry.name == "TDK Pinball Player") + ); + } + + #[test] + fn rejects_a_table_without_the_original_signature() { + let mut corrupt = ORIGINAL_HIGHSCORES.to_vec(); + corrupt[0] = b'X'; + assert!(parse_original_high_scores(&corrupt).is_empty()); + } + + #[test] + fn new_score_is_inserted_and_table_stays_bounded() { + let mut scores = parse_original_high_scores(ORIGINAL_HIGHSCORES); + insert_high_score( + &mut scores, + HighScore { + name: "TEST".to_owned(), + score: u32::MAX, + }, + ); + assert_eq!(scores.len(), 10); + assert_eq!(scores[0].name, "TEST"); + } +}