From 9e4c940ad653b0f7dc36a6e94bdd54bb048e100d Mon Sep 17 00:00:00 2001 From: Michelle Ark Date: Thu, 13 Jun 2024 15:54:32 -0400 Subject: [PATCH] remove demo --- demo/Cargo.lock | 1744 ---------------------------------------------- demo/Cargo.toml | 12 - demo/demo.gif | Bin 103079 -> 0 bytes demo/demo.html | 95 --- demo/src/main.rs | 78 --- demo/style.css | 58 -- 6 files changed, 1987 deletions(-) delete mode 100644 demo/Cargo.lock delete mode 100644 demo/Cargo.toml delete mode 100644 demo/demo.gif delete mode 100644 demo/demo.html delete mode 100644 demo/src/main.rs delete mode 100644 demo/style.css diff --git a/demo/Cargo.lock b/demo/Cargo.lock deleted file mode 100644 index 4d948e9..0000000 --- a/demo/Cargo.lock +++ /dev/null @@ -1,1744 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -[[package]] -name = "aead" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fc95d1bdb8e6666b2b217308eeeb09f2d6728d104be3e31916cc74d15420331" -dependencies = [ - "generic-array", -] - -[[package]] -name = "aes" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "884391ef1066acaa41e766ba8f596341b96e93ce34f9a43e7d24bf0a0eaf0561" -dependencies = [ - "aes-soft", - "aesni", - "cipher", -] - -[[package]] -name = "aes-gcm" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5278b5fabbb9bd46e24aa69b2fdea62c99088e0a950a9be40e3e0101298f88da" -dependencies = [ - "aead", - "aes", - "cipher", - "ctr", - "ghash", - "subtle", -] - -[[package]] -name = "aes-soft" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be14c7498ea50828a38d0e24a765ed2effe92a705885b57d029cd67d45744072" -dependencies = [ - "cipher", - "opaque-debug", -] - -[[package]] -name = "aesni" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea2e11f5e94c2f7d386164cc2aa1f97823fed6f259e486940a71c174dd01b0ce" -dependencies = [ - "cipher", - "opaque-debug", -] - -[[package]] -name = "aho-corasick" -version = "0.7.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" -dependencies = [ - "memchr", -] - -[[package]] -name = "anyhow" -version = "1.0.41" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "15af2628f6890fe2609a3b91bef4c83450512802e59489f9c1cb1fa5df064a61" - -[[package]] -name = "arrayref" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" - -[[package]] -name = "arrayvec" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" - -[[package]] -name = "async-attributes" -version = "1.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3203e79f4dd9bdda415ed03cf14dae5a2bf775c683a00f94e9cd1faf0f596e5" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "async-channel" -version = "1.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" -dependencies = [ - "concurrent-queue", - "event-listener", - "futures-core", -] - -[[package]] -name = "async-dup" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7427a12b8dc09291528cfb1da2447059adb4a257388c2acd6497a79d55cf6f7c" -dependencies = [ - "futures-io", - "simple-mutex", -] - -[[package]] -name = "async-executor" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "once_cell", - "slab", -] - -[[package]] -name = "async-global-executor" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9586ec52317f36de58453159d48351bc244bc24ced3effc1fce22f3d48664af6" -dependencies = [ - "async-channel", - "async-executor", - "async-io", - "async-mutex", - "blocking", - "futures-lite", - "num_cpus", - "once_cell", -] - -[[package]] -name = "async-h1" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5142de15b549749cce62923a50714b0d7b77f5090ced141599e78899865451" -dependencies = [ - "async-channel", - "async-dup", - "async-std", - "byte-pool", - "futures-core", - "http-types", - "httparse", - "lazy_static", - "log", - "pin-project", -] - -[[package]] -name = "async-io" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bbfd5cf2794b1e908ea8457e6c45f8f8f1f6ec5f74617bf4662623f47503c3b" -dependencies = [ - "concurrent-queue", - "fastrand", - "futures-lite", - "libc", - "log", - "once_cell", - "parking", - "polling", - "slab", - "socket2", - "waker-fn", - "winapi", -] - -[[package]] -name = "async-lock" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6a8ea61bf9947a1007c5cada31e647dbc77b103c679858150003ba697ea798b" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-mutex" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "479db852db25d9dbf6204e6cb6253698f175c15726470f78af0d918e99d6156e" -dependencies = [ - "event-listener", -] - -[[package]] -name = "async-process" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f38756dd9ac84671c428afbf7c9f7495feff9ec5b0710f17100098e5b354ac" -dependencies = [ - "async-io", - "blocking", - "cfg-if 1.0.0", - "event-listener", - "futures-lite", - "libc", - "once_cell", - "signal-hook", - "winapi", -] - -[[package]] -name = "async-session" -version = "2.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "345022a2eed092cd105cc1b26fd61c341e100bd5fcbbd792df4baf31c2cc631f" -dependencies = [ - "anyhow", - "async-std", - "async-trait", - "base64 0.12.3", - "bincode", - "blake3", - "chrono", - "hmac 0.8.1", - "kv-log-macro", - "rand 0.7.3", - "serde", - "serde_json", - "sha2", -] - -[[package]] -name = "async-sse" -version = "4.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53bba003996b8fd22245cd0c59b869ba764188ed435392cf2796d03b805ade10" -dependencies = [ - "async-channel", - "async-std", - "http-types", - "log", - "memchr", - "pin-project-lite 0.1.12", -] - -[[package]] -name = "async-std" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9f06685bad74e0570f5213741bea82158279a4103d988e57bfada11ad230341" -dependencies = [ - "async-attributes", - "async-channel", - "async-global-executor", - "async-io", - "async-lock", - "async-process", - "crossbeam-utils", - "futures-channel", - "futures-core", - "futures-io", - "futures-lite", - "gloo-timers", - "kv-log-macro", - "log", - "memchr", - "num_cpus", - "once_cell", - "pin-project-lite 0.2.6", - "pin-utils", - "slab", - "wasm-bindgen-futures", -] - -[[package]] -name = "async-task" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e91831deabf0d6d7ec49552e489aed63b7456a7a3c46cff62adad428110b0af0" - -[[package]] -name = "async-trait" -version = "0.1.50" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b98e84bbb4cbcdd97da190ba0c58a1bb0de2c1fdf67d159e192ed766aeca722" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "atomic-waker" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "065374052e7df7ee4047b1160cca5e1467a12351a40b3da123c870ba0b8eda2a" - -[[package]] -name = "autocfg" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" - -[[package]] -name = "base-x" -version = "0.2.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4521f3e3d031370679b3b140beb36dfe4801b09ac77e30c61941f97df3ef28b" - -[[package]] -name = "base64" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" - -[[package]] -name = "base64" -version = "0.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" - -[[package]] -name = "bincode" -version = "1.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" -dependencies = [ - "serde", -] - -[[package]] -name = "blake3" -version = "0.3.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64485778c4f16a6a5a9d335e80d449ac6c70cdd6a06d2af18a6f6f775a125b3" -dependencies = [ - "arrayref", - "arrayvec", - "cc", - "cfg-if 0.1.10", - "constant_time_eq", - "crypto-mac 0.8.0", - "digest", -] - -[[package]] -name = "block-buffer" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" -dependencies = [ - "generic-array", -] - -[[package]] -name = "blocking" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5e170dbede1f740736619b776d7251cb1b9095c435c34d8ca9f57fcd2f335e9" -dependencies = [ - "async-channel", - "async-task", - "atomic-waker", - "fastrand", - "futures-lite", - "once_cell", -] - -[[package]] -name = "bumpalo" -version = "3.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" - -[[package]] -name = "byte-pool" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c7230ddbb427b1094d477d821a99f3f54d36333178eeb806e279bcdcecf0ca" -dependencies = [ - "crossbeam-queue", - "stable_deref_trait", -] - -[[package]] -name = "cache-padded" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "631ae5198c9be5e753e5cc215e1bd73c2b466a3565173db433f52bb9d3e66dba" - -[[package]] -name = "cc" -version = "1.0.68" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" - -[[package]] -name = "cfg-if" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "chrono" -version = "0.4.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" -dependencies = [ - "libc", - "num-integer", - "num-traits", - "serde", - "time 0.1.44", - "winapi", -] - -[[package]] -name = "cipher" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12f8e7987cbd042a63249497f41aed09f8e65add917ea6566effbc56578d6801" -dependencies = [ - "generic-array", -] - -[[package]] -name = "concurrent-queue" -version = "1.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" -dependencies = [ - "cache-padded", -] - -[[package]] -name = "const_fn" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f92cfa0fd5690b3cf8c1ef2cabbd9b7ef22fa53cf5e1f92b05103f6d5d1cf6e7" - -[[package]] -name = "constant_time_eq" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" - -[[package]] -name = "cookie" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03a5d7b21829bc7b4bf4754a978a241ae54ea55a40f92bb20216e54096f4b951" -dependencies = [ - "aes-gcm", - "base64 0.13.0", - "hkdf", - "hmac 0.10.1", - "percent-encoding", - "rand 0.8.4", - "sha2", - "time 0.2.27", - "version_check", -] - -[[package]] -name = "cpufeatures" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed00c67cb5d0a7d64a44f6ad2668db7e7530311dd53ea79bcd4fb022c64911c8" -dependencies = [ - "libc", -] - -[[package]] -name = "cpuid-bool" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcb25d077389e53838a8158c8e99174c5a9d902dee4904320db714f3c653ffba" - -[[package]] -name = "crossbeam-queue" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b10ddc024425c88c2ad148c1b0fd53f4c6d38db9697c9f1588381212fa657c9" -dependencies = [ - "cfg-if 1.0.0", - "crossbeam-utils", -] - -[[package]] -name = "crossbeam-utils" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d82cfc11ce7f2c3faef78d8a684447b40d503d9681acebed6cb728d45940c4db" -dependencies = [ - "cfg-if 1.0.0", - "lazy_static", -] - -[[package]] -name = "crypto-mac" -version = "0.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b584a330336237c1eecd3e94266efb216c56ed91225d634cb2991c5f3fd1aeab" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "crypto-mac" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4857fd85a0c34b3c3297875b747c1e02e06b6a0ea32dd892d8192b9ce0813ea6" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "ctor" -version = "0.1.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e98e2ad1a782e33928b96fc3948e7c355e5af34ba4de7670fe8bac2a3b2006d" -dependencies = [ - "quote", - "syn", -] - -[[package]] -name = "ctr" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb4a30d54f7443bf3d6191dcd486aca19e67cb3c49fa7a06a319966346707e7f" -dependencies = [ - "cipher", -] - -[[package]] -name = "dashmap" -version = "4.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e77a43b28d0668df09411cb0bc9a8c2adc40f9a048afe863e05fd43251e8e39c" -dependencies = [ - "cfg-if 1.0.0", - "num_cpus", -] - -[[package]] -name = "data-encoding" -version = "2.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ee2393c4a91429dffb4bedf19f4d6abf27d8a732c8ce4980305d782e5426d57" - -[[package]] -name = "dbt-extractor" -version = "0.0.1" -dependencies = [ - "tree-sitter", - "tree-sitter-jinja2", -] - -[[package]] -name = "demo" -version = "0.1.0" -dependencies = [ - "async-std", - "dbt-extractor", - "serde", - "serde_json", - "tide", -] - -[[package]] -name = "digest" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" -dependencies = [ - "generic-array", -] - -[[package]] -name = "discard" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "212d0f5754cb6769937f4501cc0e67f4f4483c8d2c3e1e922ee9edbe4ab4c7c0" - -[[package]] -name = "event-listener" -version = "2.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7531096570974c3a9dcf9e4b8e1cede1ec26cf5046219fb3b9d897503b9be59" - -[[package]] -name = "fastrand" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77b705829d1e87f762c2df6da140b26af5839e1033aa84aa5f56bb688e4e1bdb" -dependencies = [ - "instant", -] - -[[package]] -name = "femme" -version = "2.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2af1a24f391a5a94d756db5092c6576aad494b88a71a5a36b20c67b63e0df034" -dependencies = [ - "cfg-if 0.1.10", - "js-sys", - "log", - "serde", - "serde_derive", - "serde_json", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "form_urlencoded" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" -dependencies = [ - "matches", - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" - -[[package]] -name = "futures-io" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" - -[[package]] -name = "futures-lite" -version = "1.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "memchr", - "parking", - "pin-project-lite 0.2.6", - "waker-fn", -] - -[[package]] -name = "futures-macro" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" -dependencies = [ - "autocfg", - "proc-macro-hack", - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "futures-task" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" - -[[package]] -name = "futures-util" -version = "0.3.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" -dependencies = [ - "autocfg", - "futures-core", - "futures-macro", - "futures-task", - "pin-project-lite 0.2.6", - "pin-utils", - "proc-macro-hack", - "proc-macro-nested", - "slab", -] - -[[package]] -name = "generic-array" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501466ecc8a30d1d3b7fc9229b122b2ce8ed6e9d9223f1138d4babb253e51817" -dependencies = [ - "typenum", - "version_check", -] - -[[package]] -name = "getrandom" -version = "0.1.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.9.0+wasi-snapshot-preview1", -] - -[[package]] -name = "getrandom" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", -] - -[[package]] -name = "ghash" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97304e4cd182c3846f7575ced3890c53012ce534ad9114046b0a9e00bb30a375" -dependencies = [ - "opaque-debug", - "polyval", -] - -[[package]] -name = "gloo-timers" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "47204a46aaff920a1ea58b11d03dec6f704287d27561724a4631e450654a891f" -dependencies = [ - "futures-channel", - "futures-core", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "hermit-abi" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "322f4de77956e22ed0e5032c359a0f1273f1f7f0d79bfa3b8ffbc730d7fbcc5c" -dependencies = [ - "libc", -] - -[[package]] -name = "hkdf" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ab2f639c231793c5f6114bdb9bbe50a7dbbfcd7c7c6bd8475dec2d991e964f" -dependencies = [ - "digest", - "hmac 0.10.1", -] - -[[package]] -name = "hmac" -version = "0.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "126888268dcc288495a26bf004b38c5fdbb31682f992c84ceb046a1f0fe38840" -dependencies = [ - "crypto-mac 0.8.0", - "digest", -] - -[[package]] -name = "hmac" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1441c6b1e930e2817404b5046f1f989899143a12bf92de603b69f4e0aee1e15" -dependencies = [ - "crypto-mac 0.10.0", - "digest", -] - -[[package]] -name = "http-client" -version = "6.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ce318d86a47d18d1db645c979214f809a6cd625202ad334ef75ca813b30dac80" -dependencies = [ - "async-trait", - "cfg-if 1.0.0", - "dashmap", - "http-types", - "log", -] - -[[package]] -name = "http-types" -version = "2.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad077d89137cd3debdce53c66714dc536525ef43fe075d41ddc0a8ac11f85957" -dependencies = [ - "anyhow", - "async-channel", - "async-std", - "base64 0.13.0", - "cookie", - "futures-lite", - "infer", - "pin-project-lite 0.2.6", - "rand 0.7.3", - "serde", - "serde_json", - "serde_qs", - "serde_urlencoded", - "url", -] - -[[package]] -name = "httparse" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" - -[[package]] -name = "idna" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" -dependencies = [ - "matches", - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "infer" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64e9829a50b42bb782c1df523f78d332fe371b10c661e78b7a3c34b0198e9fac" - -[[package]] -name = "instant" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" -dependencies = [ - "cfg-if 1.0.0", -] - -[[package]] -name = "itoa" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" - -[[package]] -name = "js-sys" -version = "0.3.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "kv-log-macro" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0de8b303297635ad57c9f5059fd9cee7a47f8e8daa09df0fcd07dd39fb22977f" -dependencies = [ - "log", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.97" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" - -[[package]] -name = "log" -version = "0.4.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" -dependencies = [ - "cfg-if 1.0.0", - "value-bag", -] - -[[package]] -name = "matches" -version = "0.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" - -[[package]] -name = "memchr" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" - -[[package]] -name = "num-integer" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" -dependencies = [ - "autocfg", - "num-traits", -] - -[[package]] -name = "num-traits" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" -dependencies = [ - "hermit-abi", - "libc", -] - -[[package]] -name = "once_cell" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" - -[[package]] -name = "opaque-debug" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" - -[[package]] -name = "parking" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" - -[[package]] -name = "percent-encoding" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" - -[[package]] -name = "pin-project" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c7509cc106041c40a4518d2af7a61530e1eed0e6285296a3d8c5472806ccc4a4" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48c950132583b500556b1efd71d45b319029f2b71518d979fcc208e16b42426f" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - -[[package]] -name = "pin-project-lite" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "polling" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92341d779fa34ea8437ef4d82d440d5e1ce3f3ff7f824aa64424cd481f9a1f25" -dependencies = [ - "cfg-if 1.0.0", - "libc", - "log", - "wepoll-ffi", - "winapi", -] - -[[package]] -name = "polyval" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eebcc4aa140b9abd2bc40d9c3f7ccec842679cd79045ac3a7ac698c1a064b7cd" -dependencies = [ - "cpuid-bool", - "opaque-debug", - "universal-hash", -] - -[[package]] -name = "ppv-lite86" -version = "0.2.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" - -[[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - -[[package]] -name = "proc-macro2" -version = "1.0.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" -dependencies = [ - "unicode-xid", -] - -[[package]] -name = "quote" -version = "1.0.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rand" -version = "0.7.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" -dependencies = [ - "getrandom 0.1.16", - "libc", - "rand_chacha 0.2.2", - "rand_core 0.5.1", - "rand_hc 0.2.0", -] - -[[package]] -name = "rand" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" -dependencies = [ - "libc", - "rand_chacha 0.3.1", - "rand_core 0.6.3", - "rand_hc 0.3.1", -] - -[[package]] -name = "rand_chacha" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" -dependencies = [ - "ppv-lite86", - "rand_core 0.5.1", -] - -[[package]] -name = "rand_chacha" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" -dependencies = [ - "ppv-lite86", - "rand_core 0.6.3", -] - -[[package]] -name = "rand_core" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" -dependencies = [ - "getrandom 0.1.16", -] - -[[package]] -name = "rand_core" -version = "0.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" -dependencies = [ - "getrandom 0.2.3", -] - -[[package]] -name = "rand_hc" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" -dependencies = [ - "rand_core 0.5.1", -] - -[[package]] -name = "rand_hc" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" -dependencies = [ - "rand_core 0.6.3", -] - -[[package]] -name = "regex" -version = "1.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax", -] - -[[package]] -name = "regex-syntax" -version = "0.6.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" - -[[package]] -name = "route-recognizer" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56770675ebc04927ded3e60633437841581c285dc6236109ea25fbf3beb7b59e" - -[[package]] -name = "rustc_version" -version = "0.2.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "138e3e0acb6c9fb258b19b67cb8abd63c00679d2851805ea151465464fe9030a" -dependencies = [ - "semver", -] - -[[package]] -name = "ryu" -version = "1.0.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" - -[[package]] -name = "semver" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" -dependencies = [ - "semver-parser", -] - -[[package]] -name = "semver-parser" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" - -[[package]] -name = "serde" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_derive" -version = "1.0.126" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "serde_json" -version = "1.0.64" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_qs" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5af82de3c6549b001bec34961ff2d6a54339a87bab37ce901b693401f27de6cb" -dependencies = [ - "data-encoding", - "percent-encoding", - "serde", - "thiserror", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sha1" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" - -[[package]] -name = "sha2" -version = "0.9.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b362ae5752fd2137731f9fa25fd4d9058af34666ca1966fb969119cc35719f12" -dependencies = [ - "block-buffer", - "cfg-if 1.0.0", - "cpufeatures", - "digest", - "opaque-debug", -] - -[[package]] -name = "signal-hook" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "470c5a6397076fae0094aaf06a08e6ba6f37acb77d3b1b91ea92b4d6c8650c39" -dependencies = [ - "libc", - "signal-hook-registry", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" -dependencies = [ - "libc", -] - -[[package]] -name = "simple-mutex" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38aabbeafa6f6dead8cebf246fe9fae1f9215c8d29b3a69f93bd62a9e4a3dcd6" -dependencies = [ - "event-listener", -] - -[[package]] -name = "slab" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" - -[[package]] -name = "socket2" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "stable_deref_trait" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" - -[[package]] -name = "standback" -version = "0.2.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e113fb6f3de07a243d434a56ec6f186dfd51cb08448239fe7bcae73f87ff28ff" -dependencies = [ - "version_check", -] - -[[package]] -name = "stdweb" -version = "0.4.20" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d022496b16281348b52d0e30ae99e01a73d737b2f45d38fed4edf79f9325a1d5" -dependencies = [ - "discard", - "rustc_version", - "stdweb-derive", - "stdweb-internal-macros", - "stdweb-internal-runtime", - "wasm-bindgen", -] - -[[package]] -name = "stdweb-derive" -version = "0.5.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c87a60a40fccc84bef0652345bbbbbe20a605bf5d0ce81719fc476f5c03b50ef" -dependencies = [ - "proc-macro2", - "quote", - "serde", - "serde_derive", - "syn", -] - -[[package]] -name = "stdweb-internal-macros" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "58fa5ff6ad0d98d1ffa8cb115892b6e69d67799f6763e162a1c9db421dc22e11" -dependencies = [ - "base-x", - "proc-macro2", - "quote", - "serde", - "serde_derive", - "serde_json", - "sha1", - "syn", -] - -[[package]] -name = "stdweb-internal-runtime" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "213701ba3370744dcd1a12960caa4843b3d68b4d1c0a5d575e0d65b2ee9d16c0" - -[[package]] -name = "subtle" -version = "2.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e81da0851ada1f3e9d4312c704aa4f8806f0f9d69faaf8df2f3464b4a9437c2" - -[[package]] -name = "sval" -version = "1.0.0-alpha.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45f6ee7c7b87caf59549e9fe45d6a69c75c8019e79e212a835c5da0e92f0ba08" - -[[package]] -name = "syn" -version = "1.0.73" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" -dependencies = [ - "proc-macro2", - "quote", - "unicode-xid", -] - -[[package]] -name = "thiserror" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "tide" -version = "0.15.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8889753e7e7b9d1ceb7a67e7df8c3994b4657082219d78eb379f71fe2934e66b" -dependencies = [ - "async-h1", - "async-session", - "async-sse", - "async-std", - "async-trait", - "femme", - "futures-util", - "http-client", - "http-types", - "kv-log-macro", - "log", - "pin-project-lite 0.1.12", - "route-recognizer", - "serde", - "serde_json", -] - -[[package]] -name = "time" -version = "0.1.44" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" -dependencies = [ - "libc", - "wasi 0.10.0+wasi-snapshot-preview1", - "winapi", -] - -[[package]] -name = "time" -version = "0.2.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4752a97f8eebd6854ff91f1c1824cd6160626ac4bd44287f7f4ea2035a02a242" -dependencies = [ - "const_fn", - "libc", - "standback", - "stdweb", - "time-macros", - "version_check", - "winapi", -] - -[[package]] -name = "time-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "957e9c6e26f12cb6d0dd7fc776bb67a706312e7299aed74c8dd5b17ebb27e2f1" -dependencies = [ - "proc-macro-hack", - "time-macros-impl", -] - -[[package]] -name = "time-macros-impl" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fd3c141a1b43194f3f56a1411225df8646c55781d5f26db825b3d98507eb482f" -dependencies = [ - "proc-macro-hack", - "proc-macro2", - "quote", - "standback", - "syn", -] - -[[package]] -name = "tinyvec" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" - -[[package]] -name = "tree-sitter" -version = "0.19.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad726ec26496bf4c083fff0f43d4eb3a2ad1bba305323af5ff91383c0b6ecac0" -dependencies = [ - "cc", - "regex", -] - -[[package]] -name = "tree-sitter-jinja2" -version = "0.1.0" -source = "git+ssh://git@github.com/fishtown-analytics/tree-sitter-jinja2?branch=rust-bindings#3a208bbc068c3e2f0aca6aee5edf65d89eff0287" -dependencies = [ - "cc", - "tree-sitter", -] - -[[package]] -name = "typenum" -version = "1.13.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "879f6906492a7cd215bfa4cf595b600146ccfac0c79bcbd1f3000162af5e8b06" - -[[package]] -name = "unicode-bidi" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] - -[[package]] -name = "unicode-normalization" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unicode-xid" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" - -[[package]] -name = "universal-hash" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8326b2c654932e3e4f9196e69d08fdf7cfd718e1dc6f66b347e6024a0c961402" -dependencies = [ - "generic-array", - "subtle", -] - -[[package]] -name = "url" -version = "2.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" -dependencies = [ - "form_urlencoded", - "idna", - "matches", - "percent-encoding", - "serde", -] - -[[package]] -name = "value-bag" -version = "1.0.0-alpha.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd320e1520f94261153e96f7534476ad869c14022aee1e59af7c778075d840ae" -dependencies = [ - "ctor", - "sval", - "version_check", -] - -[[package]] -name = "version_check" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fecdca9a5291cc2b8dcf7dc02453fee791a280f3743cb0905f8822ae463b3fe" - -[[package]] -name = "waker-fn" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" - -[[package]] -name = "wasi" -version = "0.9.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" - -[[package]] -name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" - -[[package]] -name = "wasm-bindgen" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" -dependencies = [ - "cfg-if 1.0.0", - "serde", - "serde_json", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" -dependencies = [ - "bumpalo", - "lazy_static", - "log", - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" -dependencies = [ - "cfg-if 1.0.0", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" -dependencies = [ - "proc-macro2", - "quote", - "syn", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.74" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" - -[[package]] -name = "web-sys" -version = "0.3.51" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "wepoll-ffi" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" -dependencies = [ - "cc", -] - -[[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" diff --git a/demo/Cargo.toml b/demo/Cargo.toml deleted file mode 100644 index 8ad6b24..0000000 --- a/demo/Cargo.toml +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name = "demo" -version = "0.1.0" -authors = ["Nathaniel May "] -edition = "2018" - -[dependencies] -dbt-extractor = { path = ".." } -tide = "0.15.0" -async-std = { version = "1.8.0", features = ["attributes"] } -serde = { version = "1.0", features = ["derive"] } -serde_json = "1.0.59" diff --git a/demo/demo.gif b/demo/demo.gif deleted file mode 100644 index ace112f771b9a060cd1025ddeecbe066e25e8e15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103079 zcmd4330#c(|M&m7uGyQZW~No^RHHpc9732@qs>IA zO0+X2w8@k$gi57UWM4x6E6zDz=bZ2T{r~R!fB%2?-Q(d=kD}(f^7y>o&)4g9y_c`B zw^-;s3>8580MMBty4bm`wy|Q{na^UNAb@=86B@`P?@f_EVEV5`Bku`VED?_*$;c>> zNUHMks$_Wu1qBT%Rb5?OM_HM!s-mx|YOJo#(AL(~)ip6OnWw9}aOTV3C zyLj{%-qvz^T6xc>6X8jA&MEiBesF6Jy-YGY&L=;-L?=C*$QdS7d+ZFY9s zS<82@Si7AZLtI=!*(<|cT{mso6c7-wd-v|JurLrhML0A?_BR|n(8xW=kKataYj1!0^y%p6==jH}&x3<+khjlM z-@bjDzWIN=;ikA@yhwgjbWH5wxcG#`q$7f($;VPskEf-d$jHpfK6y%*lbd(?%-Q^c zLQzq1N$ELpS^4>j3l}S^s%vWN>MvcEG&Ejmx_a$;b4zPm`;Cs9($211x9{A&*M0xN z!=6WvpY-TE(5L3p@*NdTxQ zY(D?2D1OEQwbtsn11x2JhA_CId~;6PoIUzkyw#$cMea6t{LTCAloHf(EJiY1Wr@J7 zK#uC~&1}OdPf7ZN=j0yFw%Weoc534)vZAu7!;1(9)|O7IzzuF@9%ruN4S&^hJbrtK z2`ejMxfn(-6pusQW*;W@AMP|jS-fyX0U7s8O73))WTo>~WwQMcaVHmp2W|v;bB#T( zv0r`K*`PESD!h4DcwmSi}eMCqdMEM)k|)Qx@HF0K*G$X>o;W%?Q51cu=4Td>5*QnSgSJ;`^ zw{~j(#xoVyi8~;vaH;7EgT~Z#xv{6>)(%#t2e@x2T$|+k9u4o4+i|y%W=10C(Cn9f z0{HRNd)E?qS=Gzoal&iZ(OH9=?qk&0Ju@xdtZKQ|Y>l-;dG99f7%Jfc^*5`pB1wDf zR$8b%%La8-wBIJbv>aWPy`{BlgRiYFRL3&tj{ke8djYEoPm_-g8^ z>ek{{*EIHxy}C||F@4=kPYZnAVwhk2y4AFD>~$OCy6KztdG`X}+^~37{HDY5$gUWT z9cZ(+Qd^bnZ#!8AC2zZ&7L32W#a?dq?zY>y?eFfmZ!LLu*K?m&g~mPxHAdMZWc&O3 ze)%Qu9|Ts8zke8X%6YFwTzd{iV?np@!{hJ|;~$=IakD=5@>Od>PV(zD{Y<~Yp8@}`|YCtE-i(m1|mb=QbZ$N9kb0_uFQ09?K%8yN&J~u7EQ|Lkr zy8H@o(8C*L`E4-ky+!+Y@ABB!*<8LVM~BLo>A!HZe4!CvVG$iKvsS!c#ZCKN_wra2 zSV11gfdr_&*GDG<#oASosI#; zyNXTxyeYroStkjr$b1bxkx02B+a;Ynzvqg!`ik?*U+7FF z^Fp|UU*D8&No-lU%9n2NDBYGMXP&g}_EQBN26tYPAyn%VS=m_CvgTU*F(H5Tj92SY z=1Yy`1I6oRANXX>X)IT0^WD;x)ne=Kah`nJx9^wA6F0PWtj>7!MSsEiYTNB`$4>NF z8d$VcU)d(Ql{OOo%=oF%P5Z9%C%4xbEIm?i^T0{*sc&Q2OjL%=-d&y9=&$)!eX&x$ zOmNP*zycd$#-+U(yK@!Sre{M@Vo032Op%L3l|8`D!ae@7s8LN)Pm7g)caz&f|A3dG#+6vEffA6FzlS&Ujz{()@MN6W@u-%hx~7=Em#vLh^YMtQ?l7@FgBI zw@O9s;KbA{UDG~Kc2#3#6(c$zr%(1~?iH;hOsvh9ILfgqCHyZi`D2IwkK*tkLRf z%Gyh>b<2wfZG)=YVm_LumyN7GoV34sbLq&5J32$Zyv(@~5dG%FpyifDk@q{iuAM*r zE`0OS)%S0@Vk?eeyatlVpRcpI?K!)%{H#nvuO;pc&RF<-%g%WMI#1Kb_1v{vb2k@cSk=p}w$YI(xNGQabmMto)gtEU(uoq>(NWw>wOeI-2U#~f zN4FL0FrB+w${eSv6jo{->Are*2lX8{wzfft{k8ex#mXDwJHjR(_R3XOU3Y%5D|51E z*rl@O-i;S~YbPH~BvsZubAB1RuNFHeR!g@>7-iA~ut2^_f^(VRsekFkudHfR>6nOK z{H2e4q^illvQ*;HFqmJ-j#-Z9p%W^c3*edn_t^7oKO|{;9kf3i?v_JgO1epJahR_^YH77kejuS zKXiP!H2L)0E&ldOaHMX)VCARQ_1|8n->e&2aPw0~ z*ta)A`TF7ID?fK-etTQ6vi|wHo1gE>>!IbjZH6_evvpger~yF{_zmnZ>w$wGXf0P1 zqE~*=y?^A@Y5|Nluf{JfaHN`#)bp536IM4Cri63rNjtxeJ;Aum+ZnfKR$+(=Vfo>;P&^y zNj?Xo#Y$#Us}Yq5XGR3!6*?3G^_AGBXNvDP;Z&-0VuB0?6jXRTyuKmcunPBnAAWSF z^1wPg+K+p^VcF{5DcGzR?K00x{x#6!Kt>k!G&0-@>k%uo?^{zBcA~S(w9#zrjd?kvmpXII#Qw`&rk=_$Y?QjW}ljU)d9ewhB0HT zcNysRqGwy8{YY=Gh1)Ih00yO82*I8Yjb-(1DMhj0)nQf zXZx%dc1F=|8-#(lupo*a8w0s2JojeBdYevEQMDTrJ#`O6zn%qxmWOc<9G;-{oUujK0vF(&mF#@t!i}Nz@NZ(+|KW zV$k556rKLbKu3z!T&S_{*XUzSrYi-}Ukuk5cgB7aQ{SRAdKB&e47yrRIqASaAwRF)rR8-_j_r5|MO$r$gKQBtM99d4|fFd9mJ~ zPV6_r?3YHGLusw=B6Y>#JdUQGSVM=)pI4o|&=tbk9yx^vGywBlF_o@SU(RdjNnj(t zQzs)%t?4|5qNT;t6qEt%5}d{BO*uTFq}&T{XVHo~Rd~HZvV%I@sAVR09FNSNlaoDT zzd;$rigLnhjRe+}z|7YwrexZeN<(LXyh{-IS{K~1b_&0Sdt$)@J^d5Pw2+hYny^bm z%aj(uW*nzEHTW+vCuj{PA}7!v_TjfQL?yv?)djStJ5O&JfZabP#q^#&`blTM;PhOF zxZqBuGxs-&M?$6Ivw_b^dn94MEy@q}$ln{9ACi%OgNqB6<{$i=&s8hnEh^x96hwy> z#AX!4)f6N=C`kHTAW$nzUR0RkQFuJGFg>F%G7gu>#Q9GY3e`lpi$teAL}x=q1sNhy zji~s6sPwZ)tX5RMsHnoD=wfJ5RYp-wP0<+#Ty|@bM6I}SQE`(;@wL$6=8WRjMa7p| z@h5AFrD`Qzi%M>Ll-vz1x$~enexkVhLCNFKCB14>rTvRat3)Mnl9GXp(&sg$V-HGS zh>C_X@WY==-+G*TAA0U%T*<3A{F{t(-#(uM>SDM}G#QHjx=4)A6wB0#pL>X-gTx;_ zuufw1W{J2i4(laEdvnUpt6>erWg4UB&= zn7b1y^T1k4F+?I7h*3Hw<=GxsAcm}iD(pGumII(g!*1rFE#pgO0g?YS=AAk)NdU^r8z}gQi6M#iHL#M4Q-Exu2_YJg~{@MVyBhOFgh5L=ng2;^{c- z1qW>QVo}6mQH)9TW?EIw!>aOa*y2plmfo7w^)*G?Dus(`(;Ta}P8Rwv#s?Ht=ZMf~ z4qA&rwaCQklOYEw(9^l-$Au+4cuQ^FjmbJ;Yq^QA$XaqS(h<_j0UI*02Ey`F&rxW0 znKctQ20?m#(5Y?MF7->acobSPgBd1@TP#u+LpEHXceJ7@pssnc(4KQ1&>+{vlIuj! zl8N2S253(083!OsuJspRvX)ljxhQWYuwh(q3Xm*~hwV9N2OwH31bS9rDH}_b0QCT@ z3V8}jGZA^wAUz$3R(olD^3o||Xr>hPp|;YWfmLTv@u0?^)?{l*jh!qUbp&WZqfiYp zoIrh0hg8R^R#;Mr(rPC%q}K@?$xSnXNLx^MceKuXvd~8eEl|H~Kn8#bW<9LEY=RFM zg&ZfY7Z;%c7mxs2g$bSd3>l0o+&JxupOab*Tg?>Unk+gdEVt^Fjdr_-R z(6){WgfE4m0Tt&+6^>*upVYo19>@eW;swZyZpD+^&VMP)(*P!ta*hD2$OOy8=|vJAjmFFjQQ4SKf4_cR~z z#F~wxJQ--6?J(e?JjD=1zA96DJxqLYUIXfsakC7qN>hB}V%9a=QPdVPPzNGwuQFHJ zh766%>uZZP2h~Ab6eJ7gW@3H0EroThryjJGlED0)rU~K=o$Xb4@r^av*UlO@I*>#! zh!xVhcIRyD%51C_85FOdLT9w!cB#K{N)4-=EgBw`6hCaUohXzQLjK$il;r#tTFa5I z*M!DcAiVFHeR&D_#`cHefXTPF5mqKH@Ac}hki zG=a`~i9*#ogrdr;q#N6bxBO|h4wJyDl9u}7o>LB3y(}yz^RiXI?SKII_3$1@RdMnBV8Z2%t{&IIKso^)Xo>MYdu?FNDekV*8 z_%a?J90vz#Z`aHA`g3{@I6fNE>>JT6@@2v!o@JZ4z}TdDLwv{M@%kRK2b;6eV_(k; zL+g^Zi>?RsQoxj?;7jXNb{~oJz>i&4uhFW-1lW?N3oJzqnj$>6*FOl7cM^GX&dZ45 zL+X#1mpU_KA9a~M8LO|l9#(D7?)43XLoF-xm(~Gt`?hwF+lnzgcnJhu)8-Df#ob~q zy%6OH$%^j^MQ}+L_MB5?ec;ed&j)Kv(C|{xq>0GEWnl9x5ruQff8u_&X)||e(NT?# zMF7}Ip}@qB*6sbL)J36k<&SPW_U*Y}5L(A%3?F*0=nORIqtGQ0Hb z-i9fW&B>zGj#%xIPW`YuGs$EA67=3LcY{ru_h?>53r9Z_!Jww-@GQ|CEs+)jWY<#|asptHxX>*wbI3dJ|EvbA{Rj z%3iwz92&|Cg_o%#ukhZZrJ{PLyVb3zWfPSS3@O>E*`XJ+BCFB#ALflRw%Ft z?I4ELiz*F!FC5qNny`?6~D< zN!-Kbpd2rGo&OxNkYap=-ToR_6dCdoT(QZ=xsjc+e5s=b-p39hzdc8p0+FQw8Y&O3T}zdYWb=KvgdG5*$Q07#CJQL!;T3Es(RPEZ0sEsos;v|=^@>lk1d zV;>LjJi`Qv7hcO7tr9a6EJ=%XAZ4m;_Fo2$CzG_(ro5>M&`DlP{Vjiff+Y_>Ge))Q z_Doc!f)CFgpMbaLdB$g}Q+e8?dT&amEN`=BCduaZ6hO&nuqLS4OYjQDPON;6#N0EQ zV7kdR*M{pIN9rptZaXt;0H6G8|EpWcn^abx9pRaC(vm@&AtjfeK-UHwnefAg2`;H7 zda$$J+4!qDHf_NRtH>ho5V}0fJ+WJVMwu|SR zmr+&mCL25I_IE!`%X2*CQeX3KwEKL(laBh@4=;PK#A~m-RQKu4@U5baH!sysewcXL zc53D2OJ65Hz8QUT^YZ1XDS$QX<)W4SdL!`q1-(4d{Ndh6vb|v+UvaHpUzF;Wg1%^t zy~BMmv}nWrSY4OCMk0Ico;}gDoOM;ften-KFz>E=wjyreBNxBd=@|@^-PsKXw*hh^ zp5@YsPS$e++(fqhj6ns!^wt%0l|WpDZ%WnnUTzLXL+LuJ?qjW&4dt+p5Un7PNxYw< ze_#Xe6a7TU(Egkg_zOWy>s53~3lTr)ikTt;w;Vrfv%uGq6H)p>lC0-1M62-8JvKIX%E|7#6D1K$DNx0vD&l>slfzsK`_s>lt+^l;~6A8ag zFs;e40zn~h1td|}bH~agtY%iz=(+AKMcS#eV*yu@00l7x$|O!h`9A%W7!06KG*-M` zQzX6c;BLU|@GV0+Mwx)ixO#cDTSVzPH@<|R^rj_~T>oMIn0SA9O)G4z#AK_S-*e$8 zz!OjtgJ(vTBA)G&SJg2M+s67#iQ6k6Ob*^VOF(oMdtX<>8LIokDMQc8vgtUp;Jt1x z>#qalmwmPt{nqNcn;o>pE2c1l7v7_px4)5IOFj41duatq)V(yl_ubhQCZpFRz86^e zm2-5t{s{UQnK}OcQHXYxPr~eL-PVu)lWF^DFnw$3r=hHUFFrjJ#?1QsSJSp8c5jo` zq}KlCrIVvoF&~=nIu$fVq+RJ}7+>@td-B!28J53A=&;s;8%CD3jYtqpk)O}fni z1sdO;nX7XrN>+!tMt0fWD;l9?Ci_1gRs0~F8T4*sgLIDL)027I||?Y3qaPFEHdoc7krpk2WEQ5GNglBW;N zv@`Q6cMT)osUWpj*_9H&q4g|`&v2?GD`$sig^T`z`%F()f7#Fd>38JFys4RSu?dD} zW+=ftD9F`0+BTg+v1XdtNw>|8o$0e>h2yKKzF3SiGi8?78c3P-+-WaMa*h4TalP#M zwR(yTC}Ap2DUOQ~oYn+139Mqt0TUU0!3DqG7`x*gqC|$$sO4Cd*j_J!w++#rjafXe z&*|8hcUA_CH)v%n?@~~paP~~JN&*u-YeHL{8PwtbKxp%X!| z&Y5&BWbO@rZlFQ_gZnP|Oj!{-#^H9Z+PealvuIUX>+Q3P-W9SFMQ-^HcSIiVMD904 zYb#stl!m@5;*_ksIlOu?zuBlb<-Co(%>?Y}^$g>5OZSsn^+^MkEZ7sI1hmA58%)o_j`Q|R`!5vYxJ{@mQe!Q%c zza}}p>SB(@y+l{bD&3t&gbGtj_4u1C+h<%qe3@b&8>`gs;J#z+Rv9bCQOddq)W_Lr zTLuS{XZQFL^+@zq|RXvN;JGeA4lX!NGG*YdE5EwUH&ULK)^8DUG+y$Fs zcGizYs!P}j{l-(`*8B{$BxQNA8x!nI63(Q@ob5In6}LbfB%`!>i`QtK%#m+ z06)_z9di83g z0`Md14-O9g5%nXnd_qFPv17+FGc)t@@`{U#kxag(rsnda=_nq#qSn?{9?XWG&jn_9D0oIiUb(_;7Yo|g0ZH>XZ9BV{xl zDhfLDSjUXLS}O`~<+JlV+L;$bcZ%H4Z+p~wq3GT@4l)jALcIIu{cef8+I}AgvmGmE z@#T?m@KIakxhI#o)8k;3xbKSgJi`s`Rb@}F3y^Wpsk(fyEq!hPxuN>}vztPjcrE82 z<6zMSGi%Z4_i@m<_Tu=%s_AL4w({i@YXvebh$DxEX~)?X6;Y8WjC}I!opN5Gv3MD( zshE8ljzr5^NXytzM3%k|7R32L+_!Xfa)`8ChZ(^@uWhJ2a_CMpL_&lED3Qtlkg?z* zd}R@&r9cA`&9E0Yb^>S}2cdok&-AIjXuAXk6Sg*8kVDb5CDX7rp1oYu=zg{pUQW@_ z3QgxTtngZvy^?Sn3qQ1yEaPJo-^QNpOQAVUNFrX&XlOvYS?e~TMTXT8R4u^OBj5my zN%cB7V<_D&RtF8?X>%ZeHVpz9vVhBk0fWiIKr}KF$f1D*n`lc0(4k8PbczO^!G$5k z83IH2kq->&J=@Ua~QAA ztQo{7C2%4z6??h8Ds(@08NzQHq+0N`Ap>u{({!Q)Wwq4M7E<*fve5EC%tTWZS#YH` z+&^V?YF&lOAms(syIEBSWHe=JacL4%o6auurO&V1dWxcb9e8CF{KQtUKAHTYb`O;T zP~$tvI+3uOG`4|`W<- zped6!W@&wMbr5++=53$F)&!0X9bq#EtlFsC5TPsq z^OOVtM*>M|l#4)h2Vs06fIXBdcke%kS6hT|^E<6&K;odI(Fc|&iHBM|N9wV`l$Aw zXMC&zg8YA+@fx!uzn}5b$p6O~KW{6(V0F=k8#NbxI^#>14gWafCDX)TSM};?^D)#t zNnQ1uXVRaEf0h^jAH=_8f9t;`ej1ZNW=fzK4in&=*a8Pt4GWlJRomT&`Oze({s167B^l78ckZ*Gy@nm%t-TE>O3se5BXw zY>THNdZ`kjK;srkXl2Y|yKXOAh%n#)r}(p++iKQ6$=E~rRgNurh6&c2|BM%@wTOTT zRoy||ZWCBG#Hwi9nVH|behR5FN*|vydXY>vQX$$NYbs_f5Lgi4d9s8Ql7}1^g7?{2 zUtNEXXNw0}3;B{bWyp-OLid2}XqO6@q`>>wFr1Na7th*x2LO8REH(==ti;;>ouv(A8KaW##_P1)CqLP zMV)YQ=v|oz)Pksr)tp&`VqGrmGOr?Op~D&|Jmn2Z2!c|BLLICnXJqV6$rzzZk_SNf zL`CSDJK`%QJV9)lInV%5`fji0j(vPnO$jv2JE|XNi=NHf2}mODS2c-j+#DLbRUo7? zfG*b0;|NURFz0mfMR;;4s=}R#YV<~v!V?4!1Guo7Budwb0}&0c-BoO1IdPbR{s}#W zuD4|}cD+#wLhWy=Y%{e)CbS+=4Ay<{YlsArKKCe84C0=p=-~f_1Tu(RXalY9^dci8 zL#0wRG&B$-Fg7+u+I?BJJNjd-fbSaDdO}$Hm1VJdl-@^=C&H z;ejhxuC%we-@bhtA%TH`fw8f%9}IxG)oYOC>whwTxs_)13I*dMth&uX$B`K3X!^M6y*aaUrlT+M? zKikn^R7IMtCRHUqg^m0I1hTMv>PaUJaKu)Ya4Mgr1+?tsaRp*qk!A_DtWpn>vr_^Z zm1Qb0pxTm3?9f&(WtbX`bo(-qR3^yTYv@0wrTfrcrVFRWyPMn`4VtP%MbS zDA5Ef6m&?8sTGQymhMeheE8g}SV&PS0cguebewVdur47dki~}qt2+iYe-^}>w~B9Z z4MMYRI%cgP`_lm{nE_iaNoH`8JcG#)N}j`L!pK=nD6g0}tQ2W9Q*`t=ziu`~y&h7+w|skNIbFH7ApC+-AY0}=BTrpEj{flMD4$h^h# z!1dwut3Px$bv`1(|I*o-X)Mc`#xn7PH~PP089x#UrWAi*+32|jxz2cGjGxHoraPIS zkD*C4v-!(C8AU1J^dddVWBoS?JpO{$yvYcSx#HkQ^dbLiYqt9kh5$x=)X z*#=&i?XI>NvXdi8=oCvJfho2$c>;d+!o#@IReGnX>Ki8~PSnsL5iWBnLl|Y3;Q6{` zWk%zy0*wUlTbh?kIPHd9!o#==*69w2&e~pSI1((wwlZvyp-5mGu_Lbz(buW10$SD*>jxyfu)S1upYHi2nSm1SN%i6E%2*py z_DCX{jIdcr@`Rp=eN3a7)cFIe17O@XfJUs605$FGzNm|?Z> z5iD3lC~8{_V6~GqQ`|xvt=AC3`|Xb^B+e%TN|ye&r+SH#y8OD+i_OlRwBwU+-jT}B z86#f@a-m%K$o9{a*9XTw_1g1qzWo?uuh9TOwzR{aggKO`-=bA1_h7pL+K7dKFaHn9s-e52loUYf#3$_c-2SBro% z=x9fuF1#vDlcKwVNBbcQW{8DlS_oi>iZnQWHwS+>Zge^w@dtl6Za?G|aooJTybxIk z3=Bl%H8eEzhrFhyre7jJ zXXQ}tw(;{$mo8u9`HUkF+kb(g93{{=b*q5o3bK`$R5w{=d&%H2NSLf8XHSuwwnR7Z zIV}IB%G?^t?E*~8&HbtS0eN906Ecj;AcL(Wuwk#fvys2DHpDi4k0%KM)8mQ`me8wkXu8Z zzBMom%gM?8m^_fjmJAIIfBEH?MT-_KU%ngxRaaM6cXxN>*7*DTBey0bBm{9Hk;&ue z(WA(%K_(C6)?B!70hv4y53-}9CN6Mn`iNMHJ85k%RfB#Z&yF<3r}DD)YKHLknkI~AoCk% z_wF^=D@zu4_4sq3?{`CP`acR4nI8)NGC%xj&Hjw-KU=eZK85w4=Z7EG?0@h4V3#@Sqr(AKd06^TV-$_jLyoo=i@yJHUuf6fny%UFL}vwzGFhwd`}ux9_9A2iqVf3jwO%nu)fE;b+gK0o{o+mq%) z5M0p}jOygWT)AH@EZ7s=aD{hckBDVrW&~eHRe$*2Wp6>044wq+@TdgyDD&4wWe}{z zDYF8Yc?U5*7PMXknyC$jw+(^txd?;6f1dW?a z)oVg)@}-*(Ifj7gVzo4ny0^d3AgOOAO_o6X67u_m5cYjS2x9$g+-mg907#iOf94+( zLd@?I!lL7$NLu?=R|27cP@kfxDhS}2QxT8uvf<8#v-ETo|0tHm!&Bu~=|m7_OkE^F zDRGSKaJS^FHY9vF${ohE(j;b4ZNV~Ak^^&+S&aoYiW9noIZ4zXB#!PC(9R|1g|PkS znwqk-OKnx)XXLQhr ziOGJ>vIa6lXf~l|78k-^KSolCP^VtuU_#+4zRDk$(~F2 zhV4}^`xEDa&03VH#s$narP8^x@l&VMdL<;ZuM&Ts!r}u8!U`4CKhi!^JqT;432*MO)dl>S*Eq zhvGA)5hDDP=pWBBwrn@q%}d0ElH@`(v0x$@q z1aywcWS@TqblVTA{ym^`uoLC{J)m=3TNL{b^VaL4=05_uX%(=vK+bC1H4Y8<5HLWq zI4DTiYc)7CbMc|~jGT%QBAqdhC0*F0MpPn`f~Y>=xuG%$cPWP=VvN;cML!0Y8}PXC zu)4uci2LRlkws_qav?6fU88*m40AC?)%zkBGC8)}fLw}T!4asQA`kQxPXJD2vK&R# zQoUPoGd4FS4^0t}8`0m1?y_u7_B7FP!)<~;cu|x#G*9&*NGDuR)kxp+n5+;? z=0&}q32o$kN4i-s$V-@~oCEg0fyjN7w-m%RUHDg;LtInl0gY}|0I^@p*ZKXdwzWrG zQ_p?hL$<**Z#mb71RRN>I~}s+hYV8~+$;@xXV!tVnftRShmy&LATpV`af>xy3SnSF zfh`WOjBPiMub`n1s0>7dGuQU7n+Y;5e&F&S%DOW5Kg&`6{iwz!i;cs8a46!~P*f%V zoQ;Kw7v5Fh>J*NKpO9=$P}><;-sUskHdR%|btvJ68dMZQS6zX?+`u)feXj{@t5km( z$`mu$I?xDx2BA5t-HdH4blvMN$Ht4+Ad`QY4me!V2wa#657wVBqr8paPT*yTb6^Os z*jIqre9^B7UPz5#P%v~Uo$%=EmK~`FM76%Pg(nvgG9%d9Bz#grA zHN$F%e0OI+(@h^0S_LKLnz1dc`P6Leu_jS6i;5+MH(^udyf^Gt#J@U=(cA6JyLTW7 zIiMqxosk1N%fgzk2ZD?#Sz+HY_gr4lo7H0{)vTayUTg2)fZO5MJRW;~W@pBM7oY;g+huRNNIw_Vj;Fp21Azg|tX_K3HCBet zVNtSz^JWMw@uoB9+QrWy>qjzEKVy`@HFQ@bbQ0fh1KX@w_Y-sIATKfFU;2SC)t?mc z&w|Gf7ZNFWAh?O_a`=-XGBPs$S@1wyNQ688yY(Yk_u3x?k6<;sRo^MX%ww7&Os6R# zcSLbs@DqLo-t}P7>V6EMIqoUU%L_n8?e>+6eL(B1Fj;F08;jOje=y;Mf ziI|#xHs6MDnyv@J@$$JcX9_MH&&WC{F0Z(FX^%2cr;|`e%9_q^x!k@@7DT8XXqIig zaW7ae(y6WcarC1n{oDGU{@+LuKNURwq=@N)2XTw)_kzct6oC{xIzY~kg2x{effPK{ z8e@>Y@87~dd9_`?7d-yuLjDr#j<}G2r3e*D)xWL#`cBtExYMT+k;F0t8eRfYZICKIMAV>h$v0^N0CL>P01mYva~T>IY5)oi>i)xfy#3*D0!AZ< ziL$;O8c=FOpC$`*H5!AZo6wWdB*B=jgC~tdm`sfGq284{W(EwCKqIzF>vPND^knH2 z1kU4+J~>JyJ$GQ>i{nc%B{2Er(PnY=Q!++zMdQ(M+XF9R4wpP~XYthbZ zOZ2?cd@?h6h2L|lGxB3NZ;Do=sX5`UHLAEyqk@-5#(nriLZE_7!YyeE% zkij*oayTVQ!PK%Bu${KEb-T5D9sf2WR6w#+J;w+yqj;jZ**5UeJN(AlwuXjGTaEZO z8`BB@A7l!$w-P{NOL{R)0sFGKM3<1d*Roc7sBWXgpeH?Wka!-2 zyS`))a7q_aPVAd#hw!Ej0PeEX+YM~pJ@y^>G&p{^CVBGf)a>yPWlCd$14=MS#(SE@ zl{?w)2)UA?UN)=Inm)0Y+IFtLj&gTHP(&jVFfh^afsz;G-`pp6=_=Qi7LUbGqr}6{ z>(LOVIVX`^^40|X<+c2-5gL_wE1z;LQ$xWw<I}75XQ4oEjE#5i8j|FW%7hqT>&E$LmNyVcjT0gieM5IXTY3fr@0puZ-(Ajcj@8Gxpl+3|MKrFke?R% zpR@)^yquhz{^nRA$>Gmh^CLV&SOw9`Kg)#wXS8N%+#h8^zc+@{iB|yc{OK)7(d2@7 zB<|+$yxq5Fgx;A5QG@^|`Z$xrh^-ssMyvoT)_SlkT?HKEB^|NmTWcVP$bmzG4F6=h zD$ujWCT5<=ilS?R?R5C`SurP@jwaBk2`9>GT~hY!k)vy100DEZu7v|D)wJGpR*+L9 z!g?Lj`z&>mj2w;L{otSbfc_^~<^NNe@INMAj`RQSSdA+4ekv1AYt7h)$iJ2eACI|5 z{!ujf{%lFnhVftdKNU@;6R+`%l7A*%Z(<2}vIPx~f`Xh3i$6CuMDTFkCxWN64mM+C z*rskw25^Xl3QoHN_RwqDg=ZnyE>^BeDhIGz77Xt!JzC2};cU z60pn|>3W18zo!F*14$G$J|)Ks2CA{PxpdP9h6HuwADqy!9F9ky1ihFOHi{hY{HTx6 zblk*_Am{FKkHsNv#5lgQbdjwlF~J+L)N8&x8xw+2#fWXyCbS zWMNhugpE&O@e*wd$|V=>N8idXaTGYh0L%Y86<9_yO}g@dJ!QrynnVlW z2ObpXSQo6?DG^CyZO<0TQRY&&%QZ-vR-_Y|S5;=`v=&;^Ih(0Ajsf$M3+<6}ni5oF zuA*l-?kA~GWDejzCHDGL(0|vB+a|#P(?^G9(4%HGhEi_#lMuID%jkJ zKqNO=m3v?Iw#~;XNxe1NMbbM{*PRJug`ML7K^K@sw5K0kIiIAq|@Ku|7T+YA%Q>NFaf<6U0ZiD`mqZGGqx>&Tg66siqsxDc6#SfnNjy%heGyZ#mg9I4JYx!G( z~*VPRoqWwm0(3M9Kh_y{Q(BH0Z>Nl1|#xd%wY5Xo*% zoH&8RT1Xcj$+WIryM}-gvX>3%iy$l5egs;7UOMstW_7QA(!g-wecM$k`}JiAloyza zJmrGiTZ(5AVQ*swFPUpZCaeYNT1;w1Pbi8dfScdSm33|6@C1%AQ7iO>0tSfpf5Q+c z6Vg~V{iBgqaz9a%84mm#hCf4^AIaeA>{nCr>|tNyZBFY+%7 z^t_M-da2&t8Jm57EYQo{=8r7U69xTNvU6v7@bm(`s{Q+FLZ`RqUHQH}59yNp(*>Mf zlo!SCh>gA(8~bl}vdGt)NOOf@AHCX!0Hnx;LBEu~_zqzxlc2-noKFQ$YLrUlt*(5Awa5LvRE ziYyb+VvA$R@;?2p!Ev19eBSTR`u%)yA ztzwhGwsXTqL%KDnsO9pvZu8wDQsht;jfYV&i?UAWld0dCx62~Mh8 ztHEche<$n}1NZV%XC5-t76?3nb?)<*uYOGm1g-)%&=UM^tAXbid%h--H@DP>rt_Jy zdRQYYF82&TPZ`+pGPbAqv-?y{Jz)&aao^?~-s?(m`Arh$wEcMMb{#i4#bji2vx*Lv zZ*Hhu{skJDf-sg#f{IIkis2v&ZDegCvJGpRQ$58;pLW|i$maAGhM5?x9lSsp#jK1P za-7U~ljH)Ks+oF@HI?F27i$Di4#F5hV@x&-#;u!+TwMGCptC)van$cN5LgjD4`Tbr zCK3vv(bln~iqxzab*L>TrY%i@^9vj(1ofyl z=QuVRTTIt58Hc)9>VmbYGc%sOyT#&i*py;{LqztLgf~gOJCg^-KXQA&A;fPC?@oCC z!HfWet1{oz1Q15@-5AR?RQMfvyY<^d{FG=*9NMsWm3)l9=ZWi~4cSRv$8uGU!|^Wp zyrvb)66T2~(@U_+(1oJ@=hY;22&UW|d$5sg#XLr5uu5g;bX{U_?4^rQ2r`+IRcNBwejPgLS<-Vd zkjb^y&@gJ|R4Tw+?(7i|%L5A6EU5!;8`m^+tX-zU?4GCXJUE`VQI@d80425AHIxW#mkG;T_PC zAk(p3HcPmdsA_4ij>y;FAb{76Bp2%PQ3NW>M4dE%(47@z72Ngvq`FcUzeB^E;to4X z6*(0p#UkkQcn)S1hU#n7H)=3gS>((dNivV!zKw+;`BRhTXC%Oew231v1It&2@q*9{( zs8G`{r)3j3Fc&m1dgGs9B!a^wq-V4hV%V zA`v>L99$`PWa4x;Xc06p8>m&5dYnp_~$tK`Z4+BErEEJBBB8EY_%YdQC4{DiZI4IpM--Vi%vl5^n2vhM~>b4>>>BKga ztTSFpgE+0n=1t%8!1|!q?wx+%?ivDc=+SxCN3dqHDrVDqJJfc~Ewg=HUO3mkHvRX1J>NOxE3SObT(No@S>GncjhlZ66%8yF-l+=E3mcqt!2!1(M-$6ywEEdmSY3W_|{Dp9r{Dle7dZU=vLB` zf{LR&1=6a}wzc6pv`n?qeL2Rgn7$*a&sBjVa1$-92z-A+l~pY-zP$`Z&Qwukt* z?u?8zvOG{7+E;nB;>N!F^CretS04KfyVZRPUrK;*a_JkD)uEN`5gp@4x9bBlVKgtq zxr)ldBJJIuqlrT;5vmk{n1GJy$jo|XviYORHVX)3)-1kN^#0(-px?H#?~%Sl>x!b=}ag2bpK?fc(>qgXgzleOA|wb=N1r{#kNHGwaDhYp3??7t70+pdd(f zAe?~RM`Z7+w6M^vPn|`XdpDPqPhMCzYntndWqr+nHRXqIce+0 z%BHy#*=ndcHY{Q5xu@DM+n?=de%1Hpb5L>IZ|32QrC_p*pxwIs(k$3Vij0!P2wZ*b zI3hdDW%&E?Qja;hQbgD^UwUC7VIX$VIG~A&WUKJ=#{9XQMP8xvCvzqrai6ILkn*z; zZI6Hx7((n=D@;m}Y3Q_+Zg{!`F{csc%Aw`N=}+zKb&}vw`@Ad1t-7omeS@zz(JFt#oc$sASJ0bAxb=QRMC_EAvZ>R-WY0NkrURl5(OG9i z(xNRJOYCP)mLbWHr(B68*mA(=%GjVS^Deo<<6CDZq=L$_>M?nsvS<8oOYa*J5dL2D{OzK}<3b9~O>vy-?Zoke%waY% z{RRu%svd7Inc-DU5b-9>5==klFlG9Hx4G0cgg`9k&0El%(x?}&?J>2zbahMn_|I-b zP}`#^PBNbf3Sg}b1S8g@RrucEfH~dC&q7`8fbY7u$Wk4?*ZJ{Rwy#<^Ys#2`@m>So z1mTqFQg0xDO;P7J)v1GTz+pSTkMGBeMyRV`Jn!mN3x5Uq4l8F0csnZQV1$q`*W8$K ze%{g?={Ce$%9|xcyaaP1ddKsz+#TBxn-A#3kzoK^y5vM|*rMD|i_uw}En(w`Q(BQQ zSE833vF*;~oFo*b*so&F9N}(nvDSX3jIgd_Jbz$0=`C{Q{qoHRri5=Y8 zcFa-`k^?6A$wiZf?MT%68dq?}Rff&ne=117|0pgq@t^&NTs2ny+UfYOUG%4g<=3bK ze#rY8b@+K<`91xNAIEUrnwOXNJ^lRS!V_ju1A zlX2F5bY=SadonJvt>mv3JH6o~IDQ+yjI+t>eRok1cdf?J?LEhnouU>yh{Q?Ng=~!PtNs$&w-zP+$U3F?0~5A!O+F zbr11+*pP#*_T&rXqHIV3AcA2to&>A+XcSP{xxA#Vko=)kLhnjG6yFH(-M{66XLEQ^ z-P_QIiy)S~bD6Kg69HDaG%h$}ZYyFbeG7sDmTd{y&G=**OyU5!s0cSEBt>vMcq~=_ zG;``m(*9z`qFey<#=JYwZLIR_$^2XoH7a+PS^bVKFl)A_3ly)54x`S~5H*7hAHBFR zZZo%FEP)3`P>CGW1dLpWauI#g86o?&TbP;?c}&(N+-9J7xD8k?ZQ8)|OzWg)P1Zli z5WR`BT<3MmDFW{G;ylVwHJs4MGUG?!hZ@Snq`X;!=>o)| z<5)urOV3sWQ=H|2KP>zH67j*C7k)mj|FP%!J>nA|AOHQ}@$*{dD?Q==Ld0jZtKMOp zp0F-Mmk7K13U{iWkHsTCUM%!1Y^rPTt118W#ivs^6+xNbHsczla?SLBNrsomU6Z_N zd;Uxfd{0Q{sun;2YzppZgX33%qd^e52-SFrURn-l@)vsGhiD0Ys+-h_0;2N&y*1DE=|F(l@tZjRt z*%%fLXsaDulQp~2jdWT)f1tc*cmnUn(OG^fCWNG4^(|mQsu){Ay&n*CGC5%q?Sc)E zpA}%^HnY4qM?BII(GbF7$LWs^0WHM~jB9dPB`(%bg@*l=lfUjc?04Eh8$SlfCoHRw zr2q2Jgpo#%@4&NzyoB0g!mepTG{ohEY3QT=%9^g?M5p!dP1SsvWperj73=wFt>D}_ z$wiYREY|TQ0*Xgw?d1>G1jt>djOF9Lq2;r#O!{JL|8-ZXH@RziUGLD@Mf@o{n zj8`3<6BaODHKAx|PjbdEnmmO`Yt>AZtj3I~NzSPcGdSlhAK@^qut!-APf8zUJHP9F zv>7Fh?3VC!!@F}lEe>|)`r7w(Z{fR-e4IDiFZ}UV|ImYvw*{@~d%RtcjKj1RZwr62 zBW(Y{Cp)96`kw3(o*&s$5Yrakvpep|!Ja+w@A`W7VkE0xsaQ9nw=mV>P;XJDeSdGU z#NDc|B+oCRZ(n}sp}zeEYx?^RNRzGlOG{qoHykY8f2jY^k*faw!?N>MPmffzMLa!v zm@9o+R{yU5X}O$a{Y=)R8~N;5v&G>f<-_fsK0DFsZvDLCmS5!aN}Q$jyz1^6gQFxx zvh|Ca?ro7TPWJ9UJoKXWS=G}QbpyH9jrDKZB43^weDbFTg!kJb{3yVvj@Xn#pAvkh`yUt%v{Wz%$g1;1V~%3k6^q+l0#6hc&w*msl`?w5Yy^}Ao% zQSVsH&FQhJo3D|Ae(}Ds(oyj%VY3*OM<^-sl=;s z7lY)XGN}wQkiEZ~q;JeOP`VhLEqEQ-u6PTAmNU)!I$J0_5uinZ9gV$ukF`Jt^CoLk zOK(n1Ai$Qa>N!!%Y=_iv2LoC?i^2w&eiciYLD(IIO-CS_P<2g~R)Yu-ENN&YWpS_^ zB8%U}zq$Ex`z43~NOvQhk*(;;eK|w*`ef?MDcnXp%-rg1f^?U-kwLSU z(IFFQNDyj)qls_ni!}jfpMK))y)+e}{q7Dk*gF74Oy#;NRijjmDFCLq*qi6^DMuYV zD6q83RP8K*MUxYJEixxH36t4r=fl~S2yynn>UgcYlMoLn`zJ|BbTjBEc^rF0A`6bq1UY>t7=7_&UhB!(NHbXuoNfs z#spxu4}s!NnurxVv+&T7w>(*{xzap5>omF{pKHRFuXYD4(EaKPElQY3rl1JI)-DT& zHaWV8%|f@SsoEXSw>StUU*#mkj808KEaj%HGik4p7->9!zNx%~3VGnet+6W%5J2_jbeC>a4mk8X;O)`&mY$-1qd=8YbG|(oSD0 z|K{|dqX6oC%vc-^kiqk!+nJUl*5^!qrqBdArKDM8nJIP6K6U0Gg%IHZkvM|TH4}Xh znu$n5u?SL61??Q+wD+kV&?;~b*5!=Lwg+VzMWlI?6ry9J8}Qq-j-o@&&62YKq`LuIO^We16x z$M>;-VO0s8R3|lqnP=op%8H>iUo*ISE{X97?lpC|@@AqTxO({5UD22P?a@cwz^M21 zQ>*|_-=2Jh{T{yMDxR7NL~;{d;Lo&`Om__C8Ec1i9JqTjwcoP8fhMEaWUW&}XdW=$ zQl*1F=>y9>Q#I7){A_>z8$QuLwG{kY_O+ivFyHw^5o5!Cu&;d!!Msx|{E=Ppl}{A= zO!E)>+V>DlT4esuw8~Av;-6`i8{X#s6I$g)9A$yJ3-WI<7}^z!h-3}RfgyR4r?9sx z$=F#UhyOu=5(rc~kYkLaEac;-it(-#J{u{b8?c1ewG9v)07IY&X$%*QfNmE93Lhh= z`SKF7rZZ^r&FdUcGp!m2MpE`7d^WfmUf&|lUknSL08*2kcoN(-HtlPQ=Ij@no983t zfRN-ObYDjoin$ZEZ<{+tb0MrcRLU>j?0)E>5@j(JcQGgq?qVxl44aord5%fBLICnv zqC>R93m0xa_!e+7C(K{?6@P>tR{tCP(S05b+X_`QS$=b7m;Ro!EtW{0SKT{(ai||6 zM5Pywf1y%n0TC)b718yaeYnX@#sR$3`(GPK2>C)jbd;TmVnCY)GrFxIwd#)XO>RzyUsr-6O zOY=C5$jsoKw$apb@$lfRu%=#18JPYUe*nLovj4dAah-;BMz~!&b<*U~SLGWu?_Sta zZ~kdpt(bBD)s}(hw4uytJjFr9^+83_9>6$6zJj4c5`I2)86TSg(pea>Z0%dajY@W2;38 zBK|r#p&*F6dp;?fQXd98a2bT=qTLUaf@7Xax%W$!HpUC=)k>lxFg|fl=Q)a2e@PI-|5@NmrTU* zQg-%*u$_-@7L;@&bnC4%Lz>^1Di$IRHaig+B^y>LrpWnDfM%W`-=fBFK9AZzs`CB8 zi@?Btr={TFzZ!vman*fA^!>P``gsKYU&w*xj+P!$ip(><#jX&}kq9fNBfTXL1|05s za_zctj)eCn?RPjwf*qp+5>wN{WAsweH%kIzw4of_!5yPc$=|()7lSbNmgKt|KqmVR zOWdh3M~)@Bn;ox8kX0*N_VASGsm3s6O7!f-CF;~mSA#Xl*KW?yB;D$mk!*PT-c#K2^Q)`kpc(`tF{IQU7Nc2R8ptA^QH+2n-xE?BS&!bD&BG z_dmElJGhfS|LowNSCRaagL~N>)1MvOS!aTOa&Z3+Z0__%F|5L2@HnTiHCZ*qR`b@l zwdJhIbmeA@Y2E}Ahzx+F;kXD6&^A${UDobtK7i9A;$%dtFJaI}&P+5(FZ;xh2oN3Q z^5J4U(dJMfcqkW5mxVw&>X&egU!?%Y`1xM;f0V^l6JVGzz|^SEo{w`Q(>Vj+E6PuG z9Un*eJu?&0O?+waMh#DgrgTr`EYqTOEzDnpD@}Zs0W8r&$Z05mr{S|~(Q-LY5~E~B z_za8`@5S_sM$nT>C&1t>?;FZb%C^I|!hbL$zOtEw0L7&bI212ne3d@(wcq@DLNc}d zywg)!GDRo{D@Nmfy(XtPGl)QI$zo*nUYx&wm@$1+PGLvED_@k41^Ht=Q_8MN?!>-z>8P%So^(|)P-e0$fV;ncnC)1Z>!*fuT(72^O z&ixSOf~?1#p}Xiac3y=EG>*~9jwNuH^TFs!PoQ>S9}khs9SvnO_5+>#T5BrAvq4U? z^XdSJX~(^=!<90%;`)Gg%fXvI4!$sGr_2aBx55f7HZd@JWl5R0S-yHd!Lx%xWP9Qt znH-W--nruJ+9o)UQ8-?iHyTNe@=QH(@Y?J8zH2rrA&&r&Js)iHG|&JK(>HVXIP$Gc z-qwH6*uygeGMyo6s zB{tE0wqYXm}C$I%;6p(vYhWH(V34G!!88;)Qqsni;zsz*`UnbspN8YKk2na)Ss% zAy`f-4v#3%@M1GvkO*82bb$Xu`9>2k z<7FQVdD?zIee89WW3~Bn$A~ufO16X+rXH+%p?cx9Z~MC}d_RYG$bOlBe-TzcgJ1E} z$Jf>6&rrax!U|tqew~g#=Su&7M<>eAV`Xgi*HFQQ6@K^Fx|2^)-?i6QlZXo|9e@if zz0yO6w4t&?>XhRL5k^%BK51&DRQegI*;%EqTFTJQcE!icr6gQf@syM1rWjXNuIki# ziC@u1j}v-!@H9!!MM|{M0mC;+adk481Msl=l*zCzQyXWWCM_htFX+@;F`GBJ=f=53 zu`4x`6WnwqPxCLJSPqv%1ANiqJsMqNaWA;O@6V@?pTV#HYO4J8^zkR~>yNphKj;Dl z7Jv0><8*<@>$HU}d;Sc5l_$3UhJJ+t{zw-vI+^@8H2|G%r9amI#9ll3Pig=*;pz%_ zgp_LEq-zTn4iU+@&ay5#%ZgP*GxL=`Om`D=Am??;08zUgy%F5tU2jcwi^4GXSpzeb z!b;Xk=Q6_C)E-**;;C$9bZDak-%M+}KkJ-QQ=zuQyS9k83t;S;qoe-yuDl=FMUrAA zy9o7RP#!H*(qw^z?H~RPN)TYY6W?D>8<4{ac0)rt|1^_ZWMH{6oAVW06mKOiEh$=y zP+&FQK3y$<;`a!NHcbkLPzvyt#?M6->-ejp6xKybl2mS zk>uhj(*~91Xm`M<2Vi=_z+06wP#KxUvVtgsk;F0sds++aXu`%cvl2X2)=;;3DyL-B zaj`n+)|_z^ozY|bwkhuYMx?>Ez3e3YP0F$}^aDY{hUVb}lyiShlDc*j<(%N$;b|ez z^Erpse_}R3>qNDtxP+nw7^bH$bx|v_G$MGBAKqDt+*{(i(L=V)jPhhW!xQy!<(u3F ziZt3{{%qTocXb!K0b;8sW#&Avuel3-vGU4t6_%dbm~GZbO!~r$3$Y5+4fe(-P*o$U zeV}>NZ6dbLC(QF#OL)rtkzHnFA*gE%LBTB~E5Z;nvywl%RxN?oTo)^^tHm zzOZFVM{#jJ;6nXItH6yJh&QL?_TzcXoODVa3epAW_dmc9IREPhi$qOVAtk{X+q zk&&FaIWAkWMVOnnJ$zffvhmwTkF~dWk%mf1=>mL`94rfC?#`!C|c|1(p=Z!G02F8qh7 z;hKzo!-fB`jvMtc5og-{IZbN6O#SOR4#$OmU&ozyvs5zee*F<8yNG=G-ztw;;ft?~ z>g^bAqYC9#s^nRkz12;dR1kkLS(7b8$GKt(6joP^OI7L7!T!1(~c}`&^9`R>yz6`ed41Q(4FIo>l1g^Ueha9 zTK?Bv5H)8EqU$**}?b=HIUZ3c@fC(g)Vwc<3JdtoX zjGtTZ(@Zlrpt|^SdlAVaA>4Hw7lriyGKK4iQ#N) zB-M<@0z{IXZfv{y5(nd& zol_+~m@_g(DN>Gj$KxWUXP{k$VRhm&)}q3cU8^wH6pbnQEv|3XNe|!82M)R+auhY> zdnEuJ;UOD5g5=xS$W|yt3f5V=o9CZZ*|vn=a;U>Q6&ES*LO;Ku?@f?`oZ9-!ReM)# zro|p2q*6u`Eeu!~44g~kio~JtCb&fR)f%Npv7#PMZMHjbUwETth8|+i2pxWT;E)$K@zpl^o10Fcd<$)8J>}EDBr#(|n8c-bc%c5_n%{)5)UIJUXVy+mUJbj0k~s;gA?#--4mjdVA+(|Ac@E%3qFn}QyR6_3#Ln_8K!UmQ_8&WA77yBd( z`c;b;rojs$x5zj5dyJxSr_FIy%-$MwPWEY1*DQpOB_)Fz;+r%hP@;>YWU=t9)~N@$ zU_S@5CLxDsuzPR9Ow`JhAy0*5qyu((SeLB{i;QC8*%Of0qZ;t!sk{own*zd+%!P*7 zMvE$J_3ai&lp!yU89`KI&dY(AT6zSgw9dN08on(-$qtoxHdQ)RdZNRmt_`O+30Q9V zn0lYTh6guyK@!fd0T;#A0lrh{18sRKB@jvXZ!rLYOf-pNeukidA zf5aI@r2Q8J>PrVD0=0X*5`mibx^CmOx$kiV>ddtXNy(eUDd`!)w9L(tl{s7TLbA8! z@0hxM=k7i1g1tp~g~j_1lpYl6u@04O)=()wk%CW-ijyLWdhO|WP2!oeYji+UvrzBC z#Vg_3(A68E>Xe)90))|VHxQp5_a4rn?t9eZYS#OOJnn}NkbwcE1bI84PW|*!Q{(fh z_jsOc&3OmI#TNj;gsSHPfWRe~x3XdM9@Wy7ci~M&$3j>@%Jqygaq@TmkF-ntXU4_P z2($0ko39AeagWvh)GqNm!fdj7;g9VS-^WG$l%K~1-ZeITAjR>(itii=bv$VM>L#4@5OxEfyHJdc>9a`Y*ZJU#cbICFC z-1u2a%>icQLe9gMIJ7vFJcfrHXx&;>{^+@!a6=Sx`T{}=Ejnm{*G_O;tbSmi4SazV z2y(wO(7+bgxU?^FqlXqUSsyn^DCGu@|3}D9WxPh5fkx{i`8Mr12LXyqe26RS@29I! zPKb#{{;ep*&`wIDO6*ysrR#lh*O{szC-P6~gNETJJQ+mB57hu_yVU#pF{dDP=o=I5 zl!X7{WS>SzCQeOl?ZY`c(lNOac$vlNGZx3x4%tke_?S-KA{lVyF*8~iMCsxE;8w1} z1s`uxInes`I)vB#UH9JEnW-WtYMF43=V`B0mD`8+n>E$AY6~r>;WvI4BNjQ*6T99- zWnxZ?$6l|XX{;R9Sn0!j3Q<1Dn6K%6i~fPNxe7B5GKgV^u>v~9?3h7()hP}GU4Kb= z*5S~}RhMy?!QJz?7zw)nc^}P8DMnfr&*-Bi4d3HHU8(x2g0Y1lkkF?4-8%>`)jzSi zX;@ z;>xmy)f1c?t|Hn~2YuK)3Y&{SaQ{inxh}lC&qd1@^vFJ3?JaNV( zs+#b2Elp3h{^&DajJ)oGR_BG-HNOxn>;Nm;WtcAh19Zqs1cB*I)y zGBL9qWjOOq%pCBIYb*k5%T3J$wYjRA_);A7V;I<>jI7T#J%E9I2L{xrTymEf~9%z`w3>)6(_h zFMOsd1%nL-j;OxCW$a?~x}m!(%deG!qkEj#toa=haO}XY-+}_Q=8(#-=R6ss^T(>q1pm30|CnRA3*j#)@9%le zpOs)SSHS`Rr{w3bJ?YmL}~jEZL`=V~75i zeZv3FmZUwya=*7E{V~UmsuX@}N&4;+R=N->hW~tmA*jAM{5L4?Q%eIcOzXxG**X@f!-sRX;k-=}O0`wM zI;xx!OL^iI1DEf#U+A+ zd!)3b~2HJbVuKe7l4 z8HSk$y1r1{at%1Ri1EjdEa~2v0Z(?gI^ZvK8e@hcJN#j(+2)1*3Y5SQ;(V$vRTyDE zLEUgXf;JP!BcPY=8{xy|$VRJ` z&^|W0y%+QNtiN9d@~V|gZ*Lw2H$w4n8RZn7pKQ!2t(YGJKsDRpLLtHh>!5f_T<6dO zF%d>br)X9T!(GaYYfQikw*l~lnzQ?Da%y>2b_8W_yqBS`I6*0FN_+q=Y+z@wJI2e? z_t?4XTk`?+szxDp%13&5IYldXAavL#(}TxK4>+=PNhqjpnW;LTUwik2GkE`WOqgtYBAu094vV|9cTE{ie)Y8(4{alo+ zQlV5po|4D~IZmy(0+Pe=1#(SdbEEhCXdh-+3E3HIwvaV1=tx65E%?Plcnn8^DH@+zB_Yt zbi{|q)TvXy@6K=~gfGtUtr-rH!>Ql+t!3Z7efX^fM_c1l18>y$s(!xmA$}wz5Yq%B zLZ=-^7kb#LH0|4MuB|>RRa43Vux9dHD}peUjirUbGP#p)Rw}_W#$Mf}XY9%~5`!EP z+AGi|-3PK>T9y$J2&Mtjj%h?zAKDBfs?c2L4W^`Jfpl#{)d?Gc&PZZ92Tot4W~vA1 z(;f9jYD5K)Ovh_R3rFJbO%1M=3Rz8i zZEbOo0uBtq#i2kTz){~AhT(7soD6|;F>szYj?jDa=FPv~ilKC4I0)F;Mcmvc0f(&L zILsipU4ju5qE-AuJDDV(p~cfkqhK=(c(jX4ejT=CbOC>#PTb|KP*9Q@!xDd zbmw?@Rdt*~1YLY^I(ClWApW@FOL{(cFBJ<%mgtfFf)> z$Bg#EK@nsB3W{)ZbNeGbz;%gmcU$J^vE0)$##c#+SjV3pKV!ys&*N8&Qo`?`i1c~$ zB=hIvpolFY0z7j5BPimqa79`4$`h-Vpor?YxSF`wy7lXDRz%|$R>Y5WU%2n($4W;f zF+wc9mYV!GxQMNJPyURH_>m3xofz@o`?4VqVPOf0VPo)RY+Cx?p<&aK_ZAiZ{wgUc zJW?(@cKk#|WmQJm7h}ljGY1w6mL{B(<0rgJEftzL%Q5-<_V5sBZkzqoi6m^ynvJ$iMB4 z{F{Q2KQCkdR$c!+ApF1H7#Hdt2DUG|T;^57TX`dhzhVJj&UB9zGbt(+7^l z%zv3au*jQU@h{T{%XSw2%k+Vjch}#h4{Dwq`Z;}YiP1>V^cQ+-X-clAa@B%gC#jm& zvzD2)ht@4)dWx+_Yb8oVyvqJjg$M;qn&}RAPdko)&e0Evl#rl@=K!rjA}1{29A9x} zh;+Hhjk1WH%4lVE?NNR1#69nncR6s(&`4cp)K?4C$UV;+#AbRjfx}%GjF?yu%=FId zN??Q;h9LS&STo$2V`?NXSu`_lGJRC3O>>japjt(%tJ$kY%A3)zlWI(;(aVRS>l-K+ z#}$V(jLQ&=YHlO5OkpI!CTGRPEZMWMm&a-z7psmke06Sxj~ZwMgc=S2^W!0mPH@Iz zPfgN#eGa0ga=kkaJ3+}!mP=%ALP04{r`4oT@ zc=m@Kx$k7+X%j=alX+`H?EUqD8;%pr{8$b=zV-3c>)W9em~tL|sqGA2zL!#|w*X`p4g;|sB(JoQzx^@2Ch zSyc_yCvTI|9G?O2fzEEk7QCf$*M*_?DLY%miA%D=#1a;9lz-~g-7DzBc?4j^IYqQ6 zTCESgY@p4NllyBt1R6ZCrRH^>_iI|- zQk2`f?u2;0{gvER6BCIfg_9jhQ`f{$&#ST%<9Lr~*9$^V8|IFgw4c7U2>);R@1SIO zs;;%j47g4Txk@RD3air&8L`&!;v%aqHEw|(d+nmj-WEc!sp78Fa0;MdXxdbYp{n-w z@phbLh>c_kcetz-x_o&>fT8^2w6xT<0RTBLYai?UMM`#noLF*r?gT&^zop0y>g+#{ z5?3OL7T2V#BL}8<`9Zpa*3gVjb!O-qk{Rt0MKI7wnI}Lds}xZ?Bl}tMR+wHPpt=mX zHB#Iq;)8x~51E8F&OA#a727W??d;q}7pIEjZf6j4SM?9$DQvlMP}wNOqiY4}$>zNA zhccK}`swRtC)+g;1AoztF3GoKw}%1T^l;&c1bym!a*uN+x+UVi)Px_2j}>PN#o zeD2)X`L3dL>d}a~EqB^#-&M-8jz%r@>AZ7i+lk=jqswDkI`4mcS1ngB6Q=mweW?Gw zrg>^v^!Ap!Pn_PLY|Sc*IpA}zf8P7rjw@wrs$1^8Sogk8p=r%BskS7HgLaA*fJ8-f4_Fv-=IPu-J~aA;b_XQ`?yORniWB&2J{c9AVe z7!p(PY{`Vc>Htds{iYTK+X=1*hrQL1Wns+OBH*l8nYHQ@L9bXrp2AF69xlZ)XbMt* z1Q0BaB&qUPSL?G9kkO`)TJ^_Yj$J*9cncDP15c{X?U1|Cu)d@TpG_CtUv`*^g0)ZW zasOCDnHhLt=kwWAwPqFFRG34expbMgJ|`C}OQ5I~LVDLv=-3G#2JB@4z`{~~T~E08 zIv=@pWday2eKdNp2%;z&Xgu|#(GnE;m4qhZz(9m2AgfDO>rGaKn<8DvtX^2%S)FLS z{&V&65itGGo=#QmPe{;|ceL88m|+kG2dBcol7kEl$N#wM_b0+1e~Z004|;Sqcp`j$ zci?DC793EXpbc69au>TWv62mv8BTUE2_y8RPlbpdb&h(H~QXFf!@Sh z1R1O`t58*&1vFCS&t|?n{T>XSDu|VLEqc1<73|-Dd;Vh-(fK4kldGm5Ph2s?qNp>` z?Ptq6)dd@$Axw^gn7bh)8DQwzFa*yPrY z&7ldwSVG+#;-v{ehpJ+dtA^H0k_4(tp)&@ZA2T45|3coF#b&0_V8L zCU`9E-X8d5d*EWdRYh}SBHt&UOd>uF75k!9yI(-z2br@?%#AyvN4$#AwDP zpL8Pz>p}SxU@#Dg10{u|P(20c*cQ0nW38}_n4h`~&{pls4?Iv4#^JJvvarz0x=W`B({_ZxGyImS3$vU_ zp?D*OYH6UAbak+N^`fdZE4BwF9Dt@&5%M|$<>v$SXxX)uvDCEmQv1kT?-TTH2aRMU z2jh4h1;I#;?RuYFZ<(6kMkJ(#ct42@kVm^%23_7pP(QeYbUP47`vlC*B4A0*UO{&U z<8@OZ?Y_Wy7=h5fvWJpTyAM2V-tt>=idt)+Aq||Gvzgs0$!T72$067`nRv4&9#3oU z@`tAdAn1E+QB|z2LnI>1EAUUP8=uoj0eXE9LAcb8v`F_u;JksY@;M0L5XyR&@dp!G zCo}f086uu7T@!bk7$jene4FT;Odzy^gdO2I7XuwH22Q*f_%@7Cdkzd6w)6b>yfFW~ z=nsMGM?~U&FQ@&BM_}m>{0TJAtp-*3C*Q^mX9*%bu$yxT4$>vAiq+Gq<6K!p#)uV$ zp#&!koIAhGuP@w{gIIGy<|M;2X+&FAfv|e9180v@==S=z+w0u&^=U+2>)N#T9sU-( zcikrPC9sX|O3=D>jxLB@lUutrH(0T321-OcksD74On%fz+H!tJxXbOpdn4A*Q4kDT zm+U(jZ|DSck3+3Z@{;WN>6{rY((#zo%^H5(zYD221#{ov1I3G7JST{D-#I zuO@aaCGZ9aZp~3+`9wa314|YhAKccevx{;Q#E^*&dNJ#Cx9GXRhVHw!oR8A8-4Y~S z9$cMEb6j^ibWdH<9{nDn8ZB*cx>%wY6p_X`RTY?ham#Nz0>MXuMo*r1e-T9i_2_0h zyYH0GSx6~{{L%~0P$LLr07)~{gr(;yWA$c~1Y^LcgXsPtvWf(>1YuM7QNca&d|BkF zDrndT$U!B-raii>1EQP-JZIG;QuI)8kLni*`^L1Vq<^c z81J9}4l^^>*{tK-5NA}0pdd}~#;vZ%5|MqPDW><; zmvvSmn6WVb!4T%RXo;IBImIV2G&M6TJt-?kw8$VMcY7?PX%ZcizgK{RtVtWC2O{^B z9-epTNO_>_i+ZlEIjM|QoIWFOXgu3=PHBL>)N=XC)oZQSZ`}N%o^LCyO!prsl$GUVMtjO{ zJpgjV)tlg<@#)VdX0P)%XWbVeW>raw27(4>0&nfNoP%i3IuFZcyjjax2G)DyIfvwE zHQON{wz6 zPv4P89BIr^iT1$#LR)#w9&%7j%WWb)%;C?2!QvET$JT-!7GL{dq}-uGvU5<4A7@_;IEDlTFQPzxQ+-)d3W*<49j1gU)e z?EUGy%Jyu@C<4qMVNF#gs%0d}h6O zOBrLaMS6qbifk&@K)LAv;4=`0mb2{yqv^f5CP>zs^HyeA>ZV=E#jaQ;lIzOBx)>lf zNG|tkZSFg5Wo0t%997(6SxiP~(BAVd4!rYAGFwmVe8k|RDP~NE^Lu%gSL{|=hg!(682M~@*{dlQBP=+tI|3N#I<0*izH5Yh)$8NdF67QpttdjOty|S^ zWGBUgaEqrkE>mr-vN`rt7Mm*S!}%qmXSOfz&O;VXLxWbU+3l!hs$fn{q>B?|pC1?v zRj(>``5{`3;vc|ufByme9aT^X42+8~q>q z1^>hS#DBLw+$$~oV|{q!XxZ=U!~g0BaKo?<%Jt!I`2V zF)E|(sk|CsHNaF?8xEfp!lQrdh>{aW>VjssA3CB?ih0h6xu<;>CgM31rZ$a%S45Ej z&2S~BhDrgtG;8Bk7`8wS7+N0OFtJ(!kv?m@0tylBgpQ%JapN6IDn;Fbw$`Yw`PbgI z5zhV`18NFYk)*n#)dYE??w#sEiv}3R?!R3(Vg>}(nZCW34J0fSoV-GB_=27Q{%n>2 z-`;;I&rtJMh+J=tz{@jYV)62f#Wh3z%klOM6S7y3U^q3@9Dt?n`Kj~Mt(^vp$vStJ z>Mkv(W4l&z5eFVrm4kJLd@JeYi)iS(HTh(SrI@=g!^p*)4h+4x6sR}32?25V<3KY% zsf{j3_u9Whg^A5eR+XTJn^hKjaly)W9Xn}8hG`JVqRazc&3kiFzE_khC<&Zvb-k1Z zm;+|w1y=j9Wp8(fBl)Z#C+>bLje-0$Z3znk2nF~3Lw7HNRqIu#azMN_56n+&bVrs~ z+)1B1cWroTQ!yK0)>LABx;V`pM<|8c=r-7ZtK5uv2f0j1PpodH423orKQ*In@Lq}+ z-P<@m<(+i5bU-5J=(`*_HpOZ^Z|}TZiG01MVpq@U{jiX^Wi7)5&l(`|hc#>(9}}9{ zR1e?m>Y(;&QR$>Lhh%;#K4Z4LGd{)&*f7&djQp}>V&KJ-RxJ>CqA}x6%g8MXG=g$B z1wYX~)4`-{VKpFpesTAN=;i4B5g@0{ zt9u!@#Kl&BnC_aj32{b1O;eLX5G7`XGJ$&Pmh7#|lZ<$o+Y089s3vSfon5>4&oL%N zL-c(I%K0X&2wCO)vZ|ATwg1}>xc`s1FOQ3H{rkV}d+u4AYG&H^nU-mlDIw)BO+yn! zDO9#8A%sejgnOo`rbVVmQJD6GRJJUKDIv?DtZ{HAvWIdkIh@n)O1>S(`99z0d0x-& z`#kfXSGLzZ_jP?fpZDjzR1PYb*4U;DHE`AKWdjY|a~F+=u!+C)LscWD!sjvjb&lCgCZ_7EIHp6Mq@t zQ1nZsO~X3pVK6EL2bL(`lFBVjl%YgQJ&p@8hANsIVW$E#EWnsbsh$RD-fnD+?D@XW zimF$fr~(&mmz;z(3!_x=%a;+ct5!u)sRmh|AQe<36<1BCPN_YUq?k6XcLddI#h#cH@5EbR ztKR8p2M?dF8cA19SAW|T{AE*xr;K2iz5t!F>a+R4=Ikf=376r;cR$`PwvUo|q|?FNjQW0$);*gZi#s;hOu zIezYMIZA%nx?LyNq-0nGHlfku`RKfFJmq{~TUPlWwq=kr4QT?fEgN#YS+Zowzu-)N z*OqmTgY1uD5iTOV~4|&vg;$$l# z1b{5SLA1|Wc}CPa65GnqdtKV{%>1pv>r5u*Ei2f$Yw9{qQR)t5Rdp^XORh-YUAL=r zqRF1h`o_%S2pMj$;mb2&AwqE#Oo=d-8Yv0bLU$30vcl^7#G)Arc_qlZQ$iF+@6zDe{`<`pIZr0v!BsSk}b#K|)eGOw1 z+kUwWBUiln;d38T=jxuRqXt5B45~u_Z#@jrF>m-9qO;d-AVg>51Fzw@p{3v2sW`+u z-?ZDFLzXHaPgslR#W68hnAk5)zRVMSAuBh@wT-<>GbZ3XsDTkxW8~-dq5-mUKq+^! zY2q13R&Fb^5CHqG^nj2y2~ks~@*PrcF9f@gj!Jx_|!0aDWtK!ktIWv3&L@#q5 zp6v^#)}nX0I0qq|Fsfh~0Ok1vYDb=M*9MdkMIk$|5o>?lHk&jQUUgJ+46@T`^tO8@ zA$bANl;EtvSLwYTrPn?kw9K?eqc6=|#A;w6ttcE_`DyLpI@D)9Pxe&BSYDCb)=#* zEU*1PTB$vS6c*s&`9fU=iSW`tX4ny;AHR-i?#`}n`IswiYS9{7hix^0I+k>9^Vk zxkkIRx8?A4E)xa2^JcALiXoq?*f~XW<%wywP0L{74!fMS=;8J^cZ7A+h&Ia+yp`>_ zEm2(49jpMHV--9W1;#p^qtzeR?U<($Uvo&fv~%kYVd3rA<3|{*Y)9;ob;wRfHUDy0 z%)Qm~E=r`N>I@Q~uvJzhgrVXW%x`JT1carhojqS#zwL|#nr_Pn5_syKbhwU)?L@TH zq4S2-h8T)|B}C4Y01Y=jc+-}*{^21FOoJNJhv;P)7GA0_^PkNg=Vpmeta+X!U54hj zQ*RAScJYSJFERjGe_y)BZ!Ld4Jv|}m241hzr%#7eUKrFfc)bo1u`)9=w{G1!NW>Zp z^n~$ggJ|E48#kcSZ&z2>%a<<)V^N6x>JQ7NHV7Y_8{@mVBF5=T{IU&&0q%aBgcLJQ z-BF`WqIQ)!BM_MB@$>eE1x?NFUh^>$kTuA(*by`m9T0$qy)mp_fg|+*WgBKDwm@?>jihdwpbvB`%t%#$x&auO z230Pi0eZ~nXss6Q@hz=}o9iq|1)IaP!C5za+5~jbf;8glkvg{z&-#z)1?p6Iuxlfe(GQ$3`?cS|W zOW>9_ck7~+LGq)UwIaa%$3J|qdcG*ijTz7>DF!f%)Qj#@~qX#3F_2qHa z@!5q_*(gaXce5a4>$dVKEP{ZO=dFissHlqpX4dpQuwB&Sl+~Z~wj#lI8Bq%0%VAJ( z>Lh!G-%ppXPr7!aWB=`cI}ZD=>fN(8`d`}kC3@1owDEbrt01@fNX$Q2OmQQh-n;mx z5dlxk{7b#-?%4h4;&&`2Hz6J4yOr=X=mTwhbpjfJ4zo6})7`ypt%~TV4=&9eKrx07 z8a9LB+u;xo&!W6rrjkKCHI{Gg7ZOt(KVg99{Blh7oCKg-H-XSd;q^oAvZ-p4Ihn57 z1)kE#!~WeuHb#z;X(Bg~oSql26Ss}e}``n#-IQYAl8 z@8HdroI@0q#`X!-zAcFaU3C<~QYiQ~tGThZ&}HttiZx=QRAS@qQEx>7bR3{u%R1=J z3!&el4^#<%r=a7(jtbke1@=^8bd9iR`lRQX)wehDt#cvj*;H$A_8ggs=`wzzoVy)Y zjGexl*-~-*{RJ7X=Fs_025YZTTQ08%xvWA16nSkqoi!%11h7{oM%DNU$mqS^~X{z&SMX12gK z;gm}~LLhJPYoX90?PbJs=Cd%;@i%u@V&C5D3*j~5_vbY-$gUks<{CsZ2iG~%rcHwZ zY=fjphz5KmO-iNk8X4r+{#|PL-8BLw8vmPUK>FFL_(`jl>o-TOy0~L5{dR3)_w~Fh zvl)O*Df?yiN3#NTfGVrS{aM#VvxA)hlEdjR*R|jW6Vd35ks$&s zrZ^G>+H7pB+~d&ak8fX8IPg?}zuZZiw_-)Z1`6N_P8^c0VcYQwqhE5oloBg;^jsjsGZ7>A|w+3*VEHstM_03kouw2_s_94s}-KVITPX7`fJTg zS06FY<+@Sak5LaOs)Z?{5{%93Fuj&&^MD=AxW9h&niPQ+VTCnH(blE|^F^|`dLY4i zDJ?sjotqbGhUf}WR>00ED~!h3yAE5x){$22GF!I1Kw}y8z(JXnxs_nYNmWtfWvg;qGxcm1Sp$e}F! zeRLR8fA44vR8Rr|;b){L0{}x)grDe_O-7?AY@Qja;U^NN-dG@NPMh3;;%lv~#l<=g zH!_+wF-;kKjMeClWp|$!J!FygE}Bdbio{;5PfSj@j-EM=Cs>O`?DWaX1e|c|<#cn< zn9KIc1PsN4xGT_Bip;lUAqCccF&_4k!n9^)?WzjVizltluHNr&#rCePJM4ex$T88;07zRv6CG(a?_vl-I!&#v#8HNVt*t>iEPa|?%kFLn976S;|i$GQEr6h`*h zv7r8Y+Jo7mx6g#S&|j-0C6&Z+cT=-5SsYo1~!(7M|T36+Tbm85?hZIk)0GHZv`6z*);58+fU3ZZr{WOMMvBjJc-n2#Q zt)HtJ31a{Ok*T5%E{s|s3OrPQ6K&{xix>SdF zV$HJzQ~qKVvbN>J;_AuW@Ib$eo!Cr@=Rb3-Bg9OMuBp3F)0OZAzWAV5MP9^gsft`& z>jF>pGOp`Orb(j4E5_s0i%g7oX-6qAcA5Wm&e^X zZ)8b9*D*r}h@kvpX9HLl>;bX_vD3F`ERVBa0*ZfR;tIx2eNtt@(mm1RP6VaDSram$ z;}HZ>6jq9$Gwt%o#`ATT#+r_`n>SkTD~RGUWdK7-bWgHNw$=2UpeY3u;~+DjXMrkm zCvCRPcQqteyXrycBpi+8(^vbh)H)%uSa#xsi*4KURHJzAv8bvFo%}X^z>) zn2X{kmYrMfI`;mKYx~}R8nJ)T`xhH#CQD?gY5$SN?7ur!9X9&PlDo$E%96Wl@s%a_ z$hiCEfX3|2E6cA5Ss$+aNfJp(f`l`G(#Waw+}X;Qax?|gbXR;?N;0O5!qiWhT?{Qi zVuS*|gn;RY>Y8At(`Ev;@TRG&lz&0Z(FGx*0iFfyr`+t5g5?B+7EI&dY~MBv_)Ws< zBrP}gS~mp5uvcL?)ygS^M}^&!GC0o18dEVUc^ zAcjmr`R{EcEEQoJId}<^FzP(@e%( z;}n(%OS-8_ab=6iEOK^;@Da_xuL-Zg6td1~Zl z30=#rhaV}sXl3%?ijS1j$IynrFCQw%|9ol5@P_&s$pmTex*}1D6b&-G5jAz_3fGxr_>M z8xuUrbEf;)Fc1FRAH2fH!D(hlnkii1H8INDH+tfv61g#Ai9C09F3SN9O zB|#z5;5k{L;+$FYH_wgSB3`s@{^Ftq(aJ^3%NEB}E?rr(d{u4ingc7>H72Y-mWZER zo6@{)kYfd>qCt}BAm9v-Puf{L^O9_1TUyRlx#C9V<~tj=-d8}oxE)Wo?tET2I4!}T zZWx|^<=sVipF+^{$#0MT7qYtH)Bf%Q1)5=B(z^!^Pnw06mL3dxpQtq>O8|oMGNw7Q zownxA@Y*g7_Nv}JK`OLo^FxciqnH*6z0D~_Gbwux3PDLmpm}g(AVJ%KqBS$in*_X4 zCV&SIIbq`g+a8!V4IZ9f-@a>bJexNI2oGJl{K~;yz5r9vCO81=&k6F((dkZDxN*e( z(lc3xBbMA9`N)T+KT)+Wq$K--!qL$V{aEs7lEN`KWUpcrWf#YBd@xV<;Qo1>Vvh}^ zaAv7dRd78i_gLPDOv`kqL%~4IXEGPxXGjv23*>>rLP4@9l2vh`I!wMd01;j|J1Ed} zgpOEbjzjQ`ytdP1V1HGshbLBLBA`@+^vuUonlDGQ@*)5tM-&GkYg6r&N^`&h4`;7Y z%p~YBl7Fz4NtfUxGj_mB{XqAs!atVG+HylN$G&gr9oCO9xC1eSKCtP z6MCz54cBKi&y_{{wh}B1tImwOs%|VScD;#}uLbNLRi$?H2fOqX-E#Y?pGUgNw*(48 z?W$FFm3OXm)jmXaPIP~K0YvHP321BcU#f094Xbbo4ms42i7CbpP!QSrhl{SuC<+y?}cgG^Rn6T&%b=XjPLMuQxfZK7Vnpv|%fkU#hdU2eWi-qIz3bGB=HB;mQNI3F1+m?R{93R{i$Y z=*MoUt(Ppd4iuiGSGgaj_*uTkfky}K?gWG^K2D}H$ePL?OozP?a9b-qJMFKqj{yKf zn<-p%3I^1`6O^*JY%O9JKf{>~t7DIpJrT!T6fjN^5KR~=vOa@M#-maQ@`vcpV;6bc z8gqH;v4fe1x^V4<$NbGr;}N$y6^3_6rY{F%0L4C2K!C+T0GecispOt(N>VQLd1=xg z%?D_-vRtztm+I)p0O)sJ;=_NSp?IFc1WGc$YY7PGnVNG|tzl7h~P^Xrug9ZX@b~Do`8?)2z`!aS3}N8?<(-=36-ivpq`4w=b1? zctYD84A54bK^WUq*R95Nf{m-BfUS{A1S(QMYtzI)4Y-;ffyN(FAq_?Z@YJEln#r5^~%cYDu8I(%D*jUjTL`2&mvE*k;

a3s3ulF0)M!&* zx}mv}F?wtZD}FWA&>WeXJGP~s6_Pc1%Il;Z>RaY;@LV*ZG|3-w_#2hP#XrU|4mh=# z2&Yp$+ySAFhLbmayn529+noZ0MQ?C&t^M4#}Jh!piLGkJCQ|HykZvC`;TH5h@Jvpl_e;M{V>F48{-kv;i@`KsA zJyGf4eEo^K&O-Q)7$ml-|r)pC1@rX*@gna&OMs&kxz! zM_YZSyvZy2++{cQ=!In^TS@J(sLIz|%3@&K&Lux`-(WnNj&m889GH&cDa0DL0{J@i zY7V?~)dW7uoZ^R{-fqt`QzDQA6cs@n7ct?0PuCNtb% z|M4HDil1ndrYW~0N?Q#j0pxDq%7}FbGeh|}a`lg#{zLOKUaXipc9m+%#%h@rF^Cs5 z-ZUZvM5P!x6*lWi)!CY%JI&KRXg<)Jnslt=5mMZ=Ggv-BAX zthlmnc6T$Xu`kPE7ZSQ~?mW4Z9}($4Eq{5W_S54P)?Sj)s^vFx>$6AxUz-DHGE3%BwCKGEPvlA?sy(? zCf}&mAaOe(sn<5??Ge0JVKX*R^RUz~xL&7!k>fp>tcN@9^hr2WfFChfPdAkQsvrjO z*NzU9rp1hX*R$>}N9x?jpO_vm1eoXpVE0Mg4g2}LMJwGFtsJ{Kg>NVmxXXkgvWbZ@ zQK4*7qs*^EHl_uWsbJn=vYAXI%1Jk?@Z0r zpC`$>*T$6v|QctzQ?Vl;7oA@PU{rJ-TtQ3`kwL2LMsS^U5# z{0-rr8f+xEv{Ba6J|@f!#Ikxvd@$7d>Ga0u(yj!@cQHlAv8|8MY7e6MA24iMNp!+Drz zYOC3*UQd&3(R-GqYP9)9LDc4fXLa`Cb|ZV>PEgZ->d4{TmWJ+*`{RJoexA`zMe@-R z)_xq#nuj*e&@pQZUHPCN`u(W% zhwSa4yVIfyh&378Yd>zUGb(BrQ*X#zn0zn%P!pp+Zd?sZMOkxL9XBCT0*tou&r+tah5@=48bXbJU>5 zz~NJq#&~tU77v@i*pwC;%#{;d}87?4F^?HCm$pB=BBbsl2#gpG0@vm*T4YR zgH%`fVhwF|f0A)M=MYQ(1nO{DWvJI~+RH2Lwj^qW=gU-OW5aZ2*Q3vDDIdoaWwobQ zGBSK!Xft_4M@FVh#hzb4J78rDwF1Xk4&_mq)pi=Bo)m&wcUe-#weu{Y5_Kw#AJ4$z z&~j%g79Hp=WDr9cm<3bA8>eahX6KDydF~X!Zza0{L!h8l<4!ImXno(f`3{Ve9rSR7 z5nPALKUS_-;@Aza*S3^7BZ{5`lr8tp%2yJZI@k>!Aomf1dMSE6nnCz_UtbDU0@$aM zTC1~1+_nxrLbZsg`5aCwdS03>F?8z93eHPf5w~ZTi~c6d#MVOF1S#NIGbzgttRlYK3P&u8Sib>u})QLnIGHx$MdYMY&qY%qI%7y zG&Q)@XJ?M?dC;Rd!Pn)98hO|5Hf*u+{)qj17wt@|%dyL(j859Q&2o$SOf`Q*9YQ?K$Y2GOEt z*C8DI{(L*hk@LQF74v|VsM#twtRC66UbIx<=co~^cHBU2_*r7GA`ksk=W6H4j$#%} zo^1Vd#PFBByPc*TU@YEnaAhs>@nBZxf#}7cf}!Qex7Ok4&AyoQhPS^{r@!b4qf*`ftv#}8)7p+?t2PQ}xfTnU+q3H524K~QqSVM`*{5;ik~ZZX-~A%usI%|UZEJ11 zbIV69-Vo6l|_sgZFJX1`o8JmIMK>Iss1dL-S$W=E6#z6W|YdklULXz5VeWvTWbQ`8(> zlW7i&OWLR~Sk}GXBt4Y7eyOK_nbS=pRA{@6!{6o`x9uEz?U@gRt$fWF3{voki`oYu~vz;KWv@JU%6S0 z%=6R;JXUB*;bo61yFMUcYPuzQ_B&pzs4cM#fhZevrp#W@ZLatYO23LF8(XHaBU~ zq#_gsa5H%X~lq068Klo|{WmrD3 z_UAePf=|R~T`gv`0Xu`tf8xzt?|yOu|N5^?q+lv3z{Pr;Il5P3L*Zhled_wgVxv+; z1fV=ef8SO1dpsTOxPkLbg~)6=FkA>=H8Gh6+>iy9B$B?1rN%^rVn>XiAX+?aOD#ZU zc&#*NP-rXdSX2^C--7ceyf^e<1|jV479siYvBiQ>NGg1I@WDX9Z&26m06$+)J-DH8 z@^bK)G5Rm|YLSuf2@S$^aAz95Yti7gVi3KC&uPdCE%#>jwyw>)o)_$TQ8%IA`4nzbGqD_ce^ezJ2~W-0GC}_zA1EH-jeNe zp)9Bz19G|rnE(*0VZlq*WMtCU3$%gFFp5^1z}h}@+v@BMbODQ!zrAdEan6=uEOKf2 zzKF_U+SN6CYY)%R*jRsHPwC_P?O({#Sg$ z0sefttZ>qwLeQS$0>!96Vy;@(-VgA)~yrU=c++RG$XOF3Qa^-u^@ug`j zo=aeC6Ouwsm1W~?O3Cm$hhtBh@Wq!|BqE#72$l~gv^&t z+2>GD^=b8-ZU$h03Jli}8P^Smx^9+^QLs=Q(NvH|VTACdBd;Os`z$96B{Pjd42enA zsuQz}u{sze4&ApwDr}xq))Y7KM$C}^03#rDQ40lfJh4m%hjumkN{@__hEdoNqnske zmO5IDX|k1`EN0~L$!>|~*N%y6hh9G|tt}gv!Hd(^PoI%dZm4J2ieUm)xHLzEAFaqn z63IB#|FH6xG-7cEM*8vHdz|5L{k91?n#bFfJ=!u>h3L@Q**Q~!tGQe>hJ$GsP_FJ6 z@yd%YBg$zKmBWOnBM7TVQ1Wzj_Cl2)Tl0;*CKP0jMlEz`3_fyDKjsM$Fank$gbT-B z?1*x{Q%(h@J*qg?3<6T*UDpPZexJ^MsXt7?dwH->=((@VcS{VWp{EM>vNjc}aYFr% zm0vR1XSGp#&N{ySHk191M)N5^cIr`K2GRc_lihT6ckelNy3?Ch>w@Sv=k2QYzPaFZ zr2EZj^Z1^oi*6>De9)0koOn>Rul)5&zk_;2o5xx;(k`;y_x7sa=$CJ=1^5hmcRhIK zvUfK^7VUd?bN1?&t1iAu8}_~wv+aX5L{53k(3|{SHp@^Z9Om^o34ejjv zf|R2*zX?f3boB!U*NMHrkilTXh?3Du3U;$zh4Q;o(p>RImS(w8R~a{3xm0g+)U@M_ zSGoM|Zc$xK*}LPDnO?}S=y|fIlgeWxnEq^D_^);Ilz)^PR=*yX#}xs@P^b_ic88Bs z`Lvr;mk6+2wp7vVhJNsRigHB~47g(&qRWyA?)+RsHws3v#Pbr($Xa}$#SBMMXc%z1 zA=SiiFf}eWorL2$S{&Rk9s_f4p$lCuGAyl|S39r)+L{^apb|2&aJgkU8&C>U5_s~H zzpY_V?G5>R!c-_CD<#@w$~JZPoZx2TNX=3y5h%UK?UjVQoiBZ%XtP;3ESBPLic)t{ zN>EBa8*j`4WcL6|XEwf8@HE2YY{l5t?fcUUhI}5 zrl{qPy0exi8ig|yiF^VZpX}kwCz{l0>$un9JlAmS+IB+Y@(^SU2T5jVg?qi( z`h;~z*lKp#agM6Stwks@ba0xu9-5)A! zaIZ8}&xQzhgDa%}U-b<9vk&A0ZH}=^{!{x}F~|ohWu!0`oKp9!3`3Gzp2jD18EtD_ zcqsX@(=b@piR&vr^=qT%TnmFBE3*xm@mNq;mSSa+Fei6wI59uJpm-(|HRYP8?WmY( zLkBf_MU}NvY%FY6>_0Sp-{GUajmQ3v%}XjRG`}-13AUAe(Y_9e#J0Q1{=v5UA`;6y zbFAdABC(w|UPo%bEy?YGN_+_8 zP+9Jx>Fn7Aa3pAj*RU=Cu6lC;<=s!sM)w8!SjWb(iKaFd4%smQO)?q9+sQqO%?WIH zOkx$>xOqH$TWScRm|2a(ZBxW{$%g3myvu>%)qdh05&W! zh;cD396|JEtKxOc7;Fi7S`bThWxDW(RX4cSN*bC!BcKWNoAn~7y|f)5g7U>)?K@oR zmDq}i-SKEem1{qY{gh>yoWM( zzLG`_z%BKa9!ru+o=5blIN5e5oLfeVCIYq>T}t825tPIt^?I}j2?AlY~g z*2R>d+Z^&Ku8(&3EvWH0ywsnNS5V$Q8y`Pejgq&iBz{LZ(;sKy>Cot$%UMaS%})OX zjMjFrVW+(8xy^((#89oNfwhM5l>$Vk(;)@O+1RG4ptsmYjR`kWQ-RI&y#uIe%FTVcKykmqTx;{{vG9gu#{?Bcu z|0M;;$8dmqYN$P6l%;JpV3cKMG+>lv#2y%^*e3>!vNBjS4Lu)oR+xYaG+qV>bWy+( z7`zjZfQ2O;^mk_jwE18sll9bHI)OkUXJB_+*bM=EJu*6uF5(9&aiR&ddScd>DNr)a zkiil^P^7*Ds&>HMsYunoOASeY+jyKThTSCM=&?mRjKAUWm%wj( z!=IhS5aDaEvw*Ynx6GG8lFN|%96}3_;0JXygRVe>BlF)oi|;1o!EgS5GAaMF#sYll zEdK5aG(o#L1-fd?&;kVKqFq*3_?)iwz5M*#ebw=QM4b%g z0+Vf%H^@AGIfBW|D3-Cz&BCJppJvQum+rT&?;#m>t(A|V_4ag9D=5(t;xqA zF$yIXfjW}n4I*x0EDnIGzDX1*AEfl<`VfF=oeJ?wy532)r1SvAO}hY*o8bEV(vhOp z1|lR?FK*7WT4g6ib!Gryz~}P#U{zzMg!nEwQRZYO2P$mEPAe|K(=}W|PYhzF4MQylpH+hA*AZic^7@&wMAq}$?NSVbN@({mo(H&`T4oMck9&`6VIBe z`vF2|yIN78h4D(L%861I0~)oyFJ>-M?Oec6e{wga*sr{>$CV4BEiYL9+q3Gb z+TWhsN%6qZ7k-KnI)r* zhZu4LDCi%-u;Hno!-i*L#6ZLIHcH}hmK&ahaURTEj_Ujp*zCe>+h0RAJ2qaHpPM~g zHq49?*r(u)*U;rzpei3Ui(P8jb7ifLoV{+nZWE36oS+>A*zz`nI+iauy8X;&ZXZHc z`cjZqZ<<-4*C;=HvNn%nYOMm~QNpbvH@83bW7zVT}^*Z zzj~ud@N^R)j~D8v5YBZ<-;~XkA_p((q9No$KXFx5-wJrosE+2vuq_Q~ppL?1AB)6; z-AaSdj&>k!NBn4B$cYfC%jH!qoGsI4RNCP-7s$XO0*Ictt1|t1T89TWWEU9<2omh# zlyz2UBwI-2DR(U%CP9z@zWFSB*-Yc6q;)6@p{agCiy!KHKdmrWZ;yF@td+>*^Qy8{ z>C5AOm5HMGZdFF2r7X#$HEv#;G7Ym==;6s?_M*ni8Jh^20hAX`X#RsL*>sP(ohiD_ zlIZeuu=lj)!H!D%7A(MK3om>!qk2qg#wLatTW`0>j@iQJCTd;Smhs6%W%hgEBm!G) zk{V-MYY64mp|3^c2m|D4i_F=hlfOFNfazP4fmo}3W39^s2#%AsJY5qS;=r_HNNRuc z#^!9~mo*#DNGw!}X;Jv=sCPJXHVCW{s;qNWlDgW?h;ZFtvT=-K<4rxPUfmUfR;G;P zJOS$?;D6*^4UDnNIZmETyRgS56`kJ4X=Zv+A zIRBQre%$G4=e^HqzYxq^yi68tDzMRjlYBULsMc;K#gem0*#_~{EJC_;Now`{d{}jp zEtH!Es;(iINJ}E+lQj*28J*76#4OKX+?i&ryRXcGCAdnc4=!&VtiW8djs>vMrg2fq zJvy+M+149IipseOgeuK@_d0bgA6?D|O8gfBv!~0xSfD-g5Jw?T1gi8_$p)mIstB;| zY~D1*cp@XF)qAg8NN;m(FOiPNAGaAjw2EkURk-gEjR-8gXWd`03Df;37Ei-%48kY! z3!<*>EgDniVc#2`Qxxr29rn)dkfU4e+|w-7@o(lXlm9xm{~t$o9KXr`J`hv6o}nA1 zmQc8V3B=S$6aN|6@g)$`?t$DouCeLc%#O2m4`F6Uhb7hharMKTvG1Qg+{7o@cPWJW zi_15?vDw`PBRigTZT>#8V_IO)1VKz2^kz{7HDOVeM(K;8SugG{h-dJ8@oO(s+)FT7Hs|7cHorkm;rILLFcDe$p?G(d2zhAfg=~w284f2S z??>EfAQ|@TVXztxECXC1qo0ub@xUm>J({1>1k>My#~HI`Ne?&l9WTTv@VZ7gMZBg~ zV)<j|&Z!Pct^s@0u?Wb2KKD_$$T16iIxu?Zo z{Fs}qw);Q7xitFq=U>}=hX4Nd`pgx-zw21E|M&NISHJ%KgF1cqAAMZ~EB^TSv}*q! zkP-U&k54@Z0;Nhp@g#s~8M@RPGTCey5vx`a(GHmw17A$GZYH4o@%!aqL)8+T0hxH1 zZVjqusH#otL9m!;jkAnqVm2{*zL6$iv3+*`Q2=)ME?~3XZe|G8lFcw_q`^T*In<8C zCHGJW^?b%XOWa1co&tJAT4M^idjr`1QO38(=52Usy%5!Q$6cS|8ztgL1TCqiq=ZjpDy_$*0YxqYE`53k)+CsB z{SyaW3{(iIDU+7zMAvjz0aO8|?0tirjK&07*kC*vSFyE>^zfB z>xoPEg9r!ZyiCeO*ePruLm?YTZVVsTK~ zY1f?uRGON`MERQx6Sq#*QoC~SAo}CTM?r0MvPCyEcGk;P!>j`l`gNv>CWB8s@llc? z$IJV-7@p@gi zB;IhG@q4IdZ4NC$--zEz)3YbA+4`F)&ySr5#Yyr9Aw(+`2zVD_b(dwbaVQ~EV~bm&!miu?Z?!S!u(04MGN42}xE+F@qsm;)+>UcEeK&FclW@_w`$nd`xK%g*;!gkL zhodQtD_`9IX<*_$F`i;EWpLs)xuyEY#H}?)_U=W;0T`0~>eE>kQ%|1w`0LYa zd!CF9M+n0O4t|AGEtoU?=sXwe_BkI`!$cES^A8F)gJylD zR4;fwAZXHgDuqur13_t9MhJ;DquLRj$~;b!(HB&|&yM*W6jt-KS%<*qcS|DC|vN$Y8S$)9Zg4Os@~sZvJ&x(UqrVs?tkwpzvUF zj_I0-EqUjsd`?cYv5B5XI(xQP253-d_ERiN5RsGq_=RFnxiZmY{W1-;& z8=_{Yjakz9&tb5$Z(wZW`pU_GZa$XJQ?*E_7GO)FQY8Zz%?R`n*gL7H^8OlAsaG?B zK*iqAT5|?JrXV1#gqW$}n+du?QF(}E!B73HzpKsW$Tfn99^7Zjn zFIQpA^Wu;|9J3N+WV&@t@tRZ>wTqU)W^Yc9D$P{3T;uG#xkK-#Tqb8!H)Hut77~TN zioSDt@*g%=LoSpN#p~!>XpE-tDH%+MHoc1 z*PRjdPnz}b0`>-*^{9s%|K6;3<%+ofL9>2&vHDSgIL-cXVdU1ukGDlt?tZ*I`tWTo z7IW7ANpbwm#ZPu5LiyIt?AnmVeyWt|FL_!b=hh76>lr^IZJDv;Sw-Q(nrD^8 z3D2KZDbpODSC{39pZ`5yFU+yvpXTd*S+dQ&Eg{grf>r|6EhdYq=cjymI8of{1>V#7 zz}!;)Gaq>+dfY$RK6Q2?K$7r>IF(Lk`%*F87>uBpV;HzV>-RUzF#^R^FQ!@imM`!i ze=G|)ZG`Y(OwR@bpr8`3170)ul~&R&TFVFsWR!R04IkgWks&^A-$PnL{10wNF!K%*C-C!b+DFRR7P?5S`|;4xlI zFH7HDd6*FDe&R4;ZdO4rAz!GDwY;6gV47r5_;u~mpS?{F)LJ`@e|KVlQuTnw7>hp4 zvhcp|RoQd(HKRf=@2F1fGwY1N?QqHf4exBXS(8Tw2#@Z_NFH-RvUzzR@gq!#*x2>E zWF=0(`aU-y+V1S-$Ei;*uIb)2laV{P@!bFM974FS>nb2n#Mk#R^i<_Ca(+Go`W7oB z5`u;kd)a}(X5Ch!`SaUbEBXiJTc1C??*Ag+A{I*iGx=7NR#H#Oe^I`5+Wfbk^#7uK z>x^?!@3-=;k=eV9Z?&Es^^JV%PJeGs;-C60oL)Yp-|{QBH2A9D$}YFIh59WASDw%i zK}H!hY!jwvF!_AA;YQjO-4ru6|6?$<7(`$3V6g$&j(zb5zlBTh{y*m4JTAt){~v!} z*X+|&*G${A&(yR?Y9b_Inx;LO5>jNMNRo*p3D?w=Hnd3_rnD+d38@@YlI&y8KH-q< z23b!&!@19WKR(~j?|Xkfzy6)WspELPp6}OlYfylqizIyca%;(RY4IsG!4_Y|ffL!{;4D5=CP7LjgZcAzA)2WOjlZWjcI6 z6r`3~DtNd?cg8{ER2*}VhjUiR^U5zk`DF@YGsQ)=>@s;sFN24-6z8PM_?Chw-mENS z+*&42C(I3n(w&{JQpN$xhH@lq0+@q{$ib89dJCPU{Fc!$k!ehi@6v^_hiV#f0%+$> zpVGHEmc;bqHowbUX(R%W7dl$(Gx1P59(1e=b4o9o4I5#q`_Zlw)L8mqAqUA6#A3#g zQBo=UJpSj``sUgP#>LbhG@3CVCNa>-7KMu&s-ySpJEk!3$DV0XLLh5U8 z_^o=CPH&w}me2D1*@H{f@>9f;bL)e>IuGx(3x`VX)XX7&hCVXnvkkGZrh+_ zx}9wPCu4XO{h5ZA*meQIOYDM-m5Mg7+xf~k{DIJ=YkN^#Fz;IAA&V6gi3)vj6dtcSVbgn|~@R z-2HlD+xS?pQF#KgGn->I;21a7cvnKf`lbl0b)3sHdAOKZ|Zzh-Gp_TT)25m!Zg{9C1r{&qZKG2!#$bGI!!3b#IHFt zP}-7ckp+KLOQ|InxRK#6&!8{iC&M&z{ST+nZ+%SP0{li!qa(qr7}NY0;t|v8exJ?y zJ=*$jFKFw>HsiZTI!DkJO0@YCZADdb9G?#C&h@Z)QuQ6$igkWCg0`xP zqW=kPO$?Evu!oLA7k(!Deerk`9d@=Gl_A?gp$%Bz3FSx`3nD246^I#GoO{4CS=dR| z$Tja=zzh6M^H4fMMwHrzJR(wfptSI{&j^hQpRiI3b@St$3mMeyC&F)A z)f5Ksuaiv=P-qA`))cSQ?euBA=<3aN<*4Bv*|GQGIES~9PFWudoPR=hJ?jE*INH3ek=WcIzdmsI%r1`AkCeVw&O_xOb#ZA z+)@3m_;hU5YZ4%6T`ahUnj^WXdV0V@zz9;%Kso>rA<< z1GsSQ@PiDK&$IaWL@zn%3n%K+lJJFi{9_XN?}*3dC8EDOjjs6o>c4Rs{bH8?XSDV2 z&GLes0~31x`)DgbYT@N80HO)D0s!@!@d!+FElxZNijJGnO%Sx_!y^b!UgS?^A&be- zf)CLrNr-s-Xz?NkwX&YJe32&Q^N`t`eji1Dup2mG9X|TKS+^U0ET|jkR6pr_-0;Ok z$%2-PXduD`S@MoMKb*1I<0Mz0QK<9-kfQ(#9K}2X$$fICAMVW1{*aJ(()s}0+!q~OQ zhJ9}26ilOR>n60;C))CBR02!EvCIIWuL)eO0T|L-?S<1|HQ{q%a0CFa4~tXI zATsgL6|Mx<;2p5%Rpa%>fCaSZ^JW<=+B6G339v3yoGu7SOFeE@83`|bQ2`sT-_3B! z1xGCU9n^mogl_21jnmZJ0YuaX;D^$(DR=zU$(=p8d9 z=pgS#og=-xtZ%o+W)bs&?)Fl+K8F$%I{(=(6+4=yg!o=xs=1_Jcgy2>L-30A%Yw~R zYN1#VLX6g2aB8ex^|tlDEHHV~`$QL7uxS}DA-p~Wm=d-U5c}n6+$(7ribIlf4@GlN ztKL%k9i9dGg5pxFOK8rRX1P6MstWxzOy}779WNGah(p`1oH!;BH=H_@y%}2ZP94kQ z5-OfCUTG*~&$WBWR3w{R)|aI_p;M@if&+0~ZJw#o&a<1+Pj(dMm`&xo?igg|c2#gb zs&AjB#kF@)^c}S^eiBOX(}!ok3&_G%%)}1btEXL2xWQCg4IWb95xjVVfIoAvZe0Bo zyWQzUrGD5+p5Q3UbX%t&+aUwyBE@2V6{Ztld;z;UfJBEaz&6&NjWT93At=gC|^(SvKkfNE1FK;OmbS8njb7>jp*)N0G6}% z7z0Fq>;L+q0RQ&sUrkV7z|=6$Jmb%sGN$4h0aK$!jT!+{-}K?%z|=@a+lXurJ6(;W zv5wr7F@xB**sgC#3X2f?AH6A8tvr>(#dv1zC*>jgy}SDn8z0@{HVMhv!NrDZASi;? zbwXG>*(mR!U~BEvr?=m^C9dYIPlmP46Zk7*)-GGVf=@T(n-7!DU$0goW4w$wpHxCD z(OW|)#uah^wVJGl^JH^FPkdG54{v)p~IG z3#?jaj=`!f1)pUUj@_*^J)+UoK!Mda;#X++ArtOPU z{f^{$U$zubJQ4#xopQ*XO)!52-@sHB@4U3SG$>t>zM@u9FhQe>9pHO>Z)ANP%#D zHCPfLUgd3BC{4ne*<3ibdwa{B1u%rqmKu<00v;KZv(ba6)qSf4O#)j)QR`XP2~D3y za96|KwYk`U`#d3S^s&!f%QOx>r(RUF`?6xCbtvrggb&%F&j*oM6pv7x8um^a3;07U+#dU8SY8%r23R9qy? zGkV$Ucy6AAi&4=_o4e;ComYeJNycBh{Jd?or$@X>8kyjw`T~eh|L*Tw*woFc6EY#A0eOk#KKsFIJ`TtwaO+H6vem)7(>Y zEe|#?T>jw>^FgHFN>&v_<3P+R#QFv-)|u}9C!hBAUwsE(e6!fC5Hw*A%{1)y{XV@C ztDE@VH;dIPVUuwrC;po&6jR`QOVY&xEdSCPhh6kBwhfE19AVo=lGpx|Y@33#^hbSb zw07YB;d-SLA?+%8qMzl4GXpJ2%NMub8+<;=fB&sbZ`wC(J^u#FWZQrR8v3WEXJ#$W z-n@mAu{A#_ub?Py+xF6BC1t}o@j-g5%9=ZKMh*xiI_J+M>&NFK>?qShxVnE50FJ7TH~PI$w*iAD<{l(53o z0xB;S&N=OksTVo#0~zUCJam6;c+$&5hjzGOjg~@5?QV^a>Cyr8Qr+LzEB!xa+mgoC zg`N9ry;6dD#gF>d;iLZALCxVzw!a+p>z6VA!L}{9@YB&x?*<>7*|jlD`unH%Z=T(| zaO@a%Q6*Y`IqJ(c)LHzX!1KRLkZ8qvFQ zwgw9!c+iR71)g~YFmgO%P!#J9!wxz)gd51vndj(Arve49NS~f(K`3xSBDD5BjEa~V zZNx(-PIRpj;DBOnq!6543;f-L3VN|99)WP0B3?H^!%0|0(vhlo0gRXfi^wJ}Dp0`5 zSo@{#=`j)+R*GHr{Rb6rlx1fpzHWkhR}MR(t&;(kyLIh=ZNnwJ)r=hFHQcZDwGPTXPd>H`G(PBTxodPvdO;v=!3b!VDru7m z{u8>>(WXM|l}qMU+4QXB!YACcL!!=&iGBgPW<5V+>)?h*&4E$t%4(padSFL^Xghu@ z=FIB=L?+FAS?xe~&f&Ych13>C>YH{YGQ(uYR(RRROYvQ0)O8NUnlEj;uO{2bj=-y8 zUf3KhK3FCJd!Vax4*cQ<0a_#(mwBSpJweq zJDcKxK4wr2QM>7oBX|svZ+incB^p|ir9S8^mDjfi`aFx$jEmdeyntpyXCpdWy9Ba^ zygpCzy-4VURb1RzHxAeNP1)&7PX{ZulpLjjn+Q{P0_tFvxQLnjI*rh^$@2B|2s}yd z@qEAohP8o(dG4vJk5sM*HNqUu1D^bM?d#PqEdJojZ}W+3I-JLY7mrQpO3#}XIGwUe z#JzSLb(GqUL4$smsovit0-UufY*M2(7S)W-`7J9nl!`Wb@%9*wQNsn>UY{`N+CFgc z0@1oHXqH0qbX2{sVtoApIO-Iq940VxviBn56uM9Qwk30uhI7}!0qi^x>k z`E2Gvv1XZ&x|7tyj0fqMr;Of&e8&n8FOcD&WfY5Lz;+z0m9qk^EBiyVYSk>_@hOup z-CipCPTax3{^|O!>jq0B_!gG@{kr)k`24nRMrsj8*3CD;=U>(h2E<3i9V0*-%g_A} z-7`lP@E38%*ZkanTs4giM%w(Q?!Swzo3|;$>t=me`#o{=WNh7dW9w$d@VW^eUN?Tj z>n0;>vm|FrUQ%xUwz$HglIY^n;aU<;Jyu0^lm@kC&q8e5G|1g3bs@r?7Qux)ec1f~4C%>34H%X~VvY3?7ywv6WEgX)wQO`4=v za!ulI4M&YW?4beB_}ixl2u+K{P3!kzMw_@{Qlu$Yq!NHqwZ^9npxoUjx3b)_jJ%t_ zt0md~T`j_2OO}5$YW|o;@Iy)IcP;b#`e^@br$}d8|C6|5(I0=cQ#6F_4f#{t@#5Bq zxMSi9x+3+j9P;@WK7U;|-^3lKtXMpBXK7Ydu~1x{hTB7WRnj*H-RPA;qBzPSI?D-R zO-mbI7C0WZEFSp<2sij(%Yrml_+?qJhJUfH}X?0@#Od^UCFT;tyuliyf^@0qtZGgdx8(Z zxna_wX-DgNC9Xju%R^~RQ3ogw2Eu5pgC38?ze7OYSwqJUE(9O;dgDo$Ym^6mVT-_U zmoyl|8GJfg?)Iyh0>TX(!4rrA-~O$58Zsuun>#rxV8pqum?Ok5}8aLWr%%K>9_!AvD)WV<7-#3F^?W|_d0ge!-q!z+K z@=?tkJnMC*;A}g#LCCAp%H6!CAH2%>Y}?M+A05C?W4&Pg6(xj*p)J+#altv%^Xr|@SQHR~;WO0uJno#jG;bHbcWNOHk zwT{o!p#;Xl$IBe5eK4(LR>C_M>C;j7=?EoGEo*3C^AL^P)EQ7nbsXzP<~fetn|uF# zHUI3gwtc6jl?cds?k_&myEI2J|aWN!JJ?7RLPfK2jg8Ax4~k2%5k$3 z9cL{ihI?m(7`pH?IbD0C2Q{fX%}|)hksckxnlY%@)v{#?APCN+Mvv8jX=zZXgKCbb z_cF}n?lJMFW}MnH4}w+gmf8;inWwxX6}eiz9{_fxB}g<8-7?Q1yJ}DYoxf7SoNHs4 zU1_Sr9dsiGHO`}nP=jhgJ2`#^woUr3VB19E7#F*6{n-$lwh~Q6!eRR$bIK)GFSoHV zTTKR0<1$ut<_RnKb}3I((Wc7)fTFHhE)8s<%YCDK$MKJ1Hw?>#8le1=0D1+ZPoTW7SnTdaRw5i!`Xa zYv*GNqHgb8viiPelyKnC3>|Q|-B+)zLm|+HI!|!a$vvHT#_0}hKb&u;&@Z=}U;mo1 z-hcmV#`@D|Uo+ORnCQ3vsID3UIO_jH%bj*q`akW6Sv5#=^qs#50FQ16{(eV%G4rQ2 zRP6stk@eYNdB%^4HCU1LlGE;P*(THfj`><%LLnngN+M1o^s{cf)Kzf>r}E1h?KG9s zjb+A9K$;Xhi8LnBHi*alN53mN?@PZcZ?qC4^_TiyJG^lQEd4|z01?7~Pz-K!c5lMn znNpEOxSw~u2f|0B4)?rv%2JVhg#uJy_95Dle?b+{K@@iZ6tE=12s#Y^OTIe|#6 zCF9wCND4{QDfcddH-q?ibw6IWWGaj~1GHS^Xo`=R+gZ>@ad0KE!Kgb7;}EwltP~ct z03j=%SU|KvEJFJTm`~?!NJmDnZ&H_k1e^8W2cL55RE@!_}YIe0M@v2yUX79>xSZTHEj2rBf5`R%AS?x-G_i>GJW28V!YqyW} z++F(3x5HBXQskZ{bQnAcyZZsj*ML~&pT!Io!(Nk&7Tp7U8p&FOI8 z7C~nXId8MQHaRbwFl)w^)jdU9#XLt-(*BOwcFnF*djFEjsV4RgiAh zc#eVC2|kqJM61^0TGk3ShQ3p)g>O?T24UYrB^@c-#-T93dMd+-#Ur;eh}2m-KvX8) zHw54YT6kk8oi<2igaYPu=_?~FpI2)E6tYQ5GRDjveE&{>SZGy>MJ7(XEw>MtlejFH zIulRaa~xF$V9y2XyN?YJ%OLi$s~& zfTx#nE5(o%{975wzJDC`eW4+y_FhFMD0_&{5v;C=r@%$bf(S;Uh5WDbhOf>q7}6ik zYr{q*CMLxm0$5%fhr_`x@(vCTPEJnPMII~C2nYzkjPxVUuhpwpf8UydnW{%z^gsRd z(}@!&F#o(#sl;wg*r5q)&iLk^CZx!$VgoIAhK;W%Z{eI>9SE~3%3yL-pyOtUcMWK- zFbC|;$;-=ur_Y0?9ZuR8c4smo8?Cs}w{%w1QZ;;%&9-Yne%r^a+^q}UFq-rz%V2Hf ztmNezbbwAuYGi^5i5N*IlYI(I3=8m}U^EO7WCYqMq`Jn$sHR5OguVySX8*a{*w}9S z+e(`+G{q?F)4YGT`M#wKgocKGdmSYuC1Ethw`1Ih+5B%`N8cag{=@Ae3i1!fxTwG{ zS#6C)UU!nP?$-mOv99ykW0TIsYF_=N^|sosTQ8N)8!k+I`Uy?kD3Qjcre#EJ%FGGR z-kckyM4T-P`p2>xjj!n|G?Y`pkE)qeUC~{;BJndR6h) zuJau>l_N1We@fqd-&Xz$>3eJ;3M9A~?7G(}g;9;UPENu>G)@cAV(FF0Q3=7kczkM; z5b8v&*u;5t*qJbLxCK(t%>LQ}8R!a7in})UNSO!c-92{B$>{|ik6s82IW~0_svu(# zC{Dqb0B?=TtvPiX5UqLl(!+Yf=DT&p1kL-%aaZA1-^n1EAhUR@b(@tb(?@jTI= z?+}P&MC75H_y0cU>pLVP4@EILO00m?X|7dyUM3_IkZ6M~M z<3xNA>nD%m!JHf(Dh^14JJJBY}#2xW|X!PSMj#Rvxu`UUu08J;$Qid&64k()B+)~(G-iQ5!i9|p;4_WaD zF4w&I;D84EA%fbW5OGOhxQKpks^OTup;>#RhejL7>zX{DQ&Qk-vj&5;n#O`5YXawN z$!N(#U2Fr5%U9iwIsQ8M5pvWrM38{fW{IJ-{=RqxPRoxUE)Zwq52x9kMoWNK7F6|f zg|7_qwbTc#ZKYmPu(M>qXwip1PRDegw()^wcwKDeY~N?}2JvNdDvEBs?pV09*uNYv ztFrrC(IX&}6frLFQ8USsX5W+}x>weXrHtA>sSASS-d)XZh!CWi|2mO>!Xsn)+nC80 zETOE+Q=X4I<7(f@S%juwk)tmeaWzVfq~GJk1-+o1y)l>qgR?k1q6)ircgM9>Z#0zc>HZH#5WajY%TvqIF_U^j!R> zr#DPuXgtdLa%#+V`LCBW<6K~B;tJ@GZPXE++?Pc%JTw1xqJE);ZLm+t*mY`n&0zF~ zwzf95X0S}qkwJ=eaxGc11Y>#=6BAJsy>Q_I7Quq;kHNt~tZxhZCI9s=f*p&qMakdt zXzredHtnnoBMaNhD`@8qp0^*q#k(OUIba_f(5Oy%sfEt7>c3kF-?#Hnh(t9qiAJSr z(P&IfO(vp=QPoCY*lM<}E{CaS$z<9X8gfldF+&sm;Hp#+binY}g>#qepZnmSn z?Crd{_I_g>0>+P@;2XRMdkDnH*ufBz)m zjO2iTZ%YL`xuwjSl@>fFJvcZ!G$c1HEMK&sAY4=y8M!lR@vf+--OJyoPq3%hw-!@uA+@x$V7&PW33^57){QNjZ{=>eo0t2bu;5W~(ZKfY1I62)mVE8*8ChDtojr^F!C)u7k3avXx_hv8 zo`^r&dDxnox>#6`pQb3=3(U{YoM&fdUzELLS4Eg-ZJlpKxTiVWHuRs`d3?NCl(KNj zo)#ahohOtP)*6aK#!xiFv#wn0yXg!1@0&-kuU!XCo!_2a`F1_|BH)8{^E}tp?8yy> z6=~Qjo?>A8kf5NCJ^y-4m1onJcAiI11EnX_EK`eG#T93L^SO5UxekF5SM#`GVXe6n zdUvw9?jbHlg)6?a^O&r4sMNO#f=R|t7?!op0`<`RCZOU~)}_>ijN!m36?Pi?clsR( zw9&V)3t{$GHVyZV4?Und!zv8$hK2%w&6(^2I3A6uTF7&@16j00ZePiC{yYs1;s6-> zhz{V%MHOkX-h$DZK7m*H@a~M(@S(J}WSb%w^IaHNPlKMajis1--8B&Sfvl5Z~w*I{&lX7+vK#P9*P9_V_2 z6=ucmnc3}Se&aeN%kF)GSMndWB*4bW6*RpMF7Z4@##+l>@R0nvm?he*z-y_zu4)aj z-Azh3`dlhQWHvJ&;t`&HcrO}fh8L8krYi{^+ZQE|>Sb!8qFyr2rJ4<#(hr*Jo4wyw zVHQ=9c-O|ZO|>`^B~s_BnQ7Z}`G+z?qH@x50?|8@4Wy%7(y%IMp5FY(Lrf=V@OY$_s{ z_>BfB(#n?fiaIij5{+f3QPmn)#~CZp&A8xb?;0^Vuyq_s|<7N5AUUKGRGX0&FT?gOQS3 zBW?1?J9CYxOHqIPfs2%m>3h@a&Ne&#=7VcInjW-v-%nW)iz&e&`yy=gr#7ge zTPNu*go^Uf+k;H~u``#S2%0l}{Cv#}VGe8c7GV$>&HTjPIwwnfQ)%~{kmBrT+XF`~ z))^10g&zD}aSPWXW!B*aPDHWK27{EC$!_wOZ2VkR*Ru0iHga61{Z5{>p62i2<10-x z-gmLBE(!^@^9n%R?Cr5_GQW;M8DLh}|OetIg`_1-V3@vc#7 zKDl>KljRMQlV8<7`Xx=T#lDNazCt^%pMKiqIDbh;fkQf3i_&~z=Om{vNi# z%xJCY(HFQQs`1vf!-B(zsH~wsFnh-_kB^^reQD>p57T}f_pjS|{vtRuTlhZZU$*o7 zXz!q>kGhibFWY&3w0F?6Y+QE##ojTYrs;ck$NG*x+j;yRG70q~?L3&f<4kX__i#JU z*(ytD?y2d+?L0DCwe|kKQvs!~3+w!<&3)^=M)OCnHiWih8aPXPAWF01(IpVNkVHB!N7^V%?T)INl(t$2SdP6DREklo-zdr z+)R0j<~~X<1Mtf4Km6HLM+Vrzos=o6N^Kxc4GQZdH9f4c+(-f1UKgpaBNjTB6)P?6 z3NvSMA5ei(X%Ql!&TZ_{F1JoY?Htr})>lq$Vx8FHOs|+;mEu{J5oj3_UM;*`>v|w6 zEyFHu*YC*-brr#cGUtHZ{`e<8d*uN;N?Wq$Slj6A7YA+scqL17zS+$1n}HIWJlVLR z$V!B)!f8qum4+t)PrJpq0L1i zKBHQL%$2H1kK=qg_#tmj`!W##FinfL=hJTW7!ip~CQUkg^Xh(^i=>Nq6yJAh?tU0F zhRFF4c`(SDA%lFbc8OMt0`LkR72hYBeBr~5m`Vj{D$>PRB16T9f;bzK+QhC+Qxkxi z>G3J}E;baVaY(*tRwdp?n0hiWNG+(3=Y-_W920Z6y`NmqAo&8Aye5;*>r^)}l=STk z>gW$fr)MG(v7?B5b4({=8kl{!XxlEI@)TlKNuL%TU>zkjL$fGPCG6nVIzC1!Fws;s zAurRETtiC4IOixf0R(p6Unxbxtu*%8a!k&jai+0pU0yu$%@0j4K#t|yS5OT&a z$_aLk0t*igN>Vf+vK5-5yI82SY<+W7*wLJ}v9Vh%;w|3eZe#kS=iy_VFu;%SHMLPR zcyZ!!<3GeHmwnxB%+W(WXH#G^Zp0`T2&nT=_1pESD@@OEZSFY7#;cCZnQ9Gd zgL(J}UZ#f!$lul|FeZrzJvk}5);!dZ*4eP`H^(}N^|bh@qWIxFOb0E84FTE{;P{AE z%EB|d^QrrPgAfBQx_Mo>h0&oWzW4G!aA($f}oXeSv~zGhs(EFr_G*8m)DN5*|t{J zO^o8HZ8TAg-=DiMA2aUG1d1~c#@sNF-MBfkYGtF9k2uv=bn0T&i<7%^!%u}t`gd%o z)h(KOf_5?_v*cVoK0)I|=KZyqT0g%oQBR5)!!hgzPHS@NKd-i!Ejb+0R~vD}Td37> zh03|gPk;3}5FyRZOq}-S_VVe{p-7VUOL6kEc?~ZDD1(!F-7KBZnZAP!qaCQ8TX-99 zsKY9o9Njf!Cdy_X#=Z3F%8rA?5uTgzvwd7ysX5Tp{k@`UxA*2XW{IQO8yazKFV4FpQ4^Bua3?0((T zCz)?pO<9S_lslLyFb6g;Tc&<5kiE0$6)eVB9BI+AA=@a#14vZ(Ygok0-2R zx(fgp3ljGe;<8Y> zA^r&A!vuWgRU9*S?kH9$Z_XUA0fE9}X`m8kC=WQ$E9mGIoP3N6yQG4 zwYv$x`3niAR-!;IpsVngs+Whzpm~vgL|M$kRzVOiW;_=^l{?3f1RPj|=_q{9Qh3Kw zw#|5m2E zlA~cDDt7VSOdCI+HE9hEEt_2!-Y+jA4~j#S(t=24KNoWU8COyr-gFJWRcEfDYEFXp z%HMxpfL@30E5PU3=@AjwH=UBO;}Dz<3H(J1W(E=53NR>yHyIWF~Pg|95X_eo{Dq-7he}n3vkZQ}11gpa8khbc1H><-w zR*MX37CP5Ngw!lfs);JCiEgWjxmgqYu|{lAyVAKfKBP7wS}m%RwX&ZuMp?VQ4ezO{ zU7u7d4H@q(1{tN}?efV>kL&y4^z^jguyL@D5MNNLpH^D0<)-I_>H?8|7Rvl!rl+^c zO3KqKE!}fHg~fmEB$d~-SBy?ah*gW|)mh}aJ$u?h%o^K_w&vq&9l*M=#Cja?96LUV zuA!-zyeJotgbgpm4WZ2qS8U80ebfUX4O=Ba(X6Q+7j;uHM6*{C=8N&?mF#A!<|PBm zae;e(p&G|SP>BN_RG6?~+cciRD?V8?h_zboOUrF|=`4?R)w35`y$m!cXB(uT`=z|G zSfUvvo(|USdEp~xX4A=+8cC?(x>pXS@rCemWvEY^$8yRu$S-v#zbKtZh$wTjQ;^Y(t`4t^KZ6d-Jolmp7?wB|I~A z%ocMEdjM}*-2Tf=J#(?#>rDH{L6nss0uWT}Y>Ix1Kf z=qy|ZwO?#vuds>d+fvF~_9z>#Hw`&vC<%r9V}>zJCXEe?awmM0Fke>cK}OV3x7pX5 z@V8!#Egh#r5jV0_T}$1@91$KfzI|MJlkj0Ov5igsDW$7tPuEK`Os%s&BKKJRLj42g zhcrc#bPpVl&OXuRW8jN2YxvzN;gs;_b}v>srVF91(d0DZ#!Y&GD=lnQ zjh9f`q;-zl%TG1P74u&sivWaU!M2Fa-QD`O^5J$eW=wBuX>a}W8nRU1jJszyx2bCp zXF6N`0M2rM2;NNCVYg@qeO&u^dK^tQco z@`WtF_7-R2$D9j)e7*pTmGBfLe!h~pUP<1eq#jk$?kF{WS0ct28B;E5&%da<{vvb7 zMT2wG0+-Q0mn)2qUSw+%RYtJA_)ys(-1|i98K3USI&@BSN>ko$X3P&$FxP(s=b9;s zg;Ts$tZ)EZt7+PgbLx9e2$hW;Kb>!}``lpwvGeK13wz8}UB2r4jJS?lp+9*;MEi>b zJH=0TS9UatsqtqB9)qx_$mW-Z$*(3KD-(lEU&ny;SB(ot`%giB|8%TK?BFR>$8nvH z@^!X~AkB+}aoIzsZsr4v2VGk8Iwj?2%MjSvm&{#s-Bi$>&h4_GnMJ6aG+j?c$ni&D z_*aMV$u0)l@4$93$3N#EF9TQ8vFVa}!>H;;ZbjeivF3WIjubaymvckg4jspKqre;o z$0=%IT=<#mVPB#C^q5<^g`)>9pE!ESP!D(Ixbf}vEZl}xf zBoTCR%pL7`hsCb!HD_;W<=<57y}B^wMo6=XW*J_Zqt-m1-16eCaS-N0oU*lCk^lL| zZ%6OEUw$t_cIDnoz1p$lN*8if%;_BA4LIcd85~%SLVG?6AzxT| z$z0(W$~!-YzKqM$^~pwri=TcQ#kR>_0s^(CJih))tw*A~w@m>f%hv;l8n zM(?8Y@sbqZ1T~HxSm6fr(A2G46T&!PWALROAIR#INIYA3(4uDG;%uc)@L zc+Zx72ZQA@qqXfCjfaj!|D-q`-qn3FxThBj)joe=I8^(}|5{5?y!T%wv=Vgie9FgL&!Ap0V4u=|_|cuYV5B#2+js&^VD(sx9H z&C)o<=S*X@*;O;QuR?(#4H$9jH%^;IA>x!1Fm{*R?@C}h2_Xstlau3PF_m`$N51Kc z${V7;oL@ZDpKdfP^S(R=lX+V=J9OiXrMdlaK8XNJCkHGAW9+3Ua|)izmEu5R_@8W; z#Ey>Vp?O_%y}q(x@;})yvTOCWV2uFDW)e+UIn0JxuKs|rVWkBeNrwI*3#{BB!N!}v zbDf547eWKVPQoR&5(4)ik;D#o@!$=bpZo42guaQRtiKXrau%iJ?ez?jpqafutHJK| zQbSKW2Ujx|c@SORYT?j8I(Rqf77XRfT}|j*mN6+I#+pZHla3OAbTYdd$sXpwGJ-Dl zBUi)9#!z;Cy!MpwAaEh5IsepoXb1duN6Bc$ffU6rivk*F#&~oOSG7Cv;@YyL2e3jn*|$aEEhyzI5%n zT;A$TJ3|>-n&hj7T~LfRNeXE5^hud&T=}mLrug`$*pWy|o>CVl#`Ur zE_F3Dt8CACXNrjtOIWccD_-19rpwu`q&8b653lWSVDsws1Q`#ftMKo_tJ(5gU!R$1 zk0*AmQ@OsJK47wE1^vn-DBe3p0gAP^$P_ZS;;la+Y)8d=Tr%-H@iY$`lI#8)lHUTj zF!40zVjM}v`+i8q#Kd4;qHn^uZ(f}d*~Irl^856y5nxf27H zHsr4PqXxwh2~s9d9G(1{t&up59l?G-IGIGwdH)dg{`lMan*~gf=ywJY_Hue}VnWFv ztNU@u;Ai7k3sBu9d=l5Q|Y1Ag)=(jWY{HK>=K9%W7ZWsYXL*c z3C3vuWL<;Gtg%n)U?LZQyi`VoqLh!%t>18;auF(Lidc~u59tn1;p&|sf>d-Yy#WEt z+(%n{IMl8h^TPMmjJDTLmub%zGV zJyqb78bm#U3X{g)KE3vkVj}Sgx2ajk~b^W|><2S}uhW;n}?=xmO=rIYQqH zyoP5Q*PfDTf43E3+A2|!i9nUeFlKHD!N*Ly`)U79iDA-u-Ue6OZsDW?}0Jx_s*)TXmGq23&-M# zvis2$E8`P56cRg~>?zrtvMMpb98fhisjD__DGN!>Gd2NgMMdVN<#n@+a*gwWo_lTm z0sqz799kNM$l@3uZf@!FIRcKXVUfWZ^_=4u{Mkzd<|a!!l{aSe-Mr&-`|kg!==ZzX zHsV8kYMJ_DgV*oWzchHY{m%O_3H(zu^T!6S9Ct5_wQm0T8vr~P^mn3P|0Efm2p=sL zS{J6JrurNyc~7+C2=D}oZZMOvuqy>mn?TkdMuNe!Yyo)~2~G(9iUb9|-31eOMI8r3 z&0m9%d^CA2xKux_{(#G;w;ous2ayPz6ao~d8{AFCaaaQJYG$1&9n(Z9@Y=A_G);G* z*HAwuiW=O7iK0aJ9WkqhBu?Gyu)sRV2%x|oMjqsN(Bvq6ugIwaF(PwO7`lSl#*&6r zPv>%xhq>+=0i8J{8h0Uv^F$VF2n;T|&B!(m+Q4~U1i*m4LrwhRO7AW*D~4B<9Tl~< zXDdgW#iHQ57@fFE0n(Yg_Lm!0l;L@&e=}~oV7I{bz#=lltn0>u#9^7!^8`;uarEi> zT29WX96AM$SW>1PYQ`kCIo^bgf>vrnBL|ckR{0Iu-~o~5dY4h0B16%c8=?hGC%5E2 zPc;H9Lj$H66d! zj1u5G#*4<#_rj`hIveonkSPX|hsY79XldK?M<4bv_Ga)+H*5PQHI?qqmEB3dtb>iU zr9tN19L)^B*Qa70cBSLbIL*U%clkF;O^&u)szMlO&H;PixO;_NrV$cD2P~{zi8gW;Y<<{D9bxuwI-I{SZbE=#6iJPt*{Y2K@1Z$ zjvywE@`rG|kLs}O%~#vE2__n{t;b~8^kI1`48!W`>ex8b*Vo51JJ#0LQE zJ~qw*0|PNzb!24Zi0ykshO~9-RxG+}$BrE%UBsAV27_mqymdqfg8{Q|+E(n}M2Hbt zWnFa)nO^B~%X*=LYngc*q@AHRP4+?0^sD zR7-QPdHuJtt1qIg+1RJUM!z%&f=1eyjf{-2j;wD;71JVNNEQ3>zX@6Y4N}GOHokw( zW7GV53&(#RseaeTD9r!T$EX~YaOQ>c!MpNeHIuRn3tEzP*dDmo7hvdr?{wZTZGV*B z`*dKVWY+qWG*4-Ik{-y}3<#N-=0=6vjMVe~2ZgLr)~TJTWG$O{z4D6Vn-FtnDQ`qe z^i{}eG%e!?o1c&R4>rHdnbHeGyLhSJkg9=2?_Y(in1#cD2(wCsKq*lpk*FrpO_Rx+09*eB1dl$EJrh7pe;p#s55JU zVwnb#n+l;g%S!JukNc29%3kEK>`@M0ASLe4M2iPSo%bw^9^R#|oY?(B-7mxwSqV_A zg{5S&XC=sA4ACMAxPt=<$dBVhX3AI!30tS!lsOnmA>f|7mRWMqDVr>^bGJ?hXk7kh z&hzW0bgkU+csP6MI}k}12qg$1$AiB#el2FASeblHn(oF89GXjp%4-A?6O^UEE$UCh zXIfT9$q=K~2?B{xj_l6j9qJdMNTx{MyHai6iGGG#K0qNi)**p}Wz7vqvN7qbDlq4b z>L%k^Txps|U$H*Li4kxU5DMp_cn*iBK-?_@I3SAOi>1ujWMu7Fvbez!Shu2AE$Y=+Sw zZ|#{AUW-9mNS1WLrn^fX?(ZBM;CU0$P?GwHIkdyE?YKt5{$@|F$q!()L~evhEQ>Ao`T3Ud ze%8N%z)wBe%gzUl6->-Q=sp(^*>6VdBe?e2j0CYy_8%yt%)}r6USR?9IJ*@7{ki$*?r~kxBMn{OPd& zdjD5nUvcTT!{l-Ec%Qu?yRSDUj4oVxY~I!-PBvRQRE`JTus;>{CD=h=t9+V#K*rom zQ{xx{76*HFCnjaPf6bG}5`8#yd~r^>7gp?+m&a$6;ytr=WN$I{VgtIgY)=c35@)32 zMg^4lEiER*SSU;n=pIwFu+sz#IQYzEj)?{wR(~bOn5HGTdFy}DjMg&n6V0o@X8u2# zWtUSc_I!s+L#BOSpZ>Nn{jm7K=^bAiYA)$?9{$dZrttXTF!=?S9u~1wG1!}X@7FiC z#ctopZ@3i)pQ&;9e!;nDXF5kW!r=xg@+(q@sE$k?>pVl%m3eZ~qnfoceAgy(e*P!N z-8lT|LZ zjY`e$TBZ|<;6FAI6!a)Bqr5G>UtX$ZOf)`ZE%s7<6m{lY(y{aOC4L%`3y-IZ&h4wbH`tnt zMHsw%-?8Ds%TGh7j~ziC6WMH$poMamWb)a8Op=s zAt)pg;8-IBU=p~?#P}Q_IMoLMk!v<&TKA(-V5deS(J13kE8HuvV8rF8BBzrAty!}V$0%H;|f>_VqtF^z74u~eT3enuS>nq%#@`h)u8Ck|IRDvY!Q;!hK?a z6j9={{4Eys_I^gbMEDf^)TV;NjG>{SiHQlEu)q@&i}F;3g@x7C)o@h)pMw$*i7~KE zqoAh0PGaItA)NJU+eV%|#f?~gr5w2}j1=fN-Wjp-|vV z0Zx=)-e)ns!gGL&`cvDtZ-*ZMo&$u(3t(A3*i9GKIEI5O99hquI|mp0hKGk?pa7pB z7%RX5_4nC9wU#~g%Xt&-uh~#P6XiO+)#3&Ydb*ANDrWgX1Z|fxhAt*(M7kw+JDeG3 zb0h$Zx7hdL5U#ui(H>ig1=6cI?q!@K<7!}Nm*h5E{W$`SyjMMdb@}1t zjv^8ek}8c56Ndl-qfZ|vBCbGIkiekDcKWoF|B-UB;RX2#oZy^NR#tY=br_yyfw_Me zIKgJaJ9qAkj*ecOk>v4s@DJ0{(sK9i-TxJ8f>#@5CZzlXPS2D!ni^V}ts&^zL4b5) z1}?Y1%!ov_#`?2J{&+DgMUTXyL#rKn%k=R!_<{btnS~v%WfgTK< zG&D5eb%kpciwW?et{9vE@7S>ez9r#WMQUm)?3fEbJFFEtcJ~#n}mCzQ~ z6}}eVym|9`=b>zwnvP;U-u~5q!*04ihGW?_fq zaj7h4O@_To(@|7=3O^W)6!9+{q~W++>f)|6gMR?stbZ2)ex8gU3-L2Pz$Iu{^#%cD z9R#=heD9yh?|%5>HNU9LMT6+YuE$uRB&{S;)575kbBWcGgS@~zEA(bcPH|l6aoB_kS#-ja zfQ>w@MiPk>sjb@(Y)4dU&F$=J@9OTk^ur*!f8d8f^nbRN-4Zzddx{e)l{}D7-B|Z? zinBoV?=sEZTY|IIeR_LF#mLb&@B z$Xeo2oPTJIIB^wdLV;nNe>XDYnyu0jIk-F_q7HKjCxNm}4|IAQ@J6SV1n$7nD9z=F z5HJG|s_a7xK{iXI_X)XJaNi7mCK-VrHvKN0HiG-*kwoUCt@Yigs=}UPiVoyKQK&JCIE7Bs>$|y829nm%FR<5jX@s{ z@1VE?%6nBM2xJ0^$6oKk;2H_r9^Z<~7y-&a>h--H#@=-qc5*dn{hLcy-3 z*36j`6bStLPWf-V8XPWQUJcG4f0JtK)~#Eda0?C&h9&VAn?&G55+>E)D-kBu%F43L*VDq-3av0%X3jC;Q#04`Ir0KPjsD+y>??m zoM&n3@N4|J_~R848DEx35&$4L6bqnJPRB{KW9$$j0|?&rt9vb#02Rw!2ZEC*a)6p8 zI+3%5tISTz&0Ei=Kh@d6QKDXE{rfxR;c8Gi5;MDFA>e zR@o-u))q-5B1Cf!!?2_&K`rlG0O6mxLlnapjg_EalN6@YRf9kl_^4H_woV-RxF;7j zc9WEE-eSK^LTz*YcuA!J2DQ^-LPJ~_8+9`VLzJ5$36N6V3lbr`%30(p3OVaLPWVOP z^)YpKsZl@xLTOcJv;@iy>OiOig&w}v<@+})3=fubv1STmu+~J>en+_xC2T?LN;b3< z|466Io4Q9mlyWzty1%10bLIWM#vueCXro!;eA(2K??jnGL}S!IGS z>U6tWAYm?+ooxBf%kD1}k_^MU_3PKe7&s;-23C83kMv@cM~b+2EFlIK`~y$__|A&I z!N>0&5ty&~t#tjHd51A03_jpHaGtmjU2;q-XIq^#JP@pIx>p2Th|*`>*VqlHJc{=| z=>Ox$?AgCXIX0f1y7|X>*`1K-EEftv-24qhtGtp8$BwT*QC@Yjx~8`7RDHwgGykvW zXF~qXFY%-|_^;o-|CEsEfA#nIu@L`#e(*NG&(C(Y-S6|$ROJ-&14Rg)ISduAN{x-> zF_WMLGEsx&@VAJ=yU@`piXjG;LWK{23YwG*cA?1z|0DY3X#jdLT1ArzcF&}}ToUp?w2DUCm2biX2W+iM6xlCb;HiDILe z@AU#8#Q<39ow(0hAA|BGB}Iq}_l5(?Qj+~vMF_%>9cC>6H{d{*9ob8aPR}>*w5Ur5 zG^403JSe)r?O@JPHU!9~NpqG5ni7yL4oXo5*2$@FpN+wytgIxSS-nG%>YJx5Bm()k z83b5!BCG?z9fL_ko;;Ba!Inw@NRavg1Rm?bK!CGKx)&`QZ2z-efaST=x@?O37ZUhM z!{oyoo%)NIg|iEIqr)hBaVmbX8Op-KVzI&o6SIpO{db9p&1S=+=`bEx)R0-U3H@h@ z>7Rk(H_HAeJovxf*8lU1zld4bCiGXs0Bjw;=#O(1ZW#C>TnuZaz)F(Cuu9nfnuhU_ z|FzMp@xL}YU-eg@IHw?3MA<#$Unu)(#oryHu@a(^L}#T3LQ9n;GtXoxGS8loP~u34 zEj(#96Uq(j6Eh?Ko&CPelX9*oXtPc@@V zK0qfg!xKW~0Dmc>#^xcXsULf;2Rkuxy$sJTgbPab?e>T~YdNJ*x_dtcg-;J>40lAb z?^tOwsK0o?pIb}>2m$VaCSV%8XlN`7BPIg#ed0@Scv(q!yGbejFcDZvl95xBmDi9{ z)>R^|P=TQ+eAB9}B5N3{Q_VEB*HGcj2+Mjev((Xd)-z-nn7A35Z80|YG^KA{ZQ=J{ zG#RXeENnxq9KvlKBkWzG99-kpZQRHB4RIC;MC^fuElC^QlihqWJ(xLO0r^`44>3cE z1Gbe0g_ngyRBVep8MeDFV(;l)ac6h$Z;wvwh!tZkxK%B%y7r~??Ei-*!;xdh%6^M> z!*DpQkHsBgXOE=ijBVQ%Q+VuoQPquw=JAED$%Upr7GRQPu>=cu zR9}C8wfEV=!1ThcmkW#f3{O8l`Hzcy!^#ZHwuG=#)6zK^+)R$DR~9eVTO~NRFkQtq z`yfZhJ~iL_a7E=m@ATX)%aR-GBt2VGJ%NB$xU$xsA!BtOaO(Igp=@eS87&C#DV#_v zVBcr^-^=Xm3V9gfGxcSGe=g1#pX zpb6-l29PqxB{Zv1CFAriR}=}W~)5N`ON4ZOFzto9e5+(3~kmAUZ6TZ z**jWRcpCdQk=$I>K&pR$t2c%Prx?4v?x_3xaKzp3bl613euStQc;Kw<@RJWZeKp=g zN`c*o6H{e?Hja7)MHd}a!Q-Rw;T+`7$lZ2`gy76gmTOgih^Edr^)DbSSG8vwksfrl z#my-dI?2{nIvnpB-*B_|w04sSCF)+1p1#-UsTFOUn6U_H3B{krn^ygM_sb=qt)Dy$ zF_tY0jwZZe*>r6h^$bPi+!P}qIZZ@zfE-%j;E5}Hl(w&>+9T{96!VZnDQtI7Y^|IF z;*np+js#!tZoeI~)uzfp)c@#f5T&{6kq=odjz1+YoglorRGHk2U(mirViKg%im6Wy zx!I=p>w4S6iSF{gaj&gd@ufGcWmXs9a}-w{;@NC_@5%$0?!A#~m%gcht<{xeGA?Cq z!rWT$!@WRz%iXClt%(G|w0r17+a4E&EvHPZ?CC*1ZT&Oi+_U9~C+FYYaoW+z zbqjjc_4PY>)#Ek@+ z-i>n0W)!QmbqC(v+E@|mV;{n2fVaI@?AV)=#;0411%AmYmq*TR!5lhr=*5S@E!w2q z-c;et^u5^3gen*zc)CkbpDvph__n$9ccf@;eLdzL)-eAEu3}u~G{r&u(~~dLcHKbX ziW5=|Md>di61^FwwxQ+K-y^QpwOw2G=jkgib!VH#*6F@zeHu|e)bTN5*~>1GGg@;! zvcBrC`!s#YZw8HgRo`B-Td(wPbjw4%S9e0zs=vP*BPsvkLHbU;h54z&Yn47uS6|0{ ze%_`k_T}Z3>!M%Zj2#gD_TlLP?Dx+fC3Qc27b9K;r~*Vs@&PoCh*&ay5w((bKq7(p zjZE#H-@s3Pah{02S=}vOcqT;!r;4!}zd*>N?b9&#d+%D)Gtor9>pCiTpvmB01WaL+(^lajLnpx}1M7(VIj> zPIP*gO~(eVMR&YCI@ha# z_hzDGN2ZR=4^^-EIB-4jGu#&{UPBjg97$GqSB7z^v6LMgNi%(S0-s%D{qYl0Cy<0= z_Se`N4c^F!e^)^iueG;x9L+0vS4nlLb=)#ITG;Wfik4mL9O8JhB-#MyF>kpvdhq74 z&+n?~;&qI4$6MtJ?`!N`>Rb;G-a2XezLt?)=T_}_yUz1{oyEd81Zhxk`*i&KQ%vzw z?pGY|G?l!s4|O@^IW~Bwwc~w5WcDfVr;cMCci*3mMd=uP931QV{Qe9}yq+oIG~T1| zfzNTN_m{mo-e>xuk(XT`sOdB@==q_kXt+Mu=<39^_z!2x#2Z5GobHa6d}yw5d9iYh zu)0C-((b{PY=R(-yUacl)wr51$0dqdQyq62nZ0gU-9V^?G?kO6mg|*?65^CF)~iqEF);o zi2_|-82uXS&P2Wb{Tr{Qk~*hJj_%!}1~*ZZtnMWRD{U7d8@rQb*nt-~_)B;pHq%E90>{K|FCzlM`7) zsfPm=Z89JerV`m@h{L8TaJ2&d!(lDMl4Od5rrfI5Hhks#PkhI z)Q#m5v}Sk7m|?DHkx`p1@ookzz$s%a&;%Gwq`JJ!iOq56IrDnkvuME)_+_qU15tO| zb)VcakMrd15I?zoRHj4E1DpDq9@Z?zqC9r+_i^y75V!VK2nxdJ@&@r~{KF#69XcM* z5QRDfU&U9SOkDlk?k??qyqp7WJNsgpn)JephpF|S1CaP;lI7~>qW1@YqO@tebiMGx zc;P)A`W}+M_$oloAJC#Y`$mNWl=fHy&BFG*d{2f{ z${OWEH*lCua&)>cRqOofuP#Yo!s}UhcBYTRXtRjE{qlRe?Ol117`h5BB1>%p>ig^K zF)h5P1$!fCgCTTD{54B*mZCio+P3p<+Dps&4jov?ctn-nwqF)8W2M=V69Jp0X(kJS zvQjTsKBunNRNkunUem=e-m=SRK!w*Px?ClrRR1YX`2cNwS~o_m`N;FE?IxJCy5rsEtAlv%dH|SQa-)R#Cw1EEV_$tp zLkY=#c4r~&ONQCYZ1SW@Q>S2$dfk*VRo&uUVvLb+xJ==L`908TV;n&>gi}1+ioW z^da={YE-QEcB^_|Rz-+Au0-R3N`1W~o-t|K_do#qBZy?i@ECG3LhvvlZZI9=vjI#@ z0}{K%j$2@?g`oH&K)NPiDhNRG_F#>7OvvsVvjDXiTVZ)#P78$0MJW42T0F#q4a{j8 zR6vKkg^Hvy#BksO#)%&{B|uTD5v%}Aj|^h%R0}b#I9MA0H zaFgdVdyKPs-Lv{)v-*p&2HUfS+_SpJvqt2yM~$;@xo6*r&AvUKHQt^*IiCGsK3gc4 zbG~LFd&)g$IyPsfDChZj=HvF9m-9JuatGgVvR@b<{1AI^zUbiRdG7o6gWu;50`k1+ z@q-8t9y*SP*_M@TjDq+iBoV~Q=SrF6N}uD3Vc`)5q{0AFW+GSRQ!XMdSEG!(5kR>y zxf^Jxs?fZeqP!|9s<%I{(ipX2j_XFuuZqpr{*<@MfxA48s~(p}G&yAbDU-a7Ye5Ih z`5@L0EVoDCg-9F^Z^(fE4#Hdy(BS7Yvav+6<+=B&Rg$H9gV95lr-C#KfDZ<0cj^sO>JLKZAa46?fQCn=T5)nEy zk-vslD8@uCrGe$+p!hk^6ae%YC{1FaJg6C0EW#@; z#THMQ96KGG%UoHqDY6*L$d?xspTYtZerdT03S@y5MIcy~rwkl_lX2|4JY;q*(|H0c z4@H0s)JQF|Tn^Px%yo+dUYei~_~V=S09-8F#78D%l))*1wmf)y8z{oh*9QQl+GDfN zjy*nCu4~GbbwF&yS6Ids%XO5RJzFR?GeNnHKmhY_xqG=KzXak{Sej%h(#p%>_DKe+ zQNBzH0BdKU8(0v}${mb@7X)QGc*0_P#U=(IPve@4BA>;bD3_~PR&r7&{!mqHahL~J znGaOKc{mYSVUGmxmAmS)6a_#LKfNXg^h1glzf*nMVS+k)y!e$;%~Yh}(|ESpem+ z#cP<{Yo_^Mit&n(6?YuDWMXM^ZRw;o*OFEM(1A_0TsM3vb{8OX9)LdA0QlN51po_z z`#nyAr_NCCbWLMuV&j* zO?XjPSQhlh}Np zv#FukO_H5JRCQ*@)v^xPrMvB!TakEtFe|w~a%U>f7Yj;#O9jx(Dy!Ex!JX80E?-vD9vaw*X}$l$9ypJ1pot85VI}>;f3&+pa)=>>GP2n(}kU%zldHAM)!M3Fh9nh`G}wU z(`%C%{(VL*B#uco3yVzbzeK?V_$T_mDnR!;ybS-OkPR+ zdWEIbpKRXG_U=zh=;utD2Jrhc!zHpN`!jUem#PqZwy5HZWOd6l;s^t&j35$2;X;UN zXJo)Ln%1)sRAb-33|@VsWnV;ifAZlT#m&(D5md8xyrv)8h8ccV*DKiznoWWp5u}_V z1FdM%{(OXnrc_nt#kvGEh6Wt?qO1xcq<2YOxT7$@Ak|K3IvXvZcMPec=X}H)ml9SA zqPk=MKzHN{2d~%nFss8Q=%9Skj=r&_cZaBO`>?KHPiU}r7cId9?7m4pcPM0cq43)E zaP%t?xvm?ePkXN?rOV5#T;@pBE5DHx9lg^@2s(dE++8gy`fZ3x7!Ia~rtUzDE;3KnPe6(yMX|FS7EFBZff_C7dc>J53 zEFI@UIh`RYnveI%#id%@;_!lYY{Ytqs9kuE?*hGbg}2gx+v$@&T1+N$Y!5(8?k^P| zZc+c-GQ500Mu>~Xwdn){EMggXmaLHXGz2M>ZJb{4Tz`K^?CW5vcX}8aQ4!_^bAoF^ zcP=j!U-d0ARp?Kg8#r$V9e06toIt6!rjqoqK^RKbi*AaKdPTzE$s-c4KHhbU8u(H_ zfc3lQ_NG7EAKf*4uV?jSug_%P{>lEMlY( z*Hi~^Ok)|ORr{aM!g$dkT?X`O(~vP|Xi({)huy=sA;TKG2sZpABqKS51{q8P5v@Aj zjGnmFovTkMI2$EAJ8~;S`5_@2^Va)11TG|<&%5oGyH|x4Cb=s%4NwRD91n`PyrDOvw_al~+!uZJEyW51SO+YB>5tnhAKg-wuepz3V}T|LKS3TQTh+ z5}58if#N`L_MPEjRKJsgG*2v*G?ut#=Ck?Jv}0YxG{J$TiES3+TFi0I@U_=Rhg9Z* zcUVkB*Z4i*Ph3ymwW{HdRAKa8Wdu6pE{S#b>oj=k=#w)j|9H*WtlX|;p~3#)vtIiO(Kmlx-MK8A!g5?tpv8aHBP6q<}f=k&rV~!`LY4R zh$Yvt)~u9wJ5-HbK~kjrilm@gV&^HIFZw$E@%@0$x;yLfzUW+p%xF@^hu5M32{+A^ zJj>?97D93oF`K4$<+9ZL>2GR@f@?&Dw_c*L>kM*v?`AiVv=3rrk34K3;79$ps{1NQ zFik>)ff29YRn38(2Sg`hu-E%!LDl$u(-KDA81DsOtLm%l69~8O5@tIwT13SsGFXqX zM>+ek%&$1x>!PPlt8p)2Qr0gl6~1qm4aeIuNC)mItnyVwaj+?mK;&kLQHc-SxprQH zXwU)CbGO4J_&OB_FkHV+A*|0s1(?QDx9+|F{HYmc=VAvm(szBZz^lV`m7kTe}s zI?C4eoA$^8eCPoi^0b2sBcH5~58-c5y4GG1b~Ed0yR+&f;? zNrAnMGg53ELTnsU9MFe38PdA;Xh1q3!{!(~@#=;4Bmsa*O0ZTvCe2a8{&)>CnctKa zLez4?01`eSK2EBb1*f4CS5%SkP+mqbV4D--WPNvX;-R-r$fJ}1^q~|aoU55kiJ~o?2sX! zH-+{%PH4SU6|HqNmjGOo_%*C;1&k*!0X9-Z+MHo*D7cd+Ds!#Z|MD%l!<)S$;;v>0 zFG(Q@=cpb9%R(^f4pJJPNyJhqb>NQrXnZt^Rhb9yF(Sl`sm)H4qU9Ndo-TTh9AIu$ ze|HLK6@dyAp@QWYusZ2tA&wDv_ECs!beWX(#J6N^lcAeKk?#TpXj}uVz@)ENKN9M zMs8Rzj&?$AWlpRu=JcM|$FiK*Ht@hW!w8VFth1qP2V(P+qeE(hWA1?5o<7mOqkiIs zpNA_Sa68wjb3yY8a7L^~7Q_WAlk45|lRrHb#(o=cs;0ShDA06hfXQkIsc^{g_bzvq~8mBmPxK71s&aGVzT5}YR2T$)wC4e zUPif`DU+oaLX@YvI(#1wa!+?P<>td zy6O~)VCqJm5;q6`!OHNSLZ9SkWPS3oE;m8e9}oXr(%<=Nz~N}9WUNl9^PO9v>#NX3 zrhvB%K)fe{X)?n!M7a)ZcfnqLGI#m>>!-dhl9BnzQAg`!H7}J1rvO0?m03CaMO+eW z*X<+Kjua{fBX{jZ;x#B3t?FE3u} zwtx5(Z8Zn1_vvM&Fd#)TZ}#&s`(HqYGN<>Y&uH!5vz-(4_)308iL4>7{X-WaEt zJpQWMocvM$#N-uq1iCE$TY& zLE=6%53x+>NK@f?+Ci5PdKiwPu5&W7-!6aIjJ?symB~wwye>Y#ur|;hLCA8MJmLOJ z$P0u^OE)tpr%2eiE(@~Mp?>RIu`lAVIz4jD^pY?+3+u|WeWL85)$1`kHBk2~MR5SZ zGIrIU zt)O(=C5>&*k87Oulh278iVC5p8c508QV>jFW(Ly1F(nWC@U>F<2Q)i`fZ@4RnQ0S( z4zERYygAg#*@CrmDDv?7?#9&s%U8S@p&^2E_DGpg(TQ5>cyqxolvrN|$Yy=)U1{Tw z8~@6-D6u>J^c$!6O3e*`Lo-^Tm+E*g1MV=3%5)9wcE0%eiG1Dr!Y$JJs5X4BRQawP z6XlAc2K*(t4#7y8<#XH}C%JeIOA0wu@A%pIdi-@uG8>puf60ddh=qWMYRaw()yVEQTvuXt}h2wPV@xce06`l zhUI=9Ghv$x%VAEjWm4Qq>$cl{^B^Df7rwgY_+Zune|v z@+^iHC$@f?sFcEu0YBU47TaVHNcKUGpACdRYr4Nbg}o}_vhKh8^uK@iXK&iS{I1#m E0W$dp1ONa4 diff --git a/demo/demo.html b/demo/demo.html deleted file mode 100644 index 09818c7..0000000 --- a/demo/demo.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - - - - - - -

-

dbt Tree-Sitter Demo

-
- - -
- -- - Error: - Refs: - Sources: - Configs: -
-
-
- - - - \ No newline at end of file diff --git a/demo/src/main.rs b/demo/src/main.rs deleted file mode 100644 index 6d016de..0000000 --- a/demo/src/main.rs +++ /dev/null @@ -1,78 +0,0 @@ -use dbt_extractor::{ - ConfigVal, - Extraction, - extract_from_source, -}; -use serde_json::json; -use serde::Serialize; -use std::time::Instant; - - -#[derive(Clone, Debug, Serialize)] -struct ExtractedResponse { - ms: f64, - error: String, - refs: Vec>, - sources: Vec>, - // dipping into JSON to represent an Object of heterogeneous types - configs: serde_json::Value, -} - -#[async_std::main] -async fn main() -> tide::Result<()> { - let mut app = tide::new(); - app.at("/").post(parse); - app.listen(vec!["[::]:8080", "0.0.0.0:9000"]).await?; - Ok(()) -} - -async fn parse(mut req: tide::Request<()>) -> tide::Result { - let source: String = req.body_json().await?; - let start = Instant::now(); - let mut res: tide::Response = match extract_from_source(&source) { - Ok(Extraction { refs, sources, configs }) => { - let micros = start.elapsed().as_micros(); - let millis: f64 = (micros as f64) / 1000.0; - json!(ExtractedResponse { - ms: millis, - error: "no error".to_owned(), - refs: refs.into_iter().map(|x| match x { - (x, Some(y)) => vec![x, y], - (x, None) => vec![x] - }).collect(), - sources: sources.into_iter().map(|(x, y)| vec![x, y]).collect(), - configs: serde_json::Value::Object( - configs.into_iter().map(|(k, v)| (k, jsonify_config(v))).collect() - ), - }).into() - }, - Err(e) => { - let micros = start.elapsed().as_micros(); - let millis: f64 = (micros as f64) / 1000.0; - json!(ExtractedResponse { - ms: millis, - error: e.to_string(), - refs: vec![], - sources: vec![], - configs: serde_json::Value::Object(serde_json::Map::new()), - }).into() - }, - }; - res.insert_header(tide::http::headers::ACCESS_CONTROL_ALLOW_ORIGIN, "*"); - tide::Result::Ok(res) -} - -fn jsonify_config(v: ConfigVal) -> serde_json::Value { - match v { - ConfigVal::StringC(s) => serde_json::Value::String(s), - ConfigVal::BoolC(b) => serde_json::Value::Bool(b), - ConfigVal::ListC(list) => serde_json::Value::Array( - list.into_iter().map(jsonify_config).collect() - ), - ConfigVal::DictC(m) => serde_json::Value::Object( - m.into_iter() - .map(|(k, v)| (k, jsonify_config(v))) - .collect() - ), - } -} diff --git a/demo/style.css b/demo/style.css deleted file mode 100644 index 533628e..0000000 --- a/demo/style.css +++ /dev/null @@ -1,58 +0,0 @@ - -.vertical-flex { - display: flex; - align-items: left; - text-align: left; - flex-direction: column; - width: 600px; -} - -body { - font-family: 'Helvetica Neue', Veranda, sans-serif; - font-size: 18px; -} - -h1 { - letter-spacing: 1px; - margin: 60px; - font-size: 45px; - color: rgb(60,60,60) -} - -label { - margin-bottom: 30px; - margin-top: 30px; -} - -.center-flex { - display: flex; - align-items: center; - text-align: center; - flex-direction: column; - width: 100%; -} - -textarea { - resize: vertical; - font-size: 16px; -} - -.results { - font-family: Monaco, monospace; - margin-bottom: 30px; - margin-top: 30px; - white-space: pre-wrap; -} - -text { - padding-bottom: 7px; - padding-top: 7px; -} - -.red { - background: rgb(235, 154, 153); -} - -.green { - background: rgb(159, 235, 152); -} \ No newline at end of file