diff --git a/.envrc b/.envrc
index b1f915f..3550a30 100644
--- a/.envrc
+++ b/.envrc
@@ -1 +1 @@
-use flake --log-format multiline-with-logs
+use flake
diff --git a/.gitignore b/.gitignore
index 5f7e2dd..4812d58 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,2 @@
result
.direnv/
-programs/*/target
-target
-*openapi.json
diff --git a/Cargo.lock b/Cargo.lock
deleted file mode 100644
index f1121f4..0000000
--- a/Cargo.lock
+++ /dev/null
@@ -1,1733 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 4
-
-[[package]]
-name = "addr2line"
-version = "0.22.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678"
-dependencies = [
- "gimli",
-]
-
-[[package]]
-name = "adler"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
-
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "anstream"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
-dependencies = [
- "anstyle",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anyhow"
-version = "1.0.86"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da"
-
-[[package]]
-name = "atomic-waker"
-version = "1.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1505bd5d3d116872e7271a6d4e16d81d0c8570876c8de68093a09ac269d8aac0"
-
-[[package]]
-name = "autocfg"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
-
-[[package]]
-name = "backtrace"
-version = "0.3.73"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a"
-dependencies = [
- "addr2line",
- "cc",
- "cfg-if",
- "libc",
- "miniz_oxide",
- "object",
- "rustc-demangle",
-]
-
-[[package]]
-name = "bar-pinger"
-version = "0.1.0"
-
-[[package]]
-name = "bar-ws-monitor"
-version = "0.1.0"
-dependencies = [
- "niri-ipc",
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "base64"
-version = "0.22.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c8214115b7bf84099f1309324e63141d4c5d7cc26862f97a0a857dbefe165bd"
-
-[[package]]
-name = "bumpalo"
-version = "3.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
-
-[[package]]
-name = "byteorder"
-version = "1.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b"
-
-[[package]]
-name = "bytes"
-version = "1.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50"
-
-[[package]]
-name = "cc"
-version = "1.1.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e9d013ecb737093c0e86b151a7b837993cf9ec6c502946cfb44bedc392421e0b"
-dependencies = [
- "shlex",
-]
-
-[[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.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
-dependencies = [
- "android-tzdata",
- "iana-time-zone",
- "js-sys",
- "num-traits",
- "serde",
- "wasm-bindgen",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex",
- "strsim",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
-dependencies = [
- "heck",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
-
-[[package]]
-name = "crossterm"
-version = "0.25.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e64e6c0fbe2c17357405f7c758c1ef960fce08bdfb2c03d88d2a18d7e09c4b67"
-dependencies = [
- "bitflags 1.3.2",
- "crossterm_winapi",
- "libc",
- "mio 0.8.11",
- "parking_lot",
- "signal-hook",
- "signal-hook-mio",
- "winapi",
-]
-
-[[package]]
-name = "crossterm_winapi"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "dyn-clone"
-version = "1.0.19"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1c7a8fb8a9fbf66c1f703fe16184d10ca0ee9d23be5b4436400408ba54a95005"
-
-[[package]]
-name = "encoding_rs"
-version = "0.8.34"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59"
-dependencies = [
- "cfg-if",
-]
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "flip-bool"
-version = "0.1.0"
-
-[[package]]
-name = "fnv"
-version = "1.0.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
-
-[[package]]
-name = "form_urlencoded"
-version = "1.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e13624c2627564efccf4934284bdd98cbaa14e79b0b5a141218e507b3a823456"
-dependencies = [
- "percent-encoding",
-]
-
-[[package]]
-name = "futures-channel"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78"
-dependencies = [
- "futures-core",
-]
-
-[[package]]
-name = "futures-core"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d"
-
-[[package]]
-name = "futures-sink"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5"
-
-[[package]]
-name = "futures-task"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004"
-
-[[package]]
-name = "futures-util"
-version = "0.3.30"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48"
-dependencies = [
- "futures-core",
- "futures-task",
- "pin-project-lite",
- "pin-utils",
-]
-
-[[package]]
-name = "fuzzy-matcher"
-version = "0.3.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "54614a3312934d066701a80f20f15fa3b56d67ac7722b39eea5b4c9dd1d66c94"
-dependencies = [
- "thread_local",
-]
-
-[[package]]
-name = "fxhash"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c"
-dependencies = [
- "byteorder",
-]
-
-[[package]]
-name = "getrandom"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "gimli"
-version = "0.29.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd"
-
-[[package]]
-name = "h2"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "524e8ac6999421f49a846c2d4411f337e53497d8ec55d67753beffa43c5d9205"
-dependencies = [
- "atomic-waker",
- "bytes",
- "fnv",
- "futures-core",
- "futures-sink",
- "http",
- "indexmap",
- "slab",
- "tokio",
- "tokio-util",
- "tracing",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "hermit-abi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
-
-[[package]]
-name = "http"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "21b9ddb458710bc376481b842f5da65cdf31522de232c1ca8146abce2a358258"
-dependencies = [
- "bytes",
- "fnv",
- "itoa",
-]
-
-[[package]]
-name = "http-body"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1efedce1fb8e6913f23e0c92de8e62cd5b772a67e7b3946df930a62566c93184"
-dependencies = [
- "bytes",
- "http",
-]
-
-[[package]]
-name = "http-body-util"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "793429d76616a256bcb62c2a2ec2bed781c8307e797e2598c50010f2bee2544f"
-dependencies = [
- "bytes",
- "futures-util",
- "http",
- "http-body",
- "pin-project-lite",
-]
-
-[[package]]
-name = "httparse"
-version = "1.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9"
-
-[[package]]
-name = "hyper"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "httparse",
- "itoa",
- "pin-project-lite",
- "smallvec",
- "tokio",
- "want",
-]
-
-[[package]]
-name = "hyper-rustls"
-version = "0.27.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333"
-dependencies = [
- "futures-util",
- "http",
- "hyper",
- "hyper-util",
- "rustls",
- "rustls-pki-types",
- "tokio",
- "tokio-rustls",
- "tower-service",
- "webpki-roots",
-]
-
-[[package]]
-name = "hyper-util"
-version = "0.1.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9"
-dependencies = [
- "bytes",
- "futures-channel",
- "futures-util",
- "http",
- "http-body",
- "hyper",
- "pin-project-lite",
- "socket2",
- "tokio",
- "tower",
- "tower-service",
- "tracing",
-]
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.60"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows-core",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "idna"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "634d9b1461af396cad843f47fdba5597a4f9e6ddd4bfb6ff5d85028c25cb12f6"
-dependencies = [
- "unicode-bidi",
- "unicode-normalization",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "inquire"
-version = "0.7.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fddf93031af70e75410a2511ec04d49e758ed2f26dad3404a934e0fb45cc12a"
-dependencies = [
- "bitflags 2.9.0",
- "crossterm",
- "dyn-clone",
- "fuzzy-matcher",
- "fxhash",
- "newline-converter",
- "once_cell",
- "unicode-segmentation",
- "unicode-width",
-]
-
-[[package]]
-name = "ipnet"
-version = "2.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3"
-
-[[package]]
-name = "itoa"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
-
-[[package]]
-name = "j"
-version = "0.1.0"
-dependencies = [
- "chrono",
- "clap",
- "inquire",
- "owo-colors",
- "temp-file",
- "termsize",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[package]]
-name = "libc"
-version = "0.2.153"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
-
-[[package]]
-name = "lock_api"
-version = "0.4.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
-
-[[package]]
-name = "memchr"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
-
-[[package]]
-name = "mime"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
-
-[[package]]
-name = "miniz_oxide"
-version = "0.7.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08"
-dependencies = [
- "adler",
-]
-
-[[package]]
-name = "mio"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "mio"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
-dependencies = [
- "hermit-abi",
- "libc",
- "wasi",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "newline-converter"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "47b6b097ecb1cbfed438542d16e84fd7ad9b0c76c8a65b7f9039212a3d14dc7f"
-dependencies = [
- "unicode-segmentation",
-]
-
-[[package]]
-name = "niri-ipc"
-version = "25.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "01515d0a7e73f1f3bd0347100542c4c3f6ebc280688add12e7ed2af4c35af4fb"
-dependencies = [
- "serde",
- "serde_json",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "object"
-version = "0.36.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "084f1a5821ac4c651660a94a7153d27ac9d8a53736203f58b31945ded098070a"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
-
-[[package]]
-name = "owo-colors"
-version = "4.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "caff54706df99d2a78a5a4e3455ff45448d81ef1bb63c22cd14052ca0e993a3f"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "percent-encoding"
-version = "2.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
-
-[[package]]
-name = "pin-project"
-version = "1.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3"
-dependencies = [
- "pin-project-internal",
-]
-
-[[package]]
-name = "pin-project-internal"
-version = "1.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "pin-project-lite"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bda66fc9667c18cb2758a2ac84d1167245054bcf85d5d1aaa6923f45801bdd02"
-
-[[package]]
-name = "pin-utils"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
-
-[[package]]
-name = "ppv-lite86"
-version = "0.2.20"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77957b295656769bb8ad2b6a6b09d897d94f05c41b069aede1fcdaa675eaea04"
-dependencies = [
- "zerocopy",
-]
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.94"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a31971752e70b8b2686d7e46ec17fb38dad4051d94024c88df49b667caea9c84"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quinn"
-version = "0.11.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8c7c5fdde3cdae7203427dc4f0a68fe0ed09833edc525a03456b153b79828684"
-dependencies = [
- "bytes",
- "pin-project-lite",
- "quinn-proto",
- "quinn-udp",
- "rustc-hash",
- "rustls",
- "socket2",
- "thiserror",
- "tokio",
- "tracing",
-]
-
-[[package]]
-name = "quinn-proto"
-version = "0.11.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fadfaed2cd7f389d0161bb73eeb07b7b78f8691047a6f3e73caaeae55310a4a6"
-dependencies = [
- "bytes",
- "rand",
- "ring",
- "rustc-hash",
- "rustls",
- "slab",
- "thiserror",
- "tinyvec",
- "tracing",
-]
-
-[[package]]
-name = "quinn-udp"
-version = "0.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8bffec3605b73c6f1754535084a85229fa8a30f86014e6c81aeec4abb68b0285"
-dependencies = [
- "libc",
- "once_cell",
- "socket2",
- "tracing",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "rand"
-version = "0.8.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404"
-dependencies = [
- "libc",
- "rand_chacha",
- "rand_core",
-]
-
-[[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",
-]
-
-[[package]]
-name = "rand_core"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
-dependencies = [
- "getrandom",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "reqwest"
-version = "0.12.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f8f4955649ef5c38cc7f9e8aa41761d48fb9677197daea9984dc54f56aad5e63"
-dependencies = [
- "base64",
- "bytes",
- "encoding_rs",
- "futures-core",
- "futures-util",
- "h2",
- "http",
- "http-body",
- "http-body-util",
- "hyper",
- "hyper-rustls",
- "hyper-util",
- "ipnet",
- "js-sys",
- "log",
- "mime",
- "once_cell",
- "percent-encoding",
- "pin-project-lite",
- "quinn",
- "rustls",
- "rustls-pemfile",
- "rustls-pki-types",
- "serde",
- "serde_json",
- "serde_urlencoded",
- "sync_wrapper",
- "tokio",
- "tokio-rustls",
- "tower-service",
- "url",
- "wasm-bindgen",
- "wasm-bindgen-futures",
- "web-sys",
- "webpki-roots",
- "windows-registry",
-]
-
-[[package]]
-name = "ring"
-version = "0.17.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c17fa4cb658e3583423e915b9f3acc01cceaee1860e33d59ebae66adc3a2dc0d"
-dependencies = [
- "cc",
- "cfg-if",
- "getrandom",
- "libc",
- "spin",
- "untrusted",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "rustc-demangle"
-version = "0.1.24"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
-
-[[package]]
-name = "rustc-hash"
-version = "2.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "583034fd73374156e66797ed8e5b0d5690409c9226b22d87cb7f19821c05d152"
-
-[[package]]
-name = "rustls"
-version = "0.23.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044"
-dependencies = [
- "once_cell",
- "ring",
- "rustls-pki-types",
- "rustls-webpki",
- "subtle",
- "zeroize",
-]
-
-[[package]]
-name = "rustls-pemfile"
-version = "2.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425"
-dependencies = [
- "base64",
- "rustls-pki-types",
-]
-
-[[package]]
-name = "rustls-pki-types"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0"
-
-[[package]]
-name = "rustls-webpki"
-version = "0.102.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "84678086bd54edf2b415183ed7a94d0efb049f1b646a33e22a36f3794be6ae56"
-dependencies = [
- "ring",
- "rustls-pki-types",
- "untrusted",
-]
-
-[[package]]
-name = "ryu"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "serde"
-version = "1.0.219"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5f0e2c6ed6606019b4e29e69dbaba95b11854410e5347d525002456dbbb786b6"
-dependencies = [
- "serde_derive",
-]
-
-[[package]]
-name = "serde_derive"
-version = "1.0.219"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5b0276cf7f2c73365f7157c8123c21cd9a50fbbd844757af28ca1f5925fc2a00"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "serde_json"
-version = "1.0.140"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373"
-dependencies = [
- "itoa",
- "memchr",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "serde_urlencoded"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd"
-dependencies = [
- "form_urlencoded",
- "itoa",
- "ryu",
- "serde",
-]
-
-[[package]]
-name = "shlex"
-version = "1.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
-
-[[package]]
-name = "signal-hook"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
-name = "signal-hook-mio"
-version = "0.2.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "34db1a06d485c9142248b7a054f034b349b212551f3dfd19c94d45a754a217cd"
-dependencies = [
- "libc",
- "mio 0.8.11",
- "signal-hook",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "slab"
-version = "0.4.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f92a496fb766b417c996b9c5e57daf2f7ad3b0bebe1ccfca4856390e3d3bb67"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
-
-[[package]]
-name = "socket2"
-version = "0.5.7"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c"
-dependencies = [
- "libc",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "spin"
-version = "0.9.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "subtle"
-version = "2.6.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
-
-[[package]]
-name = "syn"
-version = "2.0.100"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b09a44accad81e1ba1cd74a32461ba89dee89095ba17b32f5d03683b1b1fc2a0"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "sync_wrapper"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394"
-dependencies = [
- "futures-core",
-]
-
-[[package]]
-name = "temp-file"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b5ff282c3f91797f0acb021f3af7fffa8a78601f0f2fd0a9f79ee7dcf9a9af9e"
-
-[[package]]
-name = "termsize"
-version = "0.1.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f11ff5c25c172608d5b85e2fb43ee9a6d683a7f4ab7f96ae07b3d8b590368fd"
-dependencies = [
- "libc",
- "winapi",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.63"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.63"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "thread_local"
-version = "1.1.8"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c"
-dependencies = [
- "cfg-if",
- "once_cell",
-]
-
-[[package]]
-name = "tinyvec"
-version = "1.8.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938"
-dependencies = [
- "tinyvec_macros",
-]
-
-[[package]]
-name = "tinyvec_macros"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
-
-[[package]]
-name = "tokio"
-version = "1.40.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e2b070231665d27ad9ec9b8df639893f46727666c6767db40317fbe920a5d998"
-dependencies = [
- "backtrace",
- "bytes",
- "libc",
- "mio 1.0.2",
- "parking_lot",
- "pin-project-lite",
- "signal-hook-registry",
- "socket2",
- "tokio-macros",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "tokio-macros"
-version = "2.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "tokio-rustls"
-version = "0.26.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0c7bc40d0e5a97695bb96e27995cd3a08538541b0a846f65bba7a359f36700d4"
-dependencies = [
- "rustls",
- "rustls-pki-types",
- "tokio",
-]
-
-[[package]]
-name = "tokio-util"
-version = "0.7.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a"
-dependencies = [
- "bytes",
- "futures-core",
- "futures-sink",
- "pin-project-lite",
- "tokio",
-]
-
-[[package]]
-name = "tower"
-version = "0.4.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c"
-dependencies = [
- "futures-core",
- "futures-util",
- "pin-project",
- "pin-project-lite",
- "tokio",
- "tower-layer",
- "tower-service",
-]
-
-[[package]]
-name = "tower-layer"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e"
-
-[[package]]
-name = "tower-service"
-version = "0.3.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8df9b6e13f2d32c91b9bd719c00d1958837bc7dec474d94952798cc8e69eeec3"
-
-[[package]]
-name = "tracing"
-version = "0.1.40"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef"
-dependencies = [
- "pin-project-lite",
- "tracing-core",
-]
-
-[[package]]
-name = "tracing-core"
-version = "0.1.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54"
-dependencies = [
- "once_cell",
-]
-
-[[package]]
-name = "traveldings"
-version = "0.1.0"
-dependencies = [
- "anyhow",
- "chrono",
- "clap",
- "reqwest",
- "serde",
- "serde_json",
- "thiserror",
- "tokio",
-]
-
-[[package]]
-name = "try-lock"
-version = "0.2.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b"
-
-[[package]]
-name = "unicode-bidi"
-version = "0.3.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75"
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "unicode-normalization"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5"
-dependencies = [
- "tinyvec",
-]
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.12.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af"
-
-[[package]]
-name = "untrusted"
-version = "0.9.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
-
-[[package]]
-name = "url"
-version = "2.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c"
-dependencies = [
- "form_urlencoded",
- "idna",
- "percent-encoding",
-]
-
-[[package]]
-name = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "want"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bfa7760aed19e106de2c7c0b581b509f2f25d3dacaf737cb82ac61bc6d760b0e"
-dependencies = [
- "try-lock",
-]
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-futures"
-version = "0.4.42"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "76bc14366121efc8dbb487ab05bcc9d346b3b5ec0eaa76e46594cabbe51762c0"
-dependencies = [
- "cfg-if",
- "js-sys",
- "wasm-bindgen",
- "web-sys",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
-
-[[package]]
-name = "web-sys"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef"
-dependencies = [
- "js-sys",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "webpki-roots"
-version = "0.26.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b3de34ae270483955a94f4b21bdaaeb83d508bb84a01435f393818edb0012009"
-dependencies = [
- "rustls-pki-types",
-]
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-core"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-registry"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e400001bb720a623c1c69032f8e3e4cf09984deec740f007dd2b03ec864804b0"
-dependencies = [
- "windows-result",
- "windows-strings",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-result"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-strings"
-version = "0.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
-dependencies = [
- "windows-result",
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.6",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.6",
- "windows_aarch64_msvc 0.52.6",
- "windows_i686_gnu 0.52.6",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.6",
- "windows_x86_64_gnu 0.52.6",
- "windows_x86_64_gnullvm 0.52.6",
- "windows_x86_64_msvc 0.52.6",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
-
-[[package]]
-name = "zerocopy"
-version = "0.7.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
-dependencies = [
- "byteorder",
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.7.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "zeroize"
-version = "1.8.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde"
diff --git a/Cargo.toml b/Cargo.toml
deleted file mode 100644
index 208cd50..0000000
--- a/Cargo.toml
+++ /dev/null
@@ -1,5 +0,0 @@
-[workspace]
-resolver = "2"
-members = [ "programs/bar-pinger", "programs/bar-ws-monitor", "programs/flip-bool",
- "programs/jrnl"
-, "programs/traveldings"]
diff --git a/build-utils/templ-edit.nu b/build-utils/templ-edit.nu
deleted file mode 100755
index e38fc89..0000000
--- a/build-utils/templ-edit.nu
+++ /dev/null
@@ -1,47 +0,0 @@
-#!/usr/bin/env nu
-
-def main [] {}
-
-def "main find" [
- file: string
-] {
- open $file --raw
- | lines
- | enumerate
- | update item {|it| $it.item | parse '{current}#:{name}:-{template}-:#' }
- | filter {|it| $it.item | is-not-empty}
- | flatten -a
- | rename -c { index: line }
-}
-
-# TODO: support mroe then single template
-def "main edit" [
- file: path
- name: string
- to: string
- --preview
-] {
- let template = main find $file
- | where name == $name
- | first;
- let new = $template.template
- | str replace $"%($name)%" $to
- | append $" #:($template.name):-($template.template)-:#"
- | str join;
- let rest = open $file --raw
- | lines
- | enumerate
- | where index != $template.line
- | append { index: $template.line, item: $new}
- | sort-by index
- | reject index
- | get item
- | append ""
- | str join "\n";
-
- if $preview {
- print $rest
- } else {
- $rest | save -f $file
- }
-}
diff --git a/common.nix b/common.nix
index 4c6e6f7..29b73ee 100644
--- a/common.nix
+++ b/common.nix
@@ -2,31 +2,43 @@
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{
+ config,
pkgs,
lib,
- niri,
- lix-module,
- rs-programs,
...
}:
with lib;
-with builtins;
-{
- imports = [ lix-module.nixosModules.default ];
+with builtins; {
+ nix = {
+ package = pkgs.nixVersions.stable;
+ extraOptions = ''
+ experimental-features = nix-command flakes
+ keep-outputs = true
+ keep-derivations = true
+ '';
+ };
+
+ nixpkgs = {
+ config = {
+ allowUnfree = true;
+ permittedInsecurePackages = [
+ "nodejs-16.20.0"
+ ];
+ };
+ };
environment = {
systemPackages = with pkgs; [
- nixfmt-rfc-style
- overskride
- transmission_4-gtk
+ # pynitrokey
+ # nitrokey-app2
+
+ veracrypt
htmlq
- ausweisapp
- prusa-slicer
wget
git
- hyfetch
+ neofetch
pciutils
zip
unzip
@@ -34,55 +46,73 @@ with builtins;
iw
btop
nodejs
-
- cmatrix
+ jdk8
+ jdk11
+ jdk
+ libsecret
+ gh
+ nix-prefetch-scripts
+ fzf
+ glab
+ ripgrep
sl
lolcat
- cool-retro-term
-
- jetbrains.idea-ultimate
- jdk
-
- libsecret
- fzf
- ripgrep
appimage-run
git-crypt
file
whois
p7zip
file
+ nmap
+ cmatrix
tree
socat
smartmontools
mprocs
dig
aria2
- cyme
+ usbutils
numbat
- devd
-
- libjxl
-
- s10e-jrnl
-
- ungoogled-chromium
- scc
- speedtest-rs
];
};
- hardware.graphics.enable = true;
-
- services = {
- systemd-lock-handler.enable = true;
- openssh = {
+ networking = {
+ networkmanager = {
enable = true;
- settings.PasswordAuthentication = false;
- settings.KbdInteractiveAuthentication = false;
};
};
+ services = {
+ openssh = {
+ enable = true;
+ # settings.PasswordAuthentication = false;
+ # settings.KbdInteractiveAuthentication = false;
+ };
+ };
+
+ console.colors = [
+ "282828"
+ "cc241d"
+ "98971a"
+ "d79921"
+ "458588"
+ "b16286"
+ "689d6a"
+ "a89984"
+ "928374"
+ "fb4934"
+ "b8bb26"
+ "fabd2f"
+ "83a598"
+ "d3869b"
+ "8ec07c"
+ "ebdbb2"
+ ];
+
+ # nitrokey
+ services.udev.packages = [pkgs.nitrokey-udev-rules];
+ services.pcscd.enable = true;
+
programs = {
ssh.startAgent = false;
gnupg.agent = {
@@ -94,32 +124,41 @@ with builtins;
mtr.enable = true;
};
- hardware.gpgSmartcards.enable = true;
+ time.timeZone = "Europe/Berlin";
+
+ home-manager.users.jade = {
+ nixosConfig,
+ pkgs,
+ ...
+ }: {
+ home.sessionVariables.TZ = nixosConfig.time.timeZone;
+ };
+
+ nixpkgs.config.packageOverrides = pkgs: {
+ sudo = pkgs.sudo.override {withInsults = true;};
+ };
+ security.sudo.extraConfig = "Defaults insults";
boot.kernel.sysctl."vm.max_map_count" = 2147483642;
hardware = {
+ opengl.enable = true;
uinput.enable = true;
bluetooth.enable = true;
+ # keyboard.uhk.enable = true;
+ };
+
+ services.avahi = {
+ enable = true;
};
security.rtkit.enable = true;
users.users.jade = {
isNormalUser = true;
- extraGroups = [
- "wheel"
- "input"
- "uinput"
- "libvirtd"
- "adbusers"
- "dialout"
- "plugdev"
- "wireshark"
- ];
+ extraGroups = ["wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark"];
openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOaE8TFsIazpn4OnHvHcRpOFr9FfvMaWOiEjmHsmnAoE cardno:000F_70CD7D05"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg7hhAKxIAbokHHcIj9HBgbkgoKGCG2R+gx7HZKL+iz cardno:000F_93C6A612"
];
};
@@ -127,4 +166,6 @@ with builtins;
enable = true;
algorithm = "zstd";
};
+
+ users.defaultUserShell = pkgs.nushellFull;
}
diff --git a/flake.lock b/flake.lock
index 1a20e6d..f8a3df4 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1,204 +1,59 @@
{
"nodes": {
- "base16": {
+ "arion": {
"inputs": {
- "fromYaml": "fromYaml"
+ "flake-parts": "flake-parts",
+ "haskell-flake": "haskell-flake",
+ "hercules-ci-effects": "hercules-ci-effects",
+ "nixpkgs": "nixpkgs"
},
"locked": {
- "lastModified": 1745523430,
- "narHash": "sha256-EAYWV+kXbwsH+8G/8UtmcunDeKwLwSOyfcmzZUkWE/c=",
- "owner": "SenchoPens",
- "repo": "base16.nix",
- "rev": "58bfe2553d937d8af0564f79d5b950afbef69717",
+ "lastModified": 1707923576,
+ "narHash": "sha256-vch1hvgoB2TEl1+0J9h5uPkTrL4zNFUxE/razagkqQQ=",
+ "owner": "hercules-ci",
+ "repo": "arion",
+ "rev": "2b1fa9a8e9e40bb8e65a677c6fdd66dae4f4676e",
"type": "github"
},
"original": {
- "owner": "SenchoPens",
- "repo": "base16.nix",
+ "owner": "hercules-ci",
+ "repo": "arion",
"type": "github"
}
},
- "base16-fish": {
- "flake": false,
- "locked": {
- "lastModified": 1622559957,
- "narHash": "sha256-PebymhVYbL8trDVVXxCvZgc0S5VxI7I1Hv4RMSquTpA=",
- "owner": "tomyun",
- "repo": "base16-fish",
- "rev": "2f6dd973a9075dabccd26f1cded09508180bf5fe",
- "type": "github"
- },
- "original": {
- "owner": "tomyun",
- "repo": "base16-fish",
- "type": "github"
- }
- },
- "base16-helix": {
- "flake": false,
- "locked": {
- "lastModified": 1736852337,
- "narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=",
- "owner": "tinted-theming",
- "repo": "base16-helix",
- "rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-helix",
- "type": "github"
- }
- },
- "base16-vim": {
- "flake": false,
- "locked": {
- "lastModified": 1732806396,
- "narHash": "sha256-e0bpPySdJf0F68Ndanwm+KWHgQiZ0s7liLhvJSWDNsA=",
- "owner": "tinted-theming",
- "repo": "base16-vim",
- "rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-vim",
- "rev": "577fe8125d74ff456cf942c733a85d769afe58b7",
- "type": "github"
- }
- },
- "crane": {
- "locked": {
- "lastModified": 1745454774,
- "narHash": "sha256-oLvmxOnsEKGtwczxp/CwhrfmQUG2ym24OMWowcoRhH8=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "efd36682371678e2b6da3f108fdb5c613b3ec598",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "crane_2": {
- "locked": {
- "lastModified": 1727060013,
- "narHash": "sha256-/fC5YlJy4IoAW9GhkJiwyzk0K/gQd9Qi4rRcoweyG9E=",
- "owner": "ipetkov",
- "repo": "crane",
- "rev": "6b40cc876c929bfe1e3a24bf538ce3b5622646ba",
- "type": "github"
- },
- "original": {
- "owner": "ipetkov",
- "repo": "crane",
- "type": "github"
- }
- },
- "fenix": {
+ "easymacros": {
"inputs": {
- "nixpkgs": [
- "nixpkgs"
- ],
- "rust-analyzer-src": "rust-analyzer-src"
+ "flake-utils": "flake-utils",
+ "naersk": "naersk",
+ "nixpkgs": "nixpkgs_3"
},
"locked": {
- "lastModified": 1746167999,
- "narHash": "sha256-18XGHsjk/5H8F0OGUCG56CeeW1u6qQ7tAfQK3azlwWg=",
- "owner": "nix-community",
- "repo": "fenix",
- "rev": "bcbc23a4f3391c1c3657f1847cb693aaea3aed76",
- "type": "github"
+ "lastModified": 1662552013,
+ "narHash": "sha256-ENoDCKs6gKcGYa06LhCVhro0FVntcy5GBvShS+TPvMY=",
+ "ref": "refs/heads/main",
+ "rev": "43405b3bcf786513adc6534ed0e6618c458ba2cb",
+ "revCount": 38,
+ "type": "git",
+ "url": "https://gitlab.com/obsidianical/easymacros.git"
},
"original": {
- "owner": "nix-community",
- "repo": "fenix",
- "type": "github"
- }
- },
- "fenix_2": {
- "inputs": {
- "nixpkgs": [
- "typst-within",
- "nixpkgs"
- ],
- "rust-analyzer-src": "rust-analyzer-src_2"
- },
- "locked": {
- "lastModified": 1727245890,
- "narHash": "sha256-B4gUhZxqdn24PqL7z7ZuvLOS84HVskhKRByWdgA4/RI=",
- "owner": "nix-community",
- "repo": "fenix",
- "rev": "de3acda8b67b92abeeb35ac236924afd959874ad",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "fenix",
- "type": "github"
- }
- },
- "firefox-gnome-theme": {
- "flake": false,
- "locked": {
- "lastModified": 1744642301,
- "narHash": "sha256-5A6LL7T0lttn1vrKsNOKUk9V0ittdW0VEqh6AtefxJ4=",
- "owner": "rafaelmardojai",
- "repo": "firefox-gnome-theme",
- "rev": "59e3de00f01e5adb851d824cf7911bd90c31083a",
- "type": "github"
- },
- "original": {
- "owner": "rafaelmardojai",
- "repo": "firefox-gnome-theme",
- "type": "github"
- }
- },
- "flake-compat": {
- "locked": {
- "lastModified": 1733328505,
- "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
- "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
- "revCount": 69,
- "type": "tarball",
- "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
- },
- "original": {
- "type": "tarball",
- "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
- }
- },
- "flake-compat_2": {
- "locked": {
- "lastModified": 1733328505,
- "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
- "owner": "edolstra",
- "repo": "flake-compat",
- "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
- "type": "github"
- },
- "original": {
- "owner": "edolstra",
- "repo": "flake-compat",
- "type": "github"
+ "type": "git",
+ "url": "https://gitlab.com/obsidianical/easymacros.git"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
- "stylix",
- "nur",
+ "arion",
"nixpkgs"
]
},
"locked": {
- "lastModified": 1733312601,
- "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
+ "lastModified": 1706830856,
+ "narHash": "sha256-a0NYyp+h9hlb7ddVz4LUn1vT/PLwqfrWYcHMvFB1xYg=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
+ "rev": "b253292d9c0a5ead9bc98c4e9a26c6312e27d69f",
"type": "github"
},
"original": {
@@ -209,32 +64,32 @@
},
"flake-parts_2": {
"inputs": {
- "nixpkgs-lib": "nixpkgs-lib"
+ "nixpkgs-lib": [
+ "arion",
+ "hercules-ci-effects",
+ "nixpkgs"
+ ]
},
"locked": {
- "lastModified": 1726153070,
- "narHash": "sha256-HO4zgY0ekfwO5bX0QH/3kJ/h4KvUDFZg8YpkNwIbg1U=",
+ "lastModified": 1701473968,
+ "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "bcef6817a8b2aa20a5a6dbb19b43e63c5bf8619a",
+ "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
- "owner": "hercules-ci",
- "repo": "flake-parts",
- "type": "github"
+ "id": "flake-parts",
+ "type": "indirect"
}
},
"flake-utils": {
- "inputs": {
- "systems": "systems"
- },
"locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "lastModified": 1656065134,
+ "narHash": "sha256-oc6E6ByIw3oJaIyc67maaFcnjYOz1mMcOtHxbEf9NwQ=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "rev": "bee6a7250dd1b01844a2de7e02e4df7d8a0a206c",
"type": "github"
},
"original": {
@@ -244,119 +99,87 @@
}
},
"flake-utils_2": {
- "inputs": {
- "systems": [
- "stylix",
- "systems"
- ]
- },
"locked": {
- "lastModified": 1731533236,
- "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "lastModified": 1678901627,
+ "narHash": "sha256-U02riOqrKKzwjsxc/400XnElV+UtPUQWpANPlyazjH0=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "rev": "93a2b84fc4b70d9e089d029deacc3583435c2ed6",
"type": "github"
},
"original": {
+ "id": "flake-utils",
+ "type": "indirect"
+ }
+ },
+ "flake-utils_3": {
+ "locked": {
+ "lastModified": 1667395993,
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
"repo": "flake-utils",
- "type": "github"
- }
- },
- "flakey-profile": {
- "locked": {
- "lastModified": 1712898590,
- "narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
- "owner": "lf-",
- "repo": "flakey-profile",
- "rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
- "owner": "lf-",
- "repo": "flakey-profile",
- "type": "github"
+ "id": "flake-utils",
+ "type": "indirect"
}
},
- "fromYaml": {
- "flake": false,
- "locked": {
- "lastModified": 1731966426,
- "narHash": "sha256-lq95WydhbUTWig/JpqiB7oViTcHFP8Lv41IGtayokA8=",
- "owner": "SenchoPens",
- "repo": "fromYaml",
- "rev": "106af9e2f715e2d828df706c386a685698f3223b",
- "type": "github"
- },
- "original": {
- "owner": "SenchoPens",
- "repo": "fromYaml",
- "type": "github"
- }
- },
- "git-hooks": {
+ "gumseite": {
"inputs": {
- "flake-compat": [
- "stylix",
- "flake-compat"
- ],
- "gitignore": "gitignore",
+ "flake-utils": "flake-utils_2",
+ "nixpkgs": "nixpkgs_4"
+ },
+ "locked": {
+ "lastModified": 1680175611,
+ "narHash": "sha256-0VevgW7qjE3rDSudFr/XIQrMmPowDgLO9jkM4AFkR/o=",
+ "ref": "refs/heads/master",
+ "rev": "57f43b774151e34bbf3de5f159924aca93750561",
+ "revCount": 2,
+ "type": "git",
+ "url": "https://gitlab.com/schrottkatze/gum-schulsachen.git"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://gitlab.com/schrottkatze/gum-schulsachen.git"
+ }
+ },
+ "haskell-flake": {
+ "locked": {
+ "lastModified": 1675296942,
+ "narHash": "sha256-u1X1sblozi5qYEcLp1hxcyo8FfDHnRUVX3dJ/tW19jY=",
+ "owner": "srid",
+ "repo": "haskell-flake",
+ "rev": "c2cafce9d57bfca41794dc3b99c593155006c71e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "srid",
+ "ref": "0.1.0",
+ "repo": "haskell-flake",
+ "type": "github"
+ }
+ },
+ "hercules-ci-effects": {
+ "inputs": {
+ "flake-parts": "flake-parts_2",
"nixpkgs": [
- "stylix",
+ "arion",
"nixpkgs"
]
},
"locked": {
- "lastModified": 1742649964,
- "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
- "owner": "cachix",
- "repo": "git-hooks.nix",
- "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
- "type": "github"
- },
- "original": {
- "owner": "cachix",
- "repo": "git-hooks.nix",
- "type": "github"
- }
- },
- "gitignore": {
- "inputs": {
- "nixpkgs": [
- "stylix",
- "git-hooks",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1709087332,
- "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "lastModified": 1704029560,
+ "narHash": "sha256-a4Iu7x1OP+uSYpqadOu8VCPY+MPF3+f6KIi+MAxlgyw=",
"owner": "hercules-ci",
- "repo": "gitignore.nix",
- "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "repo": "hercules-ci-effects",
+ "rev": "d5cbf433a6ae9cae05400189a8dbc6412a03ba16",
"type": "github"
},
"original": {
"owner": "hercules-ci",
- "repo": "gitignore.nix",
- "type": "github"
- }
- },
- "gnome-shell": {
- "flake": false,
- "locked": {
- "lastModified": 1732369855,
- "narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=",
- "owner": "GNOME",
- "repo": "gnome-shell",
- "rev": "dadd58f630eeea41d645ee225a63f719390829dc",
- "type": "github"
- },
- "original": {
- "owner": "GNOME",
- "ref": "47.2",
- "repo": "gnome-shell",
+ "repo": "hercules-ci-effects",
"type": "github"
}
},
@@ -367,11 +190,11 @@
]
},
"locked": {
- "lastModified": 1746177088,
- "narHash": "sha256-hmHKl4meWr6ryzqQAwRD3+3Ihfb/Y/0CbK+WnE+oa6Q=",
+ "lastModified": 1708988456,
+ "narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "f045bd46b73c3b0ed4e46cdb6036b3d5823d7dee",
+ "rev": "1d085ea4444d26aa52297758b333b449b2aa6fca",
"type": "github"
},
"original": {
@@ -380,162 +203,137 @@
"type": "github"
}
},
- "home-manager_2": {
+ "karton": {
"inputs": {
- "nixpkgs": [
- "stylix",
- "nixpkgs"
- ]
+ "naersk": "naersk_2",
+ "nixpkgs": "nixpkgs_6",
+ "utils": "utils"
},
"locked": {
- "lastModified": 1746040799,
- "narHash": "sha256-osgPX/SzIpkR50vev/rqoTEAVkEcOWXoQXmbzsaI4KU=",
- "owner": "nix-community",
- "repo": "home-manager",
- "rev": "5f217e5a319f6c186283b530f8c975e66c028433",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "home-manager",
- "type": "github"
- }
- },
- "lix": {
- "flake": false,
- "locked": {
- "lastModified": 1742622332,
- "narHash": "sha256-z652gNdFc/95Fheq4DzVObERYRo+j9RdCF6tzkR8r80=",
- "rev": "6059cbb031e49e05dd5d16208e2e50d3ab2611db",
- "type": "tarball",
- "url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/6059cbb031e49e05dd5d16208e2e50d3ab2611db.tar.gz?rev=6059cbb031e49e05dd5d16208e2e50d3ab2611db"
- },
- "original": {
- "type": "tarball",
- "url": "https://git.lix.systems/lix-project/lix/archive/main.tar.gz"
- }
- },
- "lix-module": {
- "inputs": {
- "flake-utils": "flake-utils",
- "flakey-profile": "flakey-profile",
- "lix": "lix",
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1742945498,
- "narHash": "sha256-MB/b/xcDKqaVBxJIIxwb81r8ZiGLeKEcqokATRRroo8=",
- "ref": "refs/heads/main",
- "rev": "fa69ae26cc32dda178117b46487c2165c0e08316",
- "revCount": 138,
+ "lastModified": 1683146576,
+ "narHash": "sha256-ZaXE/mmVWgZkfnlY56PFuuCMDyUhNtkKuLzkle6Lg8s=",
+ "ref": "refs/heads/master",
+ "rev": "5002f11bf360e4508fc73c28fa0aa0f80bf0713d",
+ "revCount": 188,
"type": "git",
- "url": "https://git.lix.systems/lix-project/nixos-module"
+ "url": "https://gitlab.com/obsidianical/microbin.git"
},
"original": {
"type": "git",
- "url": "https://git.lix.systems/lix-project/nixos-module"
+ "url": "https://gitlab.com/obsidianical/microbin.git"
}
},
- "niri": {
- "inputs": {
- "niri-stable": "niri-stable",
- "niri-unstable": "niri-unstable",
- "nixpkgs": "nixpkgs",
- "nixpkgs-stable": "nixpkgs-stable",
- "xwayland-satellite-stable": "xwayland-satellite-stable",
- "xwayland-satellite-unstable": "xwayland-satellite-unstable"
- },
- "locked": {
- "lastModified": 1746142190,
- "narHash": "sha256-t36K3TWLMRWoGyjYyo+H8bBquDcp4orZqNZVagWNjwY=",
- "owner": "sodiboo",
- "repo": "niri-flake",
- "rev": "af701c1c16c289b1b14f333d844b4f756308d244",
- "type": "github"
- },
- "original": {
- "owner": "sodiboo",
- "repo": "niri-flake",
- "type": "github"
- }
- },
- "niri-stable": {
+ "mac-brcm-fw": {
"flake": false,
"locked": {
- "lastModified": 1740117926,
- "narHash": "sha256-mTTHA0RAaQcdYe+9A3Jx77cmmyLFHmRoZdd8RpWa+m8=",
- "owner": "YaLTeR",
- "repo": "niri",
- "rev": "b94a5db8790339cf9134873d8b490be69e02ac71",
- "type": "github"
+ "lastModified": 1701034142,
+ "narHash": "sha256-+kW8ogc6DykjMVlrr+3vWKs9ZUdJ9EW72LbY7k/Qvh4=",
+ "path": "/home/jade/nix-configs/mac-brcm-fw",
+ "type": "path"
},
"original": {
- "owner": "YaLTeR",
- "ref": "v25.02",
- "repo": "niri",
- "type": "github"
+ "path": "/home/jade/nix-configs/mac-brcm-fw",
+ "type": "path"
}
},
- "niri-unstable": {
- "flake": false,
- "locked": {
- "lastModified": 1746124654,
- "narHash": "sha256-LmhkAt2KLvf8lp+kEUQuTFmmv7iXO8IkwwSaPasfXJw=",
- "owner": "YaLTeR",
- "repo": "niri",
- "rev": "6c9705dd4b2eaba25f024d1a3efd7943fd393632",
- "type": "github"
- },
- "original": {
- "owner": "YaLTeR",
- "repo": "niri",
- "type": "github"
- }
- },
- "nixcord": {
+ "meowsite": {
"inputs": {
- "flake-compat": "flake-compat",
- "nixpkgs": "nixpkgs_2",
- "systems": "systems_2",
- "treefmt-nix": "treefmt-nix"
+ "flake-utils": "flake-utils_3",
+ "nixpkgs": "nixpkgs_7"
},
"locked": {
- "lastModified": 1746149931,
- "narHash": "sha256-oeTNy7tgzYaw53yYtkfe9kayuqITHiKOgdu/tEarDyo=",
- "owner": "kaylorben",
- "repo": "nixcord",
- "rev": "0b3661345df57314322607738b38509be4a34d80",
+ "lastModified": 1678920998,
+ "narHash": "sha256-YM7MdYYoL/Wgmg8nmMVnAm33WwzdA2JFwMHKfOxNBXs=",
+ "ref": "refs/heads/master",
+ "rev": "f40a32b22bc96b07cb78fb5751cf92d5f30b1c24",
+ "revCount": 11,
+ "type": "git",
+ "url": "https://gitlab.com/obsidianical/meowsite.git"
+ },
+ "original": {
+ "type": "git",
+ "url": "https://gitlab.com/obsidianical/meowsite.git"
+ }
+ },
+ "naersk": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_2"
+ },
+ "locked": {
+ "lastModified": 1655042882,
+ "narHash": "sha256-9BX8Fuez5YJlN7cdPO63InoyBy7dm3VlJkkmTt6fS1A=",
+ "owner": "nix-community",
+ "repo": "naersk",
+ "rev": "cddffb5aa211f50c4b8750adbec0bbbdfb26bb9f",
"type": "github"
},
"original": {
- "owner": "kaylorben",
- "repo": "nixcord",
+ "owner": "nix-community",
+ "repo": "naersk",
+ "type": "github"
+ }
+ },
+ "naersk_2": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_5"
+ },
+ "locked": {
+ "lastModified": 1671096816,
+ "narHash": "sha256-ezQCsNgmpUHdZANDCILm3RvtO1xH8uujk/+EqNvzIOg=",
+ "owner": "nix-community",
+ "repo": "naersk",
+ "rev": "d998160d6a076cfe8f9741e56aeec7e267e3e114",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "master",
+ "repo": "naersk",
+ "type": "github"
+ }
+ },
+ "naersk_3": {
+ "inputs": {
+ "nixpkgs": "nixpkgs_9"
+ },
+ "locked": {
+ "lastModified": 1671096816,
+ "narHash": "sha256-ezQCsNgmpUHdZANDCILm3RvtO1xH8uujk/+EqNvzIOg=",
+ "owner": "nix-community",
+ "repo": "naersk",
+ "rev": "d998160d6a076cfe8f9741e56aeec7e267e3e114",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "master",
+ "repo": "naersk",
"type": "github"
}
},
"nixos-hardware": {
"locked": {
- "lastModified": 1745955289,
- "narHash": "sha256-mmV2oPhQN+YF2wmnJzXX8tqgYmUYXUj3uUUBSTmYN5o=",
- "owner": "NixOS",
+ "lastModified": 1687903496,
+ "narHash": "sha256-4PPwbFM4dNqso3zBya5rgfRvnBoIbN2J7qZ2ZpRyOUc=",
+ "owner": "networkException",
"repo": "nixos-hardware",
- "rev": "72081c9fbbef63765ae82bff9727ea79cc86bd5b",
+ "rev": "8e28b9ee431b265d1fc74b8b819ea0816344c4a1",
"type": "github"
},
"original": {
- "id": "nixos-hardware",
- "type": "indirect"
+ "owner": "networkException",
+ "ref": "apple-t2-init",
+ "repo": "nixos-hardware",
+ "type": "github"
}
},
"nixpkgs": {
"locked": {
- "lastModified": 1745930157,
- "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
+ "lastModified": 1707689078,
+ "narHash": "sha256-UUGmRa84ZJHpGZ1WZEBEUOzaPOWG8LZ0yPg1pdDF/yM=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
+ "rev": "f9d39fb9aff0efee4a3d5f4a6d7c17701d38a1d8",
"type": "github"
},
"original": {
@@ -545,71 +343,28 @@
"type": "github"
}
},
- "nixpkgs-lib": {
- "locked": {
- "lastModified": 1725233747,
- "narHash": "sha256-Ss8QWLXdr2JCBPcYChJhz4xJm+h/xjl4G0c0XlP6a74=",
- "type": "tarball",
- "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
- },
- "original": {
- "type": "tarball",
- "url": "https://github.com/NixOS/nixpkgs/archive/356624c12086a18f2ea2825fed34523d60ccc4e3.tar.gz"
- }
- },
"nixpkgs-stable": {
"locked": {
- "lastModified": 1746055187,
- "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
+ "lastModified": 1708831307,
+ "narHash": "sha256-0iL/DuGjiUeck1zEaL+aIe2WvA3/cVhp/SlmTcOZXH4=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
- "type": "github"
- },
- "original": {
- "owner": "NixOS",
- "ref": "nixos-24.11",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs-stable_2": {
- "locked": {
- "lastModified": 1746055187,
- "narHash": "sha256-3dqArYSMP9hM7Qpy5YWhnSjiqniSaT2uc5h2Po7tmg0=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "3e362ce63e16b9572d8c2297c04f7c19ab6725a5",
+ "rev": "5bf1cadb72ab4e77cb0b700dab76bcdaf88f706b",
"type": "github"
},
"original": {
"id": "nixpkgs",
- "ref": "nixos-24.11",
+ "ref": "nixos-23.11",
"type": "indirect"
}
},
- "nixpkgs-unstable-small": {
+ "nixpkgs_10": {
"locked": {
- "lastModified": 1746165930,
- "narHash": "sha256-MkYNib57sO+nI6KAbpGLseXFmJVZ04QP6Celntnay8E=",
+ "lastModified": 1675614288,
+ "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "97e6d418edc7a9a85d505f96f1e65ca9d6a5f7a8",
- "type": "github"
- },
- "original": {
- "id": "nixpkgs",
- "ref": "nixos-unstable-small",
- "type": "indirect"
- }
- },
- "nixpkgs_2": {
- "locked": {
- "lastModified": 1744868846,
- "narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
- "owner": "NixOS",
- "repo": "nixpkgs",
- "rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
+ "rev": "d25de6654a34d99dceb02e71e6db516b3b545be6",
"type": "github"
},
"original": {
@@ -619,13 +374,103 @@
"type": "github"
}
},
- "nixpkgs_3": {
+ "nixpkgs_2": {
"locked": {
- "lastModified": 1746141548,
- "narHash": "sha256-IgBWhX7A2oJmZFIrpRuMnw5RAufVnfvOgHWgIdds+hc=",
+ "lastModified": 1656755932,
+ "narHash": "sha256-TGThfOxr+HjFK464+UoUE6rClp2cwxjiKvHcBVdIGSQ=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "f02fddb8acef29a8b32f10a335d44828d7825b78",
+ "rev": "660ac43ff9ab1f12e28bfb31d4719795777fe152",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_3": {
+ "locked": {
+ "lastModified": 1656755932,
+ "narHash": "sha256-TGThfOxr+HjFK464+UoUE6rClp2cwxjiKvHcBVdIGSQ=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "660ac43ff9ab1f12e28bfb31d4719795777fe152",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_4": {
+ "locked": {
+ "lastModified": 1679966490,
+ "narHash": "sha256-k0jV+y1jawE6w4ZvKgXDNg4+O9NNtcaWwzw8gufv0b4=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "5b7cd5c39befee629be284970415b6eb3b0ff000",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-22.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_5": {
+ "locked": {
+ "lastModified": 1677852945,
+ "narHash": "sha256-liiVJjkBTuBTAkRW3hrI8MbPD2ImYzwUpa7kvteiKhM=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "f5ffd5787786dde3a8bf648c7a1b5f78c4e01abb",
+ "type": "github"
+ },
+ "original": {
+ "id": "nixpkgs",
+ "type": "indirect"
+ }
+ },
+ "nixpkgs_6": {
+ "locked": {
+ "lastModified": 1677852945,
+ "narHash": "sha256-liiVJjkBTuBTAkRW3hrI8MbPD2ImYzwUpa7kvteiKhM=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "f5ffd5787786dde3a8bf648c7a1b5f78c4e01abb",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixpkgs-unstable",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_7": {
+ "locked": {
+ "lastModified": 1674407282,
+ "narHash": "sha256-2qwc8mrPINSFdWffPK+ji6nQ9aGnnZyHSItVcYDZDlk=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "ab1254087f4cdf4af74b552d7fc95175d9bdbb49",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NixOS",
+ "ref": "nixos-22.11",
+ "repo": "nixpkgs",
+ "type": "github"
+ }
+ },
+ "nixpkgs_8": {
+ "locked": {
+ "lastModified": 1708807242,
+ "narHash": "sha256-sRTRkhMD4delO/hPxxi+XwLqPn8BuUq6nnj4JqLwOu0=",
+ "owner": "NixOS",
+ "repo": "nixpkgs",
+ "rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a",
"type": "github"
},
"original": {
@@ -634,396 +479,83 @@
"type": "indirect"
}
},
- "nixpkgs_4": {
+ "nixpkgs_9": {
"locked": {
- "lastModified": 1745930157,
- "narHash": "sha256-y3h3NLnzRSiUkYpnfvnS669zWZLoqqI6NprtLQ+5dck=",
+ "lastModified": 1675614288,
+ "narHash": "sha256-i3Rc/ENnz62BcrSloeVmAyPicEh4WsrEEYR+INs9TYw=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "46e634be05ce9dc6d4db8e664515ba10b78151ae",
+ "rev": "d25de6654a34d99dceb02e71e6db516b3b545be6",
"type": "github"
},
"original": {
- "owner": "NixOS",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nixpkgs_5": {
- "locked": {
- "lastModified": 1726937504,
- "narHash": "sha256-bvGoiQBvponpZh8ClUcmJ6QnsNKw0EMrCQJARK3bI1c=",
- "owner": "nixos",
- "repo": "nixpkgs",
- "rev": "9357f4f23713673f310988025d9dc261c20e70c6",
- "type": "github"
- },
- "original": {
- "owner": "nixos",
- "ref": "nixos-unstable",
- "repo": "nixpkgs",
- "type": "github"
- }
- },
- "nur": {
- "inputs": {
- "flake-parts": "flake-parts",
- "nixpkgs": [
- "stylix",
- "nixpkgs"
- ],
- "treefmt-nix": "treefmt-nix_2"
- },
- "locked": {
- "lastModified": 1746056780,
- "narHash": "sha256-/emueQGaoT4vu0QjU9LDOG5roxRSfdY0K2KkxuzazcM=",
- "owner": "nix-community",
- "repo": "NUR",
- "rev": "d476cd0972dd6242d76374fcc277e6735715c167",
- "type": "github"
- },
- "original": {
- "owner": "nix-community",
- "repo": "NUR",
- "type": "github"
+ "id": "nixpkgs",
+ "type": "indirect"
}
},
"root": {
"inputs": {
- "crane": "crane",
- "fenix": "fenix",
+ "arion": "arion",
+ "easymacros": "easymacros",
+ "gumseite": "gumseite",
"home-manager": "home-manager",
- "lix-module": "lix-module",
- "niri": "niri",
- "nixcord": "nixcord",
+ "karton": "karton",
+ "mac-brcm-fw": "mac-brcm-fw",
+ "meowsite": "meowsite",
"nixos-hardware": "nixos-hardware",
- "nixpkgs": "nixpkgs_3",
- "nixpkgs-stable": "nixpkgs-stable_2",
- "nixpkgs-unstable-small": "nixpkgs-unstable-small",
- "stylix": "stylix",
- "typst-within": "typst-within"
+ "nixpkgs": "nixpkgs_8",
+ "nixpkgs-stable": "nixpkgs-stable",
+ "wordsofgod": "wordsofgod"
}
},
- "rust-analyzer-src": {
- "flake": false,
+ "utils": {
"locked": {
- "lastModified": 1746093169,
- "narHash": "sha256-3gmUmzIzfzlgF/b4HXvtoBIP4bKofVeEubX7LcPBYLo=",
- "owner": "rust-lang",
- "repo": "rust-analyzer",
- "rev": "298fa81aacda7b06de4db55c377b1aa081906bc9",
- "type": "github"
- },
- "original": {
- "owner": "rust-lang",
- "ref": "nightly",
- "repo": "rust-analyzer",
- "type": "github"
- }
- },
- "rust-analyzer-src_2": {
- "flake": false,
- "locked": {
- "lastModified": 1727104575,
- "narHash": "sha256-lB/ZS0SnHyE8Z3G8DIL/QJPg6w6x5ZhgVO2pBqnz89g=",
- "owner": "rust-lang",
- "repo": "rust-analyzer",
- "rev": "3d0343251fe084b335b55c17a52bb4a3527b1bd0",
- "type": "github"
- },
- "original": {
- "owner": "rust-lang",
- "ref": "nightly",
- "repo": "rust-analyzer",
- "type": "github"
- }
- },
- "rust-manifest": {
- "flake": false,
- "locked": {
- "narHash": "sha256-Yqu2/i9170R7pQhvOCR1f5SyFr7PcFbO6xcMr9KWruQ=",
- "type": "file",
- "url": "https://static.rust-lang.org/dist/channel-rust-1.83.0.toml"
- },
- "original": {
- "type": "file",
- "url": "https://static.rust-lang.org/dist/channel-rust-1.83.0.toml"
- }
- },
- "stylix": {
- "inputs": {
- "base16": "base16",
- "base16-fish": "base16-fish",
- "base16-helix": "base16-helix",
- "base16-vim": "base16-vim",
- "firefox-gnome-theme": "firefox-gnome-theme",
- "flake-compat": "flake-compat_2",
- "flake-utils": "flake-utils_2",
- "git-hooks": "git-hooks",
- "gnome-shell": "gnome-shell",
- "home-manager": "home-manager_2",
- "nixpkgs": "nixpkgs_4",
- "nur": "nur",
- "systems": "systems_3",
- "tinted-foot": "tinted-foot",
- "tinted-kitty": "tinted-kitty",
- "tinted-schemes": "tinted-schemes",
- "tinted-tmux": "tinted-tmux",
- "tinted-zed": "tinted-zed"
- },
- "locked": {
- "lastModified": 1746158690,
- "narHash": "sha256-Pe2emz36QL8GOILXvvmH/agqkspZFrcOrQxv6uufaEc=",
- "owner": "danth",
- "repo": "stylix",
- "rev": "bc38629511dd9cc78c5ca37a6e546fa66330d50e",
- "type": "github"
- },
- "original": {
- "owner": "danth",
- "repo": "stylix",
- "type": "github"
- }
- },
- "systems": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_2": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "id": "systems",
- "type": "indirect"
- }
- },
- "systems_3": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "systems_4": {
- "locked": {
- "lastModified": 1681028828,
- "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
- "owner": "nix-systems",
- "repo": "default",
- "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
- "type": "github"
- },
- "original": {
- "owner": "nix-systems",
- "repo": "default",
- "type": "github"
- }
- },
- "tinted-foot": {
- "flake": false,
- "locked": {
- "lastModified": 1726913040,
- "narHash": "sha256-+eDZPkw7efMNUf3/Pv0EmsidqdwNJ1TaOum6k7lngDQ=",
- "owner": "tinted-theming",
- "repo": "tinted-foot",
- "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "tinted-foot",
- "rev": "fd1b924b6c45c3e4465e8a849e67ea82933fcbe4",
- "type": "github"
- }
- },
- "tinted-kitty": {
- "flake": false,
- "locked": {
- "lastModified": 1716423189,
- "narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=",
- "owner": "tinted-theming",
- "repo": "tinted-kitty",
- "rev": "eb39e141db14baef052893285df9f266df041ff8",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "tinted-kitty",
- "rev": "eb39e141db14baef052893285df9f266df041ff8",
- "type": "github"
- }
- },
- "tinted-schemes": {
- "flake": false,
- "locked": {
- "lastModified": 1744974599,
- "narHash": "sha256-Fg+rdGs5FAgfkYNCs74lnl8vkQmiZVdBsziyPhVqrlY=",
- "owner": "tinted-theming",
- "repo": "schemes",
- "rev": "28c26a621123ad4ebd5bbfb34ab39421c0144bdd",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "schemes",
- "type": "github"
- }
- },
- "tinted-tmux": {
- "flake": false,
- "locked": {
- "lastModified": 1745111349,
- "narHash": "sha256-udV+nHdpqgkJI9D0mtvvAzbqubt9jdifS/KhTTbJ45w=",
- "owner": "tinted-theming",
- "repo": "tinted-tmux",
- "rev": "e009f18a01182b63559fb28f1c786eb027c3dee9",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "tinted-tmux",
- "type": "github"
- }
- },
- "tinted-zed": {
- "flake": false,
- "locked": {
- "lastModified": 1725758778,
- "narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=",
- "owner": "tinted-theming",
- "repo": "base16-zed",
- "rev": "122c9e5c0e6f27211361a04fae92df97940eccf9",
- "type": "github"
- },
- "original": {
- "owner": "tinted-theming",
- "repo": "base16-zed",
- "type": "github"
- }
- },
- "treefmt-nix": {
- "inputs": {
- "nixpkgs": [
- "nixcord",
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1744961264,
- "narHash": "sha256-aRmUh0AMwcbdjJHnytg1e5h5ECcaWtIFQa6d9gI85AI=",
+ "lastModified": 1676283394,
+ "narHash": "sha256-XX2f9c3iySLCw54rJ/CZs+ZK6IQy7GXNY4nSOyu2QG4=",
"owner": "numtide",
- "repo": "treefmt-nix",
- "rev": "8d404a69efe76146368885110f29a2ca3700bee6",
+ "repo": "flake-utils",
+ "rev": "3db36a8b464d0c4532ba1c7dda728f4576d6d073",
"type": "github"
},
"original": {
"owner": "numtide",
- "repo": "treefmt-nix",
+ "repo": "flake-utils",
"type": "github"
}
},
- "treefmt-nix_2": {
- "inputs": {
- "nixpkgs": [
- "stylix",
- "nur",
- "nixpkgs"
- ]
- },
+ "utils_2": {
"locked": {
- "lastModified": 1733222881,
- "narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
+ "lastModified": 1667395993,
+ "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide",
- "repo": "treefmt-nix",
- "rev": "49717b5af6f80172275d47a418c9719a31a78b53",
+ "repo": "flake-utils",
+ "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github"
},
"original": {
"owner": "numtide",
- "repo": "treefmt-nix",
+ "repo": "flake-utils",
"type": "github"
}
},
- "typst-within": {
+ "wordsofgod": {
"inputs": {
- "crane": "crane_2",
- "fenix": "fenix_2",
- "flake-parts": "flake-parts_2",
- "nixpkgs": "nixpkgs_5",
- "rust-manifest": "rust-manifest",
- "systems": "systems_4"
+ "naersk": "naersk_3",
+ "nixpkgs": "nixpkgs_10",
+ "utils": "utils_2"
},
"locked": {
- "lastModified": 1739736913,
- "narHash": "sha256-qVaWE+q1Npq8XbvrZ/c6ElU+F1u1YNf2a18X4RzVLoc=",
- "owner": "schrottkatze",
- "repo": "typst",
- "rev": "5aa9b90a7b3e7f5ed964bf6727e445bdfc5211cd",
- "type": "github"
+ "lastModified": 1675936524,
+ "narHash": "sha256-cr6lknWz+2N4mq6csfdYLUBNTxB2MbaEGH8yQyk3XbA=",
+ "ref": "refs/heads/master",
+ "rev": "93c03cbe6f7bac22c7c5023d4bcba3af837ce43b",
+ "revCount": 8,
+ "type": "git",
+ "url": "https://gitlab.com/obsidianical/wordsofgod.git"
},
"original": {
- "owner": "schrottkatze",
- "repo": "typst",
- "type": "github"
- }
- },
- "xwayland-satellite-stable": {
- "flake": false,
- "locked": {
- "lastModified": 1739246919,
- "narHash": "sha256-/hBM43/Gd0/tW+egrhlWgOIISeJxEs2uAOIYVpfDKeU=",
- "owner": "Supreeeme",
- "repo": "xwayland-satellite",
- "rev": "44590a416d4a3e8220e19e29e0b6efe64a80315d",
- "type": "github"
- },
- "original": {
- "owner": "Supreeeme",
- "ref": "v0.5.1",
- "repo": "xwayland-satellite",
- "type": "github"
- }
- },
- "xwayland-satellite-unstable": {
- "flake": false,
- "locked": {
- "lastModified": 1745730655,
- "narHash": "sha256-Tdsw5lD/XM8i1GnQr7ombqnEaCpt/voPs2AbjuYBbjI=",
- "owner": "Supreeeme",
- "repo": "xwayland-satellite",
- "rev": "56a681bfecc5831f41f8eb0ec8c7e96c6b277153",
- "type": "github"
- },
- "original": {
- "owner": "Supreeeme",
- "repo": "xwayland-satellite",
- "type": "github"
+ "type": "git",
+ "url": "https://gitlab.com/obsidianical/wordsofgod.git"
}
}
},
diff --git a/flake.nix b/flake.nix
index 125a903..67768d8 100644
--- a/flake.nix
+++ b/flake.nix
@@ -3,151 +3,118 @@
inputs = {
nixpkgs.url = "nixpkgs/nixos-unstable";
- nixpkgs-stable.url = "nixpkgs/nixos-24.11";
- nixpkgs-unstable-small.url = "nixpkgs/nixos-unstable-small";
- niri.url = "github:sodiboo/niri-flake";
- stylix.url = "github:danth/stylix";
- typst-within.url = "github:schrottkatze/typst";
- crane.url = "github:ipetkov/crane";
- nixcord.url = "github:kaylorben/nixcord";
- lix-module = {
- url = "git+https://git.lix.systems/lix-project/nixos-module";
- inputs.nixpkgs.follows = "nixpkgs";
- };
+ nixpkgs-stable.url = "nixpkgs/nixos-23.11";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
- fenix = {
- url = "github:nix-community/fenix";
- inputs.nixpkgs.follows = "nixpkgs";
+ nixos-hardware.url = "github:networkException/nixos-hardware/apple-t2-init";
+ mac-brcm-fw = {
+ url = "path:/home/jade/nix-configs/mac-brcm-fw";
+ flake = false;
};
+ #mms.url = "github:mkaito/nixos-modded-minecraft-servers";
+ easymacros.url = "git+https://gitlab.com/obsidianical/easymacros.git";
+ meowsite.url = "git+https://gitlab.com/obsidianical/meowsite.git";
+ wordsofgod.url = "git+https://gitlab.com/obsidianical/wordsofgod.git";
+ karton.url = "git+https://gitlab.com/obsidianical/microbin.git";
+ arion.url = "github:hercules-ci/arion";
+ gumseite.url = "git+https://gitlab.com/schrottkatze/gum-schulsachen.git";
};
- outputs =
- {
- self,
- nixpkgs,
- nixpkgs-stable,
- nixpkgs-unstable-small,
- lix-module,
- typst-within,
- home-manager,
- nixos-hardware,
- niri,
- stylix,
- fenix,
- crane,
- ...
- }@inputs:
- let
- system = "x86_64-linux";
- pkgs = nixpkgs.legacyPackages.${system};
- pkgs-stable = nixpkgs-stable.legacyPackages.${system};
- pkgs-unstable-small = nixpkgs-unstable-small.legacyPackages.${system};
- rs-toolchain =
- with fenix.packages.${system};
- combine [
- complete.toolchain
- ];
- crane-lib = (crane.mkLib nixpkgs.legacyPackages.${system}).overrideToolchain rs-toolchain;
- rs-programs = final: prev: {
- s10e-jrnl = crane-lib.buildPackage {
- pname = "s10e-bs";
- version = "0.0.1";
- src = crane-lib.cleanCargoSource (crane-lib.path ./.);
+ outputs = {
+ self,
+ nixpkgs,
+ nixpkgs-stable,
+ home-manager,
+ nixos-hardware,
+ mac-brcm-fw,
+ ...
+ } @ inputs: let
+ pkgs = nixpkgs.legacyPackages."x86_64-linux";
+ in {
+ devShells."x86_64-linux".default = pkgs.mkShell {
+ buildInputs = [
+ (pkgs.haskellPackages.ghcWithPackages
+ (pkgs:
+ with pkgs; [
+ xmonad
+ xmonad-contrib
+ xmobar
+ statgrab
+ ]))
+ pkgs.haskell-language-server
+ ];
+ };
+ nixosConfigurations = {
+ monosodium-glutamate-g = nixpkgs.lib.nixosSystem {
+ specialArgs = {
+ inherit inputs;
};
- };
- in
- {
- formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
- devShells."x86_64-linux".default = pkgs.mkShell {
- buildInputs = [
- rs-toolchain
- pkgs.pkg-config
- pkgs.glsl_analyzer
- pkgs.openssl
+ system = "x86_64-linux";
+ modules = [
+ ./hosts/monosodium-glutamate-g/configuration.nix
+ home-manager.nixosModules.home-manager
+ {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.jade = {
+ nixosConfig,
+ pkgs,
+ ...
+ }: {
+ home.sessionVariables.TZ = nixosConfig.time.timeZone;
+ home.stateVersion = "${nixosConfig.system.stateVersion}";
+ };
+ }
];
};
- nixosConfigurations = {
- monosodium-glutamate-g = nixpkgs.lib.nixosSystem {
- specialArgs = {
- inherit
- inputs
- pkgs-unstable-small
- pkgs-stable
- rs-programs
- lix-module
- niri
- ;
- };
- system = "x86_64-linux";
- modules = [
- inputs.niri.nixosModules.niri
- stylix.nixosModules.stylix
- ./hosts/monosodium-glutamate-g/configuration.nix
- home-manager.nixosModules.home-manager
- {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- home-manager.extraSpecialArgs = {
- inherit pkgs-unstable-small pkgs-stable typst-within;
- };
- home-manager.sharedModules = [
- inputs.nixcord.homeModules.nixcord
- ];
- home-manager.users.jade =
- {
- nixosConfig,
- pkgs,
- ...
- }:
- {
- home.sessionVariables.TZ = nixosConfig.time.timeZone;
- home.stateVersion = "${nixosConfig.system.stateVersion}";
- };
- }
- ];
+ catbook-j = nixpkgs.lib.nixosSystem {
+ specialArgs = {
+ inherit inputs;
};
- denkbrett = nixpkgs.lib.nixosSystem {
- specialArgs = {
- inherit
- inputs
- pkgs-unstable-small
- pkgs-stable
- rs-programs
- lix-module
- niri
- ;
- };
- system = "x86_64-linux";
- modules = [
- inputs.niri.nixosModules.niri
- stylix.nixosModules.stylix
- ./hosts/denkbrett/configuration.nix
- home-manager.nixosModules.home-manager
- {
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- home-manager.extraSpecialArgs = {
- inherit pkgs-unstable-small pkgs-stable typst-within;
- };
- home-manager.sharedModules = [
- inputs.nixcord.homeManagerModules.nixcord
- ];
- home-manager.users.jade =
- {
- nixosConfig,
- pkgs,
- ...
- }:
- {
- home.sessionVariables.TZ = nixosConfig.time.timeZone;
- home.stateVersion = "22.11";
- };
- }
- ];
+ system = "x86_64-linux";
+ modules = [
+ ./hosts/catbook-j/configuration.nix
+ home-manager.nixosModules.home-manager
+ {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.jade = {
+ nixosConfig,
+ pkgs,
+ ...
+ }: {
+ home.sessionVariables.TZ = nixosConfig.time.timeZone;
+ home.stateVersion = "22.11";
+ };
+ }
+ ];
+ };
+ potatobook-g = nixpkgs.lib.nixosSystem {
+ specialArgs = {
+ inherit inputs;
};
+ system = "x86_64-linux";
+ modules = [
+ "${mac-brcm-fw}"
+ ./hosts/potatobook-g/configuration.nix
+ home-manager.nixosModules.home-manager
+ {
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.jade = {
+ nixosConfig,
+ pkgs,
+ ...
+ }: {
+ home.sessionVariables.TZ = nixosConfig.time.timeZone;
+ home.stateVersion = "${nixosConfig.system.stateVersion}";
+ };
+ }
+ nixos-hardware.nixosModules.apple-t2
+ ];
};
};
+ };
}
diff --git a/haskell/xmobar/xmobar.hs b/haskell/xmobar/xmobar.hs
new file mode 100644
index 0000000..51b6138
--- /dev/null
+++ b/haskell/xmobar/xmobar.hs
@@ -0,0 +1,47 @@
+import Xmobar
+import System.Statgrab
+
+-- TODOS:
+-- - custom cpu module
+-- - custom mem module
+-- - custom network/ping module with avg of n pings and blah
+-- - custom graph rendering based on braille characters
+-- - custom "ramp" thingies
+-- - newsticker?
+-- - mail/message monitoring
+-- - if possible, different bars per workspace
+
+data CustomCpu = CustomCpu
+ deriving (Read, Show)
+
+instance Exec CustomCpu where
+ alias CustomCpu = "cpu"
+ run CustomCpu = do
+ -- return (show :: IO String (snapshot :: Stats CPUPercent))
+ return "meow"
+
+fc code content = "" ++ content ++ ""
+
+sep = fc "#7c6f64"
+icon = fc "#d65d0e"
+
+config :: Config
+config =
+ defaultConfig
+ { font = "FiraCode Nerd Font",
+ allDesktops = True,
+ alpha = 255,
+ bgColor = "#282828",
+ fgColor = "#ebdbb2",
+ commands =
+ [ Run $ Xmobar.Memory ["t", "Mem: %"] 10,
+ Run $ CustomCpu,
+ Run $ Date (icon "\983277" ++ " %Y" ++ sep "-" ++ "%m" ++ sep "-" ++ "%d " ++ icon "\988236" ++ " %H" ++ sep ":" ++ "%M" ++ sep ":" ++ "%S ") "date" 10
+ ],
+ template = "%memory% }{ %cpu% }{ %date%",
+ alignSep = "}{",
+ position = TopH 24
+ }
+
+main :: IO ()
+main = xmobar config -- or: configFromArgs config >>= xmobar
diff --git a/haskell/xmonad/xmonad.hs b/haskell/xmonad/xmonad.hs
new file mode 100644
index 0000000..4fed0fe
--- /dev/null
+++ b/haskell/xmonad/xmonad.hs
@@ -0,0 +1,172 @@
+import Control.Monad (when)
+import Data.Map qualified as M
+import Data.Monoid
+import Data.Ratio
+import Graphics.X11.ExtraTypes.XF86
+import System.Exit
+import XMonad
+import XMonad.Actions.KeyRemap
+import XMonad.Hooks.EwmhDesktops
+import XMonad.Hooks.ManageDocks
+import XMonad.Hooks.StatusBar
+import XMonad.Hooks.StatusBar.PP
+import XMonad.Layout.Circle
+import XMonad.Layout.DraggingVisualizer
+import XMonad.Layout.Grid
+import XMonad.Layout.IfMax
+import XMonad.Layout.Magnifier
+import XMonad.Layout.Spacing
+import XMonad.Layout.Tabbed
+import XMonad.Layout.ThreeColumns
+import XMonad.Layout.VoidBorders
+import XMonad.Layout.WindowSwitcherDecoration
+import XMonad.Prompt
+import XMonad.Prompt.Layout
+import XMonad.StackSet qualified as W
+import XMonad.Actions.NoBorders
+import XMonad.Util.EZConfig
+import XMonad.Hooks.ServerMode
+
+myKeys conf@(XConfig {XMonad.modMask = modm}) =
+ M.fromList $
+ [ ((modm, xK_Return), spawn $ XMonad.terminal conf),
+ ((modm .|. shiftMask, xK_q), kill),
+ -- -- Rotate through the available layout algorithms
+ ((modm, xK_space), sendMessage NextLayout),
+ -- rofiing
+ ((modm, xK_d), spawn "rofi -show drun"),
+ ((modm .|. shiftMask, xK_e), spawn "rofi -show desktopctl -modes desktopctl:desktopctl -show-icons"),
+ ((modm, xK_m), spawn "menu-qalc -- -theme gruvbox-dark"),
+ ((modm, xK_i), spawn "rofimoji --selector-args '-theme gruvbox-dark' -f alchemical_symbols anatolian_hieroglyphs emojis braille_patterns box_drawing chess_symbols emoticons geometric_shapes gothic greek_extended math mathematical_alphanumeric_symbols mathematical_operators miscellaneous_symbols miscellaneous_mathematical_symbols-a miscellaneous_mathematical_symbols-b miscellaneous_symbols_and_arrows miscellaneous_symbols_and_pictographs miscellaneous_technical modi modifier_tone_letters musical_symbols nerd_font number_forms shorthand_format_controls specials variation_selectors vertical_forms -a copy"),
+ -- screenshotting
+ -- TODO: Fix/rewrite window-screenshot
+ ((modm, xK_w), spawn "window-screenshot.nu"),
+ ((modm, xK_s), spawn "flameshot gui -c -p $HOME/Pictures/screenshots"),
+ ((modm, xK_a), spawn "flameshot screen -c -p $HOME/Pictures/screenshots"),
+ ((modm, xK_t), spawn "ocr-screenshot.sh"),
+ ((modm .|. shiftMask, xK_t), spawn "DEVICE=\"bcm5974\"; if [ $(xinput list-props \"$DEVICE\" | awk '/^\\tDevice Enabled \\([0-9]+\\):\\t[01]/ {print $NF}') = \"1\" ]; then xinput disable \"$DEVICE\"; else xinput enable \"$DEVICE\"; fi"),
+ -- Push window back into tiling
+ ((modm .|. shiftMask, xK_space), withFocused $ windows . W.sink),
+ -- Resize viewed windows to the correct size
+ ((modm, xK_n), refresh),
+ -- Move focus to the next window
+ ((modm, xK_Tab), layoutPrompt def),
+ -- Move focus
+ ((modm, xK_j), windows W.focusDown),
+ ((modm, xK_k), windows W.focusUp),
+ -- Swap the focused window with the next window
+ ((modm .|. shiftMask, xK_j), windows W.swapDown),
+ ((modm .|. shiftMask, xK_k), windows W.swapUp),
+ -- Shrink the master area
+ ((modm, xK_h), sendMessage Shrink),
+ ((modm, xK_l), sendMessage Expand),
+ -- Increment the number of windows in the master area
+ ((modm, xK_comma), sendMessage (IncMasterN 1)),
+ ((modm, xK_period), sendMessage (IncMasterN (-1))),
+ ((modm, xK_b), sendMessage ToggleStruts >> withFocused toggleBorder),
+ -- volume keys
+ -- TODO: other media keys
+ ((0, xF86XK_AudioRaiseVolume), spawn "amixer -D pulse sset Master 10%+"),
+ ((0, xF86XK_AudioLowerVolume), spawn "amixer -D pulse sset Master 10%-"),
+ ((0, xF86XK_AudioMute), spawn "amixer -D pulse sset Master toggle")
+ ]
+ ++ [ ((m .|. modm, k), windows $ f i)
+ | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_9],
+ (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]
+ ]
+
+-- TODO: figure out multi screen stuff, including xinerama
+
+-- Mouse bindings: default actions bound to mouse events
+myMouseBindings (XConfig {XMonad.modMask = modm}) =
+ M.fromList
+ -- mod-button1, Set the window to floating mode and move by dragging
+ [ ( (modm, button1),
+ \w -> do
+ focus w
+ mouseMoveWindow w
+ windows W.shiftMaster
+ ),
+ -- mod-button2, Raise the window to the top of the stack
+ ( (modm, button3),
+ \w -> do
+ focus w
+ mouseResizeWindow w
+ windows W.shiftMaster
+ )
+ ]
+
+tabCfg =
+ def
+ { activeColor = "#282828",
+ inactiveColor = "#1d2021",
+ urgentColor = "#9d0006",
+ activeBorderColor = "#504945",
+ inactiveBorderColor = "#3c3836",
+ urgentBorderColor = "#cc241d",
+ activeTextColor = "#ebdbb2",
+ inactiveTextColor = "#bdae93",
+ urgentTextColor = "#ebdbb2"
+ }
+
+myLayout = setupSpacing $ avoidStruts $ autoChoose ||| tabbed shrinkText tabCfg
+ where
+ -- default tiling algorithm partitions the screen into two panes
+ autoChoose = IfMax 2 tiled $ IfMax 3 tiled_mag $ IfMax 4 grid_mag threeCol
+ setupSpacing = spacingRaw True (Border 0 0 0 0) True (Border 7 7 7 7) True
+ grid_mag = magnifiercz 1.4 Grid
+ tiled = Tall nmaster delta ratio
+ tiled_mag = magnifiercz' 1.4 tiled
+ threeCol = magnifiercz' 1.6 $ ThreeColMid nmaster delta ratio
+ -- The default number of windows in the master pane
+ nmaster = 1
+ -- Default proportion of screen occupied by master pane
+ ratio = 1 / 2
+ -- Percent of screen to increment by when resizing panes
+ delta = 3 / 100
+
+myManageHook =
+ composeAll
+ [ className =? "MPlayer" --> doFloat,
+ className =? "Gimp" --> doFloat,
+ className =? "firefox" --> doShift "browser",
+ className =? "Evolution" --> doShift "comms",
+ className =? "Signal" --> doShift "comms",
+ className =? "SchildiChat" --> doShift "comms",
+ resource =? "desktop_window" --> doIgnore,
+ resource =? "kdesktop" --> doIgnore
+ ]
+
+myStartupHook = do
+ spawn "pgrep oneko || oneko -tofocus -tora -position +-1+5 -fg palevioletred3 -bg pink -name 'Rose the desktop kitty'"
+ spawn "pgrep volumeicon || volumeicon"
+ spawn "pgrep nm-applet || nm-applet"
+ spawn "pgrep mullvad-gui || mullvad-vpn"
+ spawn "feh --bg-fill ~/Pictures/wallpaper.jpg"
+
+xmeowbar = statusBarProp "~/.config/xmobar/xmobar" $ pure xmobarPP
+polybar = statusBarProp "polybar" $ pure xmobarPP
+barSpawner 0 = pure $ xmeowbar <> polybar
+barSpawner _ = mempty
+
+main :: IO()
+main = xmonad $ docks $ dynamicSBs barSpawner $ ewmh defaults
+
+defaults =
+ def
+ { -- simple stuff
+ terminal = "kitty",
+ focusFollowsMouse = False,
+ clickJustFocuses = False,
+ borderWidth = 2,
+ modMask = mod4Mask,
+ workspaces = ["comms", "browser"] ++ map show [3 .. 9],
+ normalBorderColor = "#3c3836",
+ focusedBorderColor = "#504945",
+ keys = myKeys,
+ mouseBindings = myMouseBindings,
+ layoutHook =myLayout,
+ manageHook = myManageHook,
+ startupHook = myStartupHook,
+ handleEventHook = serverModeEventHook
+ }
diff --git a/hosts/catbook-j/configuration.nix b/hosts/catbook-j/configuration.nix
new file mode 100644
index 0000000..9379ded
--- /dev/null
+++ b/hosts/catbook-j/configuration.nix
@@ -0,0 +1,160 @@
+# Edit this configuration file to define what should be installed on
+# your system. Help is available in the configuration.nix(5) man page
+# and in the NixOS manual (accessible by running ‘nixos-help’).
+{
+ config,
+ pkgs,
+ lib,
+ ...
+}: {
+ nixpkgs.config.permittedInsecurePackages = [
+ "electron-25.9.0"
+ ];
+ imports = [
+ # Include the results of the hardware scan.
+ ./hardware-configuration.nix
+ ../../common.nix
+ ../../modules
+ ];
+ jade = {
+ flatpak.enable = true;
+ desktop = {
+ compositing.enable = true;
+ syncthing.enable = true;
+ kdeconnect.enable = true;
+ cloud.enable = true;
+ social.enable = true;
+ mail.enable = true;
+ gaming.enable = true;
+ evremap.enable = true;
+ };
+ terminal.enable = true;
+ };
+
+ hardware.trackpoint = {
+ enable = true;
+ # device = "MELF0410:00 1FD2:7007";
+ device = "DELL081C:00 044E:121F Mouse";
+ sensitivity = 255;
+ };
+
+ hardware.usb-modeswitch.enable = true;
+ systemd.services."ModemManager".enable = true;
+ systemd.services."ModemManager".wants = ["NetworkManager.service"];
+ systemd.services."ModemManager".wantedBy = ["multi-user.target"];
+
+ environment.variables = {
+ VDPAU_DRIVER = lib.mkIf config.hardware.opengl.enable (lib.mkDefault "va_gl");
+ };
+
+ hardware.opengl = {
+ enable = true;
+ extraPackages = with pkgs; [
+ intel-ocl
+ intel-media-driver
+ intel-vaapi-driver
+ intel-compute-runtime
+ libvdpau-va-gl
+ mesa.drivers
+ ];
+ };
+
+ programs.wireshark.enable = true;
+
+ boot.resumeDevice = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
+ boot.kernelParams = ["resume_offset=7380652"];
+
+ boot.binfmt.emulatedSystems = ["aarch64-linux"];
+
+ hardware.bluetooth.enable = true;
+ services.blueman.enable = true;
+
+ services.xserver.libinput.touchpad.tapping = false;
+
+ environment.systemPackages = [
+ pkgs.plantuml
+ pkgs.mqttui
+ pkgs.mobile-broadband-provider-info
+ pkgs.modem-manager-gui
+ pkgs.wireshark
+ ];
+
+ # Bootloader.
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ # Setup keyfile
+ boot.initrd.secrets = {
+ "/crypto_keyfile.bin" = null;
+ };
+
+ # nixpkgs = {
+ # overlays = [
+ # (self: super: {
+ # linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
+ # structuredExtraConfig = with lib.kernel; {
+ # "FB" = yes;
+ # "FRAMEBUFFER_CONSOLE" = yes;
+ # "VGA_CONSOLE" = yes;
+ # "VIDEO_SELECT" = yes;
+ # LOGO = lib.mkForce yes;
+ # LOGO_LINUX_CLUT224 = yes;
+ # };
+ # ignoreConfigErrors = true;
+ # });
+ # })
+ # ];
+ # };
+
+ boot.kernelPackages = pkgs.linuxPackages_zen;
+ # boot.kernelPatches = [
+ # {
+ # name = "fomx";
+ # patch = ../../other/0001-fomx.patch;
+ # }
+ # ];
+
+ services.xserver.displayManager.autoLogin = {
+ enable = true;
+ user = "jade";
+ };
+
+ networking.hostName = "catbook-j"; # Define your hostname.
+ # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
+
+ # Configure network proxy if necessary
+ # networking.proxy.default = "http://user:password@proxy:port/";
+ # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+
+ # Enable networking
+ networking.networkmanager.enable = true;
+
+ security.pam.services.jade.u2fAuth = true;
+ programs.i3lock.u2fSupport = true;
+ security.pam.u2f = {
+ enable = true;
+ cue = true;
+ control = "sufficient";
+ authFile = "/home/jade/.ssh/u2f_keys";
+ };
+
+ i18n.extraLocaleSettings = {
+ LC_ADDRESS = "de_DE.UTF-8";
+ LC_IDENTIFICATION = "de_DE.UTF-8";
+ LC_MEASUREMENT = "de_DE.UTF-8";
+ LC_MONETARY = "de_DE.UTF-8";
+ LC_NAME = "de_DE.UTF-8";
+ LC_NUMERIC = "de_DE.UTF-8";
+ LC_PAPER = "de_DE.UTF-8";
+ LC_TELEPHONE = "de_DE.UTF-8";
+ LC_TIME = "de_DE.UTF-8";
+ };
+
+ # This value determines the NixOS release from which the default
+ # settings for stateful data, like file locations and database versions
+ # on your system were taken. It‘s perfectly fine and recommended to leave
+ # this value at the release version of the first install of this system.
+ # Before changing this value read the documentation for this option
+ # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
+ system.stateVersion = "23.05"; # Did you read the comment?
+}
diff --git a/hosts/denkbrett/hardware-configuration.nix b/hosts/catbook-j/hardware-configuration.nix
similarity index 76%
rename from hosts/denkbrett/hardware-configuration.nix
rename to hosts/catbook-j/hardware-configuration.nix
index 9528956..6430beb 100644
--- a/hosts/denkbrett/hardware-configuration.nix
+++ b/hosts/catbook-j/hardware-configuration.nix
@@ -7,53 +7,35 @@
pkgs,
modulesPath,
...
-}:
-{
+}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
- boot.initrd.availableKernelModules = [
- "xhci_pci"
- "nvme"
- "usb_storage"
- "sd_mod"
- "rtsx_pci_sdmmc"
- ];
- boot.initrd.kernelModules = [ "i915" ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
+ boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
+ boot.initrd.kernelModules = ["i915"];
+ boot.kernelModules = ["kvm-intel"];
+ boot.extraModulePackages = [];
fileSystems."/" = {
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fsType = "btrfs";
- options = [
- "subvol=@"
- "compress=zstd:3"
- "noatime"
- ];
+ options = ["subvol=@" "compress=zstd:3" "noatime"];
};
fileSystems."/home" = {
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fsType = "btrfs";
- options = [
- "subvol=@home"
- "compress=zstd:3"
- ];
+ options = ["subvol=@home" "compress=zstd:3"];
};
fileSystems."/swap" = {
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fsType = "btrfs";
- options = [
- "subvol=@/@swap"
- "noatime"
- ];
+ options = ["subvol=@/@swap" "noatime"];
};
- boot.initrd.luks.devices."luks-9cd75cce-6829-4db8-8c5c-a9fb9ec3e122".device =
- "/dev/disk/by-uuid/9cd75cce-6829-4db8-8c5c-a9fb9ec3e122";
+ boot.initrd.luks.devices."luks-9cd75cce-6829-4db8-8c5c-a9fb9ec3e122".device = "/dev/disk/by-uuid/9cd75cce-6829-4db8-8c5c-a9fb9ec3e122";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C6CA-5DE8";
diff --git a/hosts/denkbrett/configuration.nix b/hosts/denkbrett/configuration.nix
deleted file mode 100644
index a7558b7..0000000
--- a/hosts/denkbrett/configuration.nix
+++ /dev/null
@@ -1,77 +0,0 @@
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page
-# and in the NixOS manual (accessible by running ‘nixos-help’).
-{ pkgs, ... }:
-{
- nixpkgs.config.permittedInsecurePackages = [
- "electron-25.9.0"
- "electron-27.3.11"
- ];
- imports = [
- # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ../../common.nix
- ../../modules
- ./modules
- ];
- jade = {
- hwKey.pamAuth.enable = true;
- desktop = {
- dm.autoLogin = {
- enable = true;
- delay = 5;
- };
- syncthing.enable = true;
- kdeconnect.enable = true;
- social.enable = true;
- gaming.enable = true;
- };
- };
-
- security.pam.services.swaylock = { };
-
- hardware.usb-modeswitch.enable = true;
- systemd.services."ModemManager".enable = true;
- systemd.services."ModemManager".wants = [ "NetworkManager.service" ];
- systemd.services."ModemManager".wantedBy = [ "multi-user.target" ];
-
- programs.wireshark.enable = true;
-
- boot.resumeDevice = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
- boot.kernelParams = [ "resume_offset=7380652" ];
-
- boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
-
- services.blueman.enable = true;
-
- environment.systemPackages = [
- pkgs.plantuml
- pkgs.mqttui
- pkgs.mobile-broadband-provider-info
- pkgs.modem-manager-gui
- pkgs.wireshark
- ];
-
- # Bootloader.
- boot.loader.systemd-boot.enable = true;
- boot.loader.efi.canTouchEfiVariables = true;
-
- # Setup keyfile
- boot.initrd.secrets = {
- "/crypto_keyfile.bin" = null;
- };
-
- boot.kernelPackages = pkgs.linuxPackages_zen;
-
- # networking
- networking.networkmanager.enable = true;
- networking.hostName = "denkbrett";
-
- # This value determines the NixOS release from which the default
- # settings for stateful data, like file locations and database versions
- # on your system were taken. It‘s perfectly fine and recommended to leave
- # this value at the release version of the first install of this system.
- # Before changing this value read the documentation for this option
- # (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
- system.stateVersion = "23.05"; # Did you read the comment?
-}
diff --git a/hosts/denkbrett/modules/default.nix b/hosts/denkbrett/modules/default.nix
deleted file mode 100644
index b278c2b..0000000
--- a/hosts/denkbrett/modules/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ ... }:
-{
- imports = [
- ./input.nix
- ./graphics.nix
- ];
-}
diff --git a/hosts/denkbrett/modules/graphics.nix b/hosts/denkbrett/modules/graphics.nix
deleted file mode 100644
index 3666bc9..0000000
--- a/hosts/denkbrett/modules/graphics.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- pkgs,
- lib,
- config,
- ...
-}:
-{
- environment.variables = {
- VDPAU_DRIVER = lib.mkIf config.hardware.graphics.enable (lib.mkDefault "va_gl");
- };
- hardware.graphics = {
- extraPackages = with pkgs; [
- intel-ocl
- intel-media-driver
- intel-vaapi-driver
- intel-compute-runtime
- libvdpau-va-gl
- mesa.drivers
- ];
- };
-}
diff --git a/hosts/denkbrett/modules/input.nix b/hosts/denkbrett/modules/input.nix
deleted file mode 100644
index f4c9c0b..0000000
--- a/hosts/denkbrett/modules/input.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ ... }:
-{
- # key remapping
- jade.input.remapping =
- let
- default = {
- swapKeys = [
- [
- "KEY_Y"
- "KEY_Z"
- ]
- [
- "KEY_LEFTALT"
- "KEY_LEFTMETA"
- ]
- ];
- dual_role = [
- {
- input = "KEY_CAPSLOCK";
- hold = [ "KEY_LEFTCTRL" ];
- tap = [ "KEY_ESC" ];
- }
- ];
- };
- in
- {
- enable = true;
- devices."AT Translated Set 2 keyboard" = default;
- devices."Razer Razer Huntsman" = default;
- devices."Razer Razer DeathAdder V2" = default;
- };
-
- hardware.trackpoint = {
- enable = true;
- device = "TPPS/2 IBM TrackPoint";
- sensitivity = 256;
- };
-}
diff --git a/hosts/monosodium-glutamate-g/configuration.nix b/hosts/monosodium-glutamate-g/configuration.nix
index dbd0cec..7010b36 100644
--- a/hosts/monosodium-glutamate-g/configuration.nix
+++ b/hosts/monosodium-glutamate-g/configuration.nix
@@ -1,31 +1,44 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
-{
- pkgs,
- ...
-}:
-{
+{pkgs, ...}: {
imports = [
./hardware-configuration.nix
../../common.nix
../../modules
- ./modules
];
+ # nixpkgs = {
+ # overlays = [
+ # (self: super: {
+ # linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
+ # structuredExtraConfig = with lib.kernel; {
+ # "FB" = yes;
+ # "FRAMEBUFFER_CONSOLE" = yes;
+ # "VGA_CONSOLE" = yes;
+ # "VIDEO_SELECT" = yes;
+ # LOGO = lib.mkForce yes;
+ # LOGO_LINUX_CLUT224 = yes;
+ # };
+ # ignoreConfigErrors = true;
+ # });
+ # })
+ # ];
+ # };
+
jade = {
- hwKey.pamAuth.enable = true;
- editors.zed.enable = true;
+ flatpak.enable = true;
desktop = {
- media = {
- obs = true;
- videoEditing = true;
- };
+ compositing.enable = true;
syncthing.enable = true;
kdeconnect.enable = true;
+ cloud.enable = true;
social.enable = true;
gaming.enable = true;
+ mail.enable = true;
+ evremap.enable = false;
};
+ terminal.enable = true;
};
boot = {
loader = {
@@ -33,14 +46,30 @@
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
-
+ # latest linux kernel
+ #boot.kernelPackages = pkgs.linuxPackages_latest;
+ #boot.kernelPackages = pkgs.linux_zen_xeniafied;
kernelPackages = pkgs.linuxPackages_zen;
+ # boot.kernelPatches = [
+ # {
+ # name = "fomx";
+ # patch = ../other/0001-fomx.patch;
+ # }
+ # ];
- binfmt.emulatedSystems = [ "aarch64-linux" ];
+ binfmt.emulatedSystems = ["aarch64-linux"];
};
networking.hostName = "monosodium-glutamate-g";
services = {
+ # monitor control
+ ddccontrol.enable = true;
+ xserver = {
+ layout = "us";
+ xkbVariant = "altgr-intl";
+ enable = true;
+ };
+
openssh.settings.PermitRootLogin = "without-password";
blueman.enable = true;
@@ -48,19 +77,36 @@
gnome.gnome-keyring.enable = true;
};
hardware = {
+ bluetooth.enable = true;
keyboard.uhk.enable = true;
enableRedistributableFirmware = true;
};
+ security.pam.services.jade.u2fAuth = true;
+ programs.i3lock.u2fSupport = true;
+
+ security.pam.u2f = {
+ enable = true;
+ cue = true;
+ control = "sufficient";
+ authFile = "/home/jade/.ssh/u2f_keys";
+ };
+
# missing: menu-qalc picom-jonaburg
environment.systemPackages = with pkgs; [
# TODO: clean up.
+ libGL
+ libreoffice-fresh
+ wireshark
+ awesomebump
+
zenstates
zenmonitor
+ nvtop-amd
+ radeontop
+ rgp
tea
blender-hip
- jdk8
- jdk11
];
programs = {
wireshark.enable = true;
@@ -80,7 +126,23 @@
# networking.firewall.allowedTCPPorts = [ 4713 ];
systemd.services."NetworkManager-wait-online".enable = false;
- swapDevices = [ { device = "/swap/swapfile"; } ];
+ systemd.services = {
+ create-swapfile = {
+ serviceConfig.Type = "oneshot";
+ wantedBy = ["swap-swapfile.swap"];
+ script = ''
+ swapfile="/swap/swapfile"
+ if [[ -f "$swapfile" ]]; then
+ echo "Swap file $swapfile already exists, taking no action"
+ else
+ echo "Setting up swap file $swapfile"
+ ${pkgs.coreutils}/bin/truncate -s 0 "$swapfile"
+ ${pkgs.e2fsprogs}/bin/chattr +C "$swapfile"
+ fi
+ '';
+ };
+ };
- system.stateVersion = "24.05"; # Did you read the comment?
+ # release channel
+ system.stateVersion = "22.05"; # Did you read the comment?
}
diff --git a/hosts/monosodium-glutamate-g/hardware-configuration.nix b/hosts/monosodium-glutamate-g/hardware-configuration.nix
index c328c42..b04b33c 100644
--- a/hosts/monosodium-glutamate-g/hardware-configuration.nix
+++ b/hosts/monosodium-glutamate-g/hardware-configuration.nix
@@ -7,49 +7,39 @@
pkgs,
modulesPath,
...
-}:
-{
+}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
- boot.initrd.availableKernelModules = [
- "nvme"
- "xhci_pci"
- "ahci"
- "uas"
- "usbhid"
- "sd_mod"
- ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-amd" ];
- boot.extraModulePackages = [ ];
+ boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
+ boot.initrd.kernelModules = [];
+ boot.kernelModules = ["kvm-amd"];
+ boot.extraModulePackages = [];
fileSystems."/" = {
- device = "/dev/disk/by-uuid/efb8f256-5b14-4b52-a2d9-ae4b91ecb711";
+ device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
fsType = "btrfs";
- options = [ "subvol=@" ];
+ options = ["subvol=@root" "compress=zstd:3"];
};
- boot.initrd.luks.devices."luks-919f9b8b-2804-447a-97e0-f7f515d0be56".device =
- "/dev/disk/by-uuid/919f9b8b-2804-447a-97e0-f7f515d0be56";
+ fileSystems."/home" = {
+ device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
+ fsType = "btrfs";
+ options = ["subvol=@home" "compress=zstd:3"];
+ };
fileSystems."/boot" = {
- device = "/dev/disk/by-uuid/3FAD-A6B4";
+ device = "/dev/disk/by-uuid/D63E-18C9";
fsType = "vfat";
- options = [
- "fmask=0077"
- "dmask=0077"
- ];
};
- fileSystems."/swap" = {
- device = "/dev/disk/by-uuid/efb8f256-5b14-4b52-a2d9-ae4b91ecb711";
- fsType = "btrfs";
- options = [ "subvol=swap" ];
- };
-
- swapDevices = [ ];
+ swapDevices = [
+ {
+ device = "/swap/swapfile";
+ size = (1024 * 64) + (1024 * 8); # 72G
+ }
+ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
@@ -57,9 +47,7 @@
# with explicit per-interface declarations with `networking.interfaces..useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
- # networking.interfaces.wg0-mullvad.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp6s0.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true;
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}
diff --git a/hosts/monosodium-glutamate-g/modules/default.nix b/hosts/monosodium-glutamate-g/modules/default.nix
deleted file mode 100644
index 34ffd52..0000000
--- a/hosts/monosodium-glutamate-g/modules/default.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ ... }:
-{
- imports = [
- ./graphics.nix
- ];
-}
diff --git a/hosts/monosodium-glutamate-g/modules/graphics.nix b/hosts/monosodium-glutamate-g/modules/graphics.nix
deleted file mode 100644
index f4b1efa..0000000
--- a/hosts/monosodium-glutamate-g/modules/graphics.nix
+++ /dev/null
@@ -1,8 +0,0 @@
-{ pkgs, ... }:
-{
- environment.systemPackages = [
- pkgs.nvtopPackages.amd
- pkgs.radeontop
- pkgs.rgp
- ];
-}
diff --git a/hosts/potatobook-g/configuration.nix b/hosts/potatobook-g/configuration.nix
new file mode 100644
index 0000000..28a2e87
--- /dev/null
+++ b/hosts/potatobook-g/configuration.nix
@@ -0,0 +1,191 @@
+{pkgs, ...}: {
+ nix.settings = {
+ trusted-substituters = [
+ "https://t2linux.cachix.org"
+ ];
+ trusted-public-keys = [
+ "t2linux.cachix.org-1:P733c5Gt1qTcxsm+Bae0renWnT8OLs0u9+yfaK2Bejw="
+ ];
+ };
+ imports = [
+ ./hardware-configuration.nix
+ ../../common.nix
+ ../../modules
+ #inputs.mms.module
+ ];
+
+ #nixpkgs = {
+ #overlays = [
+ #(self: super: {
+ #linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
+ #structuredExtraConfig = with lib.kernel; {
+ ##"FB" = yes;
+ ##"FRAMEBUFFER_CONSOLE" = yes;
+ ##"VGA_CONSOLE" = yes;
+ ##"VIDEO_SELECT" = yes;
+ #LOGO = lib.mkForce yes;
+ #LOGO_LINUX_CLUT224 = yes;
+ #};
+ #ignoreConfigErrors = true;
+ #});
+ #})
+ #];
+ #};
+ #boot.kernelPatches = [
+ #{
+ #name = "fomx";
+ #patch = ../other/0001-fomx.patch;
+ #}
+ #];
+
+ boot.binfmt.emulatedSystems = ["aarch64-linux"];
+
+ jade = {
+ flatpak.enable = true;
+ desktop = {
+ compositing.enable = true;
+ syncthing.enable = true;
+ kdeconnect.enable = true;
+ cloud.enable = true;
+ social.enable = true;
+ mail.enable = true;
+ gaming.enable = true;
+ evremap.enable = true;
+ };
+ terminal.enable = true;
+ };
+
+ fileSystems = {
+ "/".options = ["compress=zstd:3"];
+ "/home".options = ["compress=zstd:3"];
+ "/nix".options = ["compress=zstd:3" "noatime"];
+ #"/swap".options = [ "noatime" ];
+ };
+
+ boot.loader.systemd-boot.enable = true;
+ boot.loader.efi.canTouchEfiVariables = true;
+
+ services.xserver.libinput.touchpad.disableWhileTyping = true;
+ services.xserver.libinput.touchpad.tapping = false;
+
+ networking.networkmanager.enable = true;
+
+ networking.hostName = "potatobook-g";
+
+ services.xserver = {
+ resolutions = [
+ {
+ x = 1920;
+ y = 1200;
+ }
+ ];
+ # dpi = 180;
+ layout = "us";
+ xkbVariant = "altgr-intl";
+ };
+
+ services.autorandr = {
+ enable = true;
+ profiles = {
+ "default" = {
+ config = {
+ "eDP-1" = {
+ enable = true;
+ mode = "1920x1200";
+ };
+ };
+ };
+ };
+ };
+
+ # hardware.keyboard.uhk.enable = true;
+ hardware.enableRedistributableFirmware = true;
+
+ environment.systemPackages = with pkgs; [
+ android-tools
+ ];
+
+ environment.pathsToLink = [
+ "/share/nix-direnv"
+ ];
+
+ services.blueman.enable = true;
+
+ programs.adb.enable = true;
+
+ services.gnome.gnome-keyring.enable = true;
+ programs.seahorse.enable = true;
+ security.pam.services.jade.enableGnomeKeyring = true;
+ security.pam.services.jade.u2fAuth = true;
+
+ systemd.services."NetworkManager-wait-online".enable = false;
+ programs.i3lock.u2fSupport = true;
+
+ security.pam.u2f = {
+ enable = true;
+ cue = true;
+ control = "sufficient";
+ authFile = "/home/jade/.ssh/u2f_keys";
+ };
+
+ # services.pixiecore =
+ # let
+ # nixpkgs = builtins.getFlake "nixpkgs/nixos-unstable";
+ # sys = nixpkgs.lib.nixosSystem {
+ # system = "x86_64-linux";
+ # modules = [
+ # ({config, pkgs, lib, modulesPath, ...}: {
+ # imports = [
+ # (modulesPath + "/installer/netboot/netboot-base.nix")
+ # ];
+
+ # services.getty.autologinUser = lib.mkForce "root";
+ # console.keyMap = "de";
+
+ # system.stateVersion = config.system.nixos.release;
+ # environment.systemPackages = with pkgs; [
+ # helix nil git neofetch
+ # ];
+
+ # programs = {
+ # zsh = {
+ # enable = true;
+ # enableCompletion = true;
+ # };
+ # };
+ # })
+ # ];
+ # };
+ # build = sys.config.system.build;
+ # in {
+ # enable = true;
+ # openFirewall = true;
+ # kernel = "${build.kernel}/bzImage";
+ # initrd = "${build.netbootRamdisk}/initrd";
+ # cmdLine = "init=${build.toplevel}/init loglevel=4";
+ # };
+
+ systemd.services = {
+ create-swapfile = {
+ serviceConfig.Type = "oneshot";
+ wantedBy = ["swap-swapfile.swap"];
+ script = ''
+ swapfile="/swap/swapfile"
+ if [[ -f "$swapfile" ]]; then
+ echo "Swap file $swapfile already exists, taking no action"
+ else
+ echo "Setting up swap file $swapfile"
+ ${pkgs.coreutils}/bin/truncate -s 0 "$swapfile"
+ ${pkgs.e2fsprogs}/bin/chattr +C "$swapfile"
+ fi
+ '';
+ };
+ };
+
+ services.logind.extraConfig = ''
+ RuntimeDirectorySize=12G
+ '';
+
+ # i rly should put that important big comment back here
+ system.stateVersion = "22.11"; # Did you read the comment?
+}
diff --git a/hosts/potatobook-g/hardware-configuration.nix b/hosts/potatobook-g/hardware-configuration.nix
new file mode 100644
index 0000000..31a176a
--- /dev/null
+++ b/hosts/potatobook-g/hardware-configuration.nix
@@ -0,0 +1,62 @@
+# Do not modify this file! It was generated by ‘nixos-generate-config’
+# and may be overwritten by future invocations. Please make changes
+# to /etc/nixos/configuration.nix instead.
+{
+ config,
+ lib,
+ pkgs,
+ modulesPath,
+ ...
+}: {
+ imports = [
+ (modulesPath + "/installer/scan/not-detected.nix")
+ ];
+
+ boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "uas" "sd_mod"];
+ boot.initrd.kernelModules = [];
+ boot.kernelModules = ["kvm-intel"];
+ boot.extraModulePackages = [];
+
+ fileSystems."/" = {
+ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
+ fsType = "btrfs";
+ options = ["subvol=root"];
+ };
+
+ fileSystems."/home" = {
+ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
+ fsType = "btrfs";
+ options = ["subvol=home"];
+ };
+
+ fileSystems."/nix" = {
+ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
+ fsType = "btrfs";
+ options = ["subvol=nix"];
+ };
+
+ fileSystems."/boot" = {
+ device = "/dev/disk/by-uuid/5F66-17ED";
+ fsType = "vfat";
+ };
+
+ swapDevices = [
+ {
+ device = "/swap/swapfile";
+ size = 1024 * 12; # 12GB
+ }
+ ];
+
+ # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
+ # (the default) this is the recommended approach. When using systemd-networkd it's
+ # still possible to use this option, but it's recommended to use it in conjunction
+ # with explicit per-interface declarations with `networking.interfaces..useDHCP`.
+ networking.useDHCP = lib.mkDefault true;
+ # networking.interfaces.enp2s0f1u1.useDHCP = lib.mkDefault true;
+ # networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
+
+ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
+ powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
+ hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
+ # high-resolution display
+}
diff --git a/hosts/potatobook-g/iso.nix b/hosts/potatobook-g/iso.nix
new file mode 100644
index 0000000..b99407f
--- /dev/null
+++ b/hosts/potatobook-g/iso.nix
@@ -0,0 +1,11 @@
+{
+ config,
+ pkgs,
+ ...
+}: {
+ imports = [
+
+
+ ./configuration.nix
+ ];
+}
diff --git a/justfile b/justfile
index fbe035d..0c3044a 100644
--- a/justfile
+++ b/justfile
@@ -1,22 +1,13 @@
upgrade: update build
test:
- sudo nixos-rebuild test --flake . --log-format multiline
+ sudo nixos-rebuild test --flake . --impure
build:
- sudo nixos-rebuild switch --flake . --fast --log-format multiline
-
-tbuild:
- sudo nixos-rebuild switch --flake . --fast --log-format multiline-with-logs --show-trace
+ sudo nixos-rebuild switch --flake . --impure --fast
update:
- nix flake update --commit-lock-file --log-format multiline
+ nix flake update --commit-lock-file
-update-typst-configs:
- #!/usr/bin/env nu
- let file = './modules/media/typst.nix';
- let $rev = http get https://forge.katzen.cafe/schrottkatze/typst-configs/commits/branch/main | query web -mq '.commit-list tr:first-of-type a.ui.sha.label' -a href | path basename | first;
- ./build-utils/templ-edit.nu edit $file REV $rev;
- let $hash = nix-prefetch-url https://forge.katzen.cafe/schrottkatze/typst-configs/archive/main.tar.gz --unpack;
- let $sri = nix hash to-sri --type sha256 $hash;
- ./build-utils/templ-edit.nu edit $file SHA $sri;
+build-mac:
+ sudo nixos-rebuild switch --flake . --impure --override-input mac-brcm-fw path:/home/jade/mac-brcm-fw --fast
diff --git a/mac-brcm-fw/default.nix b/mac-brcm-fw/default.nix
new file mode 100644
index 0000000..0ce5a72
--- /dev/null
+++ b/mac-brcm-fw/default.nix
@@ -0,0 +1,3 @@
+{...}: {}
+# dummy
+
diff --git a/modules/default.nix b/modules/default.nix
index 286f879..c3be46f 100644
--- a/modules/default.nix
+++ b/modules/default.nix
@@ -1,14 +1,11 @@
-{ ... }:
-{
+{...}: {
imports = [
- ./editors
./shell
./desktop
- ./desktop-legacy
- ./hardware
- ./net
- ./input
- ./media
- ./nix.nix
+ ./terminal.nix
+ ./flatpak.nix
+ ./firewall.nix
+ ./git.nix
+ ./kmscon.nix
];
}
diff --git a/modules/desktop-legacy/default.nix b/modules/desktop-legacy/default.nix
deleted file mode 100644
index 7ddb6ef..0000000
--- a/modules/desktop-legacy/default.nix
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-with lib;
-{
- imports = [
- ./gaming.nix
- ./syncthing.nix
- ./kdeconnect.nix
- ./social.nix
- ];
-
- programs.seahorse.enable = true;
- security.pam.services.jade.enableGnomeKeyring = true;
-
- virtualisation.libvirtd.enable = true;
-
- programs.xss-lock = {
- enable = true;
- lockerCommand = "${pkgs.i3lock}/bin/i3lock -c 1d2021";
- };
-
- services.illum.enable = true;
- services.smartd = {
- enable = true;
- notifications.test = true;
- };
-
- home-manager.users.jade =
- { pkgs, ... }:
- {
- programs.ssh = {
- controlMaster = "yes";
- };
- home.packages = with pkgs; [
- just
- bacon
-
- magic-wormhole-rs
-
- # filemanager
- xfce.thunar
- xfce.tumbler
- xfce.thunar-archive-plugin
- file-roller
-
- # from environment.systemPackages cleanup
- virt-manager
- ddccontrol-db
- ];
- };
-}
diff --git a/modules/desktop-legacy/gaming.nix b/modules/desktop-legacy/gaming.nix
deleted file mode 100644
index e8b0df4..0000000
--- a/modules/desktop-legacy/gaming.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{
- config,
- lib,
- ...
-}:
-let
- cfg = config.jade.desktop.gaming;
-in
-with lib;
-{
- options.jade.desktop.gaming = {
- enable = mkEnableOption "Enable gaming stuff";
- };
- config = mkIf cfg.enable {
- programs.steam.enable = true;
- home-manager.users.jade =
- { pkgs, ... }:
- {
- home.packages = with pkgs; [
- lutris
- prismlauncher
- wineWowPackages.stable
- dxvk_2
- vkd3d-proton
- ];
- };
- };
-}
diff --git a/modules/desktop-legacy/kdeconnect.nix b/modules/desktop-legacy/kdeconnect.nix
deleted file mode 100644
index cd73159..0000000
--- a/modules/desktop-legacy/kdeconnect.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.jade.desktop.kdeconnect;
-in
-with lib;
-{
- options.jade.desktop.kdeconnect = {
- enable = mkEnableOption "Enable KDE connect";
- };
- config = mkIf cfg.enable {
- programs.kdeconnect.enable = true;
- home-manager.users.jade =
- { pkgs, ... }:
- {
- services.kdeconnect = {
- enable = true;
- indicator = true;
- };
- };
- };
-}
diff --git a/modules/desktop-legacy/social.nix b/modules/desktop-legacy/social.nix
deleted file mode 100644
index 6325c97..0000000
--- a/modules/desktop-legacy/social.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.jade.desktop.social;
-in
-with lib;
-{
- options.jade.desktop.social = {
- enable = mkEnableOption "Enable social apps";
- };
- config = mkIf cfg.enable {
- home-manager.users.jade =
- {
- pkgs,
- pkgs-stable,
- ...
- }:
- {
- programs.nixcord = {
- enable = false;
- vesktop = {
- enable = true;
- # autoScroll.enable = true;
- };
- config = {
- frameless = true;
- disableMinSize = true;
- };
- };
- home.packages = with pkgs; [
- vesktop
- signal-desktop
- mumble
- element-desktop
- pkgs.evolution-data-server-gtk4
- iamb
- ];
- };
- programs.evolution = {
- enable = true;
- plugins = [ pkgs.evolution-ews ];
- };
- services.gnome.evolution-data-server.enable = true;
- services.gnome.evolution-data-server.plugins = [ ];
- };
-}
diff --git a/modules/desktop-legacy/syncthing.nix b/modules/desktop-legacy/syncthing.nix
deleted file mode 100644
index d114ce4..0000000
--- a/modules/desktop-legacy/syncthing.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.jade.desktop.syncthing;
-in
-with lib;
-{
- options.jade.desktop.syncthing = {
- enable = mkEnableOption "Enable syncing via syncthing";
- };
- config = mkIf cfg.enable {
- services.syncthing = rec {
- enable = true;
- user = "jade";
- dataDir = "/home/${user}/Documents";
- configDir = "/home/${user}/Documents/.config/syncthing";
- };
- };
-}
diff --git a/modules/desktop/audio.nix b/modules/desktop/audio.nix
index fdfb747..7cc85e3 100644
--- a/modules/desktop/audio.nix
+++ b/modules/desktop/audio.nix
@@ -1,19 +1,39 @@
-{ pkgs, ... }:
{
- programs = {
- noisetorch.enable = true;
- };
- services = {
- pipewire = {
- enable = true;
- alsa.enable = true;
- pulse.enable = true;
- jack.enable = true;
+ config,
+ lib,
+ pkgs,
+ ...
+}: {
+ config = {
+ programs = {
+ noisetorch.enable = true;
+ };
+ services = {
+ pipewire = {
+ enable = true;
+ alsa.enable = true;
+ pulse.enable = true;
+ jack.enable = true;
+ };
+ };
+ hardware.pulseaudio.enable = pkgs.lib.mkForce false;
+ sound.mediaKeys.enable = true;
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ pavucontrol
+ pulseaudioFull
+ easyeffects
+ cava
+ volumeicon
+ playerctl
+ helvum
+ ];
+ xsession.windowManager.i3.config.startup = [
+ {
+ command = "pkill volumeicon; volumeicon";
+ always = true;
+ }
+ ];
};
};
- environment.systemPackages = with pkgs; [
- playerctl
- pulsemixer
- helvum
- ];
}
diff --git a/modules/desktop/cloud.nix b/modules/desktop/cloud.nix
new file mode 100644
index 0000000..47f66ec
--- /dev/null
+++ b/modules/desktop/cloud.nix
@@ -0,0 +1,22 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.cloud;
+in
+ with lib; {
+ options.jade.desktop.cloud = {
+ enable = mkEnableOption "Enable cloud things";
+ };
+ config = mkIf cfg.enable {
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ fluent-reader
+ bitwarden
+ rofi-rbw
+ ];
+ };
+ };
+ }
diff --git a/modules/desktop/compositing.nix b/modules/desktop/compositing.nix
new file mode 100644
index 0000000..7936f80
--- /dev/null
+++ b/modules/desktop/compositing.nix
@@ -0,0 +1,42 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.compositing;
+in
+ with lib; {
+ options.jade.desktop.compositing = {
+ enable = mkEnableOption "Enable compositing with picom";
+ };
+ config = mkIf cfg.enable {
+ services.picom = {
+ enable = true;
+ backend = "glx";
+
+ shadow = true;
+ shadowOffsets = [(-40) (-30)];
+ shadowOpacity = 0.2;
+ shadowExclude = [
+ "class_g ?= 'Notify-osd'"
+ "_GTK_FRAME_EXTENTS@:c"
+ "!(class_g = 'Rofi' || class_g = 'Dunst')"
+ ];
+
+ vSync = true;
+ settings = {
+ "shadow-radius" = 40;
+ # fading rofi
+ "fading" = true;
+ "fade-in-step" = 0.25;
+ "fade-out-step" = 0.2;
+ "fade-delta" = 20;
+ "fade-exclude" = ["class_g != 'Rofi'"];
+ # use damage information
+ "use-damage" = true;
+ };
+ };
+ # }}}
+ };
+ }
diff --git a/modules/desktop/creative.nix b/modules/desktop/creative.nix
new file mode 100644
index 0000000..93cbfe5
--- /dev/null
+++ b/modules/desktop/creative.nix
@@ -0,0 +1,35 @@
+{pkgs, ...}: {
+ fonts.packages = with pkgs; [
+ (nerdfonts.override {fonts = ["FiraCode"];})
+ montserrat
+ noto-fonts
+ atkinson-hyperlegible
+ arkpandora_ttf
+ liberation_ttf
+ caladea
+ carlito
+ garamond-libre
+ ocr-a
+ amiri
+ ];
+ fonts.fontDir.enable = true;
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ audacity
+ krita
+ gimp-with-plugins
+ inkscape-with-extensions
+ obs-studio
+ kdenlive
+ fspy
+ scribus
+
+ fontforge-gtk
+
+ libreoffice
+ typst
+
+ rawtherapee
+ ];
+ };
+}
diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix
index fb57132..2841c31 100644
--- a/modules/desktop/default.nix
+++ b/modules/desktop/default.nix
@@ -1,21 +1,191 @@
-{ ... }:
{
- imports = [
- ./audio.nix
- ./home
- ./dm.nix
- ./tlp.nix
- ./locale.nix
- ./printing.nix
- ./themeing.nix
- ];
- services.flatpak.enable = true;
- security.polkit.enable = true;
- services.illum.enable = true;
- services.upower.enable = true;
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ # window-screenshot = pkgs.writeTextFile "window-screenshot.nu" (builtins.readFile ../../other/scripts/desktop/window-screenshot.nu);
+ window-screenshot = pkgs.writeShellScriptBin "window-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/window-screenshot.sh);
+ # desktop-ctl = pkgs.writeShellScriptBin "desktop-ctl.sh" (builtins.readFile ../scripts/desktop/desktop-ctl.sh);
+ desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix {inherit pkgs;};
+ # TODO: fix ocr screenshot script
+ ocr-screenshot = pkgs.writeShellScriptBin "ocr-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/ocr-screenshot.sh);
+ # rofi calculator copied from https://github.com/barbuk/menu-qalc
+ menu-qalc = pkgs.writeShellScriptBin "menu-qalc" (builtins.readFile ../../other/scripts/desktop/menu-qalc.sh);
+in
+ with lib; {
+ imports = [
+ ./audio.nix
+ ./gaming.nix
+ ./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee
+ ./dunst.nix
+ ./compositing.nix
+ ./ios-compat.nix
+ ./syncthing.nix
+ ./kdeconnect.nix
+ ./themeing.nix
+ ./cloud.nix
+ ./networking.nix
+ ./polybar.nix
+ ./social.nix
+ ./mail.nix
+ ./specific-hardware
+ ./evremap.nix
+ ./xmonad.nix
+ ./firefox.nix
+ ];
- programs.ausweisapp = {
- enable = true;
- openFirewall = true;
- };
-}
+ i18n.inputMethod = {
+ enabled = "fcitx5";
+ fcitx5.addons = with pkgs; [
+ fcitx5-mozc
+ fcitx5-gtk
+ ];
+ };
+
+ programs.seahorse.enable = true;
+ security.pam.services.jade.enableGnomeKeyring = true;
+
+ virtualisation.libvirtd.enable = true;
+
+ services = {
+ printing.enable = true;
+ gnome.gnome-keyring.enable = true;
+
+ xserver = {
+ enable = true;
+
+ xkb = {
+ layout = "us";
+ variant = "altgr-intl";
+ };
+
+ libinput = {
+ enable = true;
+ };
+
+ desktopManager = {
+ xterm.enable = false;
+ };
+
+ displayManager = {
+ defaultSession = "none+xmonad";
+ gdm.enable = true;
+ };
+
+ windowManager.xmonad = {
+ enable = true;
+ };
+ };
+ };
+
+ programs.xss-lock = {
+ enable = true;
+ lockerCommand = "${pkgs.i3lock}/bin/i3lock -c 1d2021";
+ };
+
+ services.illum.enable = true;
+ services.avahi.enable = true;
+
+ services.smartd = {
+ enable = true;
+ notifications.x11.enable = true;
+ notifications.test = true;
+ };
+
+ home-manager.users.jade = {pkgs, ...}: {
+ programs.ssh = {
+ controlMaster = "yes";
+ };
+
+ programs.bat = {
+ # TODO: more config
+ enable = true;
+ };
+ programs.rofi = {
+ enable = true;
+ theme = ../../other/rofi-themes/applauncher.rasi;
+ };
+ home.packages = with pkgs; [
+ just
+ bacon
+
+ magic-wormhole-rs
+
+ yt-dlp
+
+ i3lock
+ rofimoji
+ feh
+ xorg.xinput
+ arandr
+ flameshot
+ tesseract5
+ imagemagick
+ xclip
+ xmacro
+ xorg.xev
+
+ syncplay
+
+ # filemanager
+ xfce.thunar
+ xfce.tumbler
+ xfce.thunar-archive-plugin
+ gnome.file-roller
+ # media/file viewers
+ vlc
+ mpv
+ evince
+ nomacs
+
+ # from environment.systemPackages cleanup
+ font-manager
+ xdotool
+ xorg.xwininfo
+ gparted
+ # uhk-agent
+ cool-retro-term
+ xdg-desktop-portal-gtk
+ virt-manager
+ ddccontrol-db
+ firebird-emu
+ gitg
+ gpick
+ qdirstat
+ ffmpeg_5
+
+ # external
+ libnotify
+ i3lock
+ rofi
+ rofimoji
+ feh
+ xorg.xinput
+ arandr
+ flameshot
+ tesseract5
+ imagemagick
+ xclip
+ kitty
+ xmacro
+ brightnessctl
+ drawing
+ libqalculate
+
+ # custom scripts
+ window-screenshot
+ desktop-ctl
+ ocr-screenshot
+ menu-qalc
+
+ # meow
+ oneko
+
+ plover.dev
+ ];
+ xsession = {
+ enable = true;
+ };
+ };
+ }
diff --git a/modules/desktop/dm.nix b/modules/desktop/dm.nix
deleted file mode 100644
index f4f3470..0000000
--- a/modules/desktop/dm.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}:
-let
- cfg = config.jade.desktop.dm;
-in
-with lib;
-{
- options.jade.desktop.dm.autoLogin = {
- enable = mkEnableOption "Enable Autologin";
- delay = mkOption {
- type = types.int;
- default = 0;
- };
- };
- config.services = {
- displayManager = {
- autoLogin = {
- enable = cfg.autoLogin.enable;
- user = "jade";
- };
- defaultSession = "niri";
- };
- xserver.displayManager.gdm = {
- enable = true;
- banner = "Meow :3";
- autoLogin = {
- delay = cfg.autoLogin.delay;
- };
- };
- };
-}
diff --git a/modules/desktop/dunst.nix b/modules/desktop/dunst.nix
new file mode 100644
index 0000000..f971e22
--- /dev/null
+++ b/modules/desktop/dunst.nix
@@ -0,0 +1,19 @@
+{...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ services.dunst = {
+ enable = true;
+ settings = {
+ global = {
+ dmenu = "${pkgs.rofi}/bin/rofi -theme gruvbox-dark -dmenu -p dunst";
+ browser = "${pkgs.librewolf}/bin/librewolf";
+ mouse_left_click = "context";
+ mouse_middle_click = "close_current";
+ background = "#282828";
+ foreground = "#ebdbb2";
+ frame_color = "#504945";
+ frame_width = 2;
+ };
+ };
+ };
+ };
+}
diff --git a/modules/desktop/evremap.nix b/modules/desktop/evremap.nix
new file mode 100644
index 0000000..cbb72a2
--- /dev/null
+++ b/modules/desktop/evremap.nix
@@ -0,0 +1,39 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ cfg = config.jade.desktop.evremap;
+ evremap = pkgs.rustPlatform.buildRustPackage {
+ pname = "evremap";
+ version = "0.1.0";
+ src = pkgs.fetchFromGitHub {
+ owner = "wez";
+ repo = "evremap";
+ rev = "4480c4eda223b98899b0fbd926bc34f7bd0e1a18";
+ sha256 = "sha256-BxSrphgW1n465FX6bKVkq6O0XE2JqanfSYlsGwWUWkQ=";
+ };
+ cargoHash = "";
+ cargoLock.lockFile = ../../other/evremap.Cargo.lock;
+ postPatch = ''
+ cp ${../../other/evremap.Cargo.lock} Cargo.lock
+ '';
+ nativeBuildInputs = [pkgs.pkg-config];
+ buildInputs = [pkgs.libevdev];
+ };
+in
+ with lib; {
+ options.jade.desktop.evremap = {
+ enable = mkEnableOption "Enable evremap";
+ };
+ config = mkIf cfg.enable {
+ systemd.services.evremap = {
+ script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}";
+ wantedBy = ["multi-user.target"];
+ unitConfig = {
+ Restart = "on-failure";
+ };
+ };
+ };
+ }
diff --git a/modules/desktop/firefox.nix b/modules/desktop/firefox.nix
new file mode 100644
index 0000000..826dc00
--- /dev/null
+++ b/modules/desktop/firefox.nix
@@ -0,0 +1,330 @@
+{...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ home.file = {
+ ".tridactylrc" = {
+ text = ''
+ set editorcmd kitty hx %f +%l
+ set newtab about:blank
+ '';
+ };
+ };
+ programs.firefox = {
+ enable = true;
+ package = pkgs.firefox.override {
+ nativeMessagingHosts = [
+ pkgs.tridactyl-native
+ ];
+ };
+ policies = {
+ DefaultDownloadDirectory = "\${home}/Downloads";
+ Extensions.Install = builtins.map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}") [
+ "ublock-origin"
+ "tridactyl-vim"
+ "privacy-badger17"
+ "gruvbox-dark-theme"
+ "torproject-snowflake"
+ "bitwarden-password-manager"
+ "terms-of-service-didnt-read"
+ "shinigami-eyes"
+ "darkreader"
+ "sponsorblock"
+ "youtube-mrbeastify"
+ "return-youtube-dislikes"
+ "multi-account-containers"
+ ];
+ Extensions.Uninstall = [
+ "google@search.mozilla.org"
+ "bing@search.mozilla.org"
+ "amazondotcom@search.mozilla.org"
+ "ebay@search.mozilla.org"
+ "twitter@search.mozilla.org"
+ ];
+ "DisableFirefoxStudies" = true;
+ "DisableTelemetry" = true;
+ "DisableFeedbackCommands" = true;
+ "DisablePocket" = true;
+ };
+ profiles.jade = {
+ search = {
+ force = true;
+ default = "DuckDuckGo";
+ engines = {
+ "Nix Packages" = {
+ urls = [
+ {
+ template = "https://search.nixos.org/packages";
+ params = [
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = ["pkgs"];
+ };
+ "Nix Options" = {
+ urls = [
+ {
+ template = "https://search.nixos.org/options";
+ params = [
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = ["opts"];
+ };
+ "Home manager Options" = {
+ urls = [
+ {
+ template = "https://mipmip.github.io/home-manager-option-search/";
+ params = [
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = ["hm"];
+ };
+ "NixOS Wiki" = {
+ urls = [
+ {
+ template = "https://nixos.wiki/index.php?title=Special:Search&search={searchTerms}&namespace=0";
+ }
+ ];
+ icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
+ definedAliases = ["nxwk"];
+ };
+ "Noogle" = {
+ urls = [
+ {
+ template = "https://noogle.dev/q?term={searchTerms}";
+ params = [
+ {
+ name = "q";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ };
+ "lib.rs" = {
+ urls = [
+ {
+ template = "https://lib.rs/search";
+ params = [
+ {
+ name = "q";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "https://lib.rs/favicon.png";
+ definedAliases = ["libs"];
+ };
+ "rust docs" = {
+ urls = [
+ {
+ template = "https://docs.rs/releases/search";
+ params = [
+ {
+ name = "query";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "https://docs.rs/-/static/favicon.ico";
+ definedAliases = ["docs"];
+ };
+ "rust std docs" = {
+ urls = [
+ {
+ template = "https://docs.rust-lang.org/std/index.html";
+ params = [
+ {
+ name = "search";
+ value = "{searchTerms}";
+ }
+ ];
+ }
+ ];
+ icon = "https://doc.rust-lang.org/favicon.ico";
+ definedAliases = ["std"];
+ };
+ "Bing".metaData.hidden = true;
+ "Google".metaData.hidden = true;
+ "Amazon.de".metaData.hidden = true;
+ };
+ };
+ settings = {
+ "devtools.editor.keymap" = "vim";
+ "devtools.toolbox.host" = "right";
+ "devtools.theme" = "dark";
+ "webgl.disabled" = false;
+ "image.jxl.enabled" = true;
+ "browser.urlbar.decodeURLsOnCopy" = true;
+ "browser.urlbar.unitConversion.enabled" = true;
+ "browser.urlbar.suggest.calculator" = true;
+ "browser.compactmode.show" = true;
+ "browser.uidensity" = 1;
+ "screenshots.browser.component.enabled" = true;
+ "browser.aboutConfig.showWarning" = false;
+ "browser.aboutwelcome.showModal" = false;
+ "browser.aboutwelcome.enabled" = false;
+ "browser.preferences.moreFromMozilla" = false;
+ "browser.menu.showViewImageInfo" = true;
+
+ "identity.fxaccounts.enabled" = true;
+ "browser.tabs.firefox-view" = true;
+ "browser.tabs.firefox-view-next" = true;
+ "browser.newtabpage.activity-stream.showSponsored" = false;
+ "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
+ "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
+ "privacy.trackingprotection.emailtracking.enabled" = true;
+ "privacy.trackingprotection.enabled" = true;
+ "privacy.trackingprotection.socialtracking.enabled" = true;
+
+ "geo.provider.network.logging.enabled" = true;
+ "extensions.getAddons.showPane" = false;
+ "extensions.htmlaboutaddons.recommendations.enabled" = false;
+ "browser.discovery.enabled" = false;
+ "browser.shopping.experience2023.enabled" = false;
+ "datareporting.policy.dataSubmissionEnabled" = false;
+ "datareporting.healthreport.uploadEnabled" = false;
+ "toolkit.telemetry.unified" = false;
+ "toolkit.telemetry.enabled" = false;
+ "toolkit.telemetry.server" = "data:,";
+ "toolkit.telemetry.archive.enabled" = false;
+ "toolkit.telemetry.newProfilePing.enabled" = false;
+ "toolkit.telemetry.shutdownPingSender.enabled" = false;
+ "toolkit.telemetry.updatePing.enabled" = false;
+ "toolkit.telemetry.bhrPing.enabled" = false;
+ "toolkit.telemetry.firstShutdownPing.enabled" = false;
+ "toolkit.telemetry.coverage.opt-out" = true;
+ "toolkit.coverage.opt-out" = true;
+ "toolkit.coverage.endpoint.base" = "";
+ "browser.ping-centre.telemetry" = false;
+ "browser.newtabpage.activity-stream.feeds.telemetry" = false;
+ "browser.newtabpage.activity-stream.telemetry" = false;
+ "app.shield.optoutstudies.enabled" = false;
+ "app.normandy.enabled" = false;
+ "app.normandy.api_url" = "";
+
+ "browser.safebrowsing.malware.enabled" = false;
+ "browser.safebrowsing.phishing.enabled" = false;
+ "browser.safebrowsing.downloads.enabled" = false;
+ "browser.safebrowsing.downloads.remote.enabled" = false;
+ "browser.safebrowsing.downloads.remote.url" = "";
+ "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
+ "browser.safebrowsing.downloads.remote.block_uncommon" = false;
+ "browser.safebrowsing.allowOverride" = false;
+
+ "network.prefetch-next" = false;
+ "network.dns.disablePrefetch" = true;
+ "network.dns.disablePrefetchFromHTTPS" = true;
+ "network.predictor.enabled" = false;
+ "network.predictor.enable-prefetch" = false;
+ "network.http.speculative-parallel-limit" = 0;
+ "browser.places.speculativeConnect.enabled" = false;
+ "browser.send_pings" = false;
+
+ "browser.urlbar.pocket.featureGate" = false;
+ "browser.urlbar.weather.featureGate" = false;
+ "browser.urlbar.speculativeConnect.enabled" = false;
+ "browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
+ "browser.urlbar.suggest.quicksuggest.sponsored" = false;
+ "browser.search.suggest.enabled" = false;
+ "browser.urlbar.suggest.searches" = false;
+ "browser.urlbar.trending.featureGate" = false;
+
+ "security.ssl.require_safe_negotiation" = true;
+ "security.remote_settings.crlite_filters.enabled" = true;
+ "security.pki.crlite_mode" = 2;
+
+ "dom.security.https_only_mode" = true;
+ "dom.security.https_only_mode_pbm" = true;
+ "security.ssl.treat_unsafe_negotiation_as_broken" = true;
+ "browser.xul.error_pages.expert_bad_cert" = true;
+ "network.http.referer.XOriginTrimmingPolicy" = 2;
+
+ "privacy.userContext.enabled" = true;
+ "privacy.userContext.ui.enabled" = true;
+ "privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
+
+ "dom.disable_window_move_resize" = true;
+
+ "browser.uitour.enabled" = false;
+
+ "browser.uitour.url" = "";
+ "permissions.manager.defaultsUrl" = "";
+ "webchannel.allowObject.urlWhitelist" = "";
+
+ "network.IDN_show_punycode" = true;
+ "pdfjs.disabled" = false;
+ "pdfjs.enableScripting" = false;
+ "browser.tabs.searchclipboardfor.middleclick" = false;
+ "browser.download.useDownloadDir" = false;
+ "browser.download.alwaysOpenPanel" = false;
+
+ "browser.download.manager.addToRecentDocs" = false;
+
+ "browser.download.always_ask_before_handling_new_types" = true;
+ "privacy.resistFingerprinting" = true;
+ "privacy.resistFingerprinting.pbmode" = true;
+ "privacy.window.maxInnerWidth" = 1600;
+ "privacy.window.maxInnerHeight" = 900;
+ "privacy.resistFingerprinting.block_mozAddonManager" = true;
+ "privacy.resistFingerprinting.letterboxing" = true;
+ "privacy.resistFingerprinting.letterboxing.dimensions" = "";
+ "widget.non-native-theme.enabled" = true;
+ "browser.link.open_newwindow" = 3;
+ "browser.link.open_newwindow.restriction" = 0;
+ "signon.rememberSignons" = false;
+ "dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
+ "browser.pagethumbnails.capturing_disabled" = true;
+
+ "geo.enabled" = false;
+ "full-screen-api.enabled" = false;
+ "permissions.default.geo" = 0;
+ "permissions.default.camera" = 0;
+ "permissions.default.microphone" = 0;
+ "permissions.default.desktop-notification" = 0;
+ "permissions.default.xr" = 0;
+
+ "browser.newtabpage.pinned" = [
+ {
+ title = "Katzencafé";
+ url = "https://ck.katzen.cafe";
+ }
+ {
+ title = "Katzenschmiede";
+ url = "https://forge.katzen.cafe";
+ }
+ {
+ title = "CatPad";
+ url = "https://pad.katzen.cafe";
+ }
+ {
+ title = "Katzenwolke";
+ url = "https://wolke.katzen.cafe";
+ }
+ {
+ title = "Penpot";
+ url = "https://design.katzen.cafe";
+ }
+ ];
+ };
+ };
+ };
+ };
+}
diff --git a/modules/desktop/gaming.nix b/modules/desktop/gaming.nix
new file mode 100644
index 0000000..8f7c5e9
--- /dev/null
+++ b/modules/desktop/gaming.nix
@@ -0,0 +1,22 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.gaming;
+in
+ with lib; {
+ options.jade.desktop.gaming = {
+ enable = mkEnableOption "Enable gaming stuff";
+ };
+ config = mkIf cfg.enable {
+ programs.steam.enable = true;
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ lutris
+ prismlauncher
+ ];
+ };
+ };
+ }
diff --git a/modules/desktop/home/browser.nix b/modules/desktop/home/browser.nix
deleted file mode 100644
index 6b45cc4..0000000
--- a/modules/desktop/home/browser.nix
+++ /dev/null
@@ -1,361 +0,0 @@
-{ pkgs, ... }:
-{
- home.file = {
- ".tridactylrc" = {
- text = ''
- set editorcmd kitty hx %f +%l
- set newtab about:blank
- '';
- };
- };
- programs.firefox = {
- enable = true;
- package = pkgs.firefox.override {
- nativeMessagingHosts = [
- pkgs.tridactyl-native
- ];
- };
- policies = {
- DefaultDownloadDirectory = "\${home}/Downloads";
- Extensions.Install =
- builtins.map (name: "https://addons.mozilla.org/firefox/downloads/latest/${name}")
- [
- "ublock-origin"
- "tridactyl-vim"
- "privacy-badger17"
- "gruvbox-dark-theme"
- "torproject-snowflake"
- "bitwarden-password-manager"
- "terms-of-service-didnt-read"
- "shinigami-eyes"
- "darkreader"
- "sponsorblock"
- "youtube-mrbeastify"
- "return-youtube-dislikes"
- "multi-account-containers"
- "tabby-cat-friend"
- "indie-wiki-buddy"
- ];
- Extensions.Uninstall = [
- "google@search.mozilla.org"
- "bing@search.mozilla.org"
- "amazondotcom@search.mozilla.org"
- "ebay@search.mozilla.org"
- "twitter@search.mozilla.org"
- ];
- "DisableFirefoxStudies" = true;
- "DisableTelemetry" = true;
- "DisableFeedbackCommands" = true;
- "DisablePocket" = true;
- };
- profiles.jade = {
- search = {
- force = true;
- default = "ddg";
- engines = {
- "Nix Packages" = {
- urls = [
- {
- template = "https://search.nixos.org/packages";
- params = [
- {
- name = "query";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "pkgs" ];
- };
- "Nix Options" = {
- urls = [
- {
- template = "https://search.nixos.org/options";
- params = [
- {
- name = "query";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "opts" ];
- };
- "Home manager Options" = {
- urls = [
- {
- template = "https://home-manager-options.extranix.com/";
- params = [
- {
- name = "query";
- value = "{searchTerms}";
- }
- {
- name = "release";
- value = "master";
- }
- ];
- }
- ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "hm" ];
- };
- "NixOS Wiki" = {
- urls = [
- {
- template = "https://nixos.wiki/index.php";
- params = [
- {
- name = "search";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
- definedAliases = [ "nxwk" ];
- };
- "Noogle" = {
- urls = [
- {
- template = "https://noogle.dev/q";
- params = [
- {
- name = "term";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- definedAliases = [ "ngl" ];
- };
- "lib.rs" = {
- urls = [
- {
- template = "https://lib.rs/search";
- params = [
- {
- name = "q";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- icon = "https://lib.rs/favicon.png";
- definedAliases = [ "libs" ];
- };
- "rust docs" = {
- urls = [
- {
- template = "https://docs.rs/releases/search";
- params = [
- {
- name = "query";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- icon = "https://docs.rs/-/static/favicon.ico";
- definedAliases = [ "docs" ];
- };
- "rust docs direct open" = {
- urls = [
- {
- template = "https://docs.rs/{searchTerms}";
- }
- ];
- definedAliases = [
- "doc"
- "docd"
- ];
- };
- "rust std docs" = {
- urls = [
- {
- template = "https://docs.rust-lang.org/std/index.html";
- params = [
- {
- name = "search";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- icon = "https://doc.rust-lang.org/favicon.ico";
- definedAliases = [ "std" ];
- };
- "MDN" = {
- urls = [
- {
- template = "https://developer.mozilla.org/search";
- params = [
- {
- name = "q";
- value = "{searchTerms}";
- }
- ];
- }
- ];
- };
- "bing".metaData.hidden = true;
- "google".metaData.hidden = true;
- "Amazon.de".metaData.hidden = true;
- };
- };
- settings = {
- "devtools.editor.keymap" = "vim";
- "devtools.toolbox.host" = "right";
- "devtools.theme" = "dark";
- "webgl.disabled" = false;
- "browser.urlbar.decodeURLsOnCopy" = true;
- "browser.urlbar.unitConversion.enabled" = true;
- "browser.urlbar.suggest.calculator" = true;
- "browser.compactmode.show" = true;
- "browser.uidensity" = 1;
- "screenshots.browser.component.enabled" = true;
- "browser.aboutConfig.showWarning" = false;
- "browser.aboutwelcome.showModal" = false;
- "browser.aboutwelcome.enabled" = false;
- "browser.preferences.moreFromMozilla" = false;
- "browser.menu.showViewImageInfo" = true;
- "browser.shopping.experience2023.active" = false;
- "browser.shopping.experience2023.survey.enabled" = false;
-
- "identity.fxaccounts.enabled" = true;
- "browser.tabs.firefox-view" = true;
- "browser.tabs.firefox-view-next" = true;
- "browser.newtabpage.activity-stream.showSponsored" = false;
- "browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
- "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
- "privacy.trackingprotection.emailtracking.enabled" = true;
- "privacy.trackingprotection.enabled" = true;
- "privacy.trackingprotection.socialtracking.enabled" = true;
-
- "browser.ml.chat.enabled" = false;
- "browser.ml.chat.hideLocalhost" = false;
- "browser.ml.chat.prompt.prefix" = "";
- "browser.ml.chat.prompts.0" = "";
- "browser.ml.chat.prompts.1" = "";
- "browser.ml.chat.prompts.2" = "";
- "browser.ml.chat.prompts.3" = "";
- "browser.ml.chat.provider" = "";
- "browser.ml.chat.shortcuts" = false;
- "browser.ml.chat.shortcuts.custom" = false;
- "browser.ml.chat.shortcuts.longPress" = "";
- "browser.ml.chat.sidebar" = false;
-
- "geo.provider.network.logging.enabled" = true;
- "extensions.getAddons.showPane" = false;
- "extensions.htmlaboutaddons.recommendations.enabled" = false;
- "browser.discovery.enabled" = false;
- "browser.shopping.experience2023.enabled" = false;
- "datareporting.policy.dataSubmissionEnabled" = false;
- "datareporting.healthreport.uploadEnabled" = false;
- "toolkit.telemetry.unified" = false;
- "toolkit.telemetry.enabled" = false;
- "toolkit.telemetry.server" = "data:,";
- "toolkit.telemetry.archive.enabled" = false;
- "toolkit.telemetry.newProfilePing.enabled" = false;
- "toolkit.telemetry.shutdownPingSender.enabled" = false;
- "toolkit.telemetry.updatePing.enabled" = false;
- "toolkit.telemetry.bhrPing.enabled" = false;
- "toolkit.telemetry.firstShutdownPing.enabled" = false;
- "toolkit.telemetry.coverage.opt-out" = true;
- "toolkit.coverage.opt-out" = true;
- "toolkit.coverage.endpoint.base" = "";
- "browser.ping-centre.telemetry" = false;
- "browser.newtabpage.activity-stream.feeds.telemetry" = false;
- "browser.newtabpage.activity-stream.telemetry" = false;
- "app.shield.optoutstudies.enabled" = false;
- "app.normandy.enabled" = false;
- "app.normandy.api_url" = "";
- "dom.private-attribution.submission.enabled" = false;
- "browser.newtabpage.activity-stream.feeds.showWeather" = false;
- "browser.newtabpage.activity-stream.feeds.weatherfeed" = false;
-
- "browser.safebrowsing.malware.enabled" = false;
- "browser.safebrowsing.phishing.enabled" = false;
- "browser.safebrowsing.downloads.enabled" = false;
- "browser.safebrowsing.downloads.remote.enabled" = false;
- "browser.safebrowsing.downloads.remote.url" = "";
- "browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
- "browser.safebrowsing.downloads.remote.block_uncommon" = false;
- "browser.safebrowsing.allowOverride" = false;
-
- "network.prefetch-next" = false;
- "network.dns.disablePrefetch" = true;
- "network.dns.disablePrefetchFromHTTPS" = true;
- "network.predictor.enabled" = false;
- "network.predictor.enable-prefetch" = false;
- "network.http.speculative-parallel-limit" = 0;
- "browser.places.speculativeConnect.enabled" = false;
- "browser.send_pings" = false;
-
- "browser.urlbar.pocket.featureGate" = false;
- "browser.urlbar.weather.featureGate" = false;
- "browser.urlbar.speculativeConnect.enabled" = false;
- "browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
- "browser.urlbar.suggest.quicksuggest.sponsored" = false;
- "browser.search.suggest.enabled" = false;
- "browser.urlbar.suggest.searches" = false;
- "browser.urlbar.trending.featureGate" = false;
-
- "security.ssl.require_safe_negotiation" = true;
- "security.remote_settings.crlite_filters.enabled" = true;
- "security.pki.crlite_mode" = 2;
-
- "dom.security.https_only_mode" = true;
- "dom.security.https_only_mode_pbm" = true;
- "security.ssl.treat_unsafe_negotiation_as_broken" = true;
- "browser.xul.error_pages.expert_bad_cert" = true;
- "network.http.referer.XOriginTrimmingPolicy" = 2;
-
- "privacy.userContext.enabled" = true;
- "privacy.userContext.ui.enabled" = true;
- "privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
-
- "dom.disable_window_move_resize" = true;
-
- "browser.uitour.enabled" = false;
-
- "browser.uitour.url" = "";
- "permissions.manager.defaultsUrl" = "";
- "webchannel.allowObject.urlWhitelist" = "";
-
- "network.IDN_show_punycode" = true;
- "pdfjs.disabled" = false;
- "pdfjs.enableScripting" = false;
- "browser.tabs.searchclipboardfor.middleclick" = false;
- "browser.download.useDownloadDir" = false;
- "browser.download.alwaysOpenPanel" = false;
-
- "browser.download.manager.addToRecentDocs" = false;
-
- "browser.download.always_ask_before_handling_new_types" = true;
- "privacy.resistFingerprinting" = true;
- "privacy.resistFingerprinting.pbmode" = true;
- "privacy.window.maxInnerWidth" = 1600;
- "privacy.window.maxInnerHeight" = 900;
- "privacy.resistFingerprinting.block_mozAddonManager" = true;
- "privacy.resistFingerprinting.letterboxing" = false;
- "widget.non-native-theme.enabled" = true;
- "browser.link.open_newwindow" = 3;
- "browser.link.open_newwindow.restriction" = 0;
- "signon.rememberSignons" = false;
- "dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
- "browser.pagethumbnails.capturing_disabled" = true;
-
- "geo.enabled" = false;
- "full-screen-api.enabled" = false;
- "permissions.default.geo" = 0;
- "permissions.default.camera" = 0;
- "permissions.default.microphone" = 0;
- "permissions.default.desktop-notification" = 0;
- "permissions.default.xr" = 0;
- };
- };
- };
-}
diff --git a/modules/desktop/home/default.nix b/modules/desktop/home/default.nix
deleted file mode 100644
index 92880a2..0000000
--- a/modules/desktop/home/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ ... }:
-{
- programs.niri.enable = true;
- home-manager.users.jade =
- { pkgs, ... }:
- {
- imports = [
- ./notifications.nix
- ./terminal.nix
- ./layaway.nix
- ./swayidle.nix
- ./browser.nix
- ./eww
- ./niri
- ];
-
- # temporary(tm)
- programs.wofi.enable = true;
- programs.swaylock.enable = true;
- services.network-manager-applet.enable = true;
- xsession.enable = true;
-
- home.packages = [
- pkgs.fluent-reader
- ];
-
- services.gpg-agent = {
- enable = true;
- enableNushellIntegration = true;
- enableSshSupport = true;
- };
- };
-}
diff --git a/modules/desktop/home/eww/configDir/bottomBar/bottomBar.yuck b/modules/desktop/home/eww/configDir/bottomBar/bottomBar.yuck
deleted file mode 100644
index d955d31..0000000
--- a/modules/desktop/home/eww/configDir/bottomBar/bottomBar.yuck
+++ /dev/null
@@ -1,77 +0,0 @@
-(include "bottomBar/workspaces.yuck")
-(include "bottomBar/traveldings.yuck")
-
-(defwindow bottomBar
- :monitor 0
- :stacking "fg"
- :wm-ignore true
- :exclusive true
- :geometry (geometry
- :width "100%"
- :height "33px"
- :anchor "bottom center")
- (bottomBar))
-
-(defwidget bottomBar []
- (overlay
- :class "bottomBar"
- (transform
- :translate-y "1.5px"
- (centerbox
- (box
- :halign "start"
- (workspaceWidget)
- )
- (box
- :halign "center"
- (traveldings)
- )
- (box
- :halign "end"
- ; (label :text "${iceData.speed}km/h")
- (mullvadThing)
- )
- )
- )
- (box
- :class "lesbianFlag"
- :height 1
- ( flagEl :flipped true :color "#D52D00")
- ( flagEl :flipped true :color "#EF7627")
- ( flagEl :flipped true :color "#FF9A56")
- ( flagEl :flipped true :color "#FFFFFF")
- ( flagEl :flipped true :color "#D162A4")
- ( flagEl :flipped true :color "#B55690")
- ( flagEl :flipped true :color "#A30262")
- )
- )
-)
-
-(deflisten mullvad
- :initial "{\"state\":\"init\"}"
- `mullvad status -j listen`
-)
-
-(defwidget mullvadThing []
- (box
- :class "container"
- (button
- :height 16
- :width 16
- :class "mullvad-state-${mullvad.state}"
- )
- )
-)
-
-(defwidget iceTacho []
- (box
- :class "iceTacho"
- :tooltip "Tz${iceTachoData.tzn} (BR ${iceTachoData.br})"
- (label :text "${iceTachoData.speed} km/h")
- )
-)
-
-(deflisten iceTachoData
- :initial "null"
- { "~/.config/eww/scripts/iceTacho.nu" }
-)
diff --git a/modules/desktop/home/eww/configDir/bottomBar/traveldings.yuck b/modules/desktop/home/eww/configDir/bottomBar/traveldings.yuck
deleted file mode 100644
index 4aac614..0000000
--- a/modules/desktop/home/eww/configDir/bottomBar/traveldings.yuck
+++ /dev/null
@@ -1,37 +0,0 @@
-(defwidget traveldings []
- (revealer
- :class "traveldings"
- :transition "crossfade"
- :reveal { traveldings_data != "null" }
- (traveldingsBarWidget)
- )
-)
-
-(defwidget traveldingsBarWidget []
- (overlay
- (box
- :width 640
- (label
- :halign "start"
- :text "${traveldings_data.line} -> ${strlength(traveldings_data.arrival_station) > 24 ? "${substring(traveldings_data.arrival_station, 0, 24)}…" : traveldings_data.arrival_station}${traveldings_data.arrival_platform_data_available ? " (Gl. ${traveldings_data.arrival_platform_real})" : ""}"
- )
- (label
- :halign "end"
- :text { traveldings_data.time_left >= 3600 ? formattime(traveldings_data.time_left, "noch %-Hh %-Mmin", "Etc/UTC") : formattime(traveldings_data.time_left, "noch %-Mmin", "Etc/UTC") }
- )
- )
- (box
- (progress
- :class { traveldings_data.live ? "traveldings_live" : "traveldings_disconnected" }
- :value {traveldings_data.progress * 100}
- :orientation "horizontal"
- )
- )
- )
-)
-
-
-(deflisten traveldings_data
- :initial "null"
- "traveldings current"
-)
diff --git a/modules/desktop/home/eww/configDir/bottomBar/workspaces.yuck b/modules/desktop/home/eww/configDir/bottomBar/workspaces.yuck
deleted file mode 100644
index 16215ff..0000000
--- a/modules/desktop/home/eww/configDir/bottomBar/workspaces.yuck
+++ /dev/null
@@ -1,18 +0,0 @@
-(defwidget workspaceWidget []
- (box
- :class "workspaces"
- (for workspace in workspaces
- (button
- :style "border-bottom: 4px solid ${workspace.color}${workspace.active ? "; background-color: #3c3836" : ""}"
- :class "${workspace.focused ? "focused" : ""}"
- :onclick "swaymsg workspace ${workspace.name}"
- (label :text "${workspace.idx}")
- )
- )
- )
-)
-
-(deflisten workspaces
- :initial "[]"
- "bar-ws-monitor"
-)
diff --git a/modules/desktop/home/eww/configDir/eww.css b/modules/desktop/home/eww/configDir/eww.css
deleted file mode 100644
index 90d015d..0000000
--- a/modules/desktop/home/eww/configDir/eww.css
+++ /dev/null
@@ -1,58 +0,0 @@
-label {
- font: 14pt "Departure Mono Nerd Font";
-}
-
-button {
- border-radius: 0px;
- padding: 0;
-}
-
-.background {
- background-color: #1d2021;
-}
-
-.workspaces button {
- border: 0px;
- padding: 0 3px;
-}
-
-.workspaces button.focused {
- background-color: #504935;
-}
-
-.traveldings progressbar trough {
- border: none;
- background-color: #3c3836;
- border-bottom-right-radius: 0;
- border-bottom-left-radius: 0;
-}
-
-.traveldings progressbar.traveldings_live progress {
- background-color: #79740e;
- border-bottom-left-radius: 0;
-}
-
-.traveldings progressbar.traveldings_disconnected progress {
- background-color: #cc241d;
-}
-
-
-.traveldingsWindow {
- border-radius: 15px;
-}
-
-.mullvad-state-connected {
- background-color: #98971a
-}
-
-.mullvad-state-connecting {
- background-color: #d79921
-}
-
-.mullvad-state-disconnected {
- background-color: #cc241d
-}
-
-.mullvad-state-init {
- background-color: #458588
-}
\ No newline at end of file
diff --git a/modules/desktop/home/eww/configDir/eww.yuck b/modules/desktop/home/eww/configDir/eww.yuck
deleted file mode 100644
index 5e5d10d..0000000
--- a/modules/desktop/home/eww/configDir/eww.yuck
+++ /dev/null
@@ -1,2 +0,0 @@
-(include "topBar/topBar.yuck")
-(include "bottomBar/bottomBar.yuck")
diff --git a/modules/desktop/home/eww/configDir/scripts/bat.nu b/modules/desktop/home/eww/configDir/scripts/bat.nu
deleted file mode 100755
index 9abc988..0000000
--- a/modules/desktop/home/eww/configDir/scripts/bat.nu
+++ /dev/null
@@ -1,78 +0,0 @@
-#!/usr/bin/env nu
-
-const ICONS = [
- [ normal charging];
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
- [ ]
-];
-
-const DELAY = 2sec;
-
-def "main auto" [] {
- loop {
- let paths = ls "/sys/class/power_supply"
- | each {|it| $it.name | path basename}
- | filter {|it| $it starts-with "BAT"};
-
- if ($paths | is-not-empty) {
- let result = $paths
- | each {|it| get_and_format $it}
- | str join " | "
- | prepend "| "
- | str join;
-
- print $result
- } else {
- print ""
- }
- sleep $DELAY;
- }
-}
-
-def main [ path: string ] {
- loop {
- print (get_and_format $path)
- sleep $DELAY;
- }
-}
-
-def get_and_format [ path: string ] {
- let fract = get_bat_charge_fraction $path;
- let is_charging = get_bat_charging_status $path;
- let percent = ($fract * 100) | math round;
-
- return $"(get_bat_icon $fract $is_charging) ($percent)%";
-}
-
-def get_bat_charge_fraction [
- path: string
-] {
- let energy_full = open $"/sys/class/power_supply/($path)/energy_full" | into float;
- let energy_now = open $"/sys/class/power_supply/($path)/energy_now" | into float;
-
- $energy_now / $energy_full
-}
-
-def get_bat_charging_status [
- path: string
-] {
- let status = open $"/sys/class/power_supply/($path)/status";
-
- $status like Charging
-}
-
-def get_bat_icon [
- frac: float
- is_charging = false
-] {
- $ICONS | get (($frac * 10) | math round) | get (if ($is_charging) { "charging" } else { "normal" })
-}
diff --git a/modules/desktop/home/eww/configDir/scripts/iceTacho.nu b/modules/desktop/home/eww/configDir/scripts/iceTacho.nu
deleted file mode 100755
index fa82321..0000000
--- a/modules/desktop/home/eww/configDir/scripts/iceTacho.nu
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/usr/bin/env nu
-
-const TABLE = {
- 401: 280
- 402: 280
- 403: 330
- 406: 330
- 407: 320
- 408: 320
- 411: 230
- 415: 230
- 412: 265
- 605: 200
-};
-
-def main [ ] {
- loop {
- if ((iw dev wlp4s0 link | lines | filter {|it| $it =~ "WIFIonICE" } | length) == 1) {
- let iceData = http get https://iceportal.de/api1/rs/status;
- let tzn = $iceData.tzn;
- let br = $iceData.series;
- let speed = $iceData.speed;
- let speedfrac = $speed / ($TABLE | get $br);
-
- print ({
- tzn: $tzn,
- br: $br,
- speed: $speed,
- frac: $speedfrac
- } | to json -r);
-
- sleep 2sec;
- } else {
- print "null";
- sleep 5sec;
- }
- }
-}
diff --git a/modules/desktop/home/eww/configDir/topBar/sysinfo.yuck b/modules/desktop/home/eww/configDir/topBar/sysinfo.yuck
deleted file mode 100644
index 06a5635..0000000
--- a/modules/desktop/home/eww/configDir/topBar/sysinfo.yuck
+++ /dev/null
@@ -1,23 +0,0 @@
-(deflisten bat
- :initial "BAT0 ERR"
- { "~/.config/eww/scripts/bat.nu auto"}
-)
-
-(defwidget cpu []
- (box
- :class "cpuIndicator"
- (label
- :markup " ${strlength(round(EWW_CPU.avg, 0)) == 1 ? " ${round(EWW_CPU.avg, 0)}" : round(EWW_CPU.avg, 0)}%"
- )
- )
-)
-
-(defwidget mem []
- (box
- :class "memIndicator"
- (label
- :markup " ${round(EWW_RAM.used_mem_perc, 0)}%"
- )
- )
-)
-
diff --git a/modules/desktop/home/eww/configDir/topBar/time.yuck b/modules/desktop/home/eww/configDir/topBar/time.yuck
deleted file mode 100644
index 48b58de..0000000
--- a/modules/desktop/home/eww/configDir/topBar/time.yuck
+++ /dev/null
@@ -1,10 +0,0 @@
-(defwidget time []
- (label
- :markup {
- formattime(
- EWW_TIME,
- " %Y-%m-%d %H:%M:%S "
- )
- }
- )
-)
diff --git a/modules/desktop/home/eww/configDir/topBar/topBar.yuck b/modules/desktop/home/eww/configDir/topBar/topBar.yuck
deleted file mode 100644
index 6725623..0000000
--- a/modules/desktop/home/eww/configDir/topBar/topBar.yuck
+++ /dev/null
@@ -1,55 +0,0 @@
-(include "topBar/time.yuck")
-(include "topBar/sysinfo.yuck")
-(include "util.yuck")
-
-(defwindow topBar
- :monitor 0
- :stacking "fg"
- :wm-ignore true
- :exclusive true
- :geometry (geometry
- :width "100%"
- :height "33px"
- :anchor "top center")
- (topBar))
-
-(defwidget topBar []
- (overlay
- :class "topBar"
- (transform
- :translate-y "-1.5px"
- (centerbox
- (box
- :halign "start"
- :spacing 12
- :space-evenly false
- (label :text " ")
- (cpu)
- (sep)
- (mem)
- (label :markup bat)
- )
- (box
- :halign "center"
- (systray
- :icon-size 18
- :spacing 3
- )
- )
- (box
- :halign "end"
- (time)
- )
- )
- )
- (box
- :class "transFlag"
- :height 1
- ( flagEl :flipped false :color "#5BCEFA")
- ( flagEl :flipped false :color "#F5A9B8")
- ( flagEl :flipped false :color "#FFFFFF")
- ( flagEl :flipped false :color "#F5A9B8")
- ( flagEl :flipped false :color "#5BCEFA")
- )
- )
-)
diff --git a/modules/desktop/home/eww/configDir/util.yuck b/modules/desktop/home/eww/configDir/util.yuck
deleted file mode 100644
index f0aa592..0000000
--- a/modules/desktop/home/eww/configDir/util.yuck
+++ /dev/null
@@ -1,11 +0,0 @@
-(defwidget flagEl [color ?flipped]
- (box
- :style "border-${flipped ? "top" : "bottom"}: 3px solid ${color}"
- :halign "fill"
- )
-)
-
-(defwidget sep []
- (label :text "|")
-)
-
diff --git a/modules/desktop/home/eww/default.nix b/modules/desktop/home/eww/default.nix
deleted file mode 100644
index f7ce3c1..0000000
--- a/modules/desktop/home/eww/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ ... }:
-{
- programs.eww = {
- enable = true;
- configDir = ./configDir;
- };
-}
diff --git a/modules/desktop/home/layaway.nix b/modules/desktop/home/layaway.nix
deleted file mode 100644
index 7687d3b..0000000
--- a/modules/desktop/home/layaway.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- pkgs,
- lib,
- ...
-}:
-let
- # stolen: https://github.com/MultisampledNight/core/blob/678f176cb24f5dc4b5dc629cfd3e643487be01bb/system/packages/layaway/default.nix#L7-L25
- layaway = pkgs.rustPlatform.buildRustPackage rec {
- pname = "layaway";
- version = "0.2.0";
-
- src = pkgs.fetchFromGitHub {
- owner = "MultisampledNight";
- repo = pname;
- rev = "v${version}";
- hash = "sha256-SzAuVFEy56svasO3+1p6ysBRrIQd0UZX++/P4ZuwWm0=";
- };
-
- useFetchCargoVendor = true;
- cargoHash = "sha256-QVxlkE+sq4U048LnshI/tq6HInKiSgjQLAdR+27/wEI=";
-
- meta = with lib; {
- description = "Layout creation for Sway via a relative and human-readable DSL.";
- homepage = "https://github.com/MultisampledNight/layaway";
- maintainers = [ maintainers.multisn8 ];
- };
- };
-in
-{
- home.packages = [ layaway ];
-}
diff --git a/modules/desktop/home/niri/binds.nix b/modules/desktop/home/niri/binds.nix
deleted file mode 100644
index 2bb27a5..0000000
--- a/modules/desktop/home/niri/binds.nix
+++ /dev/null
@@ -1,151 +0,0 @@
-{ pkgs, ... }:
-{
- programs.niri.settings.binds = {
- # spawn terminal
- "Mod+Return".action.spawn = "kitty";
- "Mod+Return".repeat = false;
- "Mod+D".action.spawn = [
- "wofi"
- "-S"
- "drun"
- "--allow-images"
- ];
- "Mod+D".repeat = false;
- "Mod+I".action.spawn = [
- "${pkgs.rofimoji}/bin/rofimoji"
- "--selector"
- "wofi"
- "-f"
- "alchemical_symbols"
- "anatolian_hieroglyphs"
- "emojis"
- "braille_patterns"
- "box_drawing"
- "chess_symbols"
- "emoticons"
- "geometric_shapes"
- "gothic"
- "greek_extended"
- "math"
- "mathematical_alphanumeric_symbols"
- "mathematical_operators"
- "miscellaneous_symbols"
- "miscellaneous_mathematical_symbols-a"
- "miscellaneous_mathematical_symbols-b"
- "miscellaneous_symbols_and_arrows"
- "miscellaneous_symbols_and_pictographs"
- "miscellaneous_technical"
- "modi"
- "modifier_tone_letters"
- "musical_symbols"
- "nerd_font"
- "number_forms"
- "shorthand_format_controls"
- "specials"
- "variation_selectors"
- "vertical_forms"
- "-a"
- "copy"
- ];
-
- "Mod+Shift+E".action.quit = [ ];
- "Mod+Shift+Q".action.close-window = [ ];
- "Mod+Shift+P".action.power-off-monitors = [ ];
-
- "Mod+Shift+Ctrl+Slash".action.toggle-keyboard-shortcuts-inhibit = [ ];
- "Mod+Shift+Ctrl+Slash".allow-inhibiting = false;
-
- "Mod+Shift+Slash".action.show-hotkey-overlay = [ ];
-
- # window/columns controls
- "Mod+H".action.focus-column-left = [ ];
- "Mod+J".action.focus-window-down = [ ];
- "Mod+K".action.focus-window-up = [ ];
- "Mod+L".action.focus-column-right = [ ];
- "Mod+Ctrl+H".action.move-column-left = [ ];
- "Mod+Ctrl+J".action.move-window-down = [ ];
- "Mod+Ctrl+K".action.move-window-up = [ ];
- "Mod+Ctrl+L".action.move-column-right = [ ];
- "Mod+R".action.switch-preset-column-width = [ ];
-
- "Mod+V".action.toggle-window-floating = [ ];
- "Mod+Shift+V".action.switch-focus-between-floating-and-tiling = [ ];
-
- # monitor controls
- "Mod+Shift+H".action.focus-monitor-left = [ ];
- "Mod+Shift+J".action.focus-monitor-down = [ ];
- "Mod+Shift+K".action.focus-monitor-up = [ ];
- "Mod+Shift+L".action.focus-monitor-right = [ ];
- "Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = [ ];
- "Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = [ ];
- "Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = [ ];
- "Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = [ ];
-
- # workspace controls
- "Mod+P".action.focus-workspace-up = [ ];
- "Mod+N".action.focus-workspace-down = [ ];
- "Mod+Ctrl+P".action.move-column-to-workspace-up = [ ];
- "Mod+Ctrl+N".action.move-column-to-workspace-down = [ ];
- "Mod+1".action.focus-workspace = 1;
- "Mod+2".action.focus-workspace = 2;
- "Mod+3".action.focus-workspace = 3;
- "Mod+4".action.focus-workspace = 4;
- "Mod+5".action.focus-workspace = 5;
- "Mod+6".action.focus-workspace = 6;
- "Mod+7".action.focus-workspace = 7;
- "Mod+8".action.focus-workspace = 8;
- "Mod+9".action.focus-workspace = 9;
- "Mod+Ctrl+1".action.move-column-to-workspace = 1;
- "Mod+Ctrl+2".action.move-column-to-workspace = 2;
- "Mod+Ctrl+3".action.move-column-to-workspace = 3;
- "Mod+Ctrl+4".action.move-column-to-workspace = 4;
- "Mod+Ctrl+5".action.move-column-to-workspace = 5;
- "Mod+Ctrl+6".action.move-column-to-workspace = 6;
- "Mod+Ctrl+7".action.move-column-to-workspace = 7;
- "Mod+Ctrl+8".action.move-column-to-workspace = 8;
- "Mod+Ctrl+9".action.move-column-to-workspace = 9;
-
- # column editing stuffs
- "Mod+BracketLeft".action.consume-or-expel-window-left = [ ];
- "Mod+BracketRight".action.consume-or-expel-window-right = [ ];
- "Mod+F".action.maximize-column = [ ];
- "Mod+Shift+F".action.expand-column-to-available-width = [ ];
- "Mod+Ctrl+F".action.fullscreen-window = [ ];
- "Mod+C".action.center-column = [ ];
- "Mod+Minus".action.set-column-width = "-5%";
- "Mod+Equal".action.set-column-width = "+5%";
- "Mod+Shift+Minus".action.set-window-height = "-10%";
- "Mod+Shift+Equal".action.set-window-height = "+10%";
- "Mod+W".action.toggle-column-tabbed-display = [ ];
-
- # media keys
- "XF86AudioRaiseVolume".action.spawn = [
- "wpctl"
- "set-volume"
- "@DEFAULT_AUDIO_SINK@"
- "0.1+"
- ];
- "XF86AudioLowerVolume".action.spawn = [
- "wpctl"
- "set-volume"
- "@DEFAULT_AUDIO_SINK@"
- "0.1-"
- ];
- "XF86AudioMute".action.spawn = [
- "wpctl"
- "set-mute"
- "@DEFAULT_AUDIO_SINK@"
- "toggle"
- ];
- "XF86AudioMicMute".action.spawn = [
- "wpctl"
- "set-mute"
- "@DEFAULT_AUDIO_SOURCE@"
- "toggle"
- ];
- "XF86AudioRaiseVolume".allow-when-locked = true;
- "XF86AudioLowerVolume".allow-when-locked = true;
- "XF86AudioMute".allow-when-locked = true;
- "XF86AudioMicMute".allow-when-locked = true;
- };
-}
diff --git a/modules/desktop/home/niri/default.nix b/modules/desktop/home/niri/default.nix
deleted file mode 100644
index 779106f..0000000
--- a/modules/desktop/home/niri/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ pkgs, ... }:
-{
- imports = [
- ./xwayland-sat.nix
- ./screenshot.nix
- ./input.nix
- ./binds.nix
- ./style.nix
- ./privacy.nix
- ./quirks.nix
- ];
- programs.niri.settings = {
- outputs."eDP-1" = {
- scale = 1.0;
- };
-
- spawn-at-startup = [
- {
- command = [
- "eww"
- "open-many"
- "topBar"
- "bottomBar"
- ];
- }
- {
- command = [
- "${pkgs.swaybg}/bin/swaybg"
- "-i"
- "${./wallpaper.jpg}"
- "-m"
- "fill"
- ];
- }
- ];
- };
-}
diff --git a/modules/desktop/home/niri/input.nix b/modules/desktop/home/niri/input.nix
deleted file mode 100644
index 22a9eb2..0000000
--- a/modules/desktop/home/niri/input.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ ... }:
-{
- programs.niri.settings.input = {
- keyboard = {
- xkb = {
- layout = "us";
- variant = "altgr-intl";
- };
- };
- touchpad = {
- tap = false;
- natural-scroll = true;
- dwt = true;
- dwtp = true;
- };
- };
-}
diff --git a/modules/desktop/home/niri/privacy.nix b/modules/desktop/home/niri/privacy.nix
deleted file mode 100644
index 6cd2016..0000000
--- a/modules/desktop/home/niri/privacy.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ ... }:
-{
- programs.niri.settings = {
- layer-rules = [
- {
- matches = [
- { namespace = "notifications"; }
- ];
- block-out-from = "screen-capture";
- }
- ];
- window-rules = [
- {
- matches = [
- { app-id = "^signal|Element|org\.gnome\.Evolution$"; }
- { title = "^.*(Discord|Beispiel Screenshare block Bug|Bitwarden|Träwelling).*$"; }
- ];
- excludes = [
- {
- title = "^.*((Schrottkatze|Statistics|Leaderboard) - Träwelling|chaos.social|Nekoverse|catgirl.cloud).*$";
- }
- { is-floating = true; }
- ];
- block-out-from = "screen-capture";
- }
- ];
- };
-}
diff --git a/modules/desktop/home/niri/quirks.nix b/modules/desktop/home/niri/quirks.nix
deleted file mode 100644
index e43637f..0000000
--- a/modules/desktop/home/niri/quirks.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ pkgs, ... }:
-{
- home.packages = [ pkgs.gamescope ];
- programs.niri.settings = {
- window-rules = [
- {
- # handle steam grabbing focus 1000 times on startup
- matches = [
- {
- app-id = "steam";
- title = "Steam";
- }
- ];
- open-focused = false;
- }
- {
- # position steam notifs correctly: https://github.com/YaLTeR/niri/wiki/Application-Issues
- matches = [
- {
- app-id = "steam";
- title = "^notificationtoasts_[\\d]+_desktop$";
- }
- ];
- default-floating-position = {
- x = 0;
- y = 0;
- relative-to = "bottom-right";
- };
- shadow.enable = false;
- border.enable = false;
- baba-is-float = false;
- open-focused = false;
- }
- {
- matches = [
- {
- title = "Guild Wars 2";
- app-id = "steam_app_1284210";
- }
- ];
- border.enable = false;
- shadow.enable = false;
- }
- {
- matches = [
- {
- app-id = "vesktop";
- title = "vesktop";
- is-floating = true;
- }
- ];
- geometry-corner-radius =
- let
- val = 5.;
- in
- {
- bottom-left = val;
- bottom-right = val;
- top-left = val;
- top-right = val;
- };
- }
- ];
-
- # fix electron apps not doing wayland
- environment.ELECTRON_OZONE_PLATFORM_HINT = "auto";
- };
-}
diff --git a/modules/desktop/home/niri/screenshot.nix b/modules/desktop/home/niri/screenshot.nix
deleted file mode 100644
index 9719fcb..0000000
--- a/modules/desktop/home/niri/screenshot.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ pkgs, ... }:
-{
- programs.niri.settings = {
- screenshot-path = "~/Pictures/screenshots/%Y-%m-%dT%H:%M:%S.png";
- binds = {
- "Print".action.screenshot = [ ];
- "Ctrl+Print".action.screenshot-screen = [ ];
- "Shift+Print".action.screenshot-window = [ ];
- "Mod+S".action.screenshot = [ ];
- "Mod+Ctrl+S".action.screenshot-screen = [ ];
- "Mod+Shift+S".action.screenshot-window = [ ];
- };
- };
-}
diff --git a/modules/desktop/home/niri/shaders/glitch-open.frag b/modules/desktop/home/niri/shaders/glitch-open.frag
deleted file mode 100644
index 5184af5..0000000
--- a/modules/desktop/home/niri/shaders/glitch-open.frag
+++ /dev/null
@@ -1,43 +0,0 @@
-float random(vec2 st) {
- return fract(sin(dot(st.xy, vec2(12.9898, 78.233))) * 43758.5453123);
-}
-
-float grid(vec2 c) {
- if (mod((c.s * 512.) + random(c * niri_clamped_progress), 8.) >= 7.|| mod((c.t * 512.) + random(c * niri_clamped_progress), 8.) >= 7.) return 0.;
- else return 1.;
-}
-
-vec3 grid_colored(vec2 coords, vec3 col1, vec3 col2) {
- return mix(col1, col2, grid(coords));
-}
-
-vec4 gen_px_squares(vec2 coords, vec4 color) {
- vec2 coords_ = coords.xy;
- coords = ceil(coords * 32.) / 32.;
- float p = niri_clamped_progress;
-
- float mix_alpha =
- clamp((1. - clamp((p - length(coords)) * 3.0, 0.0, 1.0)) * 1.3, 0., 1.);
- // vec4 blue = vec4(0.3568, 0.8078, 0.9803, color.a);
- // vec3 blue = vec3(0.552, 0.631, 1.);
- // vec3 dblue = vec3(0.419, 0.482, 0.839);
- // vec3 dblue = vec3(float(0xd6) / 255., float(0x5d) / 255., float(0x0e) / 255.);
- // vec3 blue = vec3(float(0xfe) / 255., float(0x80) / 255., float(0x19) / 255.);
- vec3 dblue = vec3(float(0xdd) / 255., float(0xdd) / 255., float(0xdd) / 255.);
- vec3 blue = vec3(float(0x55) / 255., float(0x7f) / 255., float(0xff) / 255.);
-
- if (color.a != 0. && p * p >= dot(coords, coords))
- return mix(color, vec4(grid_colored(coords_, dblue, blue), color.a), mix_alpha);
- else return vec4(0.);
-}
-
-vec4 open_color(vec3 coords_geo, vec3 size_geo) {
- vec3 coords_tex = niri_geo_to_tex * coords_geo;
- vec4 color = texture2D(niri_tex, coords_tex.st);
-
- vec2 coords = (coords_geo.xy - vec2(0.5, 0.5)) * size_geo.xy * 2.0;
- coords = coords / length(size_geo.xy);
-
- return gen_px_squares(coords, color);
- // return vec4(vec3(grid(coords)),1.);
-}
diff --git a/modules/desktop/home/niri/style.nix b/modules/desktop/home/niri/style.nix
deleted file mode 100644
index 3904f85..0000000
--- a/modules/desktop/home/niri/style.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ ... }:
-{
- programs.niri.settings = {
- prefer-no-csd = true;
-
- cursor = {
- theme = "phinger-cursors-dark";
- size = 16;
- hide-when-typing = true;
- hide-after-inactive-ms = 10000;
- };
-
- animations.window-open.easing = {
- curve = "linear";
- duration-ms = 230;
- };
- animations.shaders.window-open = builtins.readFile ./shaders/glitch-open.frag;
-
- layout = {
- gaps = 15;
- focus-ring.enable = false;
- border = {
- enable = true;
- width = 3;
- inactive.gradient = {
- from = "#f69ecf";
- to = "#ff9a56";
- in' = "oklch shorter hue";
- relative-to = "window";
- angle = 135;
- };
- active.gradient = {
- from = "#f69ecf";
- to = "#5bcefa";
- in' = "oklch shorter hue";
- relative-to = "window";
- angle = 135;
- };
- };
- center-focused-column = "never";
- empty-workspace-above-first = false;
- tab-indicator = {
- hide-when-single-tab = true;
- active.color = "#5bcefa";
- inactive.color = "#3c3836";
- gap = 2;
- width = 5;
- corner-radius = 3;
- position = "left";
- gaps-between-tabs = 0;
- };
- };
-
- window-rules = [
- {
- matches = [
- {
- is-floating = true;
- }
- ];
- baba-is-float = true;
- shadow = {
- offset.y = 0;
- offset.x = 0;
- softness = 40;
- color = "#bab9e5af";
- inactive-color = "#fa9d99af";
- enable = true;
- };
- }
- {
- geometry-corner-radius =
- let
- val = 1.;
- in
- {
- bottom-left = val;
- bottom-right = val;
- top-left = val;
- top-right = val;
- };
- clip-to-geometry = true;
- }
- ];
- };
-}
diff --git a/modules/desktop/home/niri/xwayland-sat.nix b/modules/desktop/home/niri/xwayland-sat.nix
deleted file mode 100644
index bae4d93..0000000
--- a/modules/desktop/home/niri/xwayland-sat.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-{ pkgs, ... }:
-{
- programs.niri.settings = {
- spawn-at-startup = [
- { command = [ "${pkgs.xwayland-satellite}/bin/xwayland-satellite" ]; }
- ];
- environment.DISPLAY = ":0";
- };
-}
diff --git a/modules/desktop/home/notifications.nix b/modules/desktop/home/notifications.nix
deleted file mode 100644
index ebbd633..0000000
--- a/modules/desktop/home/notifications.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ pkgs, ... }:
-{
- home.packages = [
- pkgs.libnotify
- ];
- services.dunst = {
- enable = true;
- settings = {
- global = {
- dmenu = "${pkgs.rofi}/bin/rofi -theme gruvbox-dark -dmenu -p dunst";
- browser = "${pkgs.firefox}/bin/firefox";
- mouse_left_click = "context";
- mouse_middle_click = "close_current";
- background = "#282828";
- foreground = "#ebdbb2";
- frame_color = "#504945";
- frame_width = 2;
- font = "Atkinson Hyperlegible";
- };
- };
- };
-}
diff --git a/modules/desktop/home/swayidle.nix b/modules/desktop/home/swayidle.nix
deleted file mode 100644
index 427023e..0000000
--- a/modules/desktop/home/swayidle.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ pkgs, ... }:
-{
- # unsure whether i still need swayidle, will keep it in and might remove after further testing
-
- services.swayidle = {
- enable = true;
- events = [
- {
- event = "before-sleep";
- command = "${pkgs.swaylock}/bin/swaylock -fF -c 442244";
- }
- {
- event = "lock";
- command = "swaylock -c 441144";
- }
- ];
- };
-}
diff --git a/modules/desktop/home/terminal.nix b/modules/desktop/home/terminal.nix
deleted file mode 100644
index 725a68e..0000000
--- a/modules/desktop/home/terminal.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ ... }:
-{
- programs.kitty = {
- enable = true;
- font.size = 12;
- font.name = "Departure Mono Nerd Font";
- shellIntegration.enableFishIntegration = false;
- keybindings = {
- "ctrl+shift+n" = "new_os_window_with_cwd";
- };
- settings = rec {
- adjust_column_width = "95%";
- color0 = "#282828";
- color8 = "#928374";
- color1 = "#cc241d";
- color9 = "#fb4934";
- color2 = "#98971a";
- color10 = "#b8bb26";
- color3 = "#d79921";
- color11 = "#fabd2f";
- color4 = "#458588";
- color12 = "#83a598";
- color5 = "#b16286";
- color13 = "#d3869b";
- color6 = "#689d6a";
- color14 = "#8ec07c";
- color7 = "#a89984";
- color15 = "#ebdbb2";
- foreground = color15;
- background = "#1d2021";
- confirm_os_window_close = 0;
- hide_window_decorations = true;
- };
- };
- home.sessionVariables = {
- TERMINAL = "kitty";
- };
-}
diff --git a/modules/desktop/ios-compat.nix b/modules/desktop/ios-compat.nix
new file mode 100644
index 0000000..0805f95
--- /dev/null
+++ b/modules/desktop/ios-compat.nix
@@ -0,0 +1,29 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.ios-compat;
+in
+ with lib; {
+ options.jade.desktop.ios-compat = {
+ enable = mkEnableOption "Enable the ios compatability programs";
+ };
+ config = mkIf cfg.enable {
+ services = {
+ usbmuxd.enable = true;
+ gvfs.enable = true;
+ };
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ libimobiledevice
+ libimobiledevice-glue
+ ifuse
+ usbmuxd
+ libusbmuxd
+ gvfs
+ ];
+ };
+ };
+ }
diff --git a/modules/desktop/kdeconnect.nix b/modules/desktop/kdeconnect.nix
new file mode 100644
index 0000000..5133f5c
--- /dev/null
+++ b/modules/desktop/kdeconnect.nix
@@ -0,0 +1,22 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.kdeconnect;
+in
+ with lib; {
+ options.jade.desktop.kdeconnect = {
+ enable = mkEnableOption "Enable KDE connect";
+ };
+ config = mkIf cfg.enable {
+ programs.kdeconnect.enable = true;
+ home-manager.users.jade = {pkgs, ...}: {
+ services.kdeconnect = {
+ enable = true;
+ indicator = true;
+ };
+ };
+ };
+ }
diff --git a/modules/desktop/locale.nix b/modules/desktop/locale.nix
deleted file mode 100644
index 10cafb8..0000000
--- a/modules/desktop/locale.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ ... }:
-{
- time.timeZone = "Europe/Berlin";
- i18n.extraLocaleSettings = {
- LC_ADDRESS = "de_DE.UTF-8";
- LC_IDENTIFICATION = "de_DE.UTF-8";
- LC_MEASUREMENT = "de_DE.UTF-8";
- LC_MONETARY = "de_DE.UTF-8";
- LC_NAME = "de_DE.UTF-8";
- LC_NUMERIC = "de_DE.UTF-8";
- LC_PAPER = "de_DE.UTF-8";
- LC_TELEPHONE = "de_DE.UTF-8";
- LC_TIME = "de_DE.UTF-8";
- };
-}
diff --git a/modules/desktop/mail.nix b/modules/desktop/mail.nix
new file mode 100644
index 0000000..e52807b
--- /dev/null
+++ b/modules/desktop/mail.nix
@@ -0,0 +1,77 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.mail;
+ imap = {
+ host = "imap.migadu.com";
+ port = 993;
+ };
+ smtp = {
+ host = "smtp.migadu.com";
+ port = 465;
+ tls.enable = true;
+ };
+in
+ with lib; {
+ options.jade.desktop.mail = {
+ enable = mkEnableOption "Enable thunderbird mail stuff";
+ };
+ config = mkIf cfg.enable {
+ home-manager.users.jade = {pkgs, ...}: {
+ accounts.email.accounts = {
+ "Jade" = rec {
+ inherit imap smtp;
+ address = "jade@schrottkatze.de";
+ userName = address;
+ realName = "Jade";
+ thunderbird.enable = true;
+ primary = true;
+ };
+ "Logins" = rec {
+ inherit imap smtp;
+ address = "logins@schrottkatze.de";
+ userName = address;
+ realName = "Logins";
+ thunderbird.enable = true;
+ };
+ "Contact" = rec {
+ inherit imap smtp;
+ address = "contact@schrottkatze.de";
+ userName = address;
+ realName = "Jade";
+ thunderbird.enable = true;
+ };
+ "Schule" = rec {
+ inherit imap smtp;
+ address = "schule@schrottkatze.de";
+ userName = address;
+ realName = "Jade";
+ thunderbird.enable = true;
+ };
+ "Admin" = rec {
+ inherit imap smtp;
+ address = "admin@schrottkatze.de";
+ userName = address;
+ realName = "admin";
+ thunderbird.enable = true;
+ };
+ "CatchAll" = rec {
+ inherit imap smtp;
+ address = "catchall@schrottkatze.de";
+ userName = address;
+ realName = "Catch all";
+ thunderbird.enable = true;
+ };
+ };
+ programs.thunderbird = {
+ enable = true;
+ profiles.jade = {
+ isDefault = true;
+ };
+ };
+ };
+ };
+ }
diff --git a/modules/desktop/networking.nix b/modules/desktop/networking.nix
new file mode 100644
index 0000000..cfa2f5b
--- /dev/null
+++ b/modules/desktop/networking.nix
@@ -0,0 +1,69 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ addNuShebang = path:
+ builtins.concatStringsSep "\n\n" [
+ "#!${pkgs.nushellFull}/bin/nu"
+ (builtins.readFile path)
+ ];
+in {
+ config = {
+ networking = {
+ networkmanager = {
+ wifi.backend = "wpa_supplicant";
+ dispatcherScripts = [
+ {
+ type = "basic";
+ source = pkgs.writeText "dispatcher" (addNuShebang ../../other/scripts/dispatcher.nu);
+ }
+ ];
+ };
+ hosts = {
+ "127.0.0.1" = [
+ "www.tiktok.com"
+ "www.twitter.com"
+ "www.instagram.com"
+ "www.facebook.com"
+ "www.snapchat.com"
+
+ "tiktok.com"
+ "twitter.com"
+ "instagram.com"
+ "facebook.com"
+ "snapchat.com"
+
+ "google-analytics.com"
+ "stats.g.doubleclick.net"
+ "googleadservices.com"
+ "googletagmanager.com"
+ "googletagservices.com"
+ "googlesyndication.com"
+ ];
+ };
+ };
+ environment.etc = with builtins; (
+ listToAttrs (
+ map (v: {
+ name = "networkhooks/${v}";
+ value = {
+ text = addNuShebang ../../other/scripts/networkhooks/${v};
+ mode = "0755";
+ };
+ })
+ (attrNames (readDir ../../other/scripts/networkhooks))
+ )
+ );
+ systemd.services."NetworkManager-wait-online".enable = false;
+ services.mullvad-vpn.enable = true;
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ networkmanagerapplet
+ mullvad-vpn
+ speedtest-cli
+ ];
+ };
+ };
+}
diff --git a/modules/desktop/polybar.nix b/modules/desktop/polybar.nix
new file mode 100644
index 0000000..b822dd8
--- /dev/null
+++ b/modules/desktop/polybar.nix
@@ -0,0 +1,150 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: {
+ config = {
+ home-manager.users.jade = {pkgs, ...}: {
+ services.polybar = {
+ enable = true;
+ package = pkgs.polybarFull;
+
+ script = "";
+ settings = {
+ colors = {
+ background = "#282828";
+ background-alt = "#3c3836";
+ foreground = "#ebdbb2";
+ primary = "#d65d0e";
+ secondary = "#fe8019";
+ alert = "#cc241d";
+ disabled = "#504945";
+ };
+ "bar/status" = {
+ # Style
+ bottom = true;
+ width = "100%";
+ height = "24px";
+ radius = 0;
+ tray-position = "center";
+ background = "\${colors.background}";
+ foreground = "\${colors.foreground}";
+ line-size = "4px";
+ border-color = "#00000000";
+ padding-left = 0;
+ padding-right = 1;
+ module-margin = 1;
+ separator = "|";
+ separator-foreground = "\${colors.disabled}";
+ font-0 = "FiraCode Nerd Font";
+ modules-left = "xworkspaces xwindow";
+ modules-right = "memory cpu wlan bat0 bat1";
+ cursor-click = "pointer";
+ cursor-scroll = "ns-resize";
+ enable-ipc = true;
+ wm-restack = "generic";
+ override-redirect = false;
+ };
+
+ "module/xworkspaces" = {
+ type = "internal/xworkspaces";
+ label-active = "";
+ label-active-padding = 1;
+ label-occupied = "";
+ label-occupied-padding = 1;
+ label-urgent = "";
+ label-urgent-foreground = "\${colors.alert}";
+ label-urgent-padding = 1;
+ label-empty = "";
+ label-empty-foreground = "\${colors.disabled}";
+ label-empty-padding = 1;
+ };
+
+ "module/xwindow" = {
+ type = "internal/xwindow";
+ label = "%title:0:60:...%";
+ };
+
+ "module/memory" = {
+ type = "internal/memory";
+ interval = 2;
+ format-prefix = " ";
+ format-prefix-foreground = "\${colors.primary}";
+ label = "%percentage_used:2%%";
+ };
+
+ "module/cpu" = {
+ type = "internal/cpu";
+ interval = "2";
+ format-prefix = " ";
+ format-prefix-foreground = "\${colors.primary}";
+ label = "%percentage:2%%";
+ };
+
+ "network-base" = {
+ type = "internal/network";
+ interval = 5;
+ format-connected = " ";
+ format-disconnected = "";
+ label-disconnected = "";
+ label-disconnected-foreground = "#d65d0e";
+ ramp.signal = [
+ "%{F#cc241d}"
+ "%{F#d79921}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ ];
+ };
+
+ "module/wlan" = {
+ "inherit" = "network-base";
+ interface-type = "wireless";
+ label-connected = "%{F#F0C674}%{F-} %local_ip%";
+ };
+ "battery-base" = {
+ type = "internal/battery";
+ poll-interval = 1;
+ time-format = "%H%{F#7c6f64}:%{F#d5c4a1}%M";
+ label-charging = "%{F#98971a} %{F#ebdbb2}%percentage%%%{F#d5c4a1} %time%";
+ format-charging = " ";
+ label-discharging = "%{F#ebdbb2}%percentage%%%{F#bdae93} %time%";
+ format-discharging = " ";
+ label-full = "%{F#98971a}%{F#ebdbb2} %percentage%%";
+ format-full = "";
+ label-low = "%{F#cc241d}%{F#ebdbb2} %percentage%%";
+ format-low = "";
+ ramp.capacity = [
+ "%{F#cc241d}"
+ "%{F#d79921}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ "%{F#98971a}"
+ ];
+ };
+ "module/bat0" = {
+ "inherit" = "battery-base";
+ battery = "BAT0";
+ adapter = "ADP1";
+ };
+ "module/bat1" = {
+ "inherit" = "battery-base";
+ battery = "BAT1";
+ adapter = "ADP1";
+ };
+
+ "settings" = {
+ screenchange-reload = true;
+ pseudo-transparency = true;
+ };
+ };
+ };
+ };
+ };
+}
diff --git a/modules/desktop/printing.nix b/modules/desktop/printing.nix
deleted file mode 100644
index c44ff0d..0000000
--- a/modules/desktop/printing.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ pkgs, ... }:
-{
- services.printing = {
- enable = true;
- drivers = with pkgs; [
- gutenprint
- gutenprintBin
- hplip
- brlaser
- brgenml1lpr
- brgenml1cupswrapper
- ptouch-driver
- epsonscan2
- epson-escpr
- epson-escpr2
- epson_201207w
- epson-alc1100
- ];
- };
-}
diff --git a/modules/desktop/social.nix b/modules/desktop/social.nix
new file mode 100644
index 0000000..d494d0c
--- /dev/null
+++ b/modules/desktop/social.nix
@@ -0,0 +1,23 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.social;
+in
+ with lib; {
+ options.jade.desktop.social = {
+ enable = mkEnableOption "Enable social apps";
+ };
+ config = mkIf cfg.enable {
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ evolutionWithPlugins
+ signal-desktop
+ mumble
+ element-desktop
+ ];
+ };
+ };
+ }
diff --git a/modules/hardware/default.nix b/modules/desktop/specific-hardware/default.nix
similarity index 76%
rename from modules/hardware/default.nix
rename to modules/desktop/specific-hardware/default.nix
index c08c133..8faabd2 100644
--- a/modules/hardware/default.nix
+++ b/modules/desktop/specific-hardware/default.nix
@@ -3,11 +3,9 @@
lib,
pkgs,
...
-}:
-{
+}: {
imports = [
./spacenav.nix
./wacom.nix
- ./hardware_key.nix
];
}
diff --git a/modules/hardware/spacenav.nix b/modules/desktop/specific-hardware/spacenav.nix
similarity index 74%
rename from modules/hardware/spacenav.nix
rename to modules/desktop/specific-hardware/spacenav.nix
index 00b4cb8..5d2a12c 100644
--- a/modules/hardware/spacenav.nix
+++ b/modules/desktop/specific-hardware/spacenav.nix
@@ -1,11 +1,10 @@
-{ pkgs, ... }:
-{
+{pkgs, ...}: {
environment.systemPackages = with pkgs; [
spacenavd
libspnav
];
systemd.services.spacenavd = {
- wantedBy = [ "graphical.target" ];
+ wantedBy = ["graphical.target"];
script = "${pkgs.spacenavd}/bin/spacenavd -d";
};
}
diff --git a/modules/desktop/specific-hardware/wacom.nix b/modules/desktop/specific-hardware/wacom.nix
new file mode 100644
index 0000000..104cc68
--- /dev/null
+++ b/modules/desktop/specific-hardware/wacom.nix
@@ -0,0 +1,10 @@
+{...}: {
+ services.xserver.wacom.enable = true;
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = [
+ # TODO: figure out if the previous enabled option depends on these anyway
+ pkgs.libwacom
+ pkgs.wacomtablet
+ ];
+ };
+}
diff --git a/modules/desktop/syncthing.nix b/modules/desktop/syncthing.nix
new file mode 100644
index 0000000..f44e40c
--- /dev/null
+++ b/modules/desktop/syncthing.nix
@@ -0,0 +1,21 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.desktop.syncthing;
+in
+ with lib; {
+ options.jade.desktop.syncthing = {
+ enable = mkEnableOption "Enable syncing via syncthing";
+ };
+ config = mkIf cfg.enable {
+ services.syncthing = rec {
+ enable = true;
+ user = "jade";
+ dataDir = "/home/${user}/Documents";
+ configDir = "/home/${user}/Documents/.config/syncthing";
+ };
+ };
+ }
diff --git a/modules/desktop/themeing.nix b/modules/desktop/themeing.nix
index 837e117..b310287 100644
--- a/modules/desktop/themeing.nix
+++ b/modules/desktop/themeing.nix
@@ -1,46 +1,19 @@
-{ pkgs, ... }:
{
- stylix = {
- enable = true;
- polarity = "dark";
- base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-hard.yaml";
- fonts = {
- serif = {
- package = pkgs.libertine;
- name = "Linux Libertine O";
- };
-
- sansSerif = {
- package = pkgs.atkinson-hyperlegible;
- name = "Atkinson Hyperlegible";
- };
-
- monospace = {
- package = pkgs.nerd-fonts.departure-mono;
- name = "Departure Mono Nerd Font";
- };
-
- emoji = {
- package = pkgs.noto-fonts-emoji;
- name = "Noto Color Emoji";
- };
- };
- };
- home-manager.users.jade =
- { pkgs, ... }:
- {
- stylix.targets = {
- firefox = {
- profileNames = [ "jade" ];
- };
- helix.enable = false;
- btop.enable = false;
- nushell.enable = false;
- starship.enable = false;
- kitty.enable = false;
- dunst.enable = false;
- wofi.enable = false;
- };
+ config,
+ lib,
+ pkgs,
+ ...
+}: {
+ config = {
+ fonts.packages = with pkgs; [
+ atkinson-hyperlegible
+ ];
+ home-manager.users.jade = {pkgs, ...}: {
+ home.packages = with pkgs; [
+ gtk-engine-murrine
+ gruvbox-dark-gtk
+ gruvbox-dark-icons-gtk
+ ];
gtk = {
enable = true;
cursorTheme = {
@@ -48,10 +21,24 @@
name = "phinger-cursors";
size = 30;
};
+ font = {
+ package = pkgs.atkinson-hyperlegible;
+ name = "Atkinson Hyperlegible";
+ size = 11.5;
+ };
iconTheme = {
package = pkgs.gruvbox-dark-icons-gtk;
name = "gruvbox-dark-icons";
};
+ theme = {
+ package = pkgs.gruvbox-dark-gtk;
+ name = "gruvbox-dark";
+ };
+ };
+ qt = {
+ enable = true;
+ platformTheme = "gtk";
};
};
+ };
}
diff --git a/modules/desktop/tlp.nix b/modules/desktop/tlp.nix
deleted file mode 100644
index 5372b2d..0000000
--- a/modules/desktop/tlp.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ ... }:
-{
- services.tlp = {
- enable = true;
- settings = {
- START_CHARGE_THRESH_BAT0 = "70";
- STOP_CHARGE_TRESH_BAT0 = "85";
- };
- };
-}
diff --git a/modules/desktop/xmonad.nix b/modules/desktop/xmonad.nix
new file mode 100644
index 0000000..9f806a3
--- /dev/null
+++ b/modules/desktop/xmonad.nix
@@ -0,0 +1,43 @@
+{
+ lib,
+ pkgs,
+ ...
+}: {
+ home-manager.users.jade = {
+ config,
+ pkgs,
+ ...
+ }: let
+ xmobarGhc = pkgs.haskellPackages.ghcWithPackages (pkgs:
+ with pkgs; [
+ xmobar
+ statgrab
+ ]);
+ in {
+ home.packages = [xmobarGhc pkgs.xmonadctl];
+ programs.xmobar = {
+ enable = true;
+ };
+ home.file."xmobar.hs" = rec {
+ source = ../../haskell/xmobar/xmobar.hs;
+ target = ".config/xmobar/xmobar.hs";
+ onChange = ''
+ ${xmobarGhc}/bin/ghc -threaded ${target}
+ ${pkgs.busybox}/bin/pkill xmobar
+ ${pkgs.haskellPackages.xmonad}/bin/xmonad --restart
+ '';
+ };
+ xsession.windowManager.xmonad = {
+ enable = true;
+ enableContribAndExtras = true;
+ config = ../../haskell/xmonad/xmonad.hs;
+ };
+ home.file.wallpaper = {
+ target = "Pictures/wallpaper.jpg";
+ source = ../../other/wallpaper.jpg;
+ onChange = ''
+ feh --bg-fill ~/Pictures/wallpaper.jpg;
+ '';
+ };
+ };
+}
diff --git a/modules/editors/default.nix b/modules/editors/default.nix
deleted file mode 100644
index 8881b27..0000000
--- a/modules/editors/default.nix
+++ /dev/null
@@ -1,15 +0,0 @@
-{ ... }:
-{
- programs.niri.enable = true;
- imports = [
- ./zed
- ];
- home-manager.users.jade =
- { pkgs, ... }:
- {
- home.packages = [ pkgs.nixd ];
- imports = [
- ./helix
- ];
- };
-}
diff --git a/modules/editors/helix/binds.nix b/modules/editors/helix/binds.nix
deleted file mode 100644
index 26b00b2..0000000
--- a/modules/editors/helix/binds.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{ ... }:
-{
- programs.helix.settings.keys = {
- normal = {
- space."=" = ":fmt";
- space.ret = "@[]";
- space.space = "@ms";
-
- # smart tab++
- tab = "move_parent_node_end";
- S-tab = "move_parent_node_start";
- A-S = "@S[\\s]+";
- "'" = {
- D = "@sgd";
- F = "@sgy";
- d = "@vgd";
- f = "@vgy";
- h = ":toggle-option lsp.display-inlay-hints";
- t = ":pipe flip-bool";
- };
- };
- insert = {
- up = "no_op";
- down = "no_op";
- left = "no_op";
- right = "no_op";
- pageup = "no_op";
- pagedown = "no_op";
- home = "no_op";
- end = "no_op";
-
- # smart tab ++
- S-tab = "move_parent_node_start";
- };
- select = {
- # smart tab++
- tab = "extend_parent_node_end";
- S-tab = "extend_parent_node_start";
- };
- };
-}
diff --git a/modules/editors/helix/default.nix b/modules/editors/helix/default.nix
deleted file mode 100644
index bd0b05a..0000000
--- a/modules/editors/helix/default.nix
+++ /dev/null
@@ -1,113 +0,0 @@
-{ config, pkgs, ... }:
-{
- imports = [
- ./binds.nix
- ./settings.nix
- ];
- home = {
- sessionVariables.EDITOR = "hx";
- packages = [
- pkgs.wl-clipboard-rs
- pkgs.nil
- pkgs.vscode-langservers-extracted
- pkgs.nodePackages.typescript-language-server
- pkgs.emmet-language-server
- pkgs.jdt-language-server
- pkgs.tinymist
- pkgs.typstyle
- ];
- };
- programs.helix = {
- enable = true;
- defaultEditor = true;
- languages = {
- language-server = {
- "nu-builtin-lsp" = {
- command = "${pkgs.nushell}/bin/nu";
- args = [ "--lsp" ];
- };
- "rust-analyzer" = {
- config = {
- check.command = "check";
- completion.snippets.custom = {
- "pub fn" = {
- prefix = [
- "pfn"
- "pubfn"
- ];
- postfix = [ "pfn" ];
- body = [
- "pub fn $\{receiver\}() {"
- "\\t$1"
- "}"
- ];
- scope = "type";
- };
- };
- completion.termSearch.enable = true;
- diagnostics.enable = true;
- inlayHints = {
- bindingModeHints.enable = true;
- closureCaptureHints.enable = true;
- closureReturnTypeHints.enable = true;
- discriminantHints.enable = true;
- expressionAdjustmentHints = {
- hideOutsideUnsafe = true;
- };
- lifetimeElisionHints.enable = "skip_trivial";
- };
- interpret.tests = true;
- lens = {
- references = {
- adt.enable = true;
- trait.enable = true;
- };
- };
- typing.autoClosingAngleBrackets.enable = true;
- };
- };
- "emmet-language-server" = {
- command = "emmet-language-server";
- args = [ "--stdio" ];
- };
- "psalm" = {
- command = "psalm";
- args = [ "--language-server" ];
- };
- "tinymist" = {
- config = {
- exportPdf = "onType";
- formatterMode = "typstyle";
- };
- };
- };
- language = [
- {
- name = "nu";
- language-servers = [ "nu-builtin-lsp" ];
- }
- {
- name = "php";
- language-servers = [ "psalm" ];
- }
- {
- name = "nix";
- formatter = {
- command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
- args = [ "--quiet" ];
- };
- auto-format = true;
- }
- {
- name = "html";
- roots = [ ".git" ];
- language-servers = [
- "vscode-html-language-server"
- "emmet-language-server"
- ];
- auto-format = false;
- }
- ];
- };
- };
-}
diff --git a/modules/editors/helix/settings.nix b/modules/editors/helix/settings.nix
deleted file mode 100644
index c6cc82c..0000000
--- a/modules/editors/helix/settings.nix
+++ /dev/null
@@ -1,74 +0,0 @@
-{ ... }:
-{
- programs.helix.settings = {
- theme = "gruvbox_dark_hard";
- editor = {
- line-number = "relative";
- bufferline = "multiple";
- color-modes = true;
- cursorline = true;
- auto-save = {
- after-delay.enable = true;
- after-delay.timeout = 10000;
- };
- auto-format = true;
- end-of-line-diagnostics = "hint";
- # slightly optimized based on my layout
- jump-label-alphabet = "jfkdhaslgwenuiopbcmyzqrtvx";
- clipboard-provider = "wayland";
- inline-diagnostics = {
- cursor-line = "hint";
- };
- lsp = {
- display-messages = true;
- display-inlay-hints = true;
- };
- popup-border = "popup";
- shell = [
- "nu"
- "-c"
- ];
- statusline.left = [
- "mode"
- "spinner"
- "spacer"
- "version-control"
- "file-name"
- "diagnostics"
- "read-only-indicator"
- "file-modification-indicator"
- "spacer"
- ];
-
- statusline.right = [
- "workspace-diagnostics"
- "register"
- "position"
- "selections"
- "file-encoding"
- "file-type"
- ];
- idle-timeout = 50;
- completion-timeout = 100;
- indent-guides = {
- render = true;
- character = "│";
- skip-levels = 3;
- };
- soft-wrap = {
- enable = true;
- };
- whitespace = {
- render = {
- space = "none";
- tab = "all";
- newline = "none";
- };
- characters = {
- nbsp = "·";
- tab = "→";
- };
- };
- };
- };
-}
diff --git a/modules/editors/zed/default.nix b/modules/editors/zed/default.nix
deleted file mode 100644
index d103c8c..0000000
--- a/modules/editors/zed/default.nix
+++ /dev/null
@@ -1,78 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}:
-with lib;
-{
- options.jade.editors = {
- zed.enable = mkEnableOption "Enable Zed Editor";
- };
- config = mkIf config.jade.editors.zed.enable {
- home-manager.users.jade =
- { pkgs, ... }:
- {
- programs.zed-editor = {
- enable = true;
- extraPackages = [
- (pkgs.rustPlatform.buildRustPackage rec {
- pname = "discord-presence-lsp";
- version = "d6622e5d4dbbf9f61764458c2b50ba2e58789307";
- cargoHash = "sha256-JLNCEeo9fKeV4vTtPs+Yj2wRO1RKP2fuetrPlXcPBjA=";
-
- src = pkgs.fetchFromGitHub {
- owner = "xhyrom";
- repo = "zed-discord-presence";
- rev = version;
- hash = "sha256-RmpY0xkJYNDYn6SWNdKGpPetmBxf2/xY25FLeJqf0Po=";
- };
-
- cargoBuildFlags = "--package discord-presence-lsp";
- })
- ];
- extensions = [
- "discord-presence" # yes, i sunk that low
- "nix"
- "nu"
- ];
- userSettings = {
- features = {
- edit_prediction_provider = null;
- };
- show_edit_predictions = false;
- middle_click_paste = false;
- search = {
- regex = true;
- };
- inlay_hints = {
- enabled = true;
- };
- assistant = {
- version = "2";
- enabled = false;
- };
- diagnostics = {
- include_warnings = false;
- inline = {
- enabled = true;
- update_debounce_ms = 150;
- padding = 4;
- min_column = 0;
- max_severity = null;
- };
- };
- language_models = null;
- vim_mode = true;
- vim = {
- default_mode = "helix_normal";
- };
- # ui_font_size = 16;
- # WHY CAN I NOT OVERRIDE THIS
- # habt'a lack gesoffen?!
- # buffer_font_size = 16.;
- };
- };
- };
- };
-}
diff --git a/modules/net/firewall.nix b/modules/firewall.nix
similarity index 90%
rename from modules/net/firewall.nix
rename to modules/firewall.nix
index 48be5be..d790480 100644
--- a/modules/net/firewall.nix
+++ b/modules/firewall.nix
@@ -3,8 +3,7 @@
lib,
pkgs,
...
-}:
-{
+}: {
config = {
networking = {
firewall = {
@@ -17,6 +16,9 @@
80
443
+ # syncthing web ui
+ 8384
+
# syncthing
22000
diff --git a/modules/flatpak.nix b/modules/flatpak.nix
new file mode 100644
index 0000000..e3683fe
--- /dev/null
+++ b/modules/flatpak.nix
@@ -0,0 +1,24 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.flatpak;
+in
+ with lib; {
+ options.jade.flatpak = {
+ enable = mkEnableOption "Enable flatpak";
+ };
+ config = mkIf cfg.enable {
+ services.flatpak.enable = true;
+ xdg.portal = {
+ enable = true;
+ # TODO
+ config.common.default = "*";
+ extraPortals = [
+ pkgs.xdg-desktop-portal-gtk
+ ];
+ };
+ };
+ }
diff --git a/modules/git.nix b/modules/git.nix
new file mode 100644
index 0000000..693f2fc
--- /dev/null
+++ b/modules/git.nix
@@ -0,0 +1,80 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: {
+ home-manager.users.jade = {
+ pkgs,
+ config,
+ ...
+ }: {
+ programs.git = {
+ enable = true;
+ userName = "Schrottkatze";
+ userEmail = "git@schrottkatze.de";
+ aliases = {
+ a = "add";
+ c = "commit";
+ ca = "commit --all";
+ p = "push";
+ pl = "pull";
+ s = "status";
+ };
+ signing = {
+ key = "${pkgs.writeText "red_nk3.pub" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOaE8TFsIazpn4OnHvHcRpOFr9FfvMaWOiEjmHsmnAoE cardno:000F_70CD7D05"}";
+ signByDefault = true;
+ };
+ extraConfig = {
+ gpg = {
+ format = "ssh";
+ };
+ };
+ };
+ programs.jujutsu = {
+ enable = true;
+ settings = {
+ user = {
+ name = config.programs.git.userName;
+ email = config.programs.git.userEmail;
+ };
+ };
+ };
+ programs.gitui = {
+ enable = true;
+ keyConfig = ''
+ (
+ open_help: Some(( code: F(1), modifiers: ( bits: 0,),)),
+
+ move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)),
+ move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
+ move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)),
+ move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)),
+
+ popup_up: Some(( code: Char('p'), modifiers: ( bits: 2,),)),
+ popup_down: Some(( code: Char('n'), modifiers: ( bits: 2,),)),
+ page_up: Some(( code: Char('b'), modifiers: ( bits: 2,),)),
+ page_down: Some(( code: Char('f'), modifiers: ( bits: 2,),)),
+ home: Some(( code: Char('g'), modifiers: ( bits: 0,),)),
+ end: Some(( code: Char('G'), modifiers: ( bits: 1,),)),
+ shift_up: Some(( code: Char('K'), modifiers: ( bits: 1,),)),
+ shift_down: Some(( code: Char('J'), modifiers: ( bits: 1,),)),
+
+ edit_file: Some(( code: Char('I'), modifiers: ( bits: 1,),)),
+
+ status_reset_item: Some(( code: Char('U'), modifiers: ( bits: 1,),)),
+
+ diff_reset_lines: Some(( code: Char('u'), modifiers: ( bits: 0,),)),
+ diff_stage_lines: Some(( code: Char('s'), modifiers: ( bits: 0,),)),
+
+ stashing_save: Some(( code: Char('w'), modifiers: ( bits: 0,),)),
+ stashing_toggle_index: Some(( code: Char('m'), modifiers: ( bits: 0,),)),
+
+ stash_open: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
+
+ abort_merge: Some(( code: Char('M'), modifiers: ( bits: 1,),)),
+ )
+ '';
+ };
+ };
+}
diff --git a/modules/hardware/hardware_key.nix b/modules/hardware/hardware_key.nix
deleted file mode 100644
index 278bf91..0000000
--- a/modules/hardware/hardware_key.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}:
-let
- cfg = config.jade.hwKey;
-in
-with lib;
-{
- options.jade.hwKey = {
- pamAuth.enable = mkEnableOption "Enable PAM authentication with hardware keys";
- };
- config = {
- # nitrokey
- services.udev.packages = [ pkgs.nitrokey-udev-rules ];
-
- # smartcard daemon
- services.pcscd.enable = true;
-
- # authenticate using hw key
- security.pam = {
- services.jade.u2fAuth = cfg.pamAuth.enable;
- u2f = {
- enable = true;
- control = "sufficient";
- settings = {
- cue = true;
- authFile = "/home/jade/.ssh/u2f_keys";
- };
- };
- };
-
- programs.i3lock.u2fSupport = true;
- };
-}
diff --git a/modules/hardware/wacom.nix b/modules/hardware/wacom.nix
deleted file mode 100644
index 0234f30..0000000
--- a/modules/hardware/wacom.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ ... }:
-{
- services.xserver.wacom.enable = true;
- home-manager.users.jade =
- { pkgs, ... }:
- {
- home.packages = [
- # TODO: figure out if the previous enabled option depends on these anyway
- pkgs.libwacom
- pkgs.wacomtablet
- ];
- };
-}
diff --git a/modules/input/default.nix b/modules/input/default.nix
deleted file mode 100644
index 12ceb65..0000000
--- a/modules/input/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ ... }:
-{
- imports = [
- ./evremap.nix
- ];
- services = {
- libinput = {
- enable = true;
- };
- xserver = {
- xkb = {
- layout = "us";
- variant = "altgr-intl";
- };
- };
- };
-}
diff --git a/modules/input/evremap.nix b/modules/input/evremap.nix
deleted file mode 100644
index 1c37c7e..0000000
--- a/modules/input/evremap.nix
+++ /dev/null
@@ -1,133 +0,0 @@
-{
- pkgs,
- config,
- lib,
- ...
-}:
-let
- cfg = config.jade.input.remapping;
- evremap = pkgs.rustPlatform.buildRustPackage {
- pname = "evremap";
- version = "0.1.0";
- src = pkgs.fetchFromGitHub {
- owner = "wez";
- repo = "evremap";
- rev = "4480c4eda223b98899b0fbd926bc34f7bd0e1a18";
- sha256 = "sha256-BxSrphgW1n465FX6bKVkq6O0XE2JqanfSYlsGwWUWkQ=";
- };
- useFetchCargoVendor = true;
- cargoHash = "sha256-O1rJ48m8Q7kZABw/UNpmUT7FFBWQedo6CuV+NX9kDt8=";
- nativeBuildInputs = [ pkgs.pkg-config ];
- buildInputs = [ pkgs.libevdev ];
- };
- toml = pkgs.formats.toml { };
-in
-with lib;
-{
- options.jade.input.remapping = {
- enable = mkEnableOption "Enable evremap";
- devices = mkOption {
- type = types.attrsOf (
- types.submodule (
- { name, ... }:
- {
- options = {
- device_name = mkOption {
- type = types.str;
- description = "The device name";
- default = name;
- };
- remap = mkOption {
- type = types.listOf (
- types.submodule (
- { ... }:
- {
- options.input = mkOption { type = types.listOf types.str; };
- options.output = mkOption { type = types.listOf types.str; };
- }
- )
- );
- default = [ ];
- };
- swapKeys = mkOption {
- description = "Lists with two keys to be swapped on the keyboard layout.";
- type = types.listOf (
- # verify that each key swapping list contains two elements
- types.addCheck (types.listOf types.str) (v: builtins.length v == 2)
- );
- default = [ ];
- };
- dual_role = mkOption {
- type = types.listOf (
- types.submodule (
- { ... }:
- {
- options.input = mkOption { type = types.str; };
- options.hold = mkOption { type = types.listOf types.str; };
- options.tap = mkOption { type = types.listOf types.str; };
- }
- )
- );
- default = [ ];
- };
- };
- }
- )
- );
- };
- };
- config = mkIf cfg.enable (
- with builtins;
- let
- devs = map (
- {
- device_name,
- remap,
- swapKeys,
- dual_role,
- }:
- {
- inherit device_name dual_role;
-
- # expand swapKeys to normal remaps
- remap = concatLists [
- remap
- (lib.lists.flatten (
- map (keys: [
- {
- input = [ (head keys) ];
- output = [ (lib.lists.last keys) ];
- }
- {
- input = [ (lib.lists.last keys) ];
- output = [ (head keys) ];
- }
- ]) swapKeys
- ))
- ];
- }
- ) (attrValues cfg.devices);
- in
- {
- # generate numbered systemd services for each device to be remapped
- # https://github.com/wez/evremap/issues/17
- systemd.services = listToAttrs (
- genList (i: {
- name = "evremap${toString i}";
- value =
- let
- cfgFile = toml.generate "remaps-${toString i}.toml" (elemAt devs i);
- in
- {
- wantedBy = [ "multi-user.target" ];
- serviceConfig.ExecStart = "-${evremap}/bin/evremap remap ${cfgFile}";
- unitConfig = {
- Restart = "on-failure";
- };
- };
- }) (length devs)
- );
- environment.systemPackages = [ evremap ];
- }
- );
-}
diff --git a/modules/kmscon.nix b/modules/kmscon.nix
new file mode 100644
index 0000000..4c859bd
--- /dev/null
+++ b/modules/kmscon.nix
@@ -0,0 +1,73 @@
+{
+ pkgs,
+ config,
+ lib,
+ ...
+}: let
+ # generate shell command options for kmscon fom an attrset
+ generateOptions = with builtins; (
+ opts:
+ toString (
+ attrValues (
+ mapAttrs (name: value: "--${name} ${toString value}") opts
+ )
+ )
+ );
+ # generate a hexadecimal number lookup table to get integers from them
+ hexLookupTable = with lib; (listToAttrs (genList (i: {
+ name = let
+ r = toHexString i;
+ in (
+ # pad with 0 in front if only 1 digit
+ if (stringLength r) == 1
+ then "0${r}"
+ else r
+ );
+ value = toString i;
+ })
+ 256));
+ # "parse" hex color strings and convert them to kmscon options
+ hexToOpt = with lib; (color:
+ concatStringsSep "," [
+ (getAttr (substring 1 2 (toUpper color)) hexLookupTable)
+ (getAttr (substring 3 2 (toUpper color)) hexLookupTable)
+ (getAttr (substring 5 2 (toUpper color)) hexLookupTable)
+ ]);
+in {
+ services.kmscon = {
+ enable = true;
+ fonts = [
+ {
+ name = "FiraCode Nerd Font";
+ package = pkgs.nerdfonts.override {fonts = ["FiraCode"];};
+ }
+ ];
+ extraConfig = "font-size=14";
+ # extraOptions = "--term xterm-256color";
+ extraOptions = generateOptions {
+ xkb-layout = config.services.xserver.xkb.layout;
+ xkb-variant = config.services.xserver.xkb.variant;
+
+ palette = "custom";
+ palette-foreground = hexToOpt "#ebdbb2";
+ palette-background = hexToOpt "#282828";
+ palette-black = hexToOpt "#282828";
+ palette-red = hexToOpt "#cc241d";
+ palette-green = hexToOpt "#98971a";
+ palette-yellow = hexToOpt "#d79921";
+ palette-blue = hexToOpt "#458588";
+ palette-magenta = hexToOpt "#b16286";
+ palette-cyan = hexToOpt "#689d6a";
+ palette-light-grey = hexToOpt "#a89984";
+ palette-dark-grey = hexToOpt "#928374";
+ palette-light-red = hexToOpt "#fb4934";
+ palette-light-green = hexToOpt "#b8bb26";
+ palette-light-yellow = hexToOpt "#fabd2f";
+ palette-light-blue = hexToOpt "#83a598";
+ palette-light-magenta = hexToOpt "#d3869b";
+ palette-light-cyan = hexToOpt "#8ec07c";
+ palette-white = hexToOpt "#ebdbb2";
+ };
+ hwRender = true;
+ };
+}
diff --git a/modules/media/default.nix b/modules/media/default.nix
deleted file mode 100644
index 3726cda..0000000
--- a/modules/media/default.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{
- pkgs,
- pkgs-stable,
- config,
- lib,
- ...
-}:
-let
- cfg = config.jade.desktop.media;
-in
-with lib;
-{
- imports = [
- ./obs.nix
- ./fonts.nix
- ];
- options.jade.desktop.media.videoEditing = mkEnableOption "Enable Video editing software";
- config = {
- home-manager.users.jade =
- { pkgs, ... }:
- {
- imports = [ ./typst.nix ];
- home.packages = with pkgs; [
- # creative software basics
- pastel
- krita
- gimp
- drawing
- inkscape-with-extensions
- pixelorama
- rawtherapee
- scribus
- audacity
-
- openscad-unstable
- openscad-lsp
-
- imagemagick
- ffmpeg_7-full
-
- libreoffice
-
- # viewers
- pkgs-stable.font-manager
- yt-dlp
-
- syncplay
-
- vlc
- mpv
- evince
- nomacs
- jellyfin-media-player
-
- (mkIf cfg.videoEditing kdePackages.kdenlive)
- (mkIf cfg.videoEditing glaxnimate)
- ];
- };
- };
-}
diff --git a/modules/media/fonts.nix b/modules/media/fonts.nix
deleted file mode 100644
index 2046198..0000000
--- a/modules/media/fonts.nix
+++ /dev/null
@@ -1,51 +0,0 @@
-{ pkgs, ... }:
-{
- nixpkgs.config.packageOverrides = pkgs: {
- google-fonts = pkgs.google-fonts.overrideAttrs (oldAttrs: {
- src = pkgs.fetchFromGitHub {
- owner = "google";
- repo = "fonts";
- rev = "8a0041ea7b92e339a7ce13e4e1dadcc85cb8f5df";
- sha256 = "sha256-9TzeihEKIEDRtDuv+NmLWjTpoGnBR+RP/jIBfB1O06U=";
- };
- installPhase = oldAttrs.installPhase + "mv $out/share/fonts/truetype $out/share/fonts/ttf";
- });
- };
-
- fonts = {
- packages = with pkgs; [
- nerd-fonts.fira-code
- nerd-fonts.departure-mono
- google-fonts
- montserrat
- noto-fonts
- atkinson-hyperlegible
- arkpandora_ttf
- liberation_ttf
- caladea
- carlito
- garamond-libre
- ocr-a
- amiri
- libertine
- inter
- b612
- departure-mono
- ];
- fontDir.enable = true;
- };
-
- home-manager.users.jade =
- { ... }:
- {
- fonts.fontconfig = {
- enable = true;
- defaultFonts = {
- emoji = [ ];
- monospace = [ ];
- sansSerif = [ "Atkinson Hyperlegible" ];
- serif = [ ];
- };
- };
- };
-}
diff --git a/modules/media/obs.nix b/modules/media/obs.nix
deleted file mode 100644
index e04f440..0000000
--- a/modules/media/obs.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-let
- cfg = config.jade.desktop.media.obs;
-in
-with lib;
-{
- options.jade.desktop.media.obs = mkEnableOption "Enable OBS";
-
- config = mkIf cfg {
- programs.obs-studio.enableVirtualCamera = true;
- # OBS stuffs
- environment.systemPackages = [
- (pkgs.wrapOBS {
- plugins = with pkgs.obs-studio-plugins; [
- wlrobs
- obs-backgroundremoval
- obs-pipewire-audio-capture
- waveform
- obs-3d-effect
- ];
- })
- ];
-
- boot = {
- extraModulePackages = with config.boot.kernelPackages; [
- v4l2loopback
- ];
- extraModprobeConfig = ''
- options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
- '';
- };
- };
-}
diff --git a/modules/media/typst.nix b/modules/media/typst.nix
deleted file mode 100644
index 59c6638..0000000
--- a/modules/media/typst.nix
+++ /dev/null
@@ -1,45 +0,0 @@
-{
- pkgs,
- typst-within,
- ...
-}:
-let
- packages = {
- typst-configs = pkgs.fetchFromGitea {
- domain = "forge.katzen.cafe";
- owner = "schrottkatze";
- repo = "typst-configs";
- rev = "9a5bd5256ace2a56de51b89793f191b4eecce1dc"; # :REV:- rev = "%REV%";-:#
- sha256 = "sha256-E+5fJULNxM0XcbimuENqIJC24ZwPRMSHnG97ncBtEGw="; # :SHA:- sha256 = "%SHA%";-:#
- };
- flow = pkgs.fetchFromGitHub {
- owner = "MultisampledNight";
- repo = "flow";
- rev = "f5c653c706d80145165ec684b217b803a0246e8c";
- sha256 = "sha256-tXfogxo1DGmsrwjOhF2h+60825P6NVcgQGN6Q1tspZA=";
- };
- };
- mkTypstPath = name: ".local/share/typst/packages/local/${name}/0.1.0";
-in
-{
- home.file = {
- typst-configs = {
- target = mkTypstPath "typst-configs";
- source = packages.typst-configs;
- recursive = true;
- };
- flow = {
- target = mkTypstPath "flow";
- source = packages.flow;
- recursive = true;
- };
- };
- # home.packages = [typst-within.packages."x86_64-linux".default];
- home.packages = [
- pkgs.typst
-
- # `typed` dependencies
- pkgs.mupdf
- pkgs.inotify-tools
- ];
-}
diff --git a/modules/net/default.nix b/modules/net/default.nix
deleted file mode 100644
index df22509..0000000
--- a/modules/net/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ ... }:
-{
- imports = [
- ./firewall.nix
- ./hosts.nix
- ./eduroam.nix
- ./dispatchers
- ];
- networking.networkmanager.enable = true;
- networking.networkmanager.wifi.backend = "wpa_supplicant";
-
- systemd.services."NetworkManager-wait-online".enable = false;
- services.mullvad-vpn.enable = true;
- home-manager.users.jade =
- { pkgs, ... }:
- {
- home.packages = with pkgs; [
- networkmanagerapplet
- mullvad-vpn
- macchanger
- ];
- };
-}
diff --git a/modules/net/dispatchers/default.nix b/modules/net/dispatchers/default.nix
deleted file mode 100644
index 73270a7..0000000
--- a/modules/net/dispatchers/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ pkgs, ... }:
-let
- addNuShebang =
- path:
- builtins.concatStringsSep "\n\n" [
- "#!${pkgs.nushell}/bin/nu"
- (builtins.readFile path)
- ];
-in
-{
- networking.networkmanager.dispatcherScripts = [
- {
- type = "basic";
- source = pkgs.writeText "dispatcher" (addNuShebang ./dispatcher.nu);
- }
- ];
-
- environment.etc =
- with builtins;
- (listToAttrs (
- map (v: {
- name = "networkhooks/${v}";
- value = {
- text = addNuShebang ./hooks/${v};
- mode = "0755";
- };
- }) (attrNames (readDir ./hooks))
- ));
-}
diff --git a/modules/net/eduroam.nix b/modules/net/eduroam.nix
deleted file mode 100644
index f6e9835..0000000
--- a/modules/net/eduroam.nix
+++ /dev/null
@@ -1,62 +0,0 @@
-# Thanks @ kloenk (@kloenk@catcatnya.com) for making this for me at MRMCD 2024 :33
-{ pkgs-stable, ... }:
-let
- caDir = "/var/lib/easyroam";
- uuid = "821ad781-76a3-447f-a2e8-c7f18a1df3bc";
-in
-{
- systemd.services.easyroam = {
- requires = [ "NetworkManager.service" ];
- after = [ "NetworkManager.service" ];
- requiredBy = [ "network-online.target" ];
- path = with pkgs-stable; [
- networkmanager
- openssl
- gnused
- ];
- script = ''
- set -x
- openssl pkcs12 -password pass: -in ${caDir}/my_easyroam_cert.p12 -legacy -nokeys | openssl x509 > ${caDir}/easyroam_client_cert.pem
- cn=$(openssl x509 -noout -subject -in ${caDir}/easyroam_client_cert.pem -legacy | sed 's/.*CN = \(.*\), C.*/\1/')
- openssl pkcs12 -legacy -password pass: -in ${caDir}/my_easyroam_cert.p12 -nodes -nocerts | openssl rsa -aes256 -passin pass: -passout pass:meow -out ${caDir}/easyroam_client_key.pem
- openssl pkcs12 -password pass: -in ${caDir}/my_easyroam_cert.p12 -legacy -cacerts -nokeys > ${caDir}/easyroam_root_ca.pem
-
- nmcli connection modify --temporary uuid ${uuid} 802-1x.identity "$cn"
- '';
- serviceConfig = {
- Type = "oneshot";
- };
- };
-
- networking.networkmanager.ensureProfiles.profiles.eduroam = {
- "802-1x" = {
- ca-cert = "${caDir}/easyroam_root_ca.pem";
- client-cert = "${caDir}/easyroam_client_cert.pem";
- domain-suffix-match = "easyroam.eduroam.de";
- eap = "tls;";
- identity = "meow";
- private-key = "${caDir}/easyroam_client_key.pem";
- private-key-password = "meow";
- };
- connection = {
- id = "eduroam";
- type = "wifi";
- inherit uuid;
- };
- ipv4 = {
- method = "auto";
- };
- ipv6 = {
- addr-gen-mode = "default";
- method = "auto";
- };
- proxy = { };
- wifi = {
- mode = "infrastructure";
- ssid = "eduroam";
- };
- wifi-security = {
- key-mgmt = "wpa-eap";
- };
- };
-}
diff --git a/modules/net/hosts.nix b/modules/net/hosts.nix
deleted file mode 100644
index 3a21884..0000000
--- a/modules/net/hosts.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ ... }:
-{
- networking.hosts = {
- "127.0.0.1" = [
- "www.tiktok.com"
- "www.twitter.com"
- "www.instagram.com"
- "www.facebook.com"
- "www.snapchat.com"
-
- "tiktok.com"
- "twitter.com"
- "instagram.com"
- "facebook.com"
- "snapchat.com"
-
- "google-analytics.com"
- "stats.g.doubleclick.net"
- "googleadservices.com"
- "googletagmanager.com"
- "googletagservices.com"
- "googlesyndication.com"
- ];
- };
-}
diff --git a/modules/nix.nix b/modules/nix.nix
deleted file mode 100644
index 4878fa6..0000000
--- a/modules/nix.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- rs-programs,
- niri,
- ...
-}:
-{
- nix = {
- extraOptions = ''
- experimental-features = nix-command flakes
- keep-outputs = true
- keep-derivations = true
- '';
- gc = {
- automatic = true;
- dates = "weekly";
- options = "--delete-older-than 60d";
- };
- };
-
- nixpkgs = {
- config = {
- allowUnfree = true;
- permittedInsecurePackages = [
- "electron-27.3.11"
- "nodejs-16.20.0"
- ];
- };
- overlays = [
- rs-programs
- niri.overlays.niri
- ];
- };
-}
diff --git a/modules/shell/btop.nix b/modules/shell/btop.nix
deleted file mode 100644
index ee5df43..0000000
--- a/modules/shell/btop.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ ... }:
-{
- home-manager.users.jade =
- { pkgs, ... }:
- {
- programs.btop = {
- enable = true;
- settings = {
- color_theme = "gruvbox_dark";
- vim_keys = true;
- };
- };
- };
-}
diff --git a/modules/shell/carapace.nix b/modules/shell/carapace.nix
new file mode 100644
index 0000000..3bd3c24
--- /dev/null
+++ b/modules/shell/carapace.nix
@@ -0,0 +1,7 @@
+{...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ programs.carapace = {
+ enable = true;
+ };
+ };
+}
diff --git a/modules/shell/default.nix b/modules/shell/default.nix
index 3410739..4134bbc 100644
--- a/modules/shell/default.nix
+++ b/modules/shell/default.nix
@@ -1,22 +1,11 @@
-{ pkgs, ... }:
-{
+{...}: {
imports = [
+ ./helix.nix
./nu.nix
./starship.nix
- ./tty.nix
- ./git.nix
- ./mprocs.nix
- ./btop.nix
- ./sudo.nix
+ ./zellij.nix
+ ./carapace.nix
+ ./direnv.nix
];
programs.mosh.enable = true;
- programs.bat.enable = true;
- home-manager.users.jade =
- { ... }:
- {
- programs.carapace.enable = true;
- programs.direnv.enable = true;
- };
-
- users.defaultUserShell = pkgs.nushell;
}
diff --git a/modules/shell/direnv.nix b/modules/shell/direnv.nix
new file mode 100644
index 0000000..c5f22ff
--- /dev/null
+++ b/modules/shell/direnv.nix
@@ -0,0 +1,8 @@
+{...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ programs.direnv = {
+ enable = true;
+ nix-direnv.enable = true;
+ };
+ };
+}
diff --git a/modules/shell/git.nix b/modules/shell/git.nix
deleted file mode 100644
index 2732633..0000000
--- a/modules/shell/git.nix
+++ /dev/null
@@ -1,59 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-{
- home-manager.users.jade =
- {
- pkgs,
- config,
- ...
- }:
- {
- programs.git = {
- enable = true;
- userName = "Schrottkatze";
- userEmail = "git@schrottkatze.de";
- aliases = {
- a = "add";
- c = "commit";
- ca = "commit --all";
- p = "push";
- pl = "pull";
- s = "status";
- };
- signing = {
- format = "ssh";
- key = "${pkgs.writeText "blue_nk3.pub" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILg7hhAKxIAbokHHcIj9HBgbkgoKGCG2R+gx7HZKL+iz cardno:000F_93C6A612"}";
- signByDefault = true;
- };
- };
- programs.jujutsu = {
- enable = true;
- settings = {
- user = {
- name = config.programs.git.userName;
- email = config.programs.git.userEmail;
- };
- };
- };
- programs.gitui = {
- enable = true;
- keyConfig = ''
- (
- move_left: Some(( code: Char('h'), modifiers: "")),
- move_right: Some(( code: Char('l'), modifiers: "")),
- move_up: Some(( code: Char('k'), modifiers: "")),
- move_down: Some(( code: Char('j'), modifiers: "")),
-
- stash_open: Some(( code: Char('l'), modifiers: "")),
- open_help: Some(( code: F(1), modifiers: "")),
-
- status_reset_item: Some(( code: Char('U'), modifiers: "SHIFT")),
- )
- '';
- };
- };
-}
diff --git a/modules/shell/helix.nix b/modules/shell/helix.nix
new file mode 100644
index 0000000..2238418
--- /dev/null
+++ b/modules/shell/helix.nix
@@ -0,0 +1,85 @@
+{config, ...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ home = {
+ sessionVariables.EDITOR = "hx";
+ packages = [
+ pkgs.nil
+ pkgs.vscode-langservers-extracted
+ pkgs.nodePackages.typescript-language-server
+ pkgs.emmet-language-server
+ ];
+ };
+ programs.helix = {
+ enable = true;
+ settings = {
+ theme = "gruvbox";
+ editor = {
+ line-number = "relative";
+ lsp.display-messages = true;
+ indent-guides = {
+ render = true;
+ character = "│";
+ };
+ whitespace = {
+ render = {
+ space = "all";
+ tab = "all";
+ newline = "none";
+ };
+ characters = {
+ space = "·";
+ nbsp = "⍽";
+ tab = "→";
+ };
+ };
+ };
+ keys.normal = {
+ space."=" = ":fmt";
+ };
+ };
+ languages = {
+ language-server."nu-builtin-lsp" = {
+ command = "${config.users.defaultUserShell}/bin/nu";
+ args = ["--lsp"];
+ };
+ language-server."rust-analyzer" = {
+ config = {
+ check.command = "clippy";
+ };
+ };
+ language-server."emmet-language-server" = {
+ command = "emmet-language-server";
+ args = ["--stdio"];
+ };
+ # "php" = {
+ # name = "php";
+ # file-types = [ "php" ];
+ # language-server = {
+ # command = "psalm";
+ # args = ["--language-server"];
+ # };
+ # };
+ language = [
+ {
+ name = "nu";
+ language-servers = ["nu-builtin-lsp"];
+ }
+ {
+ name = "nix";
+ formatter = {
+ command = "${pkgs.alejandra}/bin/alejandra";
+ args = ["--quiet"];
+ };
+ auto-format = true;
+ }
+ {
+ name = "html";
+ roots = [".git"];
+ language-servers = ["vscode-html-language-server" "emmet-language-server"];
+ auto-format = false;
+ }
+ ];
+ };
+ };
+ };
+}
diff --git a/modules/shell/mprocs.nix b/modules/shell/mprocs.nix
deleted file mode 100644
index 1a7a401..0000000
--- a/modules/shell/mprocs.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ ... }:
-{
- home-manager.users.jade =
- {
- pkgs,
- lib,
- ...
- }:
- {
- home = {
- packages = [ pkgs.mprocs ];
- };
- xdg.configFile."mprocs/mprocs.yaml" = {
- text = builtins.toJSON {
- proc_list_width = 15;
- keymap_procs = {
- "" = {
- c = "toggle-focus";
- };
- };
- keymap_term = {
- "" = null;
- # Ctrl-m so it doesnt overlap with zellij or helix
- "" = {
- c = "toggle-focus";
- };
- };
- };
- };
- };
-}
diff --git a/modules/shell/nu.nix b/modules/shell/nu.nix
index 521a300..24d3e6a 100644
--- a/modules/shell/nu.nix
+++ b/modules/shell/nu.nix
@@ -1,46 +1,29 @@
-{ config, ... }:
-{
- home-manager.users.jade =
- { pkgs, ... }:
- {
- # Needed for nu_scripts background_task
- services.pueue = {
- enable = true;
- settings = {
- shared = {
- use_unix_socket = true;
- };
+{config, ...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ # Needed for nu_scripts background_task
+ services.pueue = {
+ enable = true;
+ settings = {
+ shared = {
+ use_unix_socket = true;
};
};
- home.packages = [
- pkgs.pueue
- ];
- home.file."shell-startup" = {
- source = ./nu/shell-startup.nu;
- target = ".config/nushell/shell-startup.nu";
- };
- programs.nushell = {
- enable = true;
- package = config.users.defaultUserShell;
- configFile.source = ./nu/config.nu;
- envFile.source = ./nu/env.nu;
- extraConfig = ''
- plugin add ${pkgs.nushellPlugins.query}/bin/nu_plugin_query;
- plugin add ${pkgs.nushellPlugins.polars}/bin/nu_plugin_polars;
- plugin add ${pkgs.nushellPlugins.formats}/bin/nu_plugin_formats;
-
- plugin use query;
- plugin use polars;
- plugin use formats;
-
- source ${./nu/custom_commands.nu};
- source ${./nu/aliases.nu};
- nu ${./nu/shell-startup.nu};
- '';
- extraEnv = '''';
- };
- # programs.starship.enableNushellIntegration = true;
- programs.carapace.enableNushellIntegration = true;
- programs.direnv.enableNushellIntegration = true;
};
+ home.packages = [
+ pkgs.pueue
+ ];
+ programs.nushell = {
+ enable = true;
+ package = config.users.defaultUserShell;
+ configFile.source = ../../other/config.nu;
+ envFile.source = ../../other/env.nu;
+ # extraConfig = ''
+ # source ${pkgs.nu_scripts}/share/nu_scripts/modules/nix/nix.nu;
+ # use ${pkgs.nu_scripts}/share/nu_scripts/modules/background_task/job.nu;
+ # '';
+ };
+ programs.starship.enableNushellIntegration = true;
+ programs.carapace.enableNushellIntegration = true;
+ programs.direnv.enableNushellIntegration = true;
+ };
}
diff --git a/modules/shell/nu/aliases.nu b/modules/shell/nu/aliases.nu
deleted file mode 100644
index 3643f48..0000000
--- a/modules/shell/nu/aliases.nu
+++ /dev/null
@@ -1,42 +0,0 @@
-alias gnix = cd ~/nix-configs;
-alias grepo = cd ~/Documents/repos;
-alias wh = wormhole-rs;
-
-alias gg = gitui;
-alias ga = git add;
-alias gc = git commit;
-alias gca = git commit --all;
-alias gp = git push;
-alias gl = git pull;
-alias gs = git status;
-alias clip = xclip -selection c;
-
-alias cr = cargo run;
-alias cl = cargo clippy;
-alias cb = cargo build;
-alias cch = cargo check;
-
-alias jb = just build;
-
-alias togglecaps = xdotool key Caps_Lock;
-alias TOGGLECAPS = togglecaps;
-
-alias bash = echo $"(ansi red)no, fuck that shit!";
-alias sh = echo $"(ansi red)no, fuck that shit!";
-alias zsh = echo $"(ansi red)no, fuck that shit!";
-alias fish = echo $"(ansi red)no, fuck that shit!";
-
-alias px = pulsemixer;
-
-# uni
-alias guni = cd ~/Docs/uni;
-alias guni = cd ~/Docs/uni/info1;
-alias gunids = cd ~/Docs/uni/design;
-alias gunida = cd ~/Docs/uni/dramaturgie;
-alias gunim = cd ~/Docs/uni/mathe1-3;
-
-# typos
-alias juts = just;
-
-alias miau = meow;
-alias shut = shutdown now;
diff --git a/modules/shell/nu/config.nu b/modules/shell/nu/config.nu
deleted file mode 100644
index 9a53c97..0000000
--- a/modules/shell/nu/config.nu
+++ /dev/null
@@ -1,104 +0,0 @@
-let colors = {
- separator: white
- leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
- header: green_bold
- empty: blue
- bool: light_cyan
- int: white
- filesize: cyan
- duration: white
- date: purple
- range: white
- float: white
- string: white
- nothing: white
- binary: white
- cellpath: white
- row_index: green_bold
- record: white
- list: white
- block: white
- hints: dark_gray
- search_result: {bg: red fg: white}
- shape_and: purple_bold
- shape_binary: purple_bold
- shape_block: blue_bold
- shape_bool: light_cyan
- shape_closure: green_bold
- shape_custom: green
- shape_datetime: cyan_bold
- shape_directory: cyan
- shape_external: cyan
- shape_externalarg: green_bold
- shape_external_resolved: light_cyan_bold
- shape_filepath: cyan
- shape_flag: blue_bold
- shape_float: purple_bold
- shape_garbage: { fg: white bg: red attr: b}
- shape_globpattern: cyan_bold
- shape_int: purple_bold
- shape_internalcall: cyan_bold
- shape_list: cyan_bold
- shape_literal: blue
- shape_match_pattern: green
- shape_matching_brackets: { attr: u }
- shape_nothing: light_cyan
- shape_operator: yellow
- shape_or: purple_bold
- shape_pipe: purple_bold
- shape_range: yellow_bold
- shape_record: cyan_bold
- shape_redirection: purple_bold
- shape_signature: green_bold
- shape_string: green
- shape_string_interpolation: cyan_bold
- shape_table: blue_bold
- shape_variable: purple
- shape_vardecl: purple
-}
-
-$env.config = {
- show_banner: false # true or false to enable or disable the welcome banner at startup
-
- ls: {
- use_ls_colors: true # use the LS_COLORS environment variable to colorize output
- }
- rm: {
- always_trash: true
- }
-
- table: {
- mode: reinforced # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
- header_on_separator: true # show header text on separator/border line
- }
-
- history: {
- file_format: sqlite,
- max_size: 1_000_000_000 # Session has to be reloaded for this to take effect
- isolation: false
- }
-
- completions: {
- algorithm: "fuzzy" # prefix or fuzzy
- sort: "smart"
- }
-
- cursor_shape: {
- emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default)
- vi_insert: line # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default)
- vi_normal: block # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default)
- }
-
- color_config: $colors # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
- footer_mode: 25 # always, never, number_of_rows, auto
- float_precision: 2 # the precision for displaying floats in tables
- buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
- use_ansi_coloring: true
- bracketed_paste: true # enable bracketed paste, currently useless on windows
- edit_mode: vi # emacs, vi
- use_kitty_protocol: true
-
- hooks: {
- pre_execution: [{ $env.CMD_COUNT = $env.CMD_COUNT + 1; }] # run before the repl input is run
- }
-}
diff --git a/modules/shell/nu/custom_commands.nu b/modules/shell/nu/custom_commands.nu
deleted file mode 100644
index fc22cba..0000000
--- a/modules/shell/nu/custom_commands.nu
+++ /dev/null
@@ -1,101 +0,0 @@
-# open nix shell with a bunch of programs
-def nsp [
- ...programs: string
-] {
- nix shell ...($programs | each {|it| $"nixpkgs#($it)" })
-}
-
-# do a nix run of a nix package
-def nr [
- program: string
-] {
- nix run $"nixpkgs#($program)"
-}
-
-# do a recursive line count of a file extension
-def lcr [
- file_extension: string
-] {
- ls **/*
- | where name ends-with $".($file_extension)"
- | par-each {|file|
- open $file.name
- | lines --skip-empty
- | length }
- | math sum
-}
-
-# get parsed git log
-def glog [
- amount: int
-] {
- git log --pretty=%h»¦«%s»¦«%aN»¦«%aE»¦«%aD -n $amount
- | lines
- | split column "»¦«" commit subject name email date
-}
-
-# open typst IDE ish setup
-def typed [
- name: string
-] {
- const DEFAULT_TYPST_FILE = "#import \"@local/typst-configs:0.1.0\": generic, sf;\n#show: generic.with();"
- if not ($"($name).typ" | path exists) and not ($"($name).pdf" | path exists) {
- $DEFAULT_TYPST_FILE | save $"($name).typ"
- typst compile $"($name).typ"
- } else if ($"($name).pdf" | path exists) {
- typst compile $"($name).typ"
- }
- mprocs --names Editor,Viewer,Notify $"hx '($name).typ'" $"while true; do mupdf-x11 '($name).pdf' && break; done" $"while inotifywait -e modify '($name).pdf' ; do pkill -HUP mupdf; done"
-}
-
-# figure out when the next event is
-def nev [ unit = day ] {
- ( ( open Docs/dates.csv
- | update datetime {|it| $it.datetime | into datetime }
- | first
- ).datetime - (date now)
- )
- | into duration
- | format duration $unit
-}
-
-# open chromium with bahn.expert opened and ready
-# TODO: intermediate stations
-def bx [from: string to: string] {
- let map = open ~/Docs/ril100map.json;
- let start = $map | get ($from | str upcase) | first;
- let dest = $map | get ($to | str upcase) | first;
-
- let url = $"https://bahn.expert/routing/($start)/($dest)/0/";
- print $url;
- ^bash -c $"nohup chromium '($url)' &";
-}
-
-def meow [ n = 1 ] {
- "m{rr,r,}{e,ee,{,e,aa}o}w{,w,ww}" | str expand | shuffle | first $n | str join ' '
-}
-
-def bars [display_name?: string] {
- print $display_name;
- pkill eww
- if ($display_name | is-empty) {
- print "Opening bars on whatever eww figures is best"
- eww open-many topBar bottomBar
- } else {
- print $"Opening bars on ($display_name)"
- eww open --screen $display_name bottomBar
- eww open --screen $display_name topBar
- }
-}
-
-def "dp ccchh" [] {
- layaway "hdmi2 + edp/bottom,center"
- bars "25BL56WY"
-}
-
-def "dp gay" [] {
- layaway "dp3 + edp1/bottom,center + dp5/right,top"
- # manual fix for lack of frequency in layaway, else monitor just turns off
- swaymsg "output DP-3 position 0 0 scale 1 transform normal resolution 1920x1080@60Hz"
- bars "LEN G27c-10"
-}
diff --git a/modules/shell/nu/shell-startup.nu b/modules/shell/nu/shell-startup.nu
deleted file mode 100644
index 133f149..0000000
--- a/modules/shell/nu/shell-startup.nu
+++ /dev/null
@@ -1,72 +0,0 @@
-def "is even" [] {
- $in mod 2 == 0
-}
-
-# TODO: flag stuff as module to be used in other stuff in shell
-
-const TRANS = [ 5BCEFA F5A9B8 FFFFFF F5A9B8 5BCEFA ];
-const LESBIAN = [ D52D00 EF7627 FF9A56 FFFFFF D162A4 B55690 A30262 ];
-const ENBY = [ FCF434 FFFFFF 9C59D1 2C2C2C ];
-
-def flag [
- colors: list
- character = "="
- width = -1,
-] {
- use std;
-
- let out_size = if ($width == -1) {
- term size | get columns
- } else { $width };
-
- let col_size = $out_size / ($colors | length) | math floor;
- mut rest = $out_size - ($col_size * ($colors | length));
-
- mut cols = $colors | wrap color | insert width $col_size | flatten;
- let last = ($colors | length) - 1;
-
- if not ($rest | is even) {
- $rest = $rest - 1;
-
- $cols = (if not ($colors | length | is even) {
- $cols | update (($colors | length) / 2 | math floor) { $in | update width {|w| ($w.width + 1)}}
- } else {
- $cols | update $last { $in | update width {|w| ($w.width + 1)}}
- });
- };
-
- std assert ($rest | is even);
-
- let amount = $rest / 2;
-
- $cols = ($cols | update 0 { $in | update width {|w| (($w.width | into int) + $amount) } } | update $last { $in | update width {|w| ($w.width + $amount) } });
-
- $cols | each {|col|
- $character | std repeat ($col.width | into int) | prepend (ansi {fg: $"#($col.color)" }) | str join
- } | prepend (ansi attr_bold) | append (ansi reset) | str join
-}
-
-def main [] {
- print (flag $LESBIAN);
- let next_events = open ~/Docs/dates.csv
- | update datetime {|ev| $ev.datetime | into datetime }
- | sort-by datetime
- | filter {|ev| ($ev.datetime > (date now))};
-
- let evstr = if ($next_events | is-not-empty) {
- let ev = $next_events | first;
- $" | Next Event: (ansi attr_bold)($ev.event)(ansi reset) in (ansi attr_bold)(tfmt ($ev.datetime - (date now)))s(ansi reset)"
- } else "";
-
- print $"Hi jade, you're on HRT for (ansi reset)(ansi attr_bold)((date now) - ('2024-02-18T20:53' | into datetime) | format duration month)s(ansi reset) now!($evstr)";
-}
-
-def tfmt [dur: duration] {
- if ($dur < 1hr) {
- return ($dur | format duration min);
- } else if ($dur < 1day) {
- return ($dur | format duration hr);
- } else {
- return ($dur | format duration day);
- }
-}
diff --git a/modules/shell/starship.nix b/modules/shell/starship.nix
index 8cf92c5..588ebe1 100644
--- a/modules/shell/starship.nix
+++ b/modules/shell/starship.nix
@@ -1,44 +1,40 @@
-{ ... }:
-{
- home-manager.users.jade =
- { pkgs, ... }:
- {
- programs.starship = {
- enable = true;
- enableNushellIntegration = false;
- settings = {
- format = "$all$directory$character";
- character = {
- success_symbol = "[\\$](green)";
- error_symbol = "[X](red)";
- };
- git_branch = {
- format = "\\[[$symbol$branch]($style)\\]";
- symbol = " ";
- };
- git_status = {
- format = "([\\[$all_status$ahead_behind\\]]($style))";
- };
- haskell = {
- format = "\\[[$symbol($version)]($style)\\]";
- symbol = " ";
- };
- cmd_duration = {
- format = "\\[[⏱ $duration]($style)\\]";
- };
- nix_shell = {
- format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
- symbol = " ";
- };
- rust = {
- format = "\\[[$symbol($version)]($style)\\]";
- symbol = " ";
- };
- package = {
- format = "\\[[$symbol$version]($style)\\]";
- symbol = " ";
- };
+{...}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ programs.starship = {
+ enable = true;
+ settings = {
+ format = "$all$directory$character";
+ character = {
+ success_symbol = "[\\$](green)";
+ error_symbol = "[X](red)";
+ };
+ git_branch = {
+ format = "\\[[$symbol$branch]($style)\\]";
+ symbol = " ";
+ };
+ git_status = {
+ format = "([\\[$all_status$ahead_behind\\]]($style))";
+ };
+ haskell = {
+ format = "\\[[$symbol($version)]($style)\\]";
+ symbol = " ";
+ };
+ cmd_duration = {
+ format = "\\[[⏱ $duration]($style)\\]";
+ };
+ nix_shell = {
+ format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
+ symbol = " ";
+ };
+ rust = {
+ format = "\\[[$symbol($version)]($style)\\]";
+ symbol = " ";
+ };
+ package = {
+ format = "\\[[$symbol$version]($style)\\]";
+ symbol = " ";
};
};
};
+ };
}
diff --git a/modules/shell/sudo.nix b/modules/shell/sudo.nix
deleted file mode 100644
index 5e45338..0000000
--- a/modules/shell/sudo.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ ... }:
-{
- nixpkgs.config.packageOverrides = pkgs: {
- sudo = pkgs.sudo.override { withInsults = true; };
- };
- security.sudo.extraConfig = "Defaults insults";
-}
diff --git a/modules/shell/tty.nix b/modules/shell/tty.nix
deleted file mode 100644
index 3384e63..0000000
--- a/modules/shell/tty.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ config, ... }:
-let
- generateOptions =
- with builtins;
- (opts: toString (attrValues (mapAttrs (name: value: "--${name} ${toString value}") opts)));
-in
-{
- # TODO: global colorscheme vars for everything
- console.colors = [
- "282828"
- "cc241d"
- "98971a"
- "d79921"
- "458588"
- "b16286"
- "689d6a"
- "a89984"
- "928374"
- "fb4934"
- "b8bb26"
- "fabd2f"
- "83a598"
- "d3869b"
- "8ec07c"
- "ebdbb2"
- ];
-
- services.kmscon = {
- enable = true;
- extraConfig = "font-size=14";
- extraOptions = generateOptions {
- xkb-layout = config.services.xserver.xkb.layout;
- xkb-variant = config.services.xserver.xkb.variant;
- };
- hwRender = true;
- };
-}
diff --git a/modules/shell/zellij.nix b/modules/shell/zellij.nix
new file mode 100644
index 0000000..9e24251
--- /dev/null
+++ b/modules/shell/zellij.nix
@@ -0,0 +1,28 @@
+{
+ config,
+ lib,
+ ...
+}: {
+ home-manager.users.jade = {pkgs, ...}: {
+ programs.zellij = {
+ enable = true;
+ settings = {
+ theme = "gruvbox-dark";
+ themes.gruvbox-dark = {
+ fg = "#d5c4a1";
+ bg = "#282828";
+ black = "#3C3836";
+ red = "#CC241D";
+ green = "#98971A";
+ yellow = "#D79921";
+ blue = "#3C8588";
+ magenta = "#B16286";
+ cyan = "#689D6A";
+ white = "#ebdbb2";
+ orange = "#D65D0E";
+ };
+ pane_frames = false;
+ };
+ };
+ };
+}
diff --git a/modules/template.nix b/modules/template.nix
new file mode 100644
index 0000000..745d5f6
--- /dev/null
+++ b/modules/template.nix
@@ -0,0 +1,16 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.NAME;
+in
+ with lib; {
+ options.jade.NAME = {
+ enable = mkEnableOption "Enable the module";
+ };
+ config =
+ mkIf cfg.enable {
+ };
+ }
diff --git a/modules/terminal.nix b/modules/terminal.nix
new file mode 100644
index 0000000..1366350
--- /dev/null
+++ b/modules/terminal.nix
@@ -0,0 +1,49 @@
+{
+ config,
+ lib,
+ pkgs,
+ ...
+}: let
+ cfg = config.jade.terminal;
+in
+ with lib; {
+ options.jade.terminal = {
+ enable = mkEnableOption "Enable Kitty";
+ };
+ config = mkIf cfg.enable {
+ environment.sessionVariables = rec {
+ TERMINAL = "kitty";
+ };
+ home-manager.users.jade = {pkgs, ...}: {
+ programs.kitty = {
+ enable = true;
+ font = {
+ name = "FiraCode Nerd Font";
+ size = 11;
+ };
+ settings = {
+ #adjust_column_width = "70%";
+ color0 = "#282828";
+ color8 = "#928374";
+ color1 = "#cc241d";
+ color9 = "#fb4934";
+ color2 = "#98971a";
+ color10 = "#b8bb26";
+ color3 = "#d79921";
+ color11 = "#fabd2f";
+ color4 = "#458588";
+ color12 = "#83a598";
+ color5 = "#b16286";
+ color13 = "#d3869b";
+ color6 = "#689d6a";
+ color14 = "#8ec07c";
+ color7 = "#a89984";
+ color15 = "#ebdbb2";
+ foreground = "#ebdbb2";
+ background = "#282828";
+ confirm_os_window_close = 0;
+ };
+ };
+ };
+ };
+ }
diff --git a/modules/utils.nix b/modules/utils.nix
new file mode 100644
index 0000000..1de413c
--- /dev/null
+++ b/modules/utils.nix
@@ -0,0 +1,56 @@
+{
+ pkgs,
+ lib,
+}: rec {
+ # taken from https://github.com/NixOS/nixpkgs/blob/3650808d85dccbfa3be3d785dfd3ce33a757bd2c/pkgs/build-support/trivial-builders/default.nix#L335
+ writeNuShellApplication = {
+ name,
+ text,
+ runtimeInputs ? [],
+ meta ? {},
+ checkPhase ? null,
+ }:
+ writeTextFile {
+ inherit name meta;
+ executable = true;
+ destination = "/bin/${name}";
+ allowSubstitutes = true;
+ preferLocalBuild = false;
+ text =
+ ''
+ #!${pkgs.nushell}
+ ''
+ + lib.optionalString (runtimeInputs != []) ''
+
+ $env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}');
+ ''
+ + ''
+
+ ${text}
+ '';
+
+ checkPhase =
+ # GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
+ # but we still want to use writeShellApplication on those platforms
+ if checkPhase == null
+ then ''
+ runHook preCheck
+
+ nu -c "nu-check -d $target"
+
+ runHook postCheck
+ ''
+ else checkPhase;
+ };
+ packageNushellApplication = {
+ name,
+ path,
+ runtimeInputs ? [],
+ meta ? {},
+ checkPhase ? null,
+ }:
+ writeNuShellApplication {
+ inherit name runtimeInputs meta checkPhase;
+ text = builtins.readFile path;
+ };
+}
diff --git a/other/0001-fomx.patch b/other/0001-fomx.patch
new file mode 100644
index 0000000..78d8801
--- /dev/null
+++ b/other/0001-fomx.patch
@@ -0,0 +1,4983 @@
+From 3293ae056b6c5d905ff367283a14e6eb19acf41f Mon Sep 17 00:00:00 2001
+From: Jade
+Date: Tue, 11 Apr 2023 16:11:04 +0200
+Subject: [PATCH] fomx
+
+Signed-off-by: Jade
+---
+ drivers/video/logo/logo_linux_clut224.ppm | 4963 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ 1 file changed, 3361 insertions(+), 1602 deletions(-)
+
+diff --git a/drivers/video/logo/logo_linux_clut224.ppm b/drivers/video/logo/logo_linux_clut224.ppm
+index 3c14e43..eae3002 100644
+--- a/drivers/video/logo/logo_linux_clut224.ppm
++++ b/drivers/video/logo/logo_linux_clut224.ppm
+@@ -1,1604 +1,3363 @@
+ P3
+-# Standard 224-color Linux logo
+-80 80
++160 160
+ 255
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 10 10 10 10 10 10
+- 10 10 10 6 6 6 6 6 6 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 22 22 22 26 26 26 30 30 30 34 34 34
+- 30 30 30 30 30 30 26 26 26 18 18 18
+- 14 14 14 10 10 10 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 26 26 26 42 42 42
+- 54 54 54 66 66 66 78 78 78 78 78 78
+- 78 78 78 74 74 74 66 66 66 54 54 54
+- 42 42 42 26 26 26 18 18 18 10 10 10
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 22 22 22 42 42 42 66 66 66 86 86 86
+- 66 66 66 38 38 38 38 38 38 22 22 22
+- 26 26 26 34 34 34 54 54 54 66 66 66
+- 86 86 86 70 70 70 46 46 46 26 26 26
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 50 50 50 82 82 82 58 58 58 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 54 54 54 86 86 86 66 66 66
+- 38 38 38 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 78 78 78 34 34 34 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 70 70 70
+- 78 78 78 46 46 46 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 42 42 42 82 82 82
+- 26 26 26 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 46 46 46 34 34 34 6 6 6 2 2 6
+- 42 42 42 78 78 78 42 42 42 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 30 30 30 66 66 66 58 58 58
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 86 86 86 101 101 101 46 46 46 10 10 10
+- 2 2 6 58 58 58 70 70 70 34 34 34
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 86 86 86 10 10 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 30 30 30
+- 94 94 94 94 94 94 58 58 58 26 26 26
+- 2 2 6 6 6 6 78 78 78 54 54 54
+- 22 22 22 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 62 62 62 62 62 62 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 26 26 26
+- 54 54 54 38 38 38 18 18 18 10 10 10
+- 2 2 6 2 2 6 34 34 34 82 82 82
+- 38 38 38 14 14 14 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 10 10 10 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 50 50 50 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 54 54 54
+- 66 66 66 26 26 26 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 82 82 82 2 2 6 2 2 6
+- 2 2 6 6 6 6 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 14 14 14 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 18 18 18
+- 82 82 82 34 34 34 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 6 6 6 6 6 6 22 22 22 34 34 34
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 34 34 34
+- 10 10 10 50 50 50 22 22 22 2 2 6
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 86 86 86 42 42 42 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 2 2 6
+- 38 38 38 116 116 116 94 94 94 22 22 22
+- 22 22 22 2 2 6 2 2 6 2 2 6
+- 14 14 14 86 86 86 138 138 138 162 162 162
+-154 154 154 38 38 38 26 26 26 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 46 46 46 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 14 14 14
+-134 134 134 198 198 198 195 195 195 116 116 116
+- 10 10 10 2 2 6 2 2 6 6 6 6
+-101 98 89 187 187 187 210 210 210 218 218 218
+-214 214 214 134 134 134 14 14 14 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 86 86 86 50 50 50 18 18 18 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 86 86 86 2 2 6 54 54 54
+-218 218 218 195 195 195 226 226 226 246 246 246
+- 58 58 58 2 2 6 2 2 6 30 30 30
+-210 210 210 253 253 253 174 174 174 123 123 123
+-221 221 221 234 234 234 74 74 74 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 46 46 46 82 82 82 2 2 6 106 106 106
+-170 170 170 26 26 26 86 86 86 226 226 226
+-123 123 123 10 10 10 14 14 14 46 46 46
+-231 231 231 190 190 190 6 6 6 70 70 70
+- 90 90 90 238 238 238 158 158 158 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 1 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 86 86 86 6 6 6 116 116 116
+-106 106 106 6 6 6 70 70 70 149 149 149
+-128 128 128 18 18 18 38 38 38 54 54 54
+-221 221 221 106 106 106 2 2 6 14 14 14
+- 46 46 46 190 190 190 198 198 198 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 0
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 94 94 94 14 14 14 101 101 101
+-128 128 128 2 2 6 18 18 18 116 116 116
+-118 98 46 121 92 8 121 92 8 98 78 10
+-162 162 162 106 106 106 2 2 6 2 2 6
+- 2 2 6 195 195 195 195 195 195 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 62 62 62 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 1 0 0 1
+- 0 0 1 0 0 0 0 0 1 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 90 90 90 14 14 14 58 58 58
+-210 210 210 26 26 26 54 38 6 154 114 10
+-226 170 11 236 186 11 225 175 15 184 144 12
+-215 174 15 175 146 61 37 26 9 2 2 6
+- 70 70 70 246 246 246 138 138 138 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 70 70 70 66 66 66 26 26 26 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 14 14 14 10 10 10
+-195 195 195 188 164 115 192 133 9 225 175 15
+-239 182 13 234 190 10 232 195 16 232 200 30
+-245 207 45 241 208 19 232 195 16 184 144 12
+-218 194 134 211 206 186 42 42 42 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 74 74 74 30 30 30 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 86 86 86 14 14 14 2 2 6
+-121 87 25 192 133 9 219 162 10 239 182 13
+-236 186 11 232 195 16 241 208 19 244 214 54
+-246 218 60 246 218 38 246 215 20 241 208 19
+-241 208 19 226 184 13 121 87 25 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 50 50 50 82 82 82 34 34 34 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 82 82 82 30 30 30 61 42 6
+-180 123 7 206 145 10 230 174 11 239 182 13
+-234 190 10 238 202 15 241 208 19 246 218 74
+-246 218 38 246 215 20 246 215 20 246 215 20
+-226 184 13 215 174 15 184 144 12 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 26 26 26 94 94 94 42 42 42 14 14 14
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 50 50 50 104 69 6
+-192 133 9 216 158 10 236 178 12 236 186 11
+-232 195 16 241 208 19 244 214 54 245 215 43
+-246 215 20 246 215 20 241 208 19 198 155 10
+-200 144 11 216 158 10 156 118 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 90 90 90 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 46 46 46 22 22 22
+-137 92 6 210 162 10 239 182 13 238 190 10
+-238 202 15 241 208 19 246 215 20 246 215 20
+-241 208 19 203 166 17 185 133 11 210 150 10
+-216 158 10 210 150 10 102 78 10 2 2 6
+- 6 6 6 54 54 54 14 14 14 2 2 6
+- 2 2 6 62 62 62 74 74 74 30 30 30
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 34 34 34 78 78 78 50 50 50 6 6 6
+- 94 70 30 139 102 15 190 146 13 226 184 13
+-232 200 30 232 195 16 215 174 15 190 146 13
+-168 122 10 192 133 9 210 150 10 213 154 11
+-202 150 34 182 157 106 101 98 89 2 2 6
+- 2 2 6 78 78 78 116 116 116 58 58 58
+- 2 2 6 22 22 22 90 90 90 46 46 46
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 86 86 86 50 50 50 6 6 6
+-128 128 128 174 154 114 156 107 11 168 122 10
+-198 155 10 184 144 12 197 138 11 200 144 11
+-206 145 10 206 145 10 197 138 11 188 164 115
+-195 195 195 198 198 198 174 174 174 14 14 14
+- 2 2 6 22 22 22 116 116 116 116 116 116
+- 22 22 22 2 2 6 74 74 74 70 70 70
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 101 101 101 26 26 26 10 10 10
+-138 138 138 190 190 190 174 154 114 156 107 11
+-197 138 11 200 144 11 197 138 11 192 133 9
+-180 123 7 190 142 34 190 178 144 187 187 187
+-202 202 202 221 221 221 214 214 214 66 66 66
+- 2 2 6 2 2 6 50 50 50 62 62 62
+- 6 6 6 2 2 6 10 10 10 90 90 90
+- 50 50 50 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 34 34 34
+- 74 74 74 74 74 74 2 2 6 6 6 6
+-144 144 144 198 198 198 190 190 190 178 166 146
+-154 121 60 156 107 11 156 107 11 168 124 44
+-174 154 114 187 187 187 190 190 190 210 210 210
+-246 246 246 253 253 253 253 253 253 182 182 182
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 62 62 62
+- 74 74 74 34 34 34 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 22 22 22 54 54 54
+- 94 94 94 18 18 18 2 2 6 46 46 46
+-234 234 234 221 221 221 190 190 190 190 190 190
+-190 190 190 187 187 187 187 187 187 190 190 190
+-190 190 190 195 195 195 214 214 214 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+- 82 82 82 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 14 14 14
+- 86 86 86 54 54 54 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 46 46 46 90 90 90
+- 46 46 46 18 18 18 6 6 6 182 182 182
+-253 253 253 246 246 246 206 206 206 190 190 190
+-190 190 190 190 190 190 190 190 190 190 190 190
+-206 206 206 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-202 202 202 14 14 14 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 86 86 86 42 42 42 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 38 38 38 74 74 74 66 66 66
+- 2 2 6 6 6 6 90 90 90 250 250 250
+-253 253 253 253 253 253 238 238 238 198 198 198
+-190 190 190 190 190 190 195 195 195 221 221 221
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 82 82 82 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 78 78 78 70 70 70 34 34 34
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 66 66 66 78 78 78 6 6 6
+- 2 2 6 18 18 18 218 218 218 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-226 226 226 231 231 231 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 178 178 178 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 18 18 18 90 90 90 62 62 62
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 26 26 26
+- 58 58 58 90 90 90 18 18 18 2 2 6
+- 2 2 6 110 110 110 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 18 18 18 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 94 94 94
+- 54 54 54 26 26 26 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 22 22 22 50 50 50
+- 90 90 90 26 26 26 2 2 6 2 2 6
+- 14 14 14 195 195 195 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 242 242 242 54 54 54 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 86 86 86 50 50 50 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 38 38 38 82 82 82
+- 34 34 34 2 2 6 2 2 6 2 2 6
+- 42 42 42 195 195 195 246 246 246 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 242 242 242 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 246 246 246 238 238 238
+-226 226 226 231 231 231 101 101 101 6 6 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 38 38 38 82 82 82 42 42 42 14 14 14
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 62 62 62 66 66 66
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 70 70 70 170 170 170 206 206 206 234 234 234
+-246 246 246 250 250 250 250 250 250 238 238 238
+-226 226 226 231 231 231 238 238 238 250 250 250
+-250 250 250 250 250 250 246 246 246 231 231 231
+-214 214 214 206 206 206 202 202 202 202 202 202
+-198 198 198 202 202 202 182 182 182 18 18 18
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 62 62 62 66 66 66 30 30 30
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 42 42 42 82 82 82 18 18 18
+- 2 2 6 2 2 6 2 2 6 10 10 10
+- 94 94 94 182 182 182 218 218 218 242 242 242
+-250 250 250 253 253 253 253 253 253 250 250 250
+-234 234 234 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-238 238 238 226 226 226 210 210 210 202 202 202
+-195 195 195 195 195 195 210 210 210 158 158 158
+- 6 6 6 14 14 14 50 50 50 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 86 86 86 46 46 46
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 70 70 70 2 2 6
+- 2 2 6 10 10 10 2 2 6 22 22 22
+-166 166 166 231 231 231 250 250 250 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 246 246
+-231 231 231 206 206 206 198 198 198 226 226 226
+- 94 94 94 2 2 6 6 6 6 38 38 38
+- 30 30 30 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 62 62 62 66 66 66
+- 26 26 26 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 50 50 50 2 2 6
+- 26 26 26 26 26 26 2 2 6 106 106 106
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 218 218 218 202 202 202
+-210 210 210 14 14 14 2 2 6 2 2 6
+- 30 30 30 22 22 22 2 2 6 2 2 6
+- 2 2 6 2 2 6 18 18 18 86 86 86
+- 42 42 42 14 14 14 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 42 42 42 90 90 90 22 22 22 2 2 6
+- 42 42 42 2 2 6 18 18 18 218 218 218
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 221 221 221
+-218 218 218 101 101 101 2 2 6 14 14 14
+- 18 18 18 38 38 38 10 10 10 2 2 6
+- 2 2 6 2 2 6 2 2 6 78 78 78
+- 58 58 58 22 22 22 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 82 82 82 2 2 6 26 26 26
+- 22 22 22 2 2 6 123 123 123 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-238 238 238 198 198 198 6 6 6 38 38 38
+- 58 58 58 26 26 26 38 38 38 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 78 78 78 30 30 30 10 10 10 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 10 10 10 30 30 30
+- 74 74 74 58 58 58 2 2 6 42 42 42
+- 2 2 6 22 22 22 231 231 231 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 246 246 246 46 46 46 38 38 38
+- 42 42 42 14 14 14 38 38 38 14 14 14
+- 2 2 6 2 2 6 2 2 6 6 6 6
+- 86 86 86 46 46 46 14 14 14 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 42 42 42
+- 90 90 90 18 18 18 18 18 18 26 26 26
+- 2 2 6 116 116 116 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 250 250 250 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 94 94 94 6 6 6
+- 2 2 6 2 2 6 10 10 10 34 34 34
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 74 74 74 58 58 58 22 22 22 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 10 10 10 26 26 26 66 66 66
+- 82 82 82 2 2 6 38 38 38 6 6 6
+- 14 14 14 210 210 210 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 246 246 246 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 144 144 144 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 42 42 42 74 74 74 30 30 30 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 42 42 42 90 90 90
+- 26 26 26 6 6 6 42 42 42 2 2 6
+- 74 74 74 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 242 242 242 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 182 182 182 2 2 6
+- 2 2 6 2 2 6 2 2 6 46 46 46
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 10 10 10 86 86 86 38 38 38 10 10 10
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 10 10 10 26 26 26 66 66 66 82 82 82
+- 2 2 6 22 22 22 18 18 18 2 2 6
+-149 149 149 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 86 86 86 46 46 46 14 14 14
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 18 18 18 46 46 46 86 86 86 18 18 18
+- 2 2 6 34 34 34 10 10 10 6 6 6
+-210 210 210 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 221 221 221 6 6 6
+- 2 2 6 2 2 6 6 6 6 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 26 26 26 66 66 66 62 62 62 2 2 6
+- 2 2 6 38 38 38 10 10 10 26 26 26
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 238 238 238
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 6 6 6
+- 2 2 6 2 2 6 10 10 10 30 30 30
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 38 38 38 78 78 78 6 6 6 2 2 6
+- 2 2 6 46 46 46 14 14 14 42 42 42
+-246 246 246 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 10 10 10
+- 2 2 6 2 2 6 22 22 22 14 14 14
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 74 74 74 2 2 6 2 2 6
+- 14 14 14 70 70 70 34 34 34 62 62 62
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 14 14 14
+- 2 2 6 2 2 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 62 62 62 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 54 54 54 62 62 62 2 2 6 2 2 6
+- 2 2 6 30 30 30 46 46 46 70 70 70
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 226 226 226 10 10 10
+- 2 2 6 6 6 6 30 30 30 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 66 66 66 58 58 58 22 22 22
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 62 62 62 2 2 6 2 2 6
+- 2 2 6 2 2 6 30 30 30 78 78 78
+-250 250 250 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 206 206 206 2 2 6
+- 22 22 22 34 34 34 18 14 6 22 22 22
+- 26 26 26 18 18 18 6 6 6 2 2 6
+- 2 2 6 82 82 82 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 26 26 26
+- 62 62 62 106 106 106 74 54 14 185 133 11
+-210 162 10 121 92 8 6 6 6 62 62 62
+-238 238 238 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 246 246 246
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 158 158 158 18 18 18
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 6 6 6 18 18 18 66 66 66 38 38 38
+- 6 6 6 94 94 94 50 50 50 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 10 10 10 10 10 10 18 18 18 38 38 38
+- 78 78 78 142 134 106 216 158 10 242 186 14
+-246 190 14 246 190 14 156 118 10 10 10 10
+- 90 90 90 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 246 230 190
+-238 204 91 238 204 91 181 142 44 37 26 9
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 38 38 38 46 46 46
+- 26 26 26 106 106 106 54 54 54 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 22 22 22
+- 30 30 30 38 38 38 50 50 50 70 70 70
+-106 106 106 190 142 34 226 170 11 242 186 14
+-246 190 14 246 190 14 246 190 14 154 114 10
+- 6 6 6 74 74 74 226 226 226 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 231 231 231 250 250 250
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 228 184 62
+-241 196 14 241 208 19 232 195 16 38 30 10
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 30 30 30 26 26 26
+-203 166 17 154 142 90 66 66 66 26 26 26
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 38 38 38 58 58 58
+- 78 78 78 86 86 86 101 101 101 123 123 123
+-175 146 61 210 150 10 234 174 13 246 186 14
+-246 190 14 246 190 14 246 190 14 238 190 10
+-102 78 10 2 2 6 46 46 46 198 198 198
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 234 234 234 242 242 242
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 224 178 62
+-242 186 14 241 196 14 210 166 10 22 18 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 6 6 6 121 92 8
+-238 202 15 232 195 16 82 82 82 34 34 34
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 14 14 14 38 38 38 70 70 70 154 122 46
+-190 142 34 200 144 11 197 138 11 197 138 11
+-213 154 11 226 170 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-225 175 15 46 32 6 2 2 6 22 22 22
+-158 158 158 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 242 242 242 224 178 62
+-239 182 13 236 186 11 213 154 11 46 32 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 225 175 15
+-238 190 10 236 186 11 112 100 78 42 42 42
+- 14 14 14 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 22 22 22 54 54 54 154 122 46 213 154 11
+-226 170 11 230 174 11 226 170 11 226 170 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 184 144 12 10 10 10 2 2 6
+- 6 6 6 116 116 116 242 242 242 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 231 231 231 198 198 198 214 170 54
+-236 178 12 236 178 12 210 150 10 137 92 6
+- 18 14 6 2 2 6 2 2 6 2 2 6
+- 6 6 6 70 47 6 200 144 11 236 178 12
+-239 182 13 239 182 13 124 112 88 58 58 58
+- 22 22 22 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 70 70 70 180 133 36 226 170 11
+-239 182 13 242 186 14 242 186 14 246 186 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 98 70 6 2 2 6
+- 2 2 6 2 2 6 66 66 66 221 221 221
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 206 206 206 198 198 198 214 166 58
+-230 174 11 230 174 11 216 158 10 192 133 9
+-163 110 8 116 81 8 102 78 10 116 81 8
+-167 114 7 197 138 11 226 170 11 239 182 13
+-242 186 14 242 186 14 162 146 94 78 78 78
+- 34 34 34 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 30 30 30 78 78 78 190 142 34 226 170 11
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 241 196 14 203 166 17 22 18 6
+- 2 2 6 2 2 6 2 2 6 38 38 38
+-218 218 218 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 206 206 206 198 198 198 202 162 69
+-226 170 11 236 178 12 224 166 10 210 150 10
+-200 144 11 197 138 11 192 133 9 197 138 11
+-210 150 10 226 170 11 242 186 14 246 190 14
+-246 190 14 246 186 14 225 175 15 124 112 88
+- 62 62 62 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 174 135 50 224 166 10
+-239 182 13 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 139 102 15
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 78 78 78 250 250 250 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-250 250 250 214 214 214 198 198 198 190 150 46
+-219 162 10 236 178 12 234 174 13 224 166 10
+-216 158 10 213 154 11 213 154 11 216 158 10
+-226 170 11 239 182 13 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 206 162 42
+-101 101 101 58 58 58 30 30 30 14 14 14
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 74 74 74 174 135 50 216 158 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 241 196 14 226 184 13
+- 61 42 6 2 2 6 2 2 6 2 2 6
+- 22 22 22 238 238 238 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 226 226 226 187 187 187 180 133 36
+-216 158 10 236 178 12 239 182 13 236 178 12
+-230 174 11 226 170 11 226 170 11 230 174 11
+-236 178 12 242 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 186 14 239 182 13
+-206 162 42 106 106 106 66 66 66 34 34 34
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 213 154 11
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 241 196 14
+-190 146 13 18 14 6 2 2 6 2 2 6
+- 46 46 46 246 246 246 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 221 221 221 86 86 86 156 107 11
+-216 158 10 236 178 12 242 186 14 246 186 14
+-242 186 14 239 182 13 239 182 13 242 186 14
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 225 175 15 142 122 72 66 66 66
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 26 26 26 70 70 70 163 133 67 210 150 10
+-236 178 12 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-232 195 16 121 92 8 34 34 34 106 106 106
+-221 221 221 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-242 242 242 82 82 82 18 14 6 163 110 8
+-216 158 10 236 178 12 242 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 242 186 14 163 133 67
+- 46 46 46 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 10 10 10
+- 30 30 30 78 78 78 163 133 67 210 150 10
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-241 196 14 215 174 15 190 178 144 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 218 218 218
+- 58 58 58 2 2 6 22 18 6 167 114 7
+-216 158 10 236 178 12 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 186 14 242 186 14 190 150 46
+- 54 54 54 22 22 22 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 38 38 38 86 86 86 180 133 36 213 154 11
+-236 178 12 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 232 195 16 190 146 13 214 214 214
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 250 250 250 170 170 170 26 26 26
+- 2 2 6 2 2 6 37 26 9 163 110 8
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 224 166 10 142 122 72
+- 46 46 46 18 18 18 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 109 106 95 192 133 9 224 166 10
+-242 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-242 186 14 226 184 13 210 162 10 142 110 46
+-226 226 226 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-253 253 253 253 253 253 253 253 253 253 253 253
+-198 198 198 66 66 66 2 2 6 2 2 6
+- 2 2 6 2 2 6 50 34 6 156 107 11
+-219 162 10 239 182 13 246 186 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 242 186 14
+-234 174 13 213 154 11 154 122 46 66 66 66
+- 30 30 30 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 58 58 58 154 121 60 206 145 10 234 174 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 236 178 12 210 162 10 163 110 8
+- 61 42 6 138 138 138 218 218 218 250 250 250
+-253 253 253 253 253 253 253 253 253 250 250 250
+-242 242 242 210 210 210 144 144 144 66 66 66
+- 6 6 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 61 42 6 163 110 8
+-216 158 10 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 239 182 13 230 174 11 216 158 10
+-190 142 34 124 112 88 70 70 70 38 38 38
+- 18 18 18 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 22 22 22
+- 62 62 62 168 124 44 206 145 10 224 166 10
+-236 178 12 239 182 13 242 186 14 242 186 14
+-246 186 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 236 178 12 216 158 10 175 118 6
+- 80 54 7 2 2 6 6 6 6 30 30 30
+- 54 54 54 62 62 62 50 50 50 38 38 38
+- 14 14 14 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 167 114 7
+-213 154 11 236 178 12 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 190 14 242 186 14 239 182 13 239 182 13
+-230 174 11 210 150 10 174 135 50 124 112 88
+- 82 82 82 54 54 54 34 34 34 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 18 18 18
+- 50 50 50 158 118 36 192 133 9 200 144 11
+-216 158 10 219 162 10 224 166 10 226 170 11
+-230 174 11 236 178 12 239 182 13 239 182 13
+-242 186 14 246 186 14 246 190 14 246 190 14
+-246 190 14 246 190 14 246 190 14 246 190 14
+-246 186 14 230 174 11 210 150 10 163 110 8
+-104 69 6 10 10 10 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 91 60 6 167 114 7
+-206 145 10 230 174 11 242 186 14 246 190 14
+-246 190 14 246 190 14 246 186 14 242 186 14
+-239 182 13 230 174 11 224 166 10 213 154 11
+-180 133 36 124 112 88 86 86 86 58 58 58
+- 38 38 38 22 22 22 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 14 14 14
+- 34 34 34 70 70 70 138 110 50 158 118 36
+-167 114 7 180 123 7 192 133 9 197 138 11
+-200 144 11 206 145 10 213 154 11 219 162 10
+-224 166 10 230 174 11 239 182 13 242 186 14
+-246 186 14 246 186 14 246 186 14 246 186 14
+-239 182 13 216 158 10 185 133 11 152 99 6
+-104 69 6 18 14 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 2 2 6 2 2 6 2 2 6
+- 2 2 6 6 6 6 80 54 7 152 99 6
+-192 133 9 219 162 10 236 178 12 239 182 13
+-246 186 14 242 186 14 239 182 13 236 178 12
+-224 166 10 206 145 10 192 133 9 154 121 60
+- 94 94 94 62 62 62 42 42 42 22 22 22
+- 14 14 14 6 6 6 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 18 18 18 34 34 34 58 58 58 78 78 78
+-101 98 89 124 112 88 142 110 46 156 107 11
+-163 110 8 167 114 7 175 118 6 180 123 7
+-185 133 11 197 138 11 210 150 10 219 162 10
+-226 170 11 236 178 12 236 178 12 234 174 13
+-219 162 10 197 138 11 163 110 8 130 83 6
+- 91 60 6 10 10 10 2 2 6 2 2 6
+- 18 18 18 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 38 38 38 38 38 38
+- 38 38 38 38 38 38 26 26 26 2 2 6
+- 2 2 6 6 6 6 70 47 6 137 92 6
+-175 118 6 200 144 11 219 162 10 230 174 11
+-234 174 13 230 174 11 219 162 10 210 150 10
+-192 133 9 163 110 8 124 112 88 82 82 82
+- 50 50 50 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 14 14 14 22 22 22 34 34 34
+- 42 42 42 58 58 58 74 74 74 86 86 86
+-101 98 89 122 102 70 130 98 46 121 87 25
+-137 92 6 152 99 6 163 110 8 180 123 7
+-185 133 11 197 138 11 206 145 10 200 144 11
+-180 123 7 156 107 11 130 83 6 104 69 6
+- 50 34 6 54 54 54 110 110 110 101 98 89
+- 86 86 86 82 82 82 78 78 78 78 78 78
+- 78 78 78 78 78 78 78 78 78 78 78 78
+- 78 78 78 82 82 82 86 86 86 94 94 94
+-106 106 106 101 101 101 86 66 34 124 80 6
+-156 107 11 180 123 7 192 133 9 200 144 11
+-206 145 10 200 144 11 192 133 9 175 118 6
+-139 102 15 109 106 95 70 70 70 42 42 42
+- 22 22 22 10 10 10 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 6 6 6 10 10 10
+- 14 14 14 22 22 22 30 30 30 38 38 38
+- 50 50 50 62 62 62 74 74 74 90 90 90
+-101 98 89 112 100 78 121 87 25 124 80 6
+-137 92 6 152 99 6 152 99 6 152 99 6
+-138 86 6 124 80 6 98 70 6 86 66 30
+-101 98 89 82 82 82 58 58 58 46 46 46
+- 38 38 38 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 34 34 34 34 34 34
+- 34 34 34 34 34 34 38 38 38 42 42 42
+- 54 54 54 82 82 82 94 86 76 91 60 6
+-134 86 6 156 107 11 167 114 7 175 118 6
+-175 118 6 167 114 7 152 99 6 121 87 25
+-101 98 89 62 62 62 34 34 34 18 18 18
+- 6 6 6 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 6 6 6 10 10 10
+- 18 18 18 22 22 22 30 30 30 42 42 42
+- 50 50 50 66 66 66 86 86 86 101 98 89
+-106 86 58 98 70 6 104 69 6 104 69 6
+-104 69 6 91 60 6 82 62 34 90 90 90
+- 62 62 62 38 38 38 22 22 22 14 14 14
+- 10 10 10 10 10 10 10 10 10 10 10 10
+- 10 10 10 10 10 10 6 6 6 10 10 10
+- 10 10 10 10 10 10 10 10 10 14 14 14
+- 22 22 22 42 42 42 70 70 70 89 81 66
+- 80 54 7 104 69 6 124 80 6 137 92 6
+-134 86 6 116 81 8 100 82 52 86 86 86
+- 58 58 58 30 30 30 14 14 14 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 10 10 10 14 14 14
+- 18 18 18 26 26 26 38 38 38 54 54 54
+- 70 70 70 86 86 86 94 86 76 89 81 66
+- 89 81 66 86 86 86 74 74 74 50 50 50
+- 30 30 30 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 18 18 18 34 34 34 58 58 58
+- 82 82 82 89 81 66 89 81 66 89 81 66
+- 94 86 66 94 86 76 74 74 74 50 50 50
+- 26 26 26 14 14 14 6 6 6 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 6 6 6 6 6 6 14 14 14 18 18 18
+- 30 30 30 38 38 38 46 46 46 54 54 54
+- 50 50 50 42 42 42 30 30 30 18 18 18
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 6 6 6 14 14 14 26 26 26
+- 38 38 38 50 50 50 58 58 58 58 58 58
+- 54 54 54 42 42 42 30 30 30 18 18 18
+- 10 10 10 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 6 6 6 10 10 10 14 14 14 18 18 18
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 6 6 6
+- 14 14 14 18 18 18 22 22 22 22 22 22
+- 18 18 18 14 14 14 10 10 10 6 6 6
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
+- 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 13 13 13 119 117 113 134 131 128 63 62 61 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 26 28 29 196 196 196 248 248 248 249 249 249 226 226 226 119 117 113
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 147 147 146 251 250 250 253 253 253 252 252 252 255 255 255 230 230 229
++97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 52 51 50 207 206 206 255 255 255 226 226 226 162 160 159 249 249 249 255 255 255
++226 226 226 67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 122 123 123
++207 206 206 216 216 216 162 160 159 39 42 42 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 134 131 128 246 245 245 252 252 252 192 189 185 167 162 159 168 168 168 251 250 250
++253 253 253 200 200 199 54 58 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 168 168 168 246 245 245
++255 255 255 255 255 255 254 254 254 162 160 159 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++20 23 23 213 211 211 255 255 255 237 237 237 168 168 168 230 225 217 182 182 182 196 196 196
++253 253 253 251 250 250 168 168 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 69 73 72 196 196 196 251 250 250 255 255 255
++233 232 232 225 222 218 255 255 255 230 230 229 20 23 23 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++119 117 113 251 250 250 255 255 255 177 176 172 206 202 198 231 227 218 226 222 213 139 137 135
++216 216 216 255 255 255 248 248 248 134 134 133 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 84 81 78 216 216 216 253 253 253 253 253 253 216 216 216
++105 107 107 147 147 146 254 254 254 246 245 245 97 96 96 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++200 200 199 255 255 255 233 232 232 167 162 159 232 228 219 231 227 218 232 228 219 192 189 185
++97 96 96 230 230 229 255 255 255 233 232 232 97 96 96 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 13 13 13 122 123 123 226 226 226 255 255 255 251 250 250 196 196 196 119 117 113
++203 196 190 147 147 146 243 242 242 251 250 250 157 157 157 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96
++237 237 237 254 254 254 192 189 185 214 212 206 232 228 219 232 228 219 231 227 218 230 225 217
++119 117 113 139 137 135 246 245 245 254 254 254 196 196 196 39 42 42 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 115 110 108 237 237 237 255 255 255 248 248 248 168 168 168 97 96 96 206 202 198
++232 228 219 168 168 168 225 222 218 254 254 254 200 200 199 33 33 31 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 162 160 159
++251 250 250 243 242 242 179 179 176 226 222 213 232 228 219 232 228 219 232 228 219 232 228 219
++203 196 190 13 15 17 190 190 190 254 254 254 249 249 249 139 137 135 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13
++119 117 113 237 237 237 255 255 255 246 245 245 162 160 159 68 65 63 203 196 190 234 228 221
++233 229 220 206 202 198 196 196 196 254 254 254 230 230 229 84 81 78 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 213 211 211
++255 255 255 225 222 218 192 189 185 231 227 218 232 228 219 232 228 219 232 228 219 232 228 219
++226 222 213 105 107 107 63 62 61 226 226 226 255 255 255 233 232 232 97 96 96 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 131 128
++237 237 237 255 255 255 243 242 242 147 147 146 47 49 48 177 176 172 231 227 218 234 229 223
++234 229 223 223 218 211 177 176 172 251 250 250 246 245 245 119 117 113 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96 248 248 248
++254 254 254 182 182 182 214 212 206 231 227 218 231 227 218 232 228 219 233 229 220 233 229 220
++231 227 218 177 170 162 10 11 13 134 131 128 246 245 245 254 254 254 200 200 199 47 49 48
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 147 147 146 245 244 244
++255 255 255 245 244 244 147 147 146 27 25 23 134 134 133 230 225 217 234 229 223 234 229 223
++234 229 223 230 225 217 157 157 157 246 245 245 255 255 255 157 157 157 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 176 172 255 255 255
++243 242 242 157 157 157 232 228 219 231 227 218 232 228 219 232 228 219 233 229 220 232 228 219
++233 229 220 206 202 198 69 68 64 33 33 31 192 189 185 253 253 253 247 247 246 147 147 146
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 157 157 157 245 244 244 255 255 255
++237 237 237 139 137 135 0 0 0 97 96 96 214 212 206 234 229 223 234 229 223 234 229 224
++234 229 224 234 229 224 167 162 159 225 222 218 255 255 255 207 206 206 13 13 13 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 49 48 237 237 237 255 255 255
++196 196 196 203 196 190 231 227 218 231 227 218 231 227 218 233 229 220 233 229 220 233 229 220
++233 229 220 226 222 213 119 117 113 0 0 0 69 73 72 233 232 232 255 255 255 233 232 232
++97 96 96 115 110 108 122 123 123 97 96 96 20 23 23 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 20 23 23 168 168 168 246 245 245 255 255 255 237 237 237
++122 123 123 13 15 17 51 47 44 192 189 185 232 228 219 234 229 224 234 229 224 234 229 224
++234 229 224 234 229 224 192 189 185 182 182 182 255 255 255 233 232 232 33 33 31 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 251 250 250
++162 160 159 229 225 217 231 227 218 232 228 219 231 227 218 233 229 220 233 229 220 233 229 220
++233 229 220 233 229 220 177 170 162 10 11 13 0 0 0 139 137 135 251 250 250 255 255 255
++249 249 249 253 253 253 254 254 254 249 249 249 213 211 211 134 134 133 47 49 48 0 0 0
++0 0 0 0 0 0 39 42 42 179 179 176 251 250 250 255 255 255 230 230 229 115 110 108
++0 0 0 20 20 21 147 147 146 230 223 213 234 229 223 234 229 223 234 229 224 234 229 224
++234 229 223 234 229 223 214 212 206 147 147 146 255 255 255 251 250 250 105 107 107 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 33 33 31 200 200 199 254 254 254 226 226 226
++192 189 185 230 225 217 231 227 218 232 228 219 232 228 219 233 229 220 233 229 220 233 229 220
++233 229 220 233 229 220 214 212 206 26 28 29 2 2 2 39 42 42 200 200 199 254 254 254
++255 255 255 255 255 255 247 247 246 255 255 255 255 255 255 246 245 245 200 200 199 115 110 108
++0 0 0 0 0 0 168 168 168 248 248 248 254 254 254 225 222 218 97 96 96 0 0 0
++0 0 0 85 88 88 214 212 206 233 229 220 234 229 223 234 229 223 234 229 223 234 229 224
++234 229 223 234 229 223 232 228 221 122 123 123 246 245 245 254 254 254 157 157 157 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 233 232 232 253 253 253 196 196 196
++206 202 198 231 227 218 232 228 219 231 227 218 232 228 219 233 229 220 233 229 220 232 228 221
++233 229 220 232 228 219 231 227 218 97 96 96 0 0 0 3 3 6 97 96 96 226 226 226
++213 211 211 134 134 133 97 96 96 157 157 157 233 232 232 253 253 253 254 254 254 246 245 245
++207 206 206 213 211 211 251 250 250 255 255 255 226 226 226 85 88 88 5 6 8 2 2 2
++0 0 0 179 179 176 229 225 217 223 218 211 234 229 223 234 229 223 234 229 224 234 229 224
++234 229 223 234 229 223 234 229 223 157 157 157 225 222 218 255 255 255 200 200 199 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 139 137 135 253 253 253 249 249 249 177 176 172
++223 218 211 231 227 218 232 228 219 232 228 219 232 228 219 233 229 220 232 228 221 232 228 221
++233 229 220 233 229 220 232 228 219 167 162 159 0 0 0 0 0 0 17 7 8 89 75 50
++124 73 40 150 99 58 150 99 58 128 86 51 105 88 81 182 182 182 237 237 237 255 255 255
++255 255 255 255 255 255 255 255 255 225 222 218 85 88 88 0 0 0 2 2 2 0 0 0
++115 110 108 206 202 198 162 160 159 203 196 190 234 229 223 234 229 224 234 229 224 234 229 224
++234 229 224 234 229 223 233 229 220 192 189 185 196 196 196 255 255 255 220 219 215 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 13 13 13 190 190 190 255 255 255 233 232 232 168 168 168
++230 225 217 232 228 219 232 228 219 232 228 219 232 228 219 234 229 223 234 229 223 232 228 221
++233 229 220 233 229 220 232 228 219 162 160 159 0 0 0 8 5 4 81 52 41 145 89 57
++157 101 56 157 101 56 157 101 56 157 101 56 150 99 58 128 86 51 115 110 108 190 190 190
++249 249 249 226 226 226 177 176 172 97 96 96 63 45 38 49 32 29 22 12 9 2 2 2
++97 96 96 134 119 113 126 96 80 214 212 206 234 229 224 234 229 223 234 229 223 234 229 224
++234 229 224 234 229 223 233 229 220 206 202 198 177 176 172 255 255 255 230 230 229 63 62 61
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 77 78 76 243 242 242 255 255 255 190 190 190 206 202 198
++231 227 218 232 228 219 232 228 219 233 229 220 233 229 220 234 229 223 234 228 221 233 229 220
++233 229 220 230 225 217 168 168 168 27 25 23 2 2 2 81 52 41 145 89 57 150 99 58
++157 101 56 157 101 56 158 101 56 159 102 57 158 101 56 158 101 58 150 99 58 107 75 50
++97 96 96 105 88 81 150 99 58 158 101 58 159 102 57 158 101 58 150 99 58 145 89 57
++150 99 58 158 101 58 154 142 136 229 225 217 234 229 224 234 229 223 234 229 224 234 229 224
++234 229 224 234 229 223 233 229 220 222 218 209 162 160 159 252 252 252 243 242 242 115 110 108
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 167 162 159 254 254 254 247 247 246 147 147 146 229 225 217
++232 228 219 233 229 220 232 228 219 233 229 220 233 229 220 234 229 223 233 229 220 233 229 220
++231 227 218 177 170 162 47 49 48 0 0 0 81 52 41 145 89 57 157 101 56 157 101 56
++157 101 56 158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 158 101 56 157 101 56
++137 86 52 107 75 50 150 99 58 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
++159 102 57 126 96 80 206 202 198 234 229 224 234 229 223 234 229 223 234 229 223 234 229 224
++234 229 224 234 229 223 234 229 223 229 225 217 168 168 168 246 245 245 246 245 245 134 134 133
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 26 28 29 216 216 216 255 255 255 216 216 216 177 170 162 232 228 219
++233 229 220 233 229 220 232 228 219 233 229 220 233 229 220 234 229 223 232 228 221 232 228 219
++179 179 176 39 42 42 0 0 0 63 45 38 137 86 52 157 101 56 157 101 56 158 101 56
++158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
++157 101 56 150 99 58 123 75 52 159 102 57 159 102 57 159 102 57 158 101 56 159 102 57
++137 86 52 177 170 162 234 228 221 234 229 223 234 229 224 234 229 223 234 229 224 234 229 224
++234 229 224 234 229 223 234 229 224 229 225 217 168 168 168 240 239 239 251 250 250 147 147 146
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 105 107 107 240 239 239 253 253 253 168 168 168 167 162 159 232 228 219
++232 228 219 232 228 219 233 229 220 233 229 220 233 229 220 232 228 221 232 228 219 192 189 185
++57 54 50 0 0 0 8 5 4 128 86 51 157 101 56 157 101 56 158 101 56 158 101 56
++158 101 56 158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
++159 102 57 159 102 57 150 99 58 150 99 58 159 102 57 159 102 57 159 102 57 158 101 58
++137 86 52 134 119 113 203 196 190 232 228 221 234 229 223 234 229 223 234 229 223 234 229 224
++234 229 223 234 229 223 234 229 224 231 227 218 177 176 172 237 237 237 252 252 252 157 157 157
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 13 13 13 157 157 157 251 250 250 243 242 242 122 123 123 122 123 123 232 228 219
++232 228 219 232 228 219 233 229 220 233 229 220 233 229 220 233 229 220 219 214 205 85 88 88
++3 3 6 2 2 2 22 12 9 145 89 57 157 101 56 157 101 56 158 101 56 158 101 56
++158 101 56 158 101 56 158 101 56 159 102 57 159 102 57 158 101 56 159 102 57 158 101 56
++159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
++159 102 57 157 101 56 126 96 80 203 196 190 234 229 223 234 229 224 234 229 224 234 229 224
++234 229 223 234 229 224 234 229 223 232 228 219 179 179 176 233 232 232 254 254 254 168 168 168
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 20 23 23 177 176 172 254 254 254 233 232 232 57 54 50 67 65 62 206 202 198
++232 228 219 232 228 221 232 228 221 233 229 220 233 229 220 233 229 220 192 189 185 0 0 0
++2 2 2 22 12 9 42 16 9 157 101 56 150 99 58 150 99 58 159 102 57 158 101 56
++158 101 56 158 101 56 159 102 57 158 101 56 159 102 57 159 102 57 159 102 57 159 102 57
++159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
++157 101 56 159 102 57 159 102 57 126 96 80 222 218 209 234 229 224 234 229 224 234 229 223
++234 229 223 234 229 223 234 229 223 232 228 219 182 182 182 230 230 229 255 255 255 182 182 182
++26 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 26 28 29 182 182 182 255 255 255 226 226 226 28 30 31 20 23 23 139 137 135
++226 222 213 234 229 223 234 229 223 233 229 220 233 229 220 233 229 220 134 131 128 0 0 0
++17 7 8 107 51 29 107 51 29 158 101 58 137 86 52 107 75 50 159 102 57 158 101 56
++157 101 56 157 101 56 157 101 56 158 101 56 158 101 56 159 102 57 159 102 57 159 102 57
++159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
++145 89 57 157 101 56 157 101 56 150 99 58 167 162 159 234 229 224 234 229 224 234 229 223
++234 229 223 234 229 223 234 229 224 232 228 221 179 179 176 220 219 215 255 255 255 196 196 196
++39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 26 28 29 182 182 182 255 255 255 230 230 229 39 42 42 10 11 13 33 33 31
++179 179 176 232 228 219 232 228 221 233 229 220 233 229 220 226 222 213 64 64 61 0 0 0
++107 51 29 178 79 39 147 67 29 137 86 52 137 86 52 107 51 29 150 99 58 158 101 56
++157 101 56 157 101 56 158 101 56 158 101 56 158 101 56 157 101 56 157 101 56 159 102 57
++158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 157 101 56 159 102 57
++137 86 52 150 99 58 157 101 56 128 86 51 119 117 113 225 222 218 234 229 224 234 229 223
++234 229 224 234 229 224 234 229 224 232 228 221 177 176 172 213 211 211 255 255 255 196 196 196
++39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 20 23 23 177 176 172 254 254 254 237 237 237 97 96 96 13 15 17 6 7 9
++60 59 58 192 189 185 233 229 220 233 229 220 233 229 220 206 202 198 17 18 16 81 44 20
++170 77 39 182 81 37 174 79 37 107 75 50 148 72 46 158 73 41 123 75 52 157 101 56
++157 101 56 128 86 51 145 89 57 158 101 56 157 101 56 157 101 56 150 99 58 158 101 58
++159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 128 86 51 159 102 57
++137 86 52 150 99 58 145 89 57 145 89 57 157 157 157 214 212 206 234 229 223 232 228 221
++234 229 224 234 229 224 234 229 224 223 218 211 97 96 96 207 206 206 255 255 255 200 200 199
++47 49 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 122 123 123 243 242 242 253 253 253 182 182 182 39 42 42 9 10 12
++7 10 12 69 73 72 134 131 128 134 131 128 139 137 135 122 123 123 81 44 20 166 76 38
++180 81 37 182 81 37 182 81 38 147 67 29 138 69 38 174 79 37 138 69 38 123 75 52
++150 99 58 150 99 58 81 52 41 128 86 51 157 101 56 150 99 58 128 86 51 157 101 56
++159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 123 75 52 159 102 57
++128 86 51 150 99 58 128 86 51 137 86 52 139 137 135 232 228 219 233 229 220 234 229 223
++234 229 224 234 229 223 230 225 217 134 131 128 64 64 61 226 226 226 255 255 255 200 200 199
++39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 196 196 196 254 254 254 248 248 248 134 131 128 0 0 0
++9 10 12 49 32 29 129 59 33 138 69 38 129 59 33 81 44 20 138 69 38 179 80 38
++179 80 38 179 81 36 176 79 38 166 76 38 147 67 29 147 67 29 147 67 29 129 59 33
++107 51 29 124 73 40 107 75 50 49 32 29 128 86 51 150 99 58 107 75 50 150 99 58
++159 102 57 159 102 57 159 102 57 158 101 56 159 102 57 158 101 58 107 75 50 157 101 56
++128 86 51 150 99 58 128 86 51 107 75 50 63 62 61 203 196 190 232 228 219 234 229 224
++234 229 224 225 221 213 147 147 146 39 42 42 168 168 168 251 250 250 251 250 250 157 157 157
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 77 78 76 226 226 226 255 255 255 233 232 232 105 107 107
++2 2 2 5 6 8 49 32 29 107 51 29 159 71 30 172 77 34 179 80 38 179 79 37
++175 79 35 158 73 41 107 51 29 81 44 20 81 44 20 107 51 29 107 51 29 81 44 20
++81 44 20 107 51 29 147 67 29 158 73 41 129 59 33 137 86 52 123 75 52 123 75 52
++159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 145 89 57 107 75 50 145 89 57
++123 75 52 137 86 52 107 75 50 107 51 29 24 7 0 134 131 128 230 225 217 234 229 224
++214 212 206 122 123 123 0 0 0 157 157 157 247 247 246 255 255 255 216 216 216 64 64 61
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 134 131 128 246 245 245 254 254 254 216 216 216
++84 81 78 8 8 9 42 16 9 138 69 38 176 79 38 180 81 37 180 81 37 179 81 36
++147 67 29 81 44 20 107 51 29 124 73 40 124 73 40 138 69 38 138 69 38 138 69 38
++124 73 40 107 51 29 81 44 20 166 76 38 176 79 38 124 73 40 137 73 51 138 69 38
++150 99 58 159 102 57 159 102 57 159 102 57 159 102 57 128 86 51 123 75 52 124 73 40
++137 73 51 81 52 41 138 69 38 170 77 39 129 59 33 28 30 31 214 212 206 177 176 172
++77 78 76 13 15 17 134 131 128 245 244 244 255 255 255 233 232 232 85 88 88 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 230 230 229 255 255 255 254 254 254
++168 168 168 49 32 29 138 69 38 179 81 40 179 80 38 182 81 37 182 81 38 158 73 41
++81 44 20 107 51 29 107 51 29 107 51 29 81 44 20 81 44 20 81 44 20 107 51 29
++124 73 40 138 69 38 107 51 29 107 51 29 166 76 38 158 73 41 138 69 38 158 73 41
++137 86 52 159 102 57 159 102 57 158 101 58 145 89 57 129 59 33 107 51 29 158 73 41
++129 59 33 129 59 33 182 81 38 179 79 37 166 76 38 81 44 20 62 61 58 0 0 0
++0 0 0 119 117 113 233 232 232 255 255 255 237 237 237 134 131 128 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++33 33 31 77 78 76 115 110 108 190 190 190 243 242 242 255 255 255 253 253 253 200 200 199
++85 88 88 138 69 38 179 79 37 179 81 36 180 81 37 182 81 38 170 77 39 81 44 20
++124 73 40 138 69 38 138 69 38 138 69 38 138 69 38 124 73 40 107 51 29 49 32 29
++49 32 29 81 44 20 107 51 29 107 51 29 107 51 29 178 79 39 174 79 37 170 77 39
++137 86 52 159 102 57 158 101 56 145 89 57 107 51 29 81 44 20 49 32 29 81 44 20
++42 16 9 81 44 20 138 69 38 176 79 38 179 80 38 107 51 29 8 5 4 0 0 0
++105 107 107 233 232 232 255 255 255 247 247 246 147 147 146 13 13 13 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
++213 211 211 251 250 250 254 254 254 255 255 255 254 254 254 240 239 239 168 168 168 63 45 38
++129 59 33 179 80 38 179 81 36 180 81 37 180 81 37 180 81 37 129 59 33 107 51 29
++138 69 38 138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 138 69 38 138 69 38
++124 73 40 81 44 20 49 32 29 81 44 20 49 32 29 158 73 41 182 81 38 170 77 39
++137 86 52 157 101 56 145 89 57 63 45 38 37 34 30 62 61 58 69 68 64 69 68 64
++69 68 64 64 63 59 51 47 44 81 52 41 158 73 41 147 67 29 27 25 23 122 123 123
++233 232 232 255 255 255 245 244 244 147 147 146 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 182 182 182
++255 255 255 255 255 255 254 254 254 237 237 237 190 190 190 115 110 108 81 44 20 147 67 29
++178 79 39 179 81 36 180 81 37 179 80 38 179 81 36 174 79 37 81 44 20 124 73 40
++138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 148 72 46 148 72 46 137 73 51
++138 69 38 137 73 51 138 69 38 124 73 40 124 73 40 107 51 29 179 81 40 166 76 38
++137 86 52 123 75 52 51 47 32 52 51 50 69 68 64 77 78 76 77 78 76 77 78 76
++77 78 76 77 78 76 69 73 72 64 64 61 81 52 41 129 59 33 119 117 113 237 237 237
++255 255 255 246 245 245 157 157 157 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 207 206 206
++255 255 255 254 254 254 213 211 211 97 96 96 60 59 58 138 69 38 170 77 39 174 79 37
++176 79 38 176 79 38 179 79 37 179 80 38 179 80 38 147 67 29 81 44 20 138 69 38
++138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 137 73 51 123 75 52 107 75 50
++89 75 50 107 75 50 124 73 40 138 69 38 137 73 51 81 44 20 174 79 37 138 69 38
++107 51 29 81 44 20 57 54 50 69 68 64 69 68 64 84 81 78 84 81 78 85 88 88
++97 96 96 97 96 96 84 81 78 77 78 76 69 68 64 49 32 29 139 137 135 255 255 255
++253 253 253 157 157 157 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 157 157 157
++251 250 250 255 255 255 251 250 250 216 216 216 179 179 176 147 147 146 134 119 113 107 75 50
++107 51 29 166 76 38 179 79 37 179 80 38 179 81 40 107 51 29 107 51 29 138 69 38
++138 69 38 138 69 38 138 69 38 124 73 40 107 51 29 49 32 29 84 81 78 157 157 157
++162 160 159 147 147 146 95 84 79 138 69 38 138 69 38 107 51 29 166 76 38 170 77 39
++158 73 41 63 45 38 69 68 64 69 68 64 77 78 76 84 81 78 95 84 79 97 96 96
++105 107 107 97 96 96 97 96 96 77 78 76 69 73 72 60 59 58 84 81 78 248 248 248
++254 254 254 147 147 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50
++168 168 168 240 239 239 254 254 254 255 255 255 254 254 254 248 248 248 225 222 218 84 81 78
++147 67 29 179 80 38 179 79 37 179 80 38 179 80 38 107 51 29 129 59 33 138 69 38
++138 69 38 107 51 29 81 44 20 42 16 9 2 2 2 7 9 9 119 117 113 177 170 162
++168 168 168 177 170 162 134 119 113 138 69 38 138 69 38 107 51 29 138 69 38 158 73 41
++138 69 38 57 54 50 68 67 63 69 68 64 77 78 76 84 81 78 95 84 79 97 96 96
++105 107 107 105 107 107 105 107 107 84 81 78 77 78 76 69 73 72 67 67 66 225 222 218
++255 255 255 233 232 232 139 137 135 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 69 73 72 168 168 168 245 244 244 255 255 255 248 248 248 134 134 133 107 51 29
++158 73 41 174 79 37 180 81 37 179 80 38 179 81 40 129 59 33 107 51 29 138 69 38
++138 69 38 138 69 38 107 51 29 42 16 9 0 0 0 69 73 72 157 157 157 167 162 159
++167 162 159 167 162 159 154 142 136 138 69 38 138 69 38 81 44 20 107 51 29 107 51 29
++49 32 29 60 59 58 64 63 59 69 68 64 69 73 72 77 78 76 85 88 88 97 96 96
++115 110 108 115 110 108 115 110 108 97 96 96 77 78 76 69 73 72 52 51 50 162 160 159
++248 248 248 255 255 255 243 242 242 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 97 96 96 200 200 199 251 250 250 252 252 252 182 182 182 51 47 32 138 69 38
++170 77 39 179 80 38 179 79 37 179 79 37 179 80 38 158 73 41 81 44 20 138 69 38
++138 69 38 138 69 38 138 69 38 124 73 40 89 68 66 147 147 146 167 162 159 167 162 159
++167 162 159 168 168 168 154 142 136 138 69 38 124 73 40 81 44 20 178 79 39 179 80 38
++107 51 29 60 59 58 64 63 59 69 68 64 69 73 72 69 73 72 84 81 78 97 96 96
++105 107 107 115 110 108 115 110 108 105 107 107 84 81 78 69 73 72 52 51 50 54 58 58
++182 182 182 254 254 254 255 255 255 134 131 128 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13
++134 131 128 237 237 237 253 253 253 254 254 254 213 211 211 89 68 66 147 67 29 173 77 35
++179 81 36 179 80 38 179 79 37 179 80 38 179 79 37 178 79 39 107 51 29 124 73 40
++138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 134 119 113 154 142 136 162 160 159
++154 142 136 134 119 113 137 86 52 138 69 38 107 51 29 129 59 33 180 81 37 180 81 37
++138 69 38 57 54 50 64 63 61 67 65 62 69 73 72 69 73 72 77 78 76 85 88 88
++105 107 107 115 110 108 115 110 108 105 107 107 85 88 88 77 78 76 60 59 58 162 160 159
++246 245 245 255 255 255 251 250 250 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
++230 230 229 255 255 255 252 252 252 207 206 206 126 96 80 159 71 30 174 79 37 179 79 37
++176 79 38 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 158 73 41 81 44 20
++124 73 40 138 69 38 138 69 38 138 69 38 138 69 38 138 69 38 138 69 38 137 73 51
++138 69 38 138 69 38 138 69 38 124 73 40 49 32 29 129 59 33 147 67 29 159 71 30
++138 69 38 57 54 50 64 63 59 64 63 59 67 67 66 69 73 72 77 78 76 85 88 88
++97 96 96 97 96 96 105 107 107 97 96 96 84 81 78 77 78 76 62 61 58 168 168 168
++254 254 254 255 255 255 237 237 237 134 134 133 39 42 42 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123
++251 250 250 251 250 250 167 162 159 123 75 52 170 77 39 175 79 35 175 79 35 176 79 38
++179 81 40 179 80 38 179 80 38 179 81 40 179 81 40 179 81 40 178 79 39 138 69 38
++81 44 20 124 73 40 138 69 38 137 73 51 137 73 51 137 86 52 126 96 80 166 113 90
++134 119 113 146 134 128 134 119 113 63 45 38 8 5 4 8 5 4 17 7 8 42 16 9
++49 32 29 33 33 31 65 64 60 63 62 61 64 63 61 69 68 64 69 73 72 77 78 76
++85 88 88 85 88 88 97 96 96 84 81 78 69 73 72 69 68 64 51 47 32 126 96 80
++214 212 206 254 254 254 255 255 255 245 244 244 190 190 190 52 51 50 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 117 113
++246 245 245 253 253 253 207 206 206 126 96 80 159 71 30 176 79 38 176 79 38 179 79 37
++179 80 38 179 80 38 179 80 38 182 87 48 197 182 169 182 149 133 182 149 133 182 149 133
++146 134 128 95 84 79 126 96 80 146 134 128 157 157 157 167 162 159 167 162 159 167 162 159
++167 162 159 157 157 157 115 110 108 167 162 159 97 96 96 0 0 0 3 3 6 2 2 2
++64 63 61 119 117 113 52 51 50 64 63 59 63 62 61 64 63 61 69 68 64 69 73 72
++77 78 76 77 78 76 77 78 76 69 68 64 69 68 64 60 59 58 107 51 29 170 77 39
++148 72 46 192 189 185 246 245 245 255 255 255 245 244 244 119 117 113 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 61
++200 200 199 254 254 254 254 254 254 216 216 216 115 110 108 147 67 29 174 79 37 179 81 36
++179 80 38 179 80 38 179 79 37 179 81 40 182 149 133 226 220 210 232 225 217 232 225 217
++230 225 217 206 202 198 167 162 159 122 123 123 105 107 107 119 117 113 134 131 128 134 131 128
++119 117 113 134 131 128 203 196 190 233 229 220 203 196 190 85 88 88 0 0 0 69 68 64
++182 182 182 223 218 211 134 131 128 47 49 48 64 64 61 64 63 61 64 63 61 67 65 62
++67 65 62 67 65 62 64 63 61 64 63 59 60 59 58 81 52 41 170 77 39 176 79 38
++147 67 29 107 75 50 196 196 196 253 253 253 251 250 250 122 123 123 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++69 73 72 200 200 199 251 250 250 254 254 254 237 237 237 139 137 135 124 73 40 166 76 38
++176 79 38 179 79 37 179 80 38 179 80 38 179 81 40 182 149 133 230 223 213 232 225 217
++231 227 218 231 227 218 230 225 217 226 220 210 203 196 190 167 162 159 147 147 146 147 147 146
++179 179 176 225 221 213 233 229 220 233 229 220 233 229 220 214 212 206 147 147 146 207 206 206
++231 227 218 232 228 219 220 215 207 122 123 123 64 64 61 66 65 61 67 66 62 67 66 62
++65 64 60 64 63 59 64 64 61 60 59 58 81 52 41 166 76 38 179 81 40 182 81 38
++129 59 33 139 137 135 240 239 239 254 254 254 255 255 255 226 226 226 85 88 88 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 26 28 29 168 168 168 243 242 242 255 255 255 246 245 245 177 176 172 89 68 66
++129 59 33 166 76 38 176 79 38 179 79 37 179 79 37 176 79 38 182 149 133 226 220 210
++232 228 219 232 228 219 232 228 219 232 228 219 233 229 220 233 229 220 231 227 218 182 182 182
++157 157 157 219 214 205 234 229 223 233 229 220 233 229 220 220 215 207 192 189 185 233 229 220
++233 229 220 234 229 223 229 225 217 177 176 172 147 147 146 134 131 128 85 88 88 52 51 50
++39 42 42 47 49 48 97 96 96 147 147 146 182 149 133 166 113 90 182 87 48 182 81 38
++182 81 38 166 76 38 154 142 136 216 216 216 251 250 250 255 255 255 213 211 211 39 42 42
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 26 28 29 122 123 123 230 230 229 255 255 255 251 250 250 216 216 216
++139 137 135 81 52 41 107 51 29 129 59 33 138 69 38 147 67 29 182 149 133 226 220 210
++232 228 219 232 228 219 233 229 220 233 229 220 232 228 219 233 229 220 231 227 218 226 222 213
++214 212 206 177 176 172 168 168 168 179 179 176 167 162 159 139 137 135 157 157 157 147 147 146
++203 196 190 206 202 198 167 162 159 177 170 162 214 212 206 226 222 213 220 215 207 206 202 198
++203 196 190 206 202 198 220 215 207 232 228 221 234 228 221 220 209 198 182 149 133 182 81 37
++182 81 38 182 81 37 175 79 35 150 99 58 182 182 182 253 253 253 237 237 237 97 96 96
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 13 13 13 122 123 123 213 211 211 233 232 232 253 253 253 255 255 255 255 255 255
++252 252 252 233 232 232 207 206 206 182 182 182 105 107 107 126 96 80 203 196 190 223 218 211
++231 227 218 232 228 219 232 228 219 232 228 219 233 229 220 232 228 219 233 229 220 232 228 219
++232 228 219 231 227 218 222 218 209 162 160 159 179 179 176 206 202 198 203 196 190 182 182 182
++134 131 128 179 179 176 214 212 206 230 223 213 231 227 218 232 228 219 233 229 220 234 229 223
++234 228 221 232 228 221 234 229 223 234 228 221 220 209 198 182 149 133 182 87 48 182 81 37
++170 77 39 166 76 38 148 72 46 134 119 113 230 230 229 255 255 255 226 226 226 67 67 66
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 64 64 61 226 226 226 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
++255 255 255 255 255 255 255 255 255 233 232 232 84 81 78 105 88 81 97 96 96 147 147 146
++229 225 217 232 228 219 233 229 220 232 228 219 233 229 220 232 228 219 233 229 220 234 229 223
++232 228 221 233 229 220 232 228 219 225 221 213 226 222 213 229 225 217 230 223 213 226 220 210
++214 212 206 226 222 213 229 225 217 232 228 219 233 229 220 233 229 220 233 229 220 234 229 223
++234 229 223 233 229 220 230 223 213 197 182 169 166 113 90 179 79 34 182 81 38 182 81 38
++129 59 33 89 68 66 190 190 190 240 239 239 255 255 255 246 245 245 147 147 146 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 85 88 88 245 244 244 255 255 255 230 230 229 254 253 253 255 255 255 255 255 255
++255 255 255 255 255 255 255 255 255 233 232 232 207 206 206 226 226 226 237 237 237 190 190 190
++206 202 198 230 225 217 232 228 219 232 228 219 233 229 220 233 229 220 233 229 220 234 229 223
++232 228 221 233 229 220 231 227 218 230 225 217 229 225 217 229 225 217 226 222 213 229 225 217
++226 222 213 230 225 217 231 227 218 233 229 220 233 229 220 233 229 220 233 229 220 232 225 217
++220 209 198 197 182 169 166 113 90 182 87 48 174 79 37 174 79 37 166 76 38 147 67 29
++107 51 29 60 59 58 182 182 182 252 252 252 252 252 252 162 160 159 20 23 23 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 63 62 61 226 226 226 255 255 255 200 200 199 207 206 206 253 253 253 255 255 255
++255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 252 252 252 182 182 182
++119 117 113 219 214 205 220 215 207 232 228 219 233 229 220 234 229 223 234 229 223 234 229 223
++234 229 223 234 229 223 233 229 220 232 228 219 231 227 218 232 228 219 232 228 219 231 227 218
++230 225 217 231 227 218 232 228 219 233 229 220 234 228 221 233 229 220 233 229 220 221 217 205
++166 113 90 147 67 29 166 76 38 138 69 38 107 51 29 81 52 41 122 123 123 157 157 157
++182 182 182 207 206 206 237 237 237 254 254 254 237 237 237 97 96 96 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 33 33 31 190 190 190 255 255 255 237 237 237 134 131 128 168 168 168 237 237 237
++254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 249 249 249 182 182 182 105 88 81
++68 65 63 157 157 157 147 147 146 231 227 218 233 229 220 233 229 220 234 229 223 232 228 221
++234 229 223 234 229 224 234 229 224 234 229 223 232 228 219 233 229 220 233 229 220 232 228 219
++231 227 218 231 227 218 231 227 218 232 228 221 230 223 213 203 196 190 182 149 133 166 113 90
++158 101 58 138 69 38 81 44 20 81 44 20 49 32 29 60 59 58 220 219 215 251 250 250
++255 255 255 255 255 255 255 255 255 249 249 249 177 176 172 33 33 31 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 134 134 133 246 245 245 253 253 253 179 179 176 137 86 52 126 96 80
++167 162 159 206 202 198 216 216 216 213 211 211 192 189 185 134 119 113 123 75 52 123 75 52
++107 75 50 57 54 50 51 47 44 206 202 198 232 228 219 232 228 219 232 228 219 232 228 221
++234 229 223 234 229 224 234 229 224 234 229 223 233 229 220 233 229 220 233 229 220 231 227 218
++232 228 219 232 228 219 231 227 218 225 221 213 119 117 113 134 131 128 177 176 172 196 196 196
++168 168 168 139 137 135 168 168 168 230 230 229 237 237 237 245 244 244 254 254 254 253 253 253
++233 232 232 213 211 211 190 190 190 119 117 113 13 13 13 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 64 64 61 220 219 215 255 255 255 240 239 239 134 131 128 128 86 51
++137 86 52 124 73 40 124 73 40 124 73 40 124 73 40 137 86 52 137 86 52 137 86 52
++128 86 51 81 52 41 81 52 41 139 137 135 229 225 217 230 225 217 232 228 219 232 228 219
++234 229 223 234 229 223 233 229 220 233 229 220 233 229 220 232 228 219 232 228 219 232 228 219
++231 227 218 231 227 218 231 227 218 230 223 213 122 123 123 251 250 250 255 255 255 255 255 255
++255 255 255 253 253 253 247 247 246 254 254 254 255 255 255 255 255 255 251 250 250 207 206 206
++85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 119 117 113 248 248 248 255 255 255 233 232 232 115 110 108
++123 75 52 137 86 52 150 99 58 150 99 58 137 86 52 128 86 51 145 89 57 137 86 52
++150 99 58 107 75 50 128 86 51 77 78 76 206 202 198 232 228 219 231 227 218 231 227 218
++232 228 219 232 228 221 233 229 220 233 229 220 233 229 220 233 229 220 233 229 220 233 229 220
++232 228 219 231 227 218 206 202 198 226 220 210 139 137 135 248 248 248 255 255 255 233 232 232
++237 237 237 246 245 245 251 250 250 246 245 245 182 182 182 168 168 168 119 117 113 54 58 58
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 177 176 172 247 247 246 255 255 255 233 232 232
++157 157 157 126 96 80 128 86 51 123 75 52 128 86 51 145 89 57 145 89 57 157 101 56
++137 86 52 107 75 50 123 75 52 51 47 32 167 162 159 229 225 217 232 228 219 232 228 219
++232 228 219 232 228 219 232 228 219 231 227 218 232 228 219 232 228 219 232 228 219 232 228 219
++232 228 219 231 227 218 134 134 133 134 131 128 134 134 133 240 239 239 254 254 254 162 160 159
++0 0 0 97 96 96 139 137 135 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 39 42 42 177 176 172 251 250 250 255 255 255
++247 247 246 179 179 176 107 75 50 150 99 58 150 99 58 150 99 58 157 101 56 145 89 57
++81 52 41 123 75 52 107 75 50 107 75 50 97 96 96 223 218 211 232 228 219 232 228 219
++231 227 218 232 228 219 232 228 219 232 228 219 232 228 219 232 228 219 232 228 219 233 229 220
++232 228 219 232 228 219 203 196 190 196 196 196 243 242 242 252 252 252 254 254 254 147 147 146
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 77 78 76 216 216 216 254 254 254 251 250 250
++200 200 199 123 75 52 123 75 52 150 99 58 150 99 58 157 101 56 145 89 57 107 75 50
++137 86 52 137 86 52 137 86 52 128 86 51 81 44 20 192 189 185 231 227 218 231 227 218
++233 229 220 232 228 219 232 228 219 231 227 218 232 228 219 232 228 219 231 227 218 231 227 218
++232 228 219 233 229 220 225 221 213 177 176 172 246 245 245 255 255 255 243 242 242 115 110 108
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 20 23 23 200 200 199 254 254 254 252 252 252 192 189 185
++126 96 80 128 86 51 150 99 58 150 99 58 157 101 56 150 99 58 107 75 50 137 86 52
++137 86 52 145 89 57 150 99 58 137 86 52 49 32 29 122 123 123 225 221 213 231 227 218
++231 227 218 230 225 217 231 227 218 232 228 219 231 227 218 231 227 218 233 229 220 233 229 220
++233 229 220 233 229 220 233 229 220 192 189 185 196 196 196 255 255 255 255 255 255 237 237 237
++168 168 168 119 117 113 39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 168 168 168 252 252 252 254 254 254 190 190 190 128 86 51
++128 86 51 150 99 58 150 99 58 157 101 56 150 99 58 107 75 50 123 75 52 128 86 51
++150 99 58 157 101 56 145 89 57 107 75 50 81 52 41 60 59 58 203 196 190 229 225 217
++229 225 217 229 225 217 230 225 217 231 227 218 232 228 219 232 228 219 233 229 220 232 228 219
++233 229 220 234 229 223 234 229 223 232 228 221 147 147 146 196 196 196 248 248 248 255 255 255
++251 250 250 247 247 246 230 230 229 182 182 182 105 107 107 52 51 50 20 23 23 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 105 107 107 237 237 237 255 255 255 216 216 216 126 96 80 128 86 51
++150 99 58 157 101 56 157 101 56 150 99 58 107 75 50 88 74 36 128 86 51 145 89 57
++150 99 58 145 89 57 128 86 51 107 75 50 107 75 50 51 47 32 177 170 162 229 225 217
++230 225 217 230 225 217 230 225 217 231 227 218 232 228 219 233 229 220 232 228 219 233 229 220
++233 229 220 234 229 223 234 229 224 234 229 224 229 225 217 182 182 182 168 168 168 216 216 216
++243 242 242 253 253 253 255 255 255 255 255 255 248 248 248 213 211 211 177 176 172 157 157 157
++139 137 135 105 107 107 64 64 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 39 42 42 190 190 190 254 254 254 243 242 242 146 134 128 128 86 51 145 89 57
++158 101 56 150 99 58 150 99 58 88 74 36 63 45 38 107 75 50 150 99 58 145 89 57
++150 99 58 137 86 52 137 86 52 107 75 50 88 74 36 97 96 96 214 212 206 229 225 217
++230 225 217 230 225 217 230 225 217 231 227 218 231 227 218 233 229 220 232 228 219 233 229 220
++234 229 223 234 229 223 234 229 223 234 229 223 234 229 224 234 229 224 222 218 209 182 182 182
++139 137 135 147 147 146 196 196 196 240 239 239 254 254 254 255 255 255 254 254 254 251 250 250
++246 245 245 240 239 239 233 232 232 200 200 199 139 137 135 52 51 50 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 64 64 61 230 230 229 255 255 255 206 202 198 128 86 51 123 75 52 158 101 56
++157 101 56 150 99 58 107 75 50 63 45 38 107 75 50 150 99 58 145 89 57 150 99 58
++145 89 57 145 89 57 123 75 52 107 75 50 97 96 96 206 202 198 229 225 217 229 225 217
++230 225 217 231 227 218 231 227 218 231 227 218 232 228 219 233 229 220 233 229 220 233 229 220
++232 228 221 234 229 224 234 229 223 234 229 223 234 229 224 234 229 224 234 229 223 234 229 223
++192 189 185 60 59 58 46 53 56 85 88 88 162 160 159 216 216 216 233 232 232 240 239 239
++246 245 245 251 250 250 255 255 255 255 255 255 253 253 253 225 222 218 147 147 146 60 59 58
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 97 96 96 249 249 249 254 254 254 154 142 136 124 73 40 150 99 58 157 101 56
++150 99 58 145 89 57 81 52 41 107 75 50 137 86 52 145 89 57 128 86 51 150 99 58
++137 86 52 145 89 57 81 52 41 115 110 108 206 202 198 229 225 217 229 225 217 229 225 217
++230 225 217 231 227 218 230 225 217 231 227 218 232 228 219 232 228 219 232 228 219 233 229 220
++233 229 220 234 229 223 234 229 224 234 229 224 234 229 223 234 229 224 234 229 224 232 228 221
++157 157 157 34 41 43 33 38 41 38 46 48 28 35 38 46 53 56 85 88 88 119 117 113
++134 134 133 157 157 157 192 189 185 226 226 226 253 253 253 255 255 255 251 250 250 207 206 206
++105 107 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 134 134 133 255 255 255 247 247 246 105 88 81 128 86 51 150 99 58 157 101 56
++150 99 58 107 75 50 81 52 41 128 86 51 145 89 57 123 75 52 150 99 58 137 86 52
++137 86 52 107 75 50 105 107 107 214 212 206 231 227 218 230 225 217 229 225 217 230 225 217
++231 227 218 231 227 218 231 227 218 231 227 218 231 227 218 231 227 218 231 227 218 233 229 220
++233 229 220 232 228 221 234 229 223 234 229 224 234 229 224 234 229 223 234 229 224 222 218 209
++105 107 107 28 35 38 28 35 38 33 38 41 28 35 38 34 41 43 33 38 41 34 41 43
++34 41 43 38 46 48 54 58 58 85 88 88 147 147 146 226 226 226 252 252 252 254 254 254
++230 230 229 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 134 134 133 255 255 255 245 244 244 89 68 66 128 86 51 157 101 56 150 99 58
++137 86 52 63 45 38 123 75 52 137 86 52 137 86 52 128 86 51 137 86 52 128 86 51
++88 74 36 122 123 123 214 212 206 232 228 219 231 227 218 230 225 217 230 225 217 231 227 218
++231 227 218 231 227 218 231 227 218 231 227 218 230 225 217 231 227 218 232 228 219 233 229 220
++233 229 220 232 228 221 234 229 223 234 229 223 234 229 223 234 229 223 234 229 223 179 179 176
++33 38 41 29 32 34 28 35 38 33 38 41 33 38 41 33 38 41 28 35 38 33 38 41
++33 38 41 34 41 43 34 41 43 34 41 43 42 49 51 77 78 76 182 182 182 247 247 246
++254 254 254 213 211 211 77 78 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 119 117 113 255 255 255 251 250 250 105 88 81 124 73 40 157 101 56 150 99 58
++107 75 50 88 74 36 128 86 51 128 86 51 128 86 51 137 86 52 123 75 52 81 44 20
++119 117 113 219 214 205 231 227 218 231 227 218 230 225 217 229 225 217 230 225 217 231 227 218
++231 227 218 231 227 218 231 227 218 229 225 217 230 225 217 231 227 218 231 227 218 232 228 219
++232 228 219 233 229 220 232 228 221 234 229 223 234 229 223 234 229 223 214 212 206 77 78 76
++23 27 31 25 30 33 28 35 38 33 38 41 33 38 41 28 35 38 33 38 41 33 38 41
++33 38 41 38 46 48 38 46 48 34 41 43 42 49 51 54 58 58 69 73 72 182 182 182
++252 252 252 254 254 254 196 196 196 39 42 42 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 97 96 96 251 250 250 254 254 254 134 131 128 124 73 40 157 101 56 145 89 57
++81 44 20 107 75 50 128 86 51 137 86 52 128 86 51 88 74 36 37 34 30 3 3 8
++162 160 159 233 229 220 231 227 218 230 225 217 230 225 217 229 225 217 230 225 217 231 227 218
++231 227 218 231 227 218 231 227 218 230 225 217 230 225 217 230 225 217 230 225 217 232 228 219
++232 228 219 233 229 220 234 229 223 234 229 223 233 229 220 223 218 211 119 117 113 28 35 38
++29 32 34 29 32 34 29 32 34 25 30 33 25 30 33 28 35 38 28 35 38 28 35 38
++34 41 43 38 46 48 38 46 48 38 46 48 42 49 51 46 53 56 54 58 58 64 67 67
++196 196 196 254 253 253 254 254 254 190 190 190 52 51 50 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 67 67 66 233 232 232 254 254 254 179 179 176 124 73 40 157 101 56 137 86 52
++63 45 38 107 75 50 137 86 52 137 86 52 81 52 41 27 25 23 20 24 26 14 18 20
++105 107 107 230 225 217 230 225 217 230 225 217 230 225 217 230 225 217 229 225 217 231 227 218
++231 227 218 230 225 217 230 225 217 229 225 217 229 225 217 229 225 217 231 227 218 231 227 218
++232 228 219 233 229 220 233 229 220 233 229 220 226 222 213 147 147 146 39 42 42 28 35 38
++29 32 34 25 30 33 25 30 33 21 25 29 25 30 33 29 32 34 28 35 38 28 35 38
++34 41 43 34 41 43 34 41 43 38 46 48 42 49 51 46 53 56 46 53 56 54 58 58
++85 88 88 207 206 206 254 254 254 251 250 250 168 168 168 26 28 29 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 52 51 50 207 206 206 255 255 255 207 206 206 124 73 40 150 99 58 123 75 52
++88 74 36 88 74 36 81 52 41 49 32 29 26 28 29 21 25 29 21 25 29 16 19 20
++60 59 58 203 196 190 230 225 217 230 225 217 231 227 218 230 225 217 229 225 217 230 225 217
++231 227 218 230 225 217 229 225 217 226 222 213 226 222 213 229 225 217 231 227 218 232 228 219
++231 227 218 233 229 220 232 228 219 222 218 209 139 137 135 33 38 41 25 30 33 29 32 34
++29 32 34 25 30 33 23 27 31 21 25 29 25 30 33 28 35 38 28 35 38 34 41 43
++33 38 41 33 38 41 34 41 43 38 46 48 42 49 51 46 53 56 42 49 51 46 53 56
++46 53 56 85 88 88 220 219 215 255 255 255 246 245 245 122 123 123 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 26 28 29 182 182 182 255 255 255 226 226 226 128 86 51 145 89 57 107 75 50
++49 32 29 27 25 23 13 17 18 20 23 23 20 24 26 20 24 26 20 23 23 16 19 20
++26 28 29 139 137 135 226 222 213 229 225 217 229 225 217 229 225 217 229 225 217 229 225 217
++229 225 217 229 225 217 226 222 213 226 222 213 226 222 213 229 225 217 231 227 218 231 227 218
++231 227 218 231 227 218 203 196 190 119 117 113 28 35 38 29 32 34 23 27 31 25 30 33
++25 30 33 28 35 38 29 32 34 25 30 33 25 30 33 28 35 38 33 38 41 34 41 43
++34 41 43 33 38 41 34 41 43 38 46 48 38 46 48 38 46 48 42 49 51 42 49 51
++46 53 56 46 53 56 105 107 107 233 232 232 255 255 255 237 237 237 105 107 107 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 13 13 13 168 168 168 253 253 253 233 232 232 126 96 80 128 86 51 49 32 29
++21 25 29 21 25 29 16 22 26 16 19 20 16 19 20 16 19 20 16 19 20 16 19 20
++16 22 26 52 51 50 167 162 159 226 222 213 229 225 217 229 225 217 229 225 217 230 225 217
++229 225 217 229 225 217 229 225 217 226 222 213 225 221 213 229 225 217 230 225 217 230 225 217
++220 215 207 162 160 159 84 81 78 28 35 38 28 35 38 25 30 33 21 25 29 21 25 29
++23 27 31 25 30 33 29 32 34 29 32 34 23 27 31 29 32 34 28 35 38 33 38 41
++34 41 43 33 38 41 33 38 41 34 41 43 34 41 43 38 46 48 38 46 48 42 49 51
++46 53 56 46 53 56 46 53 56 139 137 135 243 242 242 254 254 254 220 219 215 84 81 78
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 162 160 159 252 252 252 237 237 237 134 119 113 88 74 36 16 22 26
++20 24 26 20 23 23 16 19 20 16 19 20 20 23 23 20 23 23 20 23 23 16 19 20
++14 18 20 20 23 23 29 32 34 134 131 128 203 196 190 226 220 210 230 225 217 230 225 217
++229 225 217 230 223 213 226 222 213 226 222 213 226 222 213 223 218 211 214 212 206 177 176 172
++85 88 88 28 35 38 29 32 34 23 27 31 21 25 29 20 24 26 23 27 31 21 25 29
++20 24 26 21 25 29 23 27 31 29 32 34 25 30 33 25 30 33 33 38 41 28 35 38
++33 38 41 33 38 41 28 35 38 33 38 41 34 41 43 38 46 48 38 46 48 38 46 48
++42 49 51 42 49 51 42 49 51 54 58 58 182 182 182 252 252 252 254 254 254 168 168 168
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 20 23 23 177 176 172 254 254 254 237 237 237 134 119 113 51 47 32 20 23 23
++16 19 20 16 19 20 14 18 20 16 19 20 20 23 23 14 18 20 20 23 23 20 23 23
++14 18 20 14 18 20 20 23 23 16 22 26 69 73 72 139 137 135 179 179 176 206 202 198
++220 215 207 223 218 211 220 215 207 203 196 190 177 170 162 134 134 133 85 88 88 14 18 20
++23 27 31 23 27 31 20 24 26 20 24 26 20 23 23 20 24 26 20 24 26 20 24 26
++16 22 26 20 24 26 23 27 31 25 30 33 25 30 33 28 35 38 28 35 38 29 32 34
++33 38 41 33 38 41 29 32 34 28 35 38 33 38 41 34 41 43 34 41 43 34 41 43
++42 49 51 42 49 51 42 49 51 46 53 56 85 88 88 213 211 211 255 255 255 246 245 245
++134 131 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 20 23 23 147 147 146 207 206 206 200 200 199 119 117 113
++39 42 42 47 49 48 190 190 190 255 255 255 237 237 237 105 88 81 33 33 31 20 24 26
++20 24 26 16 19 20 13 15 17 13 15 17 12 13 15 10 12 14 14 18 20 16 19 20
++13 17 18 14 18 20 20 23 23 20 23 23 20 24 26 20 24 26 47 49 48 63 62 61
++69 73 72 84 81 78 69 73 72 60 59 58 39 42 42 20 24 26 20 24 26 21 25 29
++16 22 26 20 23 23 20 23 23 16 19 20 12 15 17 13 15 17 13 15 17 13 15 17
++12 13 15 13 17 18 21 25 29 25 30 33 25 30 33 25 30 33 28 35 38 28 35 38
++28 35 38 33 38 41 29 32 34 25 30 33 29 32 34 34 41 43 38 46 48 42 49 51
++42 49 51 46 53 56 46 53 56 42 49 51 54 58 58 115 110 108 233 232 232 255 255 255
++230 230 229 97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 139 137 135 248 248 248 255 255 255 255 255 255 246 245 245
++196 196 196 192 189 185 243 242 242 255 255 255 213 211 211 51 47 32 26 28 29 20 23 23
++16 22 26 13 17 18 12 15 17 13 15 17 10 11 13 10 12 14 12 15 17 13 17 18
++13 15 17 12 13 15 12 15 17 13 17 18 13 15 17 12 13 15 16 19 20 14 18 20
++12 15 17 13 15 17 12 15 17 12 15 17 13 17 18 16 19 20 20 23 23 20 23 23
++13 17 18 14 18 20 13 15 17 10 12 14 12 13 15 14 18 20 14 18 20 13 17 18
++12 13 15 10 12 14 16 19 20 20 24 26 21 25 29 23 27 31 25 30 33 25 30 33
++25 30 33 29 32 34 25 30 33 29 32 34 28 35 38 33 38 41 42 49 51 42 49 51
++42 49 51 46 53 56 54 58 58 46 53 56 46 53 56 69 73 72 157 157 157 247 247 246
++254 254 254 207 206 206 54 58 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 182 182 182 253 253 253 245 244 244 243 242 242 254 254 254
++255 255 255 255 255 255 255 255 255 246 245 245 134 131 128 37 34 30 13 17 18 14 18 20
++14 18 20 13 15 17 12 13 15 12 13 15 9 10 12 9 10 12 10 11 13 10 12 14
++10 11 13 10 11 13 10 11 13 10 11 13 12 13 15 13 15 17 14 18 20 13 15 17
++9 10 12 9 10 12 8 9 11 8 9 11 9 10 12 10 11 13 10 11 13 12 13 14
++9 10 12 9 10 12 12 13 15 12 13 15 12 13 15 13 17 18 13 17 18 13 15 17
++12 13 15 10 12 14 13 15 17 13 17 18 16 19 20 20 23 23 20 24 26 23 27 31
++21 25 29 25 30 33 28 35 38 33 38 41 33 38 41 33 38 41 38 46 48 34 41 43
++38 46 48 42 49 51 54 58 58 54 58 58 46 53 56 46 53 56 64 67 67 182 182 182
++254 254 254 252 252 252 190 190 190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 157 157 157 251 250 250 249 249 249 167 162 159 192 189 185
++226 226 226 235 232 229 220 215 207 146 134 128 107 75 50 12 15 17 13 17 18 12 15 17
++10 11 13 9 10 12 9 10 12 7 8 10 7 8 10 7 9 9 8 9 11 7 8 10
++9 10 12 9 10 12 8 9 11 10 11 13 12 13 15 12 13 15 12 13 15 10 11 13
++8 8 9 7 8 10 7 8 10 7 8 10 8 9 11 8 8 9 8 8 9 8 9 11
++10 12 14 9 10 12 10 11 13 10 11 13 12 13 15 13 17 18 14 18 20 12 13 15
++10 11 13 10 11 13 10 11 13 12 13 15 13 17 18 16 19 20 20 23 23 20 24 26
++23 27 31 25 30 33 33 38 41 34 41 43 33 38 41 34 41 43 38 46 48 34 41 43
++38 46 48 38 46 48 42 49 51 42 49 51 42 49 51 42 49 51 46 53 56 64 67 67
++207 206 206 254 254 254 251 250 250 168 168 168 26 28 29 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 77 78 76 233 232 232 255 255 255 237 237 237 134 131 128
++123 75 52 126 96 80 128 86 51 145 89 57 51 47 32 13 17 18 16 19 20 13 15 17
++9 10 12 10 11 13 10 12 14 8 9 11 8 9 11 9 10 12 10 11 13 7 8 10
++8 9 11 10 12 14 9 10 12 12 13 15 13 15 17 10 11 13 8 9 11 7 8 10
++8 9 11 8 9 11 8 9 11 7 8 10 7 8 10 6 7 9 8 9 11 9 10 12
++9 10 12 9 10 12 9 10 12 9 10 12 10 12 14 13 17 18 13 15 17 10 12 14
++9 10 12 9 10 12 10 11 13 14 18 20 20 23 23 20 24 26 20 24 26 21 25 29
++25 30 33 25 30 33 28 35 38 28 35 38 33 38 41 38 46 48 42 49 51 38 46 48
++34 41 43 34 41 43 34 41 43 42 49 51 42 49 51 46 53 56 38 46 48 46 53 56
++97 96 96 220 219 215 254 254 254 245 244 244 147 147 146 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 134 131 128 246 245 245 255 255 255 243 242 242
++179 179 176 107 75 50 128 86 51 107 75 50 20 20 21 12 13 15 16 19 20 12 13 15
++12 13 15 13 15 17 10 11 13 9 10 12 8 9 11 10 12 14 12 13 15 10 11 13
++8 9 11 8 9 11 8 8 9 8 8 9 8 8 9 8 8 9 7 8 10 8 9 11
++7 8 10 7 8 10 6 7 9 6 7 9 7 8 10 6 7 9 8 9 11 9 10 12
++10 11 13 10 11 13 13 13 13 17 18 16 13 15 17 13 15 17 10 12 14 10 11 13
++9 10 12 9 10 12 10 11 13 20 20 21 20 23 23 25 30 33 21 25 29 23 27 31
++25 30 33 25 30 33 25 30 33 25 30 33 29 32 34 33 38 41 34 41 43 33 38 41
++33 38 41 33 38 41 34 41 43 38 46 48 42 49 51 46 53 56 42 49 51 38 46 48
++46 53 56 119 117 113 237 237 237 255 255 255 245 244 244 134 134 133 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 243 242 242 255 255 255 243 242 242
++177 170 162 150 99 58 128 86 51 63 45 38 10 11 13 10 11 13 12 13 15 13 15 17
++16 19 20 16 19 20 12 15 17 8 9 11 9 10 12 10 12 14 13 15 17 12 13 15
++12 13 14 9 10 12 8 9 11 8 9 11 6 7 9 8 9 11 6 7 9 3 3 8
++3 3 8 3 3 8 7 10 12 3 3 6 4 4 14 13 15 17 13 17 18 16 22 26
++16 19 20 20 23 23 137 105 55 108 90 44 20 24 26 21 25 29 20 23 23 16 19 20
++9 10 12 10 11 13 10 12 14 12 13 15 13 17 18 20 24 26 23 27 31 23 27 31
++25 30 33 23 27 31 23 27 31 23 27 31 21 25 29 23 27 31 29 32 34 28 35 38
++28 35 38 29 32 34 28 35 38 28 35 38 38 46 48 46 53 56 42 49 51 38 46 48
++42 49 51 46 53 56 122 123 123 237 237 237 255 255 255 237 237 237 119 117 113 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 33 33 31 225 222 218 255 255 255 237 237 237 154 142 136
++137 86 52 128 86 51 107 75 50 27 25 23 8 9 11 13 15 17 13 17 18 12 13 15
++16 19 20 14 18 20 13 17 18 12 13 15 17 18 16 17 18 16 13 15 17 14 18 20
++27 25 23 20 20 21 27 25 23 37 34 30 27 25 23 16 19 20 88 74 36 122 100 50
++122 100 50 122 100 50 81 52 41 200 163 79 200 163 79 189 156 74 16 22 26 23 27 31
++23 27 31 37 34 30 223 182 84 152 111 60 21 25 29 21 25 29 16 22 26 16 19 20
++12 13 15 10 12 14 10 11 13 10 11 13 13 17 18 16 19 20 20 23 23 20 24 26
++25 30 33 23 27 31 23 27 31 25 30 33 23 27 31 21 25 29 25 30 33 29 32 34
++29 32 34 25 30 33 29 32 34 29 32 34 38 46 48 42 49 51 38 46 48 38 46 48
++42 49 51 42 49 51 46 53 56 139 137 135 243 242 242 255 255 255 233 232 232 122 123 123
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 122 123 123 248 248 248 252 252 252 167 162 159 137 86 52
++128 86 51 128 86 51 81 52 41 7 10 12 8 9 11 10 11 13 13 15 17 13 15 17
++12 13 15 13 15 17 13 15 17 27 25 23 137 105 55 161 132 61 28 30 31 23 27 31
++189 156 74 161 132 61 161 132 61 235 192 90 161 132 61 20 24 26 161 132 61 216 177 82
++200 163 79 177 145 72 108 90 44 241 195 89 216 177 82 228 186 86 51 47 32 25 30 33
++23 27 31 89 75 50 235 192 90 108 90 44 21 25 29 23 27 31 20 24 26 16 22 26
++10 12 14 9 10 12 9 10 12 13 15 17 16 19 20 16 19 20 16 19 20 16 19 20
++21 25 29 25 30 33 25 30 33 25 30 33 28 35 38 33 38 41 28 35 38 29 32 34
++29 32 34 33 38 41 28 35 38 33 38 41 42 49 51 38 46 48 34 41 43 38 46 48
++38 46 48 38 46 48 34 41 43 33 38 41 162 160 159 246 245 245 255 255 255 237 237 237
++85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 237 237 237 134 119 113 128 86 51
++128 86 51 124 73 40 27 25 23 8 9 11 8 9 11 10 11 13 12 15 17 20 23 23
++17 18 16 10 11 13 12 13 14 49 32 29 200 163 79 223 182 84 33 33 31 63 45 38
++235 192 90 177 145 72 200 163 79 248 200 89 161 132 61 37 34 30 177 145 72 200 163 79
++208 171 79 177 145 72 108 90 44 241 195 89 189 156 74 235 190 84 89 75 50 21 25 29
++7 16 24 152 111 60 228 186 86 63 45 38 25 30 33 23 27 31 20 24 26 14 18 20
++10 11 13 9 10 12 10 11 13 10 12 14 13 15 17 16 19 20 16 19 20 14 18 20
++16 22 26 21 25 29 29 32 34 25 30 33 28 35 38 29 32 34 29 32 34 28 35 38
++33 38 41 33 38 41 34 41 43 42 49 51 42 49 51 38 46 48 38 46 48 34 41 43
++34 41 43 38 46 48 34 41 43 38 46 48 38 46 48 157 157 157 245 244 244 251 250 250
++157 157 157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 233 232 232 134 119 113 128 86 51
++128 86 51 63 45 38 7 8 10 9 10 12 8 9 11 9 10 12 26 28 29 119 117 113
++69 73 72 10 11 13 9 10 12 51 47 32 216 177 82 200 163 79 33 33 31 89 75 50
++241 195 89 161 132 61 216 177 82 248 200 89 161 132 61 51 47 32 200 163 79 189 156 74
++223 182 84 161 132 61 122 100 50 241 195 89 161 132 61 241 195 89 122 100 50 20 24 26
++7 16 24 189 156 74 208 171 79 21 25 29 29 32 34 23 27 31 20 24 26 20 23 23
++13 15 17 10 11 13 10 12 14 10 12 14 13 15 17 20 23 23 20 23 23 16 19 20
++16 19 20 29 32 34 33 38 41 33 38 41 28 35 38 29 32 34 29 32 34 25 30 33
++34 41 43 38 46 48 42 49 51 42 49 51 38 46 48 38 46 48 42 49 51 38 46 48
++42 49 51 46 53 56 38 46 48 33 38 41 34 41 43 122 123 123 245 244 244 251 250 250
++157 157 157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 237 237 237 134 119 113 107 75 50
++107 75 50 22 12 9 8 9 11 9 10 12 8 9 11 0 0 0 97 96 96 134 134 133
++20 20 21 9 10 12 10 12 14 63 45 38 235 190 84 177 145 72 26 28 29 122 100 50
++241 195 89 161 132 61 223 182 84 248 200 89 161 132 61 51 47 32 216 177 82 177 145 72
++235 192 90 161 132 61 122 100 50 235 192 90 137 105 55 241 195 89 152 111 60 23 27 31
++21 25 29 216 177 82 177 145 72 7 16 24 29 32 34 25 30 33 23 27 31 20 24 26
++14 18 20 10 11 13 12 13 15 13 17 18 20 24 26 23 27 31 21 25 29 20 23 23
++20 23 23 23 27 31 33 38 41 28 35 38 29 32 34 25 30 33 23 27 31 21 25 29
++33 38 41 42 49 51 46 53 56 42 49 51 46 53 56 38 46 48 42 49 51 38 46 48
++51 47 44 107 51 29 49 32 29 5 12 15 105 107 107 230 230 229 255 255 255 237 237 237
++97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 134 134 133 249 249 249 246 245 245 146 134 128 107 75 50
++81 52 41 13 13 13 10 11 13 10 11 13 5 6 8 67 67 66 167 162 159 52 51 50
++13 15 17 8 9 11 10 11 13 88 74 36 248 200 89 161 132 61 20 24 26 137 105 55
++241 195 89 152 111 60 235 190 84 248 200 89 177 145 72 81 52 41 228 186 86 161 132 61
++241 195 89 152 111 60 122 100 50 235 192 90 108 90 44 241 195 89 161 132 61 21 25 29
++81 52 41 228 186 86 152 111 60 7 16 24 23 27 31 25 30 33 29 32 34 16 22 26
++13 15 17 10 12 14 13 17 18 16 19 20 20 24 26 21 25 29 21 25 29 4 4 14
++168 168 168 122 123 123 23 27 31 28 35 38 28 35 38 25 30 33 29 32 34 23 27 31
++28 35 38 42 49 51 42 49 51 46 53 56 46 53 56 38 46 48 42 49 51 81 52 41
++158 73 41 176 79 38 129 59 33 85 88 88 225 222 218 255 255 255 246 245 245 147 147 146
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 77 78 76 105 107 107 122 123 123 122 123 123 122 123 123 105 107 107 67 67 66
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 139 137 135 249 249 249 243 242 242 134 119 113 89 75 50
++20 20 21 8 9 11 10 11 13 10 11 13 39 42 42 157 157 157 77 78 76 12 15 17
++14 18 20 7 10 12 7 10 12 108 90 44 248 200 89 137 105 55 16 22 26 161 132 61
++241 195 89 152 111 60 235 190 84 248 200 89 177 145 72 81 52 41 235 192 90 152 111 60
++241 195 89 152 111 60 122 100 50 235 192 90 108 90 44 228 186 86 177 145 72 26 28 29
++108 90 44 235 192 90 89 75 50 16 22 26 23 27 31 25 30 33 29 32 34 16 19 20
++12 15 17 12 15 17 16 19 20 16 22 26 25 30 33 21 25 29 20 24 26 85 88 88
++233 232 232 226 226 226 77 78 76 28 35 38 28 35 38 29 32 34 34 41 43 28 35 38
++28 35 38 39 42 42 42 49 51 54 58 58 38 46 48 39 42 42 107 51 29 166 76 38
++182 81 38 180 81 37 170 77 39 147 147 146 248 248 248 254 254 254 182 182 182 33 33 31
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42
++162 160 159 226 226 226 243 242 242 252 252 252 253 253 253 252 252 252 243 242 242 216 216 216
++147 147 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 85 88 88 207 206 206 253 253 253 233 232 232 115 110 108 81 52 41
++3 3 8 6 7 9 9 10 12 12 13 15 105 107 107 134 134 133 26 28 29 16 19 20
++16 19 20 8 9 11 3 3 8 137 105 55 248 200 89 122 100 50 7 16 24 177 145 72
++241 195 89 137 105 55 235 190 84 248 200 89 177 145 72 88 74 36 241 195 89 161 132 61
++241 195 89 137 105 55 108 90 44 228 186 86 108 90 44 208 171 79 189 156 74 37 34 30
++137 105 55 228 186 86 51 47 32 21 25 29 25 30 33 25 30 33 25 30 33 20 23 23
++13 17 18 14 18 20 16 19 20 20 24 26 23 27 31 21 25 29 33 38 41 168 168 168
++252 252 252 251 250 250 177 176 172 42 49 51 28 35 38 33 38 41 38 46 48 34 41 43
++33 38 41 34 41 43 42 49 51 42 49 51 33 38 41 129 59 33 174 79 37 182 81 37
++182 81 37 180 81 37 179 79 37 126 96 80 230 230 229 255 255 255 207 206 206 52 51 50
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 28 29 177 176 172
++249 249 249 254 254 254 251 250 250 248 248 248 246 245 245 248 248 248 251 250 250 255 255 255
++248 248 248 182 182 182 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 69 73 72 230 230 229 254 254 254 254 254 254 200 200 199 89 68 66 27 25 23
++6 7 9 7 8 10 9 10 12 26 28 29 157 157 157 60 59 58 13 15 17 16 19 20
++16 19 20 8 9 11 3 3 8 177 145 72 241 195 89 108 90 44 7 16 24 189 156 74
++241 195 89 137 105 55 241 195 89 235 190 84 189 156 74 108 90 44 241 195 89 177 145 72
++241 195 89 122 100 50 108 90 44 228 186 86 89 75 50 189 156 74 208 171 79 51 47 32
++161 132 61 216 177 82 27 25 23 21 25 29 25 30 33 25 30 33 25 30 33 14 18 20
++13 17 18 14 18 20 16 19 20 16 19 20 20 24 26 21 25 29 84 81 78 237 237 237
++255 255 255 255 255 255 240 239 239 105 107 107 33 38 41 38 46 48 38 46 48 39 42 42
++33 38 41 34 41 43 34 41 43 51 47 32 129 59 33 176 79 38 182 81 38 182 81 38
++182 81 38 182 81 38 182 81 37 159 71 30 177 176 172 254 254 254 246 245 245 97 96 96
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 240 239 239
++255 255 255 226 226 226 200 200 199 200 200 199 200 200 199 196 196 196 200 200 199 226 226 226
++254 254 254 251 250 250 168 168 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 168 168 168 254 254 254 249 249 249 207 206 206 97 96 96 0 0 0 6 7 9
++8 8 9 8 9 11 2 2 2 84 81 78 147 147 146 0 0 0 12 13 15 16 19 20
++13 15 17 8 9 11 3 3 8 189 156 74 228 186 86 88 74 36 16 22 26 189 156 74
++235 190 84 152 111 60 241 195 89 216 177 82 189 156 74 137 105 55 235 192 90 177 145 72
++235 190 84 108 90 44 122 100 50 228 186 86 89 75 50 161 132 61 223 182 84 81 52 41
++177 145 72 189 156 74 27 25 23 20 24 26 23 27 31 28 35 38 25 30 33 13 17 18
++14 18 20 14 18 20 16 19 20 16 19 20 16 22 26 3 3 8 168 168 168 255 255 255
++249 249 249 248 248 248 255 255 255 216 216 216 69 73 72 34 41 43 33 38 41 28 35 38
++33 38 41 46 53 56 63 45 38 138 69 38 179 80 38 182 81 38 182 81 37 182 81 38
++182 81 38 182 81 38 182 81 38 179 79 37 126 96 80 243 242 242 255 255 255 190 190 190
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 133 255 255 255
++249 249 249 168 168 168 247 247 246 255 255 255 255 255 255 254 254 254 246 245 245 196 196 196
++220 219 215 255 255 255 246 245 245 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 162 160 159 254 254 254 252 252 252 226 226 226 200 200 199 147 147 146 20 23 23
++6 7 9 7 8 10 3 3 6 66 65 61 139 137 135 0 0 0 13 17 18 16 19 20
++12 15 17 8 9 11 2 2 2 208 171 79 223 182 84 88 74 36 33 33 31 200 163 79
++223 182 84 161 132 61 235 192 90 208 171 79 200 163 79 161 132 61 235 190 84 189 156 74
++235 190 84 108 90 44 122 100 50 228 186 86 89 75 50 137 105 55 235 192 90 88 74 36
++208 171 79 161 132 61 20 23 23 20 24 26 23 27 31 29 32 34 21 25 29 13 17 18
++14 18 20 12 15 17 14 18 20 16 19 20 13 17 18 97 96 96 240 239 239 255 255 255
++200 200 199 182 182 182 253 253 253 252 252 252 179 179 176 38 46 48 33 38 41 33 38 41
++38 46 48 63 45 38 148 72 46 179 80 38 182 81 37 182 81 38 182 81 38 182 81 37
++182 81 38 182 81 38 182 81 38 182 81 38 158 73 41 190 190 190 255 255 255 237 237 237
++67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 160 159 255 255 255
++237 237 237 182 182 182 255 255 255 246 245 245 216 216 216 237 237 237 254 254 254 253 253 253
++190 190 190 233 232 232 255 255 255 216 216 216 52 51 50 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 64 64 61 225 222 218 252 252 252 255 255 255 255 255 255 251 250 250 177 176 172
++60 59 58 5 6 8 7 8 10 20 20 21 157 157 157 13 15 17 13 17 18 16 19 20
++12 13 15 7 8 10 2 2 2 228 186 86 216 177 82 63 45 38 51 47 32 208 171 79
++216 177 82 161 132 61 235 192 90 200 163 79 208 171 79 177 145 72 228 186 86 189 156 74
++235 190 84 89 75 50 137 105 55 228 186 86 88 74 36 122 100 50 241 195 89 108 90 44
++223 182 84 137 105 55 16 19 20 20 23 23 21 25 29 23 27 31 16 19 20 13 17 18
++13 17 18 13 15 17 13 15 17 20 20 21 26 28 29 182 182 182 253 253 253 245 244 244
++122 123 123 60 59 58 207 206 206 254 254 254 237 237 237 115 110 108 33 38 41 34 41 43
++81 52 41 158 73 41 182 81 38 182 81 37 182 81 38 182 81 38 182 81 38 182 81 37
++182 81 37 182 81 38 182 81 38 182 81 38 179 81 40 146 134 128 248 248 248 251 250 250
++162 160 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 168 168 255 255 255
++230 230 229 196 196 196 255 255 255 216 216 216 0 0 0 85 88 88 213 211 211 255 255 255
++247 247 246 196 196 196 251 250 250 247 247 246 139 137 135 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 77 78 76 162 160 159 196 196 196 230 230 229 254 254 254 252 252 252
++200 200 199 84 81 78 0 0 0 17 18 16 139 137 135 97 96 96 13 17 18 16 19 20
++10 11 13 6 7 9 27 25 23 235 192 90 208 171 79 37 34 30 51 47 32 208 171 79
++208 171 79 161 132 61 228 186 86 189 156 74 208 171 79 189 156 74 223 182 84 200 163 79
++235 190 84 89 75 50 152 111 60 228 186 86 88 74 36 108 90 44 235 192 90 152 111 60
++228 186 86 122 100 50 16 22 26 21 25 29 23 27 31 23 27 31 16 19 20 12 13 15
++12 13 15 13 15 17 13 17 18 16 19 20 85 88 88 230 230 229 254 254 254 200 200 199
++33 33 31 0 0 0 105 107 107 243 242 242 255 255 255 196 196 196 21 25 29 81 52 41
++158 73 41 182 81 37 182 81 38 182 81 38 182 81 38 182 81 38 182 81 38 182 81 37
++182 81 38 182 81 37 182 81 37 182 81 38 180 81 37 150 99 58 225 222 218 255 255 255
++216 216 216 64 64 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 168 168 255 255 255
++233 232 232 196 196 196 255 255 255 213 211 211 0 0 0 0 0 0 105 107 107 233 232 232
++254 254 254 213 211 211 237 237 237 255 255 255 190 190 190 39 42 42 0 0 0 0 0 0
++0 0 0 0 0 0 13 13 13 26 28 29 39 42 42 52 51 50 64 64 61 69 73 72
++85 88 88 122 123 123 162 160 159 200 200 199 216 216 216 240 239 239 255 255 255 255 255 255
++254 254 254 233 232 232 122 123 123 33 33 31 97 96 96 139 137 135 28 30 31 13 15 17
++9 10 12 5 6 8 81 52 41 241 195 89 189 156 74 14 18 20 63 45 38 216 177 82
++200 163 79 177 145 72 216 177 82 177 145 72 216 177 82 200 163 79 216 177 82 200 163 79
++235 190 84 89 75 50 161 132 61 223 182 84 81 52 41 88 74 36 223 182 84 189 156 74
++228 186 86 108 90 44 23 27 31 23 27 31 29 32 34 25 30 33 14 18 20 13 15 17
++12 13 15 13 15 17 13 17 18 26 28 29 177 176 172 254 254 254 247 247 246 134 131 128
++0 0 0 0 0 0 0 0 0 192 189 185 255 255 255 248 248 248 157 157 157 129 59 33
++179 80 38 180 81 37 182 81 38 182 81 38 182 81 38 182 81 38 182 81 38 182 81 37
++182 81 37 182 81 38 182 81 38 182 81 38 182 81 37 166 76 38 182 182 182 253 253 253
++246 245 245 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 255 255 255
++240 239 239 182 182 182 255 255 255 230 230 229 0 0 0 0 0 0 13 13 13 182 182 182
++253 253 253 233 232 232 207 206 206 255 255 255 230 230 229 67 67 66 52 51 50 97 96 96
++119 117 113 147 147 146 168 168 168 192 189 185 196 196 196 213 211 211 226 226 226 237 237 237
++247 247 246 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 254 249 249 249
++237 237 237 226 226 226 207 206 206 122 123 123 84 81 78 147 147 146 69 73 72 10 11 13
++9 10 12 3 3 8 108 90 44 241 195 89 177 145 72 7 16 24 81 52 41 216 177 82
++200 163 79 189 156 74 208 171 79 177 145 72 223 182 84 208 171 79 216 177 82 200 163 79
++235 190 84 81 52 41 177 145 72 223 182 84 81 52 41 51 47 32 208 171 79 228 186 86
++223 182 84 88 74 36 25 30 33 25 30 33 28 35 38 23 27 31 13 17 18 12 15 17
++16 19 20 12 15 17 6 7 9 105 107 107 243 242 242 255 255 255 200 200 199 0 0 0
++0 0 0 0 0 0 0 0 0 97 96 96 237 237 237 255 255 255 237 237 237 105 107 107
++166 76 38 182 81 37 182 81 37 182 81 38 182 81 38 182 81 38 182 81 38 182 81 38
++182 81 38 182 81 38 182 81 38 182 81 38 182 81 38 175 79 35 126 96 80 243 242 242
++255 255 255 190 190 190 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 255 255 255
++252 252 252 162 160 159 255 255 255 246 245 245 97 96 96 0 0 0 0 0 0 134 131 128
++249 249 249 248 248 248 168 168 168 254 254 254 251 250 250 225 222 218 230 230 229 237 237 237
++243 242 242 251 250 250 253 253 253 255 255 255 255 255 255 255 255 255 254 254 254 254 254 254
++254 254 254 251 250 250 240 239 239 220 219 215 200 200 199 182 182 182 167 162 159 168 168 168
++182 182 182 203 196 190 206 202 198 214 212 206 206 202 198 157 157 157 57 54 50 9 10 12
++8 8 9 3 3 6 122 100 50 241 195 89 177 145 72 7 16 24 88 74 36 223 182 84
++189 156 74 189 156 74 200 163 79 161 132 61 235 192 90 216 177 82 208 171 79 200 163 79
++228 186 86 63 45 38 177 145 72 216 177 82 63 45 38 20 20 21 200 163 79 248 200 89
++216 177 82 63 45 38 25 30 33 28 35 38 33 38 41 25 30 33 13 17 18 13 17 18
++16 19 20 12 15 17 0 0 0 182 182 182 255 255 255 240 239 239 97 96 96 0 0 0
++0 0 0 0 0 0 0 0 0 20 23 23 147 147 146 245 244 244 253 253 253 179 179 176
++107 75 50 179 81 40 180 81 37 179 81 36 180 81 37 180 81 37 180 81 37 182 81 38
++182 81 37 182 81 37 182 81 38 182 81 38 182 81 37 182 81 37 147 67 29 182 182 182
++255 255 255 246 245 245 97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 81 78 243 242 242
++254 254 254 190 190 190 240 239 239 252 252 252 182 182 182 97 96 96 134 131 128 182 182 182
++251 250 250 255 255 255 168 168 168 246 245 245 255 255 255 255 255 255 255 255 255 251 250 250
++246 245 245 240 239 239 237 237 237 226 226 226 220 219 215 213 211 211 190 190 190 179 179 176
++162 160 159 157 157 157 162 160 159 177 176 172 203 196 190 214 212 206 219 214 205 223 218 211
++226 220 210 226 220 210 226 222 213 225 221 213 226 222 213 230 225 217 119 117 113 2 2 2
++6 7 9 3 3 6 152 111 60 241 195 89 161 132 61 7 16 24 88 74 36 223 182 84
++189 156 74 200 163 79 189 156 74 152 111 60 241 195 89 216 177 82 208 171 79 208 171 79
++228 186 86 63 45 38 189 156 74 216 177 82 51 47 32 5 12 15 177 145 72 248 200 89
++200 163 79 37 34 30 25 30 33 28 35 38 29 32 34 21 25 29 13 15 17 12 15 17
++13 17 18 12 15 17 12 13 14 213 211 211 255 255 255 207 206 206 52 51 50 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 26 28 29 207 206 206 255 255 255 243 242 242
++119 117 113 147 67 29 180 81 37 179 81 36 179 81 36 180 81 37 180 81 37 179 81 36
++179 81 36 180 81 37 182 81 38 182 81 38 180 81 37 182 81 37 178 79 39 126 96 80
++243 242 242 254 254 254 182 182 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 207 206 206
++255 255 255 226 226 226 207 206 206 254 254 254 245 244 244 237 237 237 251 250 250 255 255 255
++255 255 255 255 255 255 182 182 182 216 216 216 225 222 218 200 200 199 179 179 176 177 176 172
++177 176 172 177 176 172 177 170 162 177 170 162 177 176 172 197 182 169 203 196 190 206 202 198
++219 214 205 221 217 205 222 218 209 222 218 209 226 220 210 225 221 213 226 222 213 226 222 213
++229 225 217 229 225 217 229 225 217 225 221 213 225 221 213 229 225 217 157 157 157 0 0 0
++6 7 9 3 3 6 161 132 61 241 195 89 137 105 55 7 16 24 88 74 36 228 186 86
++177 145 72 208 171 79 189 156 74 137 105 55 241 195 89 223 182 84 208 171 79 208 171 79
++228 186 86 51 47 32 189 156 74 216 177 82 51 47 32 7 16 24 152 111 60 248 200 89
++189 156 74 7 16 24 23 27 31 28 35 38 25 30 33 20 24 26 13 15 17 10 12 14
++14 18 20 20 23 23 69 73 72 233 232 232 254 254 254 182 182 182 26 28 29 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 107 107 237 237 237 255 255 255
++220 219 215 89 68 66 166 76 38 179 81 36 179 81 36 179 80 38 180 81 37 180 81 37
++180 81 37 180 81 37 182 81 38 182 81 37 180 81 37 180 81 37 182 81 38 145 89 57
++196 196 196 255 255 255 233 232 232 69 73 72 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 182 182 182
++253 253 253 251 250 250 182 182 182 243 242 242 255 255 255 253 253 253 248 248 248 237 237 237
++213 211 211 177 176 172 115 110 108 115 110 108 177 176 172 192 189 185 206 202 198 206 202 198
++206 202 198 206 202 198 220 209 198 219 214 205 219 214 205 221 217 205 221 217 205 222 218 209
++226 220 210 223 218 211 223 218 211 225 221 213 226 222 213 226 222 213 226 222 213 226 222 213
++229 225 217 226 222 213 229 225 217 226 222 213 226 222 213 225 221 213 162 160 159 0 0 0
++6 7 9 3 3 6 177 145 72 241 195 89 122 100 50 7 16 24 88 74 36 228 186 86
++177 145 72 208 171 79 177 145 72 122 100 50 241 195 89 228 186 86 208 171 79 208 171 79
++228 186 86 51 47 32 189 156 74 208 171 79 51 47 32 14 18 20 108 90 44 241 195 89
++161 132 61 16 22 26 29 32 34 28 35 38 23 27 31 20 24 26 13 15 17 12 13 15
++16 19 20 16 22 26 119 117 113 243 242 242 251 250 250 147 147 146 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 162 160 159 252 252 252
++252 252 252 190 190 190 107 75 50 176 79 38 179 81 36 179 80 38 179 80 38 180 81 37
++180 81 37 179 80 38 180 81 37 180 81 37 179 81 36 179 81 36 180 81 37 174 79 37
++154 142 136 248 248 248 247 247 246 139 137 135 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 182 182 182 252 252 252
++255 255 255 255 255 255 207 206 206 177 176 172 207 206 206 190 190 190 167 162 159 157 157 157
++177 176 172 203 196 190 192 189 185 192 189 185 220 209 198 220 209 198 219 214 205 219 214 205
++219 214 205 221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209
++223 218 211 226 220 210 226 220 210 225 221 213 226 222 213 226 222 213 225 221 213 226 222 213
++226 222 213 229 225 217 229 225 217 229 225 217 230 225 217 230 225 217 177 170 162 0 0 0
++5 6 8 3 3 8 189 156 74 241 195 89 108 90 44 12 15 17 88 74 36 235 190 84
++177 145 72 216 177 82 177 145 72 122 100 50 241 195 89 241 195 89 208 171 79 208 171 79
++228 186 86 37 34 30 200 163 79 208 171 79 51 47 32 16 22 26 89 75 50 241 195 89
++177 145 72 7 16 24 28 35 38 28 35 38 23 27 31 16 19 20 13 17 18 13 17 18
++16 22 26 21 25 29 147 147 146 249 249 249 243 242 242 119 117 113 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 61 200 200 199
++254 254 254 246 245 245 147 147 146 129 59 33 179 80 38 179 80 38 180 81 37 180 81 37
++180 81 37 179 81 36 180 81 37 180 81 37 179 81 36 179 81 36 180 81 37 179 81 36
++126 96 80 233 232 232 255 255 255 196 196 196 39 42 42 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96 246 245 245 254 254 254
++225 222 218 162 160 159 139 137 135 167 162 159 192 189 185 203 196 190 206 202 198 220 209 198
++219 214 205 219 214 205 221 217 205 219 214 205 219 214 205 221 217 205 219 214 205 219 214 205
++219 214 205 221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 223 218 211
++223 218 211 226 220 210 226 220 210 225 221 213 225 221 213 225 221 213 226 222 213 229 225 217
++226 222 213 229 225 217 229 225 217 230 225 217 231 227 218 230 225 217 192 189 185 0 0 0
++5 6 8 4 4 14 189 156 74 241 195 89 88 74 36 13 17 18 88 74 36 235 190 84
++161 132 61 223 182 84 177 145 72 108 90 44 241 195 89 248 200 89 208 171 79 216 177 82
++228 186 86 27 25 23 200 163 79 208 171 79 51 47 32 16 22 26 122 100 50 248 200 89
++200 163 79 27 25 23 28 35 38 29 32 34 20 24 26 14 18 20 14 18 20 16 19 20
++20 23 23 28 30 31 177 176 172 254 254 254 233 232 232 64 64 61 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
++230 230 229 255 255 255 240 239 239 119 117 113 159 71 30 179 81 36 179 81 36 180 81 37
++180 81 37 180 81 37 179 80 38 179 80 38 179 80 38 180 81 37 179 81 36 179 81 36
++159 71 30 192 189 185 255 255 255 240 239 239 85 88 88 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 133 249 249 249 245 244 244
++122 123 123 179 179 176 147 147 146 214 212 206 219 214 205 219 214 205 219 214 205 221 217 205
++220 215 207 221 217 205 222 218 209 219 214 205 221 217 205 221 217 205 219 214 205 219 214 205
++221 217 205 221 217 205 219 214 205 221 217 205 222 218 209 222 218 209 222 218 209 223 218 211
++226 220 210 223 218 211 226 220 210 226 220 210 226 222 213 226 222 213 226 222 213 226 222 213
++229 225 217 229 225 217 229 225 217 230 225 217 230 225 217 230 225 217 192 189 185 0 0 0
++3 3 6 27 25 23 200 163 79 241 195 89 63 45 38 14 18 20 88 74 36 235 190 84
++161 132 61 223 182 84 161 132 61 108 90 44 235 190 84 248 200 89 208 171 79 216 177 82
++223 182 84 5 12 15 200 163 79 208 171 79 51 47 32 7 16 24 161 132 61 248 200 89
++216 177 82 63 45 38 23 27 31 23 27 31 20 23 23 16 19 20 14 18 20 13 17 18
++16 19 20 52 51 50 206 202 198 255 255 255 216 216 216 20 23 23 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++119 117 113 240 239 239 255 255 255 230 230 229 105 88 81 166 76 38 179 80 38 179 80 38
++179 80 38 179 81 40 179 80 38 179 80 38 179 79 37 179 81 36 180 81 37 179 81 36
++179 79 37 126 96 80 246 245 245 255 255 255 182 182 182 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 107 107 248 248 248 252 252 252
++139 137 135 206 202 198 147 147 146 219 214 205 222 218 209 222 218 209 222 218 209 222 218 209
++222 218 209 222 218 209 223 218 211 221 217 205 222 218 209 221 217 205 221 217 205 221 217 205
++221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209 222 218 209
++223 218 211 223 218 211 226 220 210 225 221 213 225 221 213 226 222 213 226 222 213 226 222 213
++229 225 217 226 222 213 229 225 217 230 225 217 230 225 217 230 225 217 206 202 198 0 0 0
++5 6 8 49 32 29 208 171 79 241 195 89 37 34 30 12 15 17 108 90 44 235 192 90
++161 132 61 228 186 86 161 132 61 88 74 36 228 186 86 248 200 89 208 171 79 223 182 84
++223 182 84 4 4 14 189 156 74 216 177 82 63 45 38 5 12 15 177 145 72 248 200 89
++228 186 86 88 74 36 23 27 31 23 27 31 20 23 23 12 15 17 13 17 18 14 18 20
++16 19 20 69 73 72 233 232 232 254 254 254 182 182 182 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 147 147 146 246 245 245 254 253 253 207 206 206 107 75 50 170 77 39 180 81 37
++179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37 180 81 37 179 81 36
++182 81 37 148 72 46 190 190 190 255 255 255 237 237 237 60 59 58 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 237 237 237 255 255 255
++167 162 159 203 196 190 147 147 146 214 212 206 223 218 211 223 218 211 223 218 211 226 220 210
++226 220 210 226 220 210 226 220 210 222 218 209 223 218 211 222 218 209 221 217 205 221 217 205
++221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209 222 218 209
++223 218 211 223 218 211 223 218 211 226 220 210 226 222 213 226 222 213 226 222 213 225 221 213
++226 222 213 226 222 213 226 222 213 230 225 217 231 227 218 230 225 217 214 212 206 0 0 0
++5 6 8 51 47 32 208 171 79 235 190 84 12 15 17 12 13 15 108 90 44 235 192 90
++161 132 61 228 186 86 161 132 61 88 74 36 223 182 84 248 200 89 216 177 82 228 186 86
++223 182 84 3 3 8 189 156 74 216 177 82 63 45 38 20 20 21 189 156 74 228 186 86
++235 192 90 108 90 44 23 27 31 21 25 29 20 23 23 12 15 17 12 15 17 14 18 20
++12 15 17 119 117 113 254 254 254 252 252 252 119 117 113 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 85 88 88 226 226 226 255 255 255 254 254 254 190 190 190 107 51 29 174 79 37
++179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 81 36 179 81 36 179 81 36
++180 81 37 178 79 39 146 134 128 248 248 248 251 250 250 157 157 157 20 23 23 13 13 13
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 216 216 216 255 255 255
++200 200 199 177 176 172 162 160 159 192 189 185 226 220 210 222 218 209 223 218 211 226 220 210
++226 220 210 226 220 210 226 220 210 223 218 211 223 218 211 222 218 209 221 217 205 222 218 209
++221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 223 218 211
++226 220 210 226 220 210 226 220 210 225 221 213 225 221 213 225 221 213 226 222 213 226 222 213
++226 222 213 226 222 213 229 225 217 230 225 217 229 225 217 229 225 217 206 202 198 0 0 0
++6 7 9 63 45 38 216 177 82 228 186 86 4 4 14 12 13 15 108 90 44 241 195 89
++152 111 60 228 186 86 161 132 61 63 45 38 216 177 82 248 200 89 216 177 82 228 186 86
++223 182 84 4 4 14 189 156 74 223 182 84 81 52 41 51 47 32 208 171 79 200 163 79
++228 186 86 152 111 60 25 30 33 21 25 29 16 19 20 16 19 20 16 19 20 14 18 20
++0 0 0 182 182 182 255 255 255 233 232 232 33 33 31 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++85 88 88 225 222 218 254 254 254 254 254 254 230 230 229 192 189 185 105 88 81 166 76 38
++179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37 179 81 36 180 81 37
++180 81 37 180 81 37 145 89 57 216 216 216 255 255 255 233 232 232 182 182 182 162 160 159
++85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 182 182 182 255 255 255
++230 230 229 139 137 135 192 189 185 157 157 157 225 221 213 223 218 211 226 220 210 226 220 210
++225 221 213 226 220 210 226 220 210 223 218 211 223 218 211 226 220 210 226 220 210 225 221 213
++226 220 210 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 223 218 211
++223 218 211 226 220 210 226 220 210 226 220 210 225 221 213 225 221 213 225 221 213 226 222 213
++226 222 213 226 222 213 226 222 213 229 225 217 229 225 217 229 225 217 177 170 162 0 0 0
++8 8 9 81 52 41 216 177 82 216 177 82 4 4 14 12 13 15 108 90 44 241 195 89
++152 111 60 228 186 86 161 132 61 49 32 29 208 171 79 248 200 89 216 177 82 223 182 84
++223 182 84 27 25 23 177 145 72 228 186 86 88 74 36 81 52 41 223 182 84 161 132 61
++208 171 79 189 156 74 27 25 23 20 23 23 13 15 17 13 17 18 13 17 18 13 17 18
++0 0 0 233 232 232 255 255 255 190 190 190 13 13 13 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++177 176 172 255 255 255 251 250 250 192 189 185 166 113 90 166 76 38 173 77 35 179 79 37
++178 79 39 179 80 38 179 80 38 179 80 38 179 80 38 179 79 37 179 81 36 179 81 36
++179 81 36 180 81 37 166 76 38 147 147 146 249 249 249 255 255 255 255 255 255 252 252 252
++233 232 232 134 131 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 254 254 254
++252 252 252 139 137 135 206 202 198 122 123 123 226 222 213 223 218 211 226 220 210 226 220 210
++225 221 213 225 221 213 226 220 210 223 218 211 225 221 213 214 212 206 192 189 185 214 212 206
++222 218 209 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209
++222 218 209 226 220 210 226 220 210 223 218 211 226 220 210 225 221 213 225 221 213 225 221 213
++226 222 213 226 222 213 226 222 213 226 222 213 226 222 213 226 222 213 97 96 96 2 2 2
++10 11 13 88 74 36 223 182 84 216 177 82 3 3 8 12 13 14 108 90 44 241 195 89
++152 111 60 228 186 86 161 132 61 27 25 23 200 163 79 248 200 89 223 182 84 216 177 82
++228 186 86 51 47 32 161 132 61 228 186 86 89 75 50 88 74 36 228 186 86 137 105 55
++177 145 72 216 177 82 27 25 23 20 23 23 13 15 17 12 13 15 12 13 15 10 11 13
++52 51 50 243 242 242 255 255 255 157 157 157 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++182 182 182 255 255 255 243 242 242 146 134 128 145 89 57 158 73 41 158 73 41 138 69 38
++166 76 38 179 79 37 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37
++179 81 36 179 80 38 178 79 39 129 59 33 177 170 162 225 222 218 226 226 226 252 252 252
++255 255 255 233 232 232 67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 78 76 237 237 237
++254 254 254 182 182 182 192 189 185 139 137 135 214 212 206 226 220 210 225 221 213 225 221 213
++225 221 213 225 221 213 226 220 210 219 214 205 214 212 206 115 110 108 0 0 0 182 182 182
++214 212 206 167 162 159 182 182 182 222 218 209 221 217 205 222 218 209 222 218 209 222 218 209
++222 218 209 223 218 211 226 220 210 226 220 210 226 220 210 226 220 210 226 220 210 226 222 213
++225 221 213 225 221 213 226 222 213 226 222 213 226 222 213 203 196 190 57 54 50 5 6 8
++12 13 15 88 74 36 228 186 86 208 171 79 3 3 8 10 12 14 108 90 44 241 195 89
++152 111 60 228 186 86 161 132 61 4 4 14 177 145 72 248 200 89 223 182 84 208 171 79
++235 190 84 88 74 36 161 132 61 235 190 84 89 75 50 108 90 44 235 192 90 88 74 36
++161 132 61 241 195 89 81 52 41 14 18 20 9 10 12 9 10 12 10 12 14 12 13 15
++0 0 0 233 232 232 255 255 255 179 179 176 13 13 13 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++139 137 135 253 253 253 255 255 255 237 237 237 115 110 108 107 51 29 147 67 29 174 79 37
++180 81 37 179 80 38 179 79 37 179 80 38 179 81 40 179 80 38 179 80 38 179 80 38
++179 81 36 179 80 38 180 81 37 179 81 40 129 59 33 42 16 9 97 96 96 207 206 206
++254 254 254 248 248 248 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 49 48 207 206 206
++255 255 255 220 219 215 167 162 159 177 176 172 192 189 185 225 221 213 225 221 213 225 221 213
++226 220 210 223 218 211 182 182 182 115 110 108 147 147 146 33 38 41 69 68 64 203 196 190
++139 137 135 27 25 23 84 81 78 214 212 206 220 215 207 221 217 205 222 218 209 222 218 209
++222 218 209 222 218 209 222 218 209 226 220 210 225 221 213 226 220 210 225 221 213 226 222 213
++225 221 213 226 222 213 226 222 213 226 222 213 225 221 213 147 147 146 20 20 21 5 6 8
++10 12 14 88 74 36 228 186 86 200 163 79 3 3 8 10 12 14 108 90 44 241 195 89
++152 111 60 228 186 86 161 132 61 4 4 14 161 132 61 248 200 89 228 186 86 200 163 79
++235 190 84 88 74 36 152 111 60 241 195 89 108 90 44 122 100 50 235 192 90 81 52 41
++122 100 50 235 192 90 137 105 55 5 12 15 9 10 12 9 10 12 12 13 15 16 19 20
++0 0 0 213 211 211 255 255 255 200 200 199 13 13 13 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
++230 230 229 255 255 255 248 248 248 157 157 157 129 59 33 170 77 39 176 79 38 176 79 38
++179 80 38 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38
++179 81 36 179 79 37 180 81 37 170 77 39 138 69 38 81 52 41 147 147 146 247 247 246
++255 255 255 220 219 215 33 33 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 168 168 168
++253 253 253 237 237 237 157 157 157 206 202 198 157 157 157 226 220 210 225 221 213 225 221 213
++223 218 211 192 189 185 69 68 64 52 51 50 47 49 48 17 18 16 139 137 135 167 162 159
++10 10 10 0 0 0 139 137 135 221 217 205 221 217 205 220 215 207 221 217 205 222 218 209
++222 218 209 221 217 205 221 217 205 222 218 209 223 218 211 223 218 211 223 218 211 226 220 210
++226 220 210 225 221 213 226 222 213 226 222 213 214 212 206 97 96 96 5 6 8 5 6 8
++10 11 13 88 74 36 235 190 84 200 163 79 3 3 8 12 13 15 108 90 44 241 195 89
++137 105 55 223 182 84 161 132 61 7 10 12 152 111 60 248 200 89 235 190 84 189 156 74
++235 190 84 108 90 44 137 105 55 241 195 89 108 90 44 137 105 55 228 186 86 63 45 38
++63 45 38 228 186 86 189 156 74 4 4 14 9 10 12 10 12 14 13 15 17 13 15 17
++0 0 0 179 179 176 255 255 255 233 232 232 33 33 31 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 216 216 216
++254 254 254 247 247 246 162 160 159 129 59 33 174 79 37 176 79 38 176 79 38 179 80 38
++179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 81 40
++179 81 40 166 76 38 138 69 38 107 51 29 105 88 81 182 182 182 247 247 246 255 255 255
++237 237 237 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 133
++246 245 245 246 245 245 167 162 159 214 212 206 147 147 146 219 214 205 226 222 213 225 221 213
++219 214 205 105 107 107 13 13 13 63 62 61 17 18 16 57 54 50 177 170 162 84 81 78
++3 3 6 63 62 61 206 202 198 214 212 206 221 217 205 219 214 205 219 214 205 221 217 205
++221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209
++223 218 211 225 221 213 226 222 213 225 221 213 182 182 182 13 13 13 6 7 9 5 6 8
++10 12 14 88 74 36 235 190 84 189 156 74 3 3 8 10 12 14 108 90 44 241 195 89
++137 105 55 223 182 84 177 145 72 10 11 13 122 100 50 248 200 89 235 190 84 177 145 72
++241 195 89 122 100 50 122 100 50 241 195 89 108 90 44 161 132 61 216 177 82 51 47 32
++3 3 8 200 163 79 223 182 84 37 34 30 10 11 13 10 11 13 13 15 17 13 15 17
++10 12 14 134 134 133 255 255 255 246 245 245 67 67 66 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42 213 211 211 254 254 254
++251 250 250 177 176 172 137 73 51 174 79 37 179 80 38 179 80 38 179 79 37 179 80 38
++179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 79 37
++180 81 37 176 79 38 147 67 29 42 16 9 157 157 157 243 242 242 255 255 255 240 239 239
++134 131 128 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96
++237 237 237 251 250 250 167 162 159 214 212 206 147 147 146 219 214 205 226 222 213 226 222 213
++167 162 159 0 0 0 52 51 50 33 33 31 0 0 0 115 110 108 147 147 146 2 2 2
++17 18 16 134 131 128 97 96 96 51 47 44 147 147 146 219 214 205 221 217 205 222 218 209
++221 217 205 221 217 205 222 218 209 222 218 209 223 218 211 223 218 211 223 218 211 226 220 210
++225 221 213 226 222 213 226 222 213 225 221 213 115 110 108 0 0 0 6 7 9 3 3 6
++12 13 14 108 90 44 235 190 84 189 156 74 3 3 8 10 11 13 108 90 44 241 195 89
++137 105 55 216 177 82 177 145 72 13 13 13 88 74 36 241 195 89 241 195 89 161 132 61
++241 195 89 137 105 55 108 90 44 241 195 89 122 100 50 189 156 74 200 163 79 49 32 29
++3 3 8 161 132 61 235 190 84 108 90 44 12 13 15 12 13 14 12 13 15 13 15 17
++12 15 17 97 96 96 253 253 253 252 252 252 105 107 107 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 33 33 31 177 176 172 254 254 254 252 252 252
++179 179 176 129 59 33 174 79 37 179 81 36 179 79 37 179 80 38 179 80 38 179 80 38
++179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 79 37 179 80 38 179 80 38
++179 80 38 179 80 38 158 73 41 105 88 81 162 160 159 237 237 237 255 255 255 216 216 216
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 61
++230 230 229 255 255 255 177 176 172 206 202 198 162 160 159 214 212 206 225 221 213 214 212 206
++84 81 78 6 7 9 39 42 42 5 6 8 0 0 0 147 147 146 52 51 50 3 3 6
++63 62 61 97 96 96 17 18 16 26 28 29 52 51 50 206 202 198 220 215 207 221 217 205
++221 217 205 221 217 205 222 218 209 223 218 211 226 220 210 225 221 213 225 221 213 226 222 213
++226 222 213 220 215 207 214 212 206 192 189 185 33 33 31 5 6 8 5 6 8 3 3 6
++10 12 14 108 90 44 235 190 84 177 145 72 3 3 8 7 10 12 108 90 44 241 195 89
++137 105 55 216 177 82 177 145 72 17 18 16 37 34 30 235 192 90 241 195 89 152 111 60
++241 195 89 137 105 55 108 90 44 241 195 89 122 100 50 208 171 79 177 145 72 33 33 31
++7 10 12 88 74 36 241 195 89 161 132 61 13 13 13 9 10 12 12 15 17 13 17 18
++13 17 18 84 81 78 243 242 242 254 254 254 147 147 146 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 13 13 13 157 157 157 247 247 246 254 254 254 206 202 198
++123 75 52 174 79 37 175 79 35 176 79 38 176 79 38 176 79 38 179 80 38 179 79 37
++179 79 37 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37
++176 79 38 129 59 33 147 147 146 225 222 218 254 254 254 255 255 255 248 248 248 147 147 146
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++225 222 218 255 255 255 190 190 190 192 189 185 167 162 159 214 212 206 225 221 213 177 170 162
++33 38 41 39 42 42 47 49 48 5 6 8 28 30 31 97 96 96 0 0 0 13 13 13
++97 96 96 52 51 50 7 8 10 69 73 72 85 88 88 219 214 205 219 214 205 219 214 205
++214 212 206 219 214 205 206 202 198 192 189 185 179 179 176 167 162 159 147 147 146 122 123 123
++97 96 96 69 68 64 68 65 63 67 67 66 8 8 9 5 6 8 5 6 8 5 6 8
++12 13 15 108 90 44 241 195 89 177 145 72 3 3 8 10 11 13 108 90 44 241 195 89
++137 105 55 208 171 79 189 156 74 17 18 16 2 2 2 223 182 84 248 200 89 137 105 55
++248 200 89 152 111 60 107 75 50 241 195 89 122 100 50 223 182 84 161 132 61 20 20 21
++14 18 20 27 25 23 216 177 82 189 156 74 37 34 30 8 9 11 12 13 15 12 13 15
++13 17 18 64 67 67 225 222 218 255 255 255 190 190 190 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 13 13 13 147 147 146 247 247 246 255 255 255 226 226 226 126 96 80
++170 77 39 175 79 35 175 79 35 175 79 35 176 79 38 176 79 38 179 79 37 179 79 37
++179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 170 77 39
++126 96 80 196 196 196 249 249 249 255 255 255 249 249 249 216 216 216 134 131 128 20 23 23
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++200 200 199 255 255 255 216 216 216 167 162 159 167 162 159 206 202 198 222 218 209 139 137 135
++13 13 13 69 73 72 47 49 48 17 18 16 105 107 107 47 49 48 0 0 0 77 78 76
++97 96 96 0 0 0 20 20 21 85 88 88 139 137 135 182 182 182 167 162 159 139 137 135
++119 117 113 84 81 78 47 49 48 3 3 6 0 0 0 0 0 0 0 0 0 0 0 0
++3 3 6 8 8 9 52 51 50 52 51 50 6 7 9 5 6 8 5 6 8 5 6 8
++13 17 18 108 90 44 241 195 89 177 145 72 3 3 6 9 10 12 108 90 44 241 195 89
++137 105 55 208 171 79 189 156 74 20 20 21 3 3 8 200 163 79 248 200 89 122 100 50
++241 195 89 161 132 61 122 100 50 235 192 90 108 90 44 235 192 90 152 111 60 13 17 18
++13 15 17 20 20 21 161 132 61 223 182 84 63 45 38 9 10 12 12 13 15 13 15 17
++13 15 17 47 49 48 196 196 196 255 255 255 220 219 215 26 28 29 0 0 0 0 0 0
++0 0 0 26 28 29 147 147 146 246 245 245 255 255 255 230 230 229 134 119 113 168 75 33
++175 79 35 175 79 35 175 79 35 175 79 35 176 79 38 175 79 35 176 79 38 179 80 38
++179 79 37 179 79 37 179 80 38 179 79 37 179 80 38 179 80 38 159 71 30 126 96 80
++207 206 206 254 254 254 254 254 254 230 230 229 147 147 146 20 23 23 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++168 168 168 254 254 254 233 232 232 134 134 133 177 170 162 203 196 190 214 212 206 115 110 108
++12 13 15 64 64 61 39 42 42 13 13 13 63 62 61 20 20 21 0 0 0 77 78 76
++26 28 29 3 3 6 8 8 9 33 33 31 52 51 50 39 42 42 10 10 10 0 0 0
++0 0 0 2 2 2 5 6 8 6 7 9 6 7 9 7 8 10 6 7 9 6 7 9
++6 7 9 16 19 20 54 58 58 20 20 21 7 8 10 8 8 9 5 6 8 5 6 8
++10 11 13 108 90 44 241 195 89 177 145 72 3 3 6 10 11 13 108 90 44 241 195 89
++137 105 55 200 163 79 200 163 79 20 20 21 3 3 8 177 145 72 248 200 89 122 100 50
++228 186 86 177 145 72 161 132 61 228 186 86 108 90 44 235 192 90 137 105 55 12 13 15
++12 13 15 13 17 18 122 100 50 241 195 89 108 90 44 7 8 10 13 15 17 13 15 17
++13 15 17 20 24 26 162 160 159 252 252 252 237 237 237 97 96 96 0 0 0 0 0 0
++13 13 13 157 157 157 246 245 245 255 255 255 230 230 229 134 119 113 166 76 38 175 79 35
++175 79 35 175 79 35 175 79 35 176 79 38 175 79 35 176 79 38 176 79 38 179 79 37
++176 79 38 176 79 38 179 79 37 179 81 36 176 79 38 148 72 46 154 142 136 230 230 229
++254 254 254 253 253 253 200 200 199 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++119 117 113 253 253 253 252 252 252 122 123 123 177 176 172 182 182 182 220 215 207 139 137 135
++20 20 21 0 0 0 0 0 0 8 8 9 47 49 48 13 13 13 27 25 23 54 58 58
++39 42 42 69 73 72 84 81 78 85 88 88 105 107 107 105 107 107 97 96 96 60 59 58
++0 0 0 0 0 0 5 6 8 6 7 9 8 8 9 8 9 11 9 10 12 8 9 11
++3 3 6 64 64 61 57 54 50 5 6 8 6 7 9 8 8 9 5 6 8 3 3 6
++6 7 9 108 90 44 241 195 89 161 132 61 3 3 6 8 9 11 108 90 44 241 195 89
++137 105 55 189 156 74 208 171 79 17 18 16 3 3 8 152 111 60 248 200 89 137 105 55
++189 156 74 241 195 89 241 195 89 200 163 79 122 100 50 235 192 90 108 90 44 10 11 13
++9 10 12 10 11 13 88 74 36 223 182 84 177 145 72 3 3 8 13 15 17 13 15 17
++12 13 15 13 17 18 134 134 133 246 245 245 247 247 246 157 157 157 20 23 23 39 42 42
++157 157 157 249 249 249 255 255 255 233 232 232 146 134 128 166 76 38 175 79 35 174 79 37
++175 79 35 175 79 35 175 79 35 176 79 38 176 79 38 176 79 38 176 79 38 176 79 38
++176 79 38 176 79 38 179 81 36 166 76 38 126 96 80 192 189 185 250 250 249 255 255 255
++246 245 245 179 179 176 26 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++64 64 61 246 245 245 255 255 255 157 157 157 147 147 146 134 134 133 147 147 146 139 137 135
++157 157 157 168 168 168 122 123 123 157 157 157 213 211 211 190 190 190 196 196 196 216 216 216
++213 211 211 225 222 218 226 226 226 230 230 229 240 239 239 243 242 242 233 232 232 216 216 216
++182 182 182 134 131 128 52 51 50 0 0 0 0 0 0 6 7 9 7 8 10 5 6 8
++52 51 50 85 88 88 0 0 0 6 7 9 5 6 8 6 7 9 5 6 8 3 3 6
++5 6 8 108 90 44 241 195 89 161 132 61 3 3 6 6 7 9 108 90 44 241 195 89
++122 100 50 189 156 74 216 177 82 17 18 16 3 3 8 108 90 44 248 200 89 137 105 55
++108 90 44 223 182 84 228 186 86 122 100 50 152 111 60 228 186 86 81 52 41 6 7 9
++6 7 9 6 7 9 27 25 23 161 132 61 177 145 72 3 3 8 12 13 15 10 12 14
++12 13 15 13 17 18 69 73 72 230 230 229 255 255 255 243 242 242 119 117 113 190 190 190
++248 248 248 255 255 255 226 226 226 115 110 108 159 71 30 173 79 35 174 79 37 175 79 35
++175 79 35 175 79 35 175 79 35 175 79 35 175 79 35 175 79 35 176 79 38 176 79 38
++176 79 38 176 79 38 147 67 29 154 142 136 226 226 226 255 255 255 255 255 255 226 226 226
++147 147 146 33 33 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++26 28 29 220 219 215 255 255 255 213 211 211 119 117 113 162 160 159 190 190 190 190 190 190
++249 249 249 252 252 252 249 249 249 251 250 250 255 255 255 254 254 254 254 254 254 254 254 254
++254 254 254 253 253 253 252 252 252 252 252 252 251 250 250 251 250 250 252 252 252 255 255 255
++253 253 253 249 249 249 240 239 239 200 200 199 139 137 135 77 78 76 52 51 50 20 23 23
++84 81 78 39 42 42 7 8 10 6 7 9 6 7 9 7 8 10 6 7 9 3 3 6
++5 6 8 108 90 44 241 195 89 161 132 61 122 100 50 63 45 38 88 74 36 228 186 86
++122 100 50 177 145 72 200 163 79 22 12 9 6 7 9 51 47 32 177 145 72 88 74 36
++17 18 16 51 47 32 63 45 38 17 18 16 88 74 36 108 90 44 13 13 13 6 7 9
++5 6 8 6 7 9 9 10 12 37 34 30 37 34 30 10 11 13 12 13 14 13 15 17
++12 15 17 13 17 18 7 10 12 119 117 113 243 242 242 255 255 255 240 239 239 253 253 253
++254 254 254 226 226 226 105 107 107 42 16 9 107 51 29 166 76 38 174 79 37 176 79 38
++176 79 38 175 79 35 175 79 35 176 79 38 175 79 35 175 79 35 175 79 35 176 79 38
++170 77 39 126 96 80 182 182 182 247 247 246 255 255 255 248 248 248 190 190 190 69 73 72
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 168 168 168 253 253 253 255 255 255 254 254 254 255 255 255 249 249 249 190 190 190
++249 249 249 255 255 255 251 250 250 246 245 245 225 222 218 220 219 215 216 216 216 200 200 199
++200 200 199 190 190 190 168 168 168 168 168 168 147 147 146 147 147 146 168 168 168 207 206 206
++233 232 232 249 249 249 255 255 255 255 255 255 255 255 255 243 242 242 213 211 211 168 168 168
++67 67 66 5 6 8 6 7 9 7 8 10 8 9 11 7 8 10 6 7 9 5 6 8
++3 3 6 88 74 36 200 163 79 200 163 79 177 145 72 88 74 36 37 34 30 108 90 44
++37 34 30 27 25 23 27 25 23 7 8 10 6 7 9 5 6 8 2 2 2 3 3 8
++7 8 10 7 8 10 8 9 11 9 10 12 10 11 13 5 6 8 5 6 8 5 6 8
++5 6 8 7 8 10 12 13 15 12 15 17 12 15 17 12 13 15 13 17 18 13 15 17
++12 15 17 13 17 18 14 18 20 97 96 96 247 247 246 255 255 255 255 255 255 251 250 250
++200 200 199 77 78 76 8 5 4 23 5 0 23 5 0 81 44 20 147 67 29 173 77 35
++175 79 35 175 79 35 175 79 35 176 79 38 175 79 35 174 79 37 172 77 34 138 69 38
++154 142 136 226 226 226 255 255 255 255 255 255 230 230 229 147 147 146 13 13 13 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 67 67 66 190 190 190 243 242 242 252 252 252 255 255 255 255 255 255 190 190 190
++246 245 245 255 255 255 182 182 182 119 117 113 69 73 72 64 64 61 60 59 58 26 28 29
++20 23 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42
++85 88 88 122 123 123 177 176 172 226 226 226 251 250 250 255 255 255 255 255 255 226 226 226
++63 62 61 7 8 10 8 9 11 7 10 12 8 9 11 8 8 9 7 8 10 8 9 11
++9 10 12 20 20 21 49 32 29 22 12 9 2 2 2 3 3 6 6 7 9 3 3 8
++5 6 8 6 7 9 6 7 9 6 7 9 7 8 10 6 7 9 7 8 10 7 8 10
++7 8 10 8 9 11 7 8 10 8 9 11 13 15 17 12 13 15 10 11 13 9 10 12
++8 9 11 10 11 13 12 13 15 13 17 18 13 17 18 13 17 18 12 15 17 13 15 17
++12 13 15 20 24 26 26 28 29 67 67 66 190 190 190 216 216 216 200 200 199 147 147 146
++57 54 50 23 5 0 24 7 0 24 7 0 23 5 0 24 7 0 107 51 29 170 77 39
++174 79 37 175 79 35 175 79 35 175 79 35 175 79 35 158 73 41 126 96 80 206 202 198
++246 245 245 255 255 255 252 252 252 200 200 199 97 96 96 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 20 23 23 52 51 50 69 73 72 213 211 211 255 255 255 207 206 206
++237 237 237 255 255 255 177 176 172 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 13 13 13 20 23 23 168 168 168 255 255 255 253 253 253 157 157 157
++0 0 0 7 8 10 7 10 12 8 9 11 9 10 12 9 10 12 9 10 12 8 9 11
++8 9 11 10 11 13 6 7 9 3 3 6 5 6 8 5 6 8 6 7 9 5 6 8
++6 7 9 6 7 9 6 7 9 6 7 9 6 7 9 5 6 8 5 6 8 6 7 9
++6 7 9 7 8 10 6 7 9 9 10 12 13 15 17 10 12 14 12 13 15 13 15 17
++12 13 15 10 12 14 12 13 15 14 18 20 13 17 18 13 17 18 12 15 17 13 15 17
++12 13 15 20 23 23 17 18 16 13 15 17 27 25 23 26 28 29 20 20 21 22 12 9
++23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 107 51 29
++170 77 39 173 79 35 174 79 37 166 76 38 126 96 80 157 157 157 237 237 237 255 255 255
++254 254 254 237 237 237 162 160 159 26 28 29 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 190 190 255 255 255 220 219 215
++226 226 226 255 255 255 182 182 182 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 60 59 58 233 232 232 255 255 255 225 222 218 39 42 42
++6 7 9 7 8 10 8 9 11 8 9 11 10 11 13 9 10 12 10 11 13 10 11 13
++10 11 13 10 12 14 8 9 11 5 6 8 5 6 8 5 6 8 6 7 9 6 7 9
++6 7 9 7 8 10 6 7 9 5 6 8 5 6 8 5 6 8 5 6 8 8 8 9
++6 7 9 6 7 9 6 7 9 8 9 11 9 10 12 8 9 11 10 12 14 12 13 15
++13 15 17 12 15 17 12 13 15 12 15 17 14 18 20 14 18 20 16 19 20 14 18 20
++17 7 8 23 5 0 23 5 0 23 5 0 23 5 0 23 5 0 24 7 0 23 5 0
++24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 42 16 9
++129 59 33 159 71 30 123 75 52 177 170 162 225 222 218 252 252 252 255 255 255 251 250 250
++190 190 190 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 190 190 255 255 255 225 222 218
++226 226 226 255 255 255 182 182 182 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 20 23 23 179 179 176 252 252 252 249 249 249 139 137 135 9 10 12
++6 7 9 7 8 10 6 7 9 8 9 11 10 11 13 10 11 13 10 11 13 10 11 13
++10 12 14 10 12 14 10 11 13 7 8 10 5 6 8 5 6 8 5 6 8 5 6 8
++5 6 8 5 6 8 5 6 8 5 6 8 5 6 8 3 3 6 5 6 8 5 6 8
++6 7 9 6 7 9 8 8 9 9 10 12 10 11 13 10 11 13 10 11 13 12 13 15
++13 17 18 12 15 17 13 15 17 13 15 17 13 17 18 14 18 20 20 20 21 17 7 8
++23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0
++24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 23 5 0 22 12 9
++89 68 66 147 147 146 230 230 229 251 250 250 255 255 255 249 249 249 216 216 216 122 123 123
++39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 196 196 196 255 255 255 213 211 211
++226 226 226 255 255 255 182 182 182 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 115 110 108 237 237 237 254 254 254 213 211 211 63 62 61 7 8 10
++8 8 9 8 9 11 7 8 10 10 11 13 10 11 13 9 10 12 10 11 13 10 11 13
++10 12 14 10 12 14 10 11 13 10 11 13 8 9 11 8 9 11 7 8 10 6 7 9
++8 8 9 8 9 11 5 6 8 3 3 6 3 3 6 5 6 8 5 6 8 6 7 9
++8 8 9 8 9 11 7 8 10 9 10 12 9 10 12 10 12 14 10 12 14 12 13 15
++13 15 17 14 18 20 14 18 20 13 15 17 13 15 17 17 18 16 17 7 8 23 5 0
++24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0
++24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 0 0 0 60 59 58 147 147 146
++216 216 216 254 253 253 255 255 255 249 249 249 216 216 216 147 147 146 33 33 31 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 216 216 216 255 255 255 200 200 199
++245 244 244 255 255 255 162 160 159 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 20 23 23 207 206 206 255 255 255 247 247 246 134 131 128 2 2 2 6 7 9
++8 9 11 9 10 12 8 9 11 10 11 13 10 11 13 9 10 12 10 11 13 10 12 14
++10 11 13 10 11 13 10 11 13 10 12 14 10 11 13 9 10 12 10 11 13 9 10 12
++9 10 12 10 11 13 8 9 11 5 6 8 5 6 8 6 7 9 5 6 8 6 7 9
++7 8 10 8 9 11 7 10 12 9 10 12 10 11 13 9 10 12 10 12 14 13 17 18
++13 15 17 13 17 18 12 15 17 12 13 15 13 13 13 22 12 9 23 5 0 24 7 0
++24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0
++23 5 0 23 5 0 24 7 0 22 12 9 52 51 50 157 157 157 226 226 226 249 249 249
++255 255 255 254 254 254 216 216 216 134 134 133 64 64 61 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 237 237 237 254 254 254 196 196 196
++248 248 248 253 253 253 139 137 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 67 67 66 247 247 246 255 255 255 168 168 168 0 0 0 8 8 9 5 6 8
++7 8 10 9 10 12 9 10 12 10 11 13 10 11 13 10 11 13 9 10 12 10 11 13
++10 11 13 12 13 15 10 12 14 10 11 13 10 12 14 10 11 13 10 12 14 9 10 12
++8 9 11 10 11 13 8 9 11 7 8 10 6 7 9 6 7 9 6 7 9 7 8 10
++9 10 12 9 10 12 9 10 12 10 11 13 10 11 13 12 13 15 13 15 17 13 15 17
++13 15 17 13 17 18 16 19 20 39 42 42 39 42 42 17 7 8 23 5 0 24 7 0
++24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 23 5 0
++23 5 0 22 12 9 85 88 88 167 162 159 230 230 229 253 253 253 255 255 255 251 250 250
++226 226 226 157 157 157 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 139 137 135 247 247 246 246 245 245 200 200 199
++251 250 250 243 242 242 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 97 96 96 251 250 250 254 254 254 147 147 146 0 0 0 5 6 8 5 6 8
++6 7 9 7 8 10 9 10 12 9 10 12 10 11 13 10 11 13 9 10 12 10 11 13
++12 13 15 12 13 15 10 12 14 10 11 13 10 11 13 10 12 14 10 11 13 7 10 12
++9 10 12 10 11 13 8 9 11 6 7 9 7 8 10 7 8 10 7 8 10 6 7 9
++8 9 11 9 10 12 12 13 15 12 13 15 12 13 15 12 13 15 13 15 17 12 13 15
++9 10 12 28 30 31 57 54 50 67 65 62 65 64 60 37 34 30 23 5 0 23 5 0
++24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
++23 5 0 69 73 72 216 216 216 255 255 255 255 255 255 252 252 252 225 222 218 168 168 168
++64 64 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 33 33 31 190 190 190 255 255 255 233 232 232 213 211 211
++254 254 254 225 222 218 69 73 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 39 42 42 230 230 229 255 255 255 247 247 246 168 168 168 20 20 21 5 6 8
++5 6 8 6 7 9 8 9 11 8 9 11 10 11 13 12 13 15 13 15 17 10 12 14
++10 12 14 9 10 12 7 8 10 8 9 11 7 10 12 9 10 12 10 12 14 9 10 12
++8 9 11 8 9 11 7 8 10 6 7 9 6 7 9 6 7 9 6 7 9 8 9 11
++9 10 12 10 11 13 13 17 18 10 11 13 12 13 15 13 15 17 12 13 15 20 20 21
++52 51 50 64 64 61 67 67 66 68 67 63 68 67 63 60 59 58 20 20 21 23 5 0
++23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
++22 12 9 157 157 157 253 253 253 253 253 253 213 211 211 122 123 123 63 62 61 20 23 23
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 69 73 72 233 232 232 255 255 255 213 211 211 230 230 229
++254 254 254 190 190 190 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 162 160 159 255 255 255 251 250 250 157 157 157 57 54 50 39 42 42
++17 18 16 5 6 8 6 7 9 7 8 10 8 9 11 10 12 14 13 15 17 9 10 12
++8 8 9 6 7 9 6 7 9 7 8 10 8 9 11 8 9 11 8 9 11 8 9 11
++7 8 10 7 8 10 6 7 9 6 7 9 6 7 9 6 7 9 7 8 10 8 9 11
++10 11 13 10 12 14 12 13 15 12 13 15 10 12 14 27 25 23 51 47 44 64 62 59
++67 67 66 67 67 66 67 67 66 67 67 66 67 67 66 68 67 63 51 47 44 17 7 8
++23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
++17 18 16 192 189 185 255 255 255 248 248 248 139 137 135 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 134 131 128 254 254 254 253 253 253 177 176 172 251 250 250
++249 249 249 134 134 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 33 33 31 216 216 216 255 255 255 233 232 232 69 68 64 68 67 63 68 67 63
++62 61 58 28 30 31 8 8 9 5 6 8 6 7 9 8 9 11 7 8 10 7 8 10
++6 7 9 6 7 9 6 7 9 6 7 9 6 7 9 7 8 10 6 7 9 7 9 9
++8 9 11 7 8 10 8 9 11 7 8 10 8 8 9 9 10 12 9 10 12 13 15 17
++13 17 18 13 17 18 13 15 17 16 19 20 47 49 48 62 61 58 67 66 62 68 67 63
++67 67 66 68 67 63 68 67 63 67 67 66 67 67 66 68 67 63 68 65 63 39 42 42
++17 7 8 23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
++81 44 20 115 110 108 233 232 232 255 255 255 237 237 237 122 123 123 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 213 211 211 255 255 255 226 226 226 206 202 198 255 255 255
++233 232 232 26 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 115 110 108 251 250 250 255 255 255 168 168 168 60 59 58 68 67 63 69 68 64
++62 61 58 39 42 42 60 59 58 39 42 42 27 25 23 12 13 15 3 3 6 3 3 6
++5 6 8 5 6 8 6 7 9 6 7 9 7 8 10 6 7 9 6 7 9 7 8 10
++8 9 11 8 9 11 9 10 12 8 9 11 9 10 12 8 9 11 9 10 12 12 13 15
++20 20 21 33 33 31 47 49 48 64 63 61 68 67 63 68 67 63 68 67 63 68 67 63
++68 67 63 68 65 63 67 67 66 67 67 66 68 65 63 68 67 63 67 67 66 67 65 62
++51 47 44 27 25 23 22 12 9 23 5 0 23 5 0 23 5 0 23 5 0 8 5 4
++81 44 20 138 69 38 154 142 136 243 242 242 255 255 255 240 239 239 134 134 133 39 42 42
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 97 96 96 246 245 245 254 254 254 182 182 182 246 245 245 255 255 255
++177 176 172 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 196 196 196 255 255 255 240 239 239 85 88 88 67 66 62 68 67 63 65 64 60
++51 47 44 62 61 58 66 65 61 68 67 63 65 64 60 57 54 50 39 42 42 17 18 16
++0 0 0 0 0 0 2 2 2 3 3 6 5 6 8 6 7 9 5 6 8 6 7 9
++7 8 10 5 6 8 5 6 8 10 11 13 20 23 23 37 34 30 51 47 44 52 51 50
++60 59 58 67 66 62 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
++69 68 64 69 68 64 67 67 66 67 67 66 67 67 66 69 68 64 68 67 63 67 66 62
++67 66 62 62 61 58 52 51 50 37 34 30 22 12 9 8 5 4 23 5 0 2 2 2
++17 7 8 129 59 33 147 67 29 154 142 136 240 239 239 255 255 255 246 245 245 196 196 196
++97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 177 176 172 252 252 252 240 239 239 200 200 199 254 254 254 243 242 242
++85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13
++97 96 96 237 237 237 255 255 255 196 196 196 69 73 72 67 66 62 64 63 61 39 42 42
++60 59 58 64 63 59 69 68 64 68 67 63 68 67 63 68 67 63 67 66 62 66 65 61
++57 54 50 39 42 42 27 25 23 13 13 13 10 10 10 13 13 13 20 20 21 26 28 29
++39 42 42 57 54 50 60 59 58 66 65 61 67 65 62 68 65 63 68 65 63 69 68 64
++69 68 64 68 67 63 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
++69 68 64 68 67 63 68 65 63 67 67 66 68 65 63 68 67 63 68 67 63 67 66 62
++68 67 63 67 66 62 66 65 61 65 64 60 64 63 59 60 59 58 51 47 44 33 33 31
++20 20 21 81 44 20 129 59 33 148 72 46 146 134 128 233 232 232 253 253 253 253 253 253
++243 242 242 177 176 172 77 78 76 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 67 67 66 220 219 215 255 255 255 216 216 216 230 230 229 255 255 255 200 200 199
++47 49 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 67 66 157 157 157
++213 211 211 252 252 252 248 248 248 147 147 146 64 63 59 57 54 50 39 42 42 57 54 50
++65 64 60 68 65 63 68 67 63 69 68 64 69 68 64 69 68 64 68 67 63 67 67 66
++67 67 66 69 68 64 67 67 66 60 59 58 57 54 50 60 59 58 64 64 61 68 67 63
++69 68 64 69 68 64 65 64 60 68 67 63 67 67 66 68 67 63 68 67 63 69 68 64
++68 67 63 68 67 63 68 67 63 69 68 64 68 67 63 68 67 63 68 67 63 68 67 63
++68 67 63 68 67 63 62 61 58 66 65 61 67 66 62 67 66 62 67 66 62 67 65 62
++67 66 62 67 66 62 68 65 63 67 66 62 66 65 61 67 66 62 66 65 61 66 65 61
++64 63 59 49 32 29 138 69 38 138 69 38 147 67 29 126 96 80 190 190 190 243 242 242
++255 255 255 255 255 255 230 230 229 177 176 172 115 110 108 13 13 13 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 122 123 123 248 248 248 251 250 250 200 200 199 245 244 244 249 249 249 157 157 157
++13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 78 76 213 211 211 251 250 250
++255 255 255 254 254 254 230 230 229 84 81 78 39 42 42 52 51 50 62 61 58 68 65 63
++67 67 66 68 67 63 67 67 66 68 67 63 69 68 64 69 68 64 68 67 63 67 67 66
++69 68 64 69 68 64 69 68 64 69 68 64 68 67 63 69 68 64 67 66 62 66 65 61
++68 67 63 69 68 64 66 65 61 68 65 63 68 67 63 68 67 63 68 67 63 68 67 63
++68 65 63 67 67 66 68 67 63 68 67 63 68 65 63 68 65 63 67 66 62 68 67 63
++68 67 63 67 66 62 60 59 58 60 59 58 66 65 61 67 66 62 67 66 62 67 66 62
++66 65 61 67 66 62 68 65 63 68 65 63 66 65 61 67 66 62 67 66 62 66 65 61
++65 64 60 81 44 20 166 76 38 166 76 38 138 69 38 158 73 41 148 72 46 134 119 113
++200 200 199 251 250 250 255 255 255 253 253 253 243 242 242 213 211 211 134 131 128 33 33 31
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 157 157 157 255 255 255 246 245 245 190 190 190 254 254 254 237 237 237 97 96 96
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 168 168 168 255 255 255 251 250 250
++226 226 226 177 176 172 84 81 78 52 51 50 62 61 58 64 63 59 67 66 62 68 67 63
++68 65 63 68 67 63 68 67 63 68 67 63 68 67 63 69 68 64 67 67 66 68 67 63
++69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 67 66 62 66 65 61
++68 67 63 69 68 64 66 65 61 64 64 61 68 65 63 68 67 63 67 66 62 68 65 63
++67 67 66 67 67 66 68 65 63 68 67 63 68 67 63 68 67 63 67 66 62 67 66 62
++68 67 63 67 66 62 60 59 58 52 51 50 64 63 59 66 65 61 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 67 66 62 67 66 62 66 65 61
++57 54 50 107 51 29 174 79 37 174 79 37 170 77 39 138 69 38 158 73 41 170 77 39
++138 69 38 134 131 128 213 211 211 243 242 242 253 253 253 255 255 255 251 250 250 213 211 211
++122 123 123 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++13 13 13 213 211 211 255 255 255 225 222 218 213 211 211 255 255 255 207 206 206 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 207 206 206 255 255 255 213 211 211
++60 59 58 51 47 44 62 61 58 62 61 58 62 61 58 65 64 60 67 66 62 67 66 62
++67 66 62 68 67 63 68 65 63 67 66 62 68 67 63 68 67 63 68 67 63 68 67 63
++67 66 62 68 67 63 68 67 63 68 67 63 68 67 63 69 68 64 67 66 62 64 64 61
++68 65 63 68 67 63 66 65 61 64 63 59 68 67 63 67 66 62 66 65 61 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 67 66 62
++67 66 62 66 65 61 64 63 59 47 49 48 57 54 50 65 64 60 66 65 61 67 66 62
++67 66 62 67 66 62 67 65 62 67 66 62 67 66 62 67 66 62 66 65 61 65 64 60
++51 47 44 129 59 33 175 79 35 173 77 35 174 79 37 172 77 34 147 67 29 158 73 41
++174 79 37 159 71 30 138 69 38 134 119 113 177 176 172 230 230 229 255 255 255 255 255 255
++246 245 245 200 200 199 134 131 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++105 107 107 249 249 249 255 255 255 179 179 176 243 242 242 254 254 254 162 160 159 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 220 219 215 255 255 255 182 182 182
++13 13 13 62 61 58 62 61 58 62 61 58 65 64 60 67 66 62 66 65 61 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 68 67 63 68 67 63
++66 65 61 66 65 61 67 66 62 68 67 63 67 67 66 69 68 64 67 66 62 64 63 61
++67 67 66 67 67 66 68 65 63 63 62 61 68 67 63 67 66 62 66 65 61 66 65 61
++67 66 62 68 67 63 67 66 62 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 66 65 61 66 65 61 57 54 50 39 42 42 60 59 58 65 64 60 67 66 62
++67 66 62 66 65 61 67 65 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61
++51 47 44 129 59 33 173 77 35 173 79 35 173 77 35 174 79 37 168 75 33 166 76 38
++138 69 38 166 76 38 173 77 35 172 77 34 158 73 41 126 96 80 157 157 157 237 237 237
++252 252 252 254 254 254 246 245 245 177 176 172 64 64 61 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++147 147 146 254 254 254 252 252 252 168 168 168 255 255 255 249 249 249 85 88 88 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 207 206 206 255 255 255 207 206 206
++2 2 2 62 61 58 62 61 58 62 61 58 66 65 61 67 66 62 67 66 62 67 66 62
++67 66 62 66 65 61 67 66 62 67 66 62 68 67 63 67 66 62 67 66 62 68 65 63
++68 67 63 66 65 61 66 65 61 67 66 62 67 66 62 68 67 63 68 67 63 64 63 61
++67 67 66 67 67 66 67 66 62 64 62 59 68 67 63 67 66 62 66 65 61 67 66 62
++67 66 62 67 66 62 67 66 62 68 65 63 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 66 65 61 66 65 61 64 63 59 39 42 42 39 42 42 47 49 48 60 59 58
++66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 65 64 60
++52 51 50 107 51 29 158 73 41 158 73 41 173 79 35 173 77 35 174 79 37 172 77 34
++168 75 33 158 73 41 170 77 39 173 77 35 173 77 35 174 79 37 147 67 29 126 96 80
++182 182 182 237 237 237 255 255 255 255 255 255 216 216 216 134 134 133 13 13 13 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++168 168 168 254 254 254 233 232 232 190 190 190 255 255 255 230 230 229 33 33 31 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 190 190 190 255 255 255 220 219 215
++0 0 0 60 59 58 60 59 58 64 63 59 66 65 61 66 65 61 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++66 65 61 67 66 62 66 65 61 65 64 60 66 65 61 66 65 61 68 67 63 63 62 61
++68 65 63 68 67 63 67 66 62 62 61 58 67 66 62 66 65 61 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 66 65 61 67 66 62
++66 65 61 66 65 61 67 66 62 67 66 62 60 59 58 37 34 30 33 33 31 39 42 42
++60 59 58 62 61 58 62 61 58 65 64 60 67 66 62 67 66 62 67 66 62 66 65 61
++60 59 58 81 44 20 138 69 38 158 73 41 147 67 29 173 77 35 173 77 35 173 77 35
++172 77 34 168 75 33 173 77 35 173 77 35 166 76 38 174 79 37 174 79 37 170 77 39
++158 73 41 134 119 113 213 211 211 253 253 253 255 255 255 243 242 242 177 176 172 39 42 42
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++196 196 196 255 255 255 216 216 216 213 211 211 255 255 255 213 211 211 26 28 29 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 179 179 176 255 255 255 226 226 226
++0 0 0 57 54 50 62 61 58 64 63 59 65 64 60 65 64 60 66 65 61 66 65 61
++66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 67 66 62 67 66 62
++67 66 62 66 65 61 67 66 62 66 65 61 65 64 60 66 65 61 66 65 61 60 59 58
++67 65 62 67 66 62 67 66 62 62 61 58 66 65 61 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 65 64 60 65 64 60 66 65 61
++65 64 60 66 65 61 66 65 61 66 65 61 65 64 60 64 63 59 47 49 48 39 42 42
++37 34 30 39 42 42 51 47 44 52 51 50 65 64 60 67 66 62 65 64 60 65 64 60
++65 64 60 81 44 20 147 67 29 138 69 38 148 72 46 158 73 41 172 77 34 173 77 35
++174 79 37 172 77 34 168 75 33 173 77 35 158 73 41 138 69 38 166 76 38 173 77 35
++173 77 35 170 77 39 137 73 51 162 160 159 237 237 237 255 255 255 253 253 253 192 189 185
++60 59 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 17 18 16 0 0 0 0 0 0 39 42 42
++216 216 216 255 255 255 200 200 199 225 222 218 255 255 255 246 245 245 139 137 135 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 160 159 255 255 255 237 237 237
++37 34 30 57 54 50 62 61 58 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
++66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61
++67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 65 64 60 66 65 61 60 59 58
++66 65 61 66 65 61 66 65 61 62 61 58 66 65 61 66 65 61 67 66 62 67 66 62
++66 65 61 67 66 62 67 66 62 66 65 61 66 65 61 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 60 59 58
++52 51 50 52 51 50 52 51 50 60 59 58 65 64 60 67 66 62 66 65 61 65 64 60
++66 65 61 63 45 38 159 71 30 166 76 38 158 73 41 147 67 29 158 73 41 166 76 38
++174 79 37 173 77 35 173 77 35 172 77 34 172 77 34 166 76 38 147 67 29 158 73 41
++173 79 35 174 79 37 174 79 37 159 71 30 134 119 113 213 211 211 255 255 255 253 253 253
++200 200 199 67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 33 33 31 0 0 0 0 0 0 134 131 128
++245 244 244 254 254 254 196 196 196 177 176 172 240 239 239 255 255 255 225 222 218 39 42 42
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 255 255 255 245 244 244
++67 67 66 52 51 50 62 61 58 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++66 65 61 66 65 61 66 65 61 67 66 62 66 65 61 66 65 61 65 64 60 60 59 58
++62 61 58 65 64 60 65 64 60 60 59 58 65 64 60 66 65 61 66 65 61 66 65 61
++65 64 60 66 65 61 66 65 61 66 65 61 64 63 59 65 64 60 64 63 59 65 64 60
++64 63 59 65 64 60 65 64 60 64 63 59 65 64 60 64 63 59 65 64 60 65 64 60
++64 63 59 64 62 59 62 61 58 65 64 60 66 65 61 66 65 61 66 65 61 65 64 60
++65 64 60 63 45 38 147 67 29 170 77 39 168 75 33 158 73 41 158 73 41 158 73 41
++166 76 38 173 77 35 173 77 35 173 77 35 172 77 34 168 75 33 173 77 35 148 72 46
++158 73 41 174 79 37 173 79 35 173 77 35 170 77 39 126 96 80 200 200 199 252 252 252
++254 254 254 200 200 199 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 17 18 16 0 0 0 0 0 0 157 157 157
++251 250 250 240 239 239 105 107 107 0 0 0 162 160 159 251 250 250 240 239 239 105 107 107
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 249 249 249 249 249 249
++122 123 123 39 42 42 62 61 58 62 61 58 64 63 59 64 63 59 65 64 60 65 64 60
++64 63 59 64 63 59 65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 66 65 61 65 64 60 64 63 59 64 63 59 62 61 58
++52 51 50 60 59 58 60 59 58 57 54 50 62 61 58 66 65 61 65 64 60 66 65 61
++66 65 61 66 65 61 66 65 61 65 64 60 64 63 59 65 64 60 65 64 60 64 63 59
++65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 66 65 61 65 64 60
++65 64 60 52 51 50 107 51 29 147 67 29 172 77 34 173 77 35 170 77 39 166 76 38
++158 73 41 166 76 38 173 77 35 174 79 37 175 79 35 172 77 34 168 75 33 172 77 34
++158 73 41 158 73 41 173 77 35 173 77 35 173 77 35 172 77 34 137 73 51 200 200 199
++253 253 253 254 254 254 196 196 196 54 58 58 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 157 157
++251 250 250 237 237 237 97 96 96 2 2 2 122 123 123 245 244 244 246 245 245 134 134 133
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96 237 237 237 252 252 252
++167 162 159 17 18 16 64 62 59 62 61 58 64 63 59 65 64 60 64 63 59 64 63 59
++64 63 59 64 63 59 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 64 63 59 65 64 60 64 63 59 62 61 58 51 47 44
++52 51 50 62 61 58 64 63 59 62 61 58 60 59 58 65 64 60 65 64 60 66 65 61
++66 65 61 66 65 61 65 64 60 64 63 59 64 63 59 65 64 60 65 64 60 64 63 59
++65 64 60 64 63 59 64 63 59 65 64 60 66 65 61 65 64 60 65 64 60 66 65 61
++64 63 59 64 63 59 64 63 59 64 63 59 64 63 59 65 64 60 65 64 60 64 63 59
++64 63 59 57 54 50 107 51 29 138 69 38 147 67 29 173 77 35 173 77 35 173 77 35
++173 77 35 173 77 35 173 77 35 174 79 37 174 79 37 173 77 35 173 77 35 172 77 34
++168 75 33 147 67 29 158 73 41 173 77 35 173 77 35 173 77 35 173 77 35 145 89 57
++196 196 196 253 253 253 251 250 250 182 182 182 39 42 42 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146
++248 248 248 240 239 239 105 107 107 0 0 0 122 123 123 245 244 244 246 245 245 139 137 135
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 67 66 220 219 215 254 254 254
++200 200 199 33 33 31 60 59 58 64 62 59 65 64 60 65 64 60 64 63 59 65 64 60
++64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 64 63 59 52 51 50
++20 20 21 33 33 31 57 54 50 60 59 58 60 59 58 65 64 60 65 64 60 66 65 61
++65 64 60 65 64 60 64 63 59 64 63 59 64 63 59 65 64 60 65 64 60 64 63 59
++65 64 60 65 64 60 65 64 60 65 64 60 66 65 61 65 64 60 64 63 59 65 64 60
++65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60 64 63 59 64 63 59
++62 61 58 54 58 58 107 51 29 166 76 38 147 67 29 147 67 29 173 77 35 170 77 39
++174 79 37 173 77 35 173 77 35 173 77 35 173 77 35 174 79 37 173 77 35 173 77 35
++173 77 35 166 76 38 138 69 38 158 73 41 166 76 38 173 77 35 173 77 35 174 79 37
++145 89 57 213 211 211 254 254 254 251 250 250 162 160 159 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 137 135
++247 247 246 246 245 245 147 147 146 119 117 113 177 176 172 251 250 250 245 244 244 134 131 128
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 190 190 190 253 253 253
++226 226 226 77 78 76 52 51 50 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
++64 63 59 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++51 47 44 10 11 13 5 6 8 26 28 29 51 47 44 62 61 58 65 64 60 65 64 60
++65 64 60 65 64 60 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 65 64 60
++65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++64 63 59 60 59 58 81 52 41 168 75 33 168 75 33 147 67 29 138 69 38 158 73 41
++147 67 29 174 79 37 173 77 35 174 79 37 174 79 37 173 77 35 174 79 37 173 77 35
++174 79 37 173 77 35 166 76 38 138 69 38 158 73 41 158 73 41 174 79 37 175 79 35
++172 77 34 126 96 80 216 216 216 255 255 255 243 242 242 139 137 135 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 107 107
++237 237 237 255 255 255 200 200 199 105 107 107 207 206 206 255 255 255 226 226 226 67 67 66
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 251 250 250
++245 244 244 119 117 113 39 42 42 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60
++64 63 59 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 64 63 59
++64 63 59 64 63 59 66 65 61 66 65 61 66 65 61 66 65 61 65 64 60 66 65 61
++60 59 58 28 30 31 20 20 21 3 3 6 8 5 4 57 54 50 64 63 59 64 63 59
++65 64 60 66 65 61 65 64 60 65 64 60 65 64 60 65 64 60 66 65 61 66 65 61
++66 65 61 67 66 62 66 65 61 67 66 62 66 65 61 66 65 61 65 64 60 66 65 61
++66 65 61 66 65 61 66 65 61 65 64 60 66 65 61 66 65 61 66 65 61 66 65 61
++64 63 59 62 61 58 63 45 38 158 73 41 168 75 33 172 77 34 158 73 41 138 69 38
++158 73 41 158 73 41 174 79 37 174 79 37 174 79 37 174 79 37 174 79 37 174 79 37
++174 79 37 174 79 37 173 77 35 158 73 41 158 73 41 166 76 38 166 76 38 170 77 39
++158 73 41 170 77 39 134 119 113 233 232 232 255 255 255 230 230 229 97 96 96 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++196 196 196 255 255 255 247 247 246 243 242 242 253 253 253 255 255 255 179 179 176 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 243 242 242
++255 255 255 168 168 168 28 30 31 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++64 63 59 65 64 60 66 65 61 67 66 62 67 66 62 67 66 62 66 65 61 66 65 61
++65 64 60 47 49 48 39 42 42 27 25 23 13 13 13 51 47 44 65 64 60 65 64 60
++65 64 60 66 65 61 66 65 61 65 64 60 64 63 59 65 64 60 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 66 65 61 67 66 62
++67 66 62 66 65 61 67 66 62 67 66 62 66 65 61 66 65 61 67 66 62 66 65 61
++66 65 61 64 63 59 39 42 42 147 67 29 168 75 33 172 77 34 174 79 37 159 71 30
++138 69 38 158 73 41 158 73 41 170 77 39 175 79 35 174 79 37 174 79 37 174 79 37
++174 79 37 174 79 37 173 77 35 173 79 35 138 69 38 158 73 41 158 73 41 166 76 38
++107 51 29 129 59 33 159 71 30 154 142 136 246 245 245 255 255 255 207 206 206 39 42 42
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++97 96 96 226 226 226 254 254 254 254 254 254 251 250 250 200 200 199 64 64 61 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 200 200 199
++255 255 255 216 216 216 28 30 31 57 54 50 64 63 59 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 64 63 59 64 63 59 64 63 59
++65 64 60 65 64 60 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++66 65 61 60 59 58 39 42 42 39 42 42 33 33 31 33 33 31 65 64 60 66 65 61
++65 64 60 66 65 61 66 65 61 65 64 60 65 64 60 65 64 60 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++66 65 61 65 64 60 39 42 42 129 59 33 159 71 30 172 77 34 173 77 35 173 77 35
++166 76 38 147 67 29 158 73 41 147 67 29 172 77 34 173 79 35 174 79 37 174 79 37
++173 77 35 173 77 35 173 77 35 173 77 35 170 77 39 138 69 38 166 76 38 147 67 29
++166 76 38 81 44 20 81 44 20 107 51 29 168 168 168 254 254 254 252 252 252 168 168 168
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 67 67 66 147 147 146 157 157 157 119 117 113 33 33 31 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 157 157
++255 255 255 245 244 244 60 59 58 51 47 44 64 63 59 64 63 59 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 64 63 59 64 63 59
++64 63 59 64 63 59 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62
++65 64 60 57 54 50 52 51 50 39 42 42 39 42 42 27 25 23 60 59 58 65 64 60
++65 64 60 66 65 61 65 64 60 65 64 60 65 64 60 65 64 60 66 65 61 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++66 65 61 65 64 60 47 49 48 107 51 29 147 67 29 166 76 38 173 77 35 173 77 35
++173 77 35 158 73 41 147 67 29 166 76 38 158 73 41 174 79 37 173 77 35 173 77 35
++173 77 35 174 79 37 174 79 37 173 77 35 173 77 35 158 73 41 166 76 38 147 67 29
++166 76 38 138 69 38 27 25 23 68 65 63 67 65 62 213 211 211 255 255 255 240 239 239
++119 117 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96
++251 250 250 254 254 254 134 134 133 27 25 23 64 62 59 64 63 59 64 63 59 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 64 63 59 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62
++66 65 61 60 59 58 57 54 50 47 49 48 51 47 44 33 33 31 51 47 44 65 64 60
++65 64 60 66 65 61 65 64 60 65 64 60 65 64 60 66 65 61 66 65 61 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 66 65 61 52 51 50 42 16 9 129 59 33 138 69 38 166 76 38 173 77 35
++173 77 35 174 79 37 158 73 41 147 67 29 166 76 38 158 73 41 174 79 37 173 77 35
++173 77 35 174 79 37 174 79 37 174 79 37 174 79 37 166 76 38 158 73 41 170 77 39
++147 67 29 170 77 39 81 52 41 168 168 168 147 147 146 119 117 113 240 239 239 255 255 255
++207 206 206 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 64 61
++230 230 229 255 255 255 182 182 182 0 0 0 60 59 58 64 63 59 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 65 64 60 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 63 62 61 60 59 58 52 51 50 52 51 50 52 51 50 39 42 42 64 63 59
++65 64 60 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 66 65 61 47 49 48 13 15 17 51 47 32 138 69 38 148 72 46 166 76 38
++173 77 35 173 77 35 173 77 35 158 73 41 159 71 30 166 76 38 158 73 41 173 77 35
++173 77 35 173 77 35 174 79 37 174 79 37 174 79 37 173 77 35 158 73 41 173 77 35
++158 73 41 166 76 38 147 67 29 139 137 135 243 242 242 177 176 172 182 182 182 254 254 254
++252 252 252 119 117 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42
++200 200 199 255 255 255 225 222 218 33 33 31 51 47 44 64 63 59 64 63 59 65 64 60
++65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
++65 64 60 65 64 60 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62
++67 66 62 67 65 62 57 54 50 57 54 50 57 54 50 60 59 58 51 47 44 60 59 58
++65 64 60 66 65 61 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62
++66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 66 65 61 47 49 48 60 59 58 162 160 159 63 45 38 158 73 41 158 73 41
++173 77 35 172 77 34 172 77 34 173 77 35 147 67 29 166 76 38 158 73 41 166 76 38
++173 77 35 172 77 34 172 77 34 173 77 35 173 77 35 173 77 35 147 67 29 170 77 39
++158 73 41 158 73 41 159 71 30 89 68 66 240 239 239 249 249 249 196 196 196 248 248 248
++255 255 255 134 134 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 39 42 42 52 51 50 11 10 9 0 0 0 0 0 0 13 13 13
++162 160 159 251 250 250 240 239 239 115 110 108 27 25 23 66 65 61 67 66 62 67 66 62
++67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
++67 66 62 67 66 62 68 67 63 68 67 63 68 67 63 69 68 64 69 68 64 69 68 64
++69 68 64 69 68 64 67 67 66 57 54 50 60 59 58 64 63 61 52 51 50 60 59 58
++68 67 63 68 67 63 68 67 63 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
++69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
++69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
++69 68 64 69 68 64 51 47 44 85 88 88 240 239 239 134 131 128 81 44 20 158 73 41
++166 76 38 174 79 37 174 79 37 174 79 37 166 76 38 138 69 38 174 79 37 158 73 41
++174 79 37 174 79 37 174 79 37 174 79 37 174 79 37 174 79 37 166 76 38 158 73 41
++174 79 37 147 67 29 170 77 39 81 44 20 207 206 206 254 254 254 254 254 254 254 254 254
++240 239 239 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++
+--
+libgit2 1.6.2
+
diff --git a/other/assets/desktopctl/lock-screen.svg b/other/assets/desktopctl/lock-screen.svg
new file mode 100644
index 0000000..d0ed566
--- /dev/null
+++ b/other/assets/desktopctl/lock-screen.svg
@@ -0,0 +1,58 @@
+
+
+
+
diff --git a/other/assets/desktopctl/logout.svg b/other/assets/desktopctl/logout.svg
new file mode 100644
index 0000000..2b00a03
--- /dev/null
+++ b/other/assets/desktopctl/logout.svg
@@ -0,0 +1,59 @@
+
+
+
+
diff --git a/other/assets/desktopctl/reboot.svg b/other/assets/desktopctl/reboot.svg
new file mode 100644
index 0000000..a689cce
--- /dev/null
+++ b/other/assets/desktopctl/reboot.svg
@@ -0,0 +1,56 @@
+
+
+
+
diff --git a/other/assets/desktopctl/shutdown.svg b/other/assets/desktopctl/shutdown.svg
new file mode 100644
index 0000000..1f198cb
--- /dev/null
+++ b/other/assets/desktopctl/shutdown.svg
@@ -0,0 +1,54 @@
+
+
+
+
diff --git a/other/assets/logo_linux_clut224.ppm b/other/assets/logo_linux_clut224.ppm
new file mode 100644
index 0000000..eae3002
--- /dev/null
+++ b/other/assets/logo_linux_clut224.ppm
@@ -0,0 +1,3363 @@
+P3
+160 160
+255
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 13 13 13 119 117 113 134 131 128 63 62 61 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 26 28 29 196 196 196 248 248 248 249 249 249 226 226 226 119 117 113
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 147 147 146 251 250 250 253 253 253 252 252 252 255 255 255 230 230 229
+97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 52 51 50 207 206 206 255 255 255 226 226 226 162 160 159 249 249 249 255 255 255
+226 226 226 67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 122 123 123
+207 206 206 216 216 216 162 160 159 39 42 42 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 134 131 128 246 245 245 252 252 252 192 189 185 167 162 159 168 168 168 251 250 250
+253 253 253 200 200 199 54 58 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 168 168 168 246 245 245
+255 255 255 255 255 255 254 254 254 162 160 159 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+20 23 23 213 211 211 255 255 255 237 237 237 168 168 168 230 225 217 182 182 182 196 196 196
+253 253 253 251 250 250 168 168 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 69 73 72 196 196 196 251 250 250 255 255 255
+233 232 232 225 222 218 255 255 255 230 230 229 20 23 23 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+119 117 113 251 250 250 255 255 255 177 176 172 206 202 198 231 227 218 226 222 213 139 137 135
+216 216 216 255 255 255 248 248 248 134 134 133 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 84 81 78 216 216 216 253 253 253 253 253 253 216 216 216
+105 107 107 147 147 146 254 254 254 246 245 245 97 96 96 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+200 200 199 255 255 255 233 232 232 167 162 159 232 228 219 231 227 218 232 228 219 192 189 185
+97 96 96 230 230 229 255 255 255 233 232 232 97 96 96 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 13 13 13 122 123 123 226 226 226 255 255 255 251 250 250 196 196 196 119 117 113
+203 196 190 147 147 146 243 242 242 251 250 250 157 157 157 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96
+237 237 237 254 254 254 192 189 185 214 212 206 232 228 219 232 228 219 231 227 218 230 225 217
+119 117 113 139 137 135 246 245 245 254 254 254 196 196 196 39 42 42 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 115 110 108 237 237 237 255 255 255 248 248 248 168 168 168 97 96 96 206 202 198
+232 228 219 168 168 168 225 222 218 254 254 254 200 200 199 33 33 31 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 162 160 159
+251 250 250 243 242 242 179 179 176 226 222 213 232 228 219 232 228 219 232 228 219 232 228 219
+203 196 190 13 15 17 190 190 190 254 254 254 249 249 249 139 137 135 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13
+119 117 113 237 237 237 255 255 255 246 245 245 162 160 159 68 65 63 203 196 190 234 228 221
+233 229 220 206 202 198 196 196 196 254 254 254 230 230 229 84 81 78 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 213 211 211
+255 255 255 225 222 218 192 189 185 231 227 218 232 228 219 232 228 219 232 228 219 232 228 219
+226 222 213 105 107 107 63 62 61 226 226 226 255 255 255 233 232 232 97 96 96 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 131 128
+237 237 237 255 255 255 243 242 242 147 147 146 47 49 48 177 176 172 231 227 218 234 229 223
+234 229 223 223 218 211 177 176 172 251 250 250 246 245 245 119 117 113 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96 248 248 248
+254 254 254 182 182 182 214 212 206 231 227 218 231 227 218 232 228 219 233 229 220 233 229 220
+231 227 218 177 170 162 10 11 13 134 131 128 246 245 245 254 254 254 200 200 199 47 49 48
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 147 147 146 245 244 244
+255 255 255 245 244 244 147 147 146 27 25 23 134 134 133 230 225 217 234 229 223 234 229 223
+234 229 223 230 225 217 157 157 157 246 245 245 255 255 255 157 157 157 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177 176 172 255 255 255
+243 242 242 157 157 157 232 228 219 231 227 218 232 228 219 232 228 219 233 229 220 232 228 219
+233 229 220 206 202 198 69 68 64 33 33 31 192 189 185 253 253 253 247 247 246 147 147 146
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 157 157 157 245 244 244 255 255 255
+237 237 237 139 137 135 0 0 0 97 96 96 214 212 206 234 229 223 234 229 223 234 229 224
+234 229 224 234 229 224 167 162 159 225 222 218 255 255 255 207 206 206 13 13 13 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 49 48 237 237 237 255 255 255
+196 196 196 203 196 190 231 227 218 231 227 218 231 227 218 233 229 220 233 229 220 233 229 220
+233 229 220 226 222 213 119 117 113 0 0 0 69 73 72 233 232 232 255 255 255 233 232 232
+97 96 96 115 110 108 122 123 123 97 96 96 20 23 23 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 20 23 23 168 168 168 246 245 245 255 255 255 237 237 237
+122 123 123 13 15 17 51 47 44 192 189 185 232 228 219 234 229 224 234 229 224 234 229 224
+234 229 224 234 229 224 192 189 185 182 182 182 255 255 255 233 232 232 33 33 31 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 251 250 250
+162 160 159 229 225 217 231 227 218 232 228 219 231 227 218 233 229 220 233 229 220 233 229 220
+233 229 220 233 229 220 177 170 162 10 11 13 0 0 0 139 137 135 251 250 250 255 255 255
+249 249 249 253 253 253 254 254 254 249 249 249 213 211 211 134 134 133 47 49 48 0 0 0
+0 0 0 0 0 0 39 42 42 179 179 176 251 250 250 255 255 255 230 230 229 115 110 108
+0 0 0 20 20 21 147 147 146 230 223 213 234 229 223 234 229 223 234 229 224 234 229 224
+234 229 223 234 229 223 214 212 206 147 147 146 255 255 255 251 250 250 105 107 107 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 33 33 31 200 200 199 254 254 254 226 226 226
+192 189 185 230 225 217 231 227 218 232 228 219 232 228 219 233 229 220 233 229 220 233 229 220
+233 229 220 233 229 220 214 212 206 26 28 29 2 2 2 39 42 42 200 200 199 254 254 254
+255 255 255 255 255 255 247 247 246 255 255 255 255 255 255 246 245 245 200 200 199 115 110 108
+0 0 0 0 0 0 168 168 168 248 248 248 254 254 254 225 222 218 97 96 96 0 0 0
+0 0 0 85 88 88 214 212 206 233 229 220 234 229 223 234 229 223 234 229 223 234 229 224
+234 229 223 234 229 223 232 228 221 122 123 123 246 245 245 254 254 254 157 157 157 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 233 232 232 253 253 253 196 196 196
+206 202 198 231 227 218 232 228 219 231 227 218 232 228 219 233 229 220 233 229 220 232 228 221
+233 229 220 232 228 219 231 227 218 97 96 96 0 0 0 3 3 6 97 96 96 226 226 226
+213 211 211 134 134 133 97 96 96 157 157 157 233 232 232 253 253 253 254 254 254 246 245 245
+207 206 206 213 211 211 251 250 250 255 255 255 226 226 226 85 88 88 5 6 8 2 2 2
+0 0 0 179 179 176 229 225 217 223 218 211 234 229 223 234 229 223 234 229 224 234 229 224
+234 229 223 234 229 223 234 229 223 157 157 157 225 222 218 255 255 255 200 200 199 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 139 137 135 253 253 253 249 249 249 177 176 172
+223 218 211 231 227 218 232 228 219 232 228 219 232 228 219 233 229 220 232 228 221 232 228 221
+233 229 220 233 229 220 232 228 219 167 162 159 0 0 0 0 0 0 17 7 8 89 75 50
+124 73 40 150 99 58 150 99 58 128 86 51 105 88 81 182 182 182 237 237 237 255 255 255
+255 255 255 255 255 255 255 255 255 225 222 218 85 88 88 0 0 0 2 2 2 0 0 0
+115 110 108 206 202 198 162 160 159 203 196 190 234 229 223 234 229 224 234 229 224 234 229 224
+234 229 224 234 229 223 233 229 220 192 189 185 196 196 196 255 255 255 220 219 215 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 13 13 13 190 190 190 255 255 255 233 232 232 168 168 168
+230 225 217 232 228 219 232 228 219 232 228 219 232 228 219 234 229 223 234 229 223 232 228 221
+233 229 220 233 229 220 232 228 219 162 160 159 0 0 0 8 5 4 81 52 41 145 89 57
+157 101 56 157 101 56 157 101 56 157 101 56 150 99 58 128 86 51 115 110 108 190 190 190
+249 249 249 226 226 226 177 176 172 97 96 96 63 45 38 49 32 29 22 12 9 2 2 2
+97 96 96 134 119 113 126 96 80 214 212 206 234 229 224 234 229 223 234 229 223 234 229 224
+234 229 224 234 229 223 233 229 220 206 202 198 177 176 172 255 255 255 230 230 229 63 62 61
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 77 78 76 243 242 242 255 255 255 190 190 190 206 202 198
+231 227 218 232 228 219 232 228 219 233 229 220 233 229 220 234 229 223 234 228 221 233 229 220
+233 229 220 230 225 217 168 168 168 27 25 23 2 2 2 81 52 41 145 89 57 150 99 58
+157 101 56 157 101 56 158 101 56 159 102 57 158 101 56 158 101 58 150 99 58 107 75 50
+97 96 96 105 88 81 150 99 58 158 101 58 159 102 57 158 101 58 150 99 58 145 89 57
+150 99 58 158 101 58 154 142 136 229 225 217 234 229 224 234 229 223 234 229 224 234 229 224
+234 229 224 234 229 223 233 229 220 222 218 209 162 160 159 252 252 252 243 242 242 115 110 108
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 167 162 159 254 254 254 247 247 246 147 147 146 229 225 217
+232 228 219 233 229 220 232 228 219 233 229 220 233 229 220 234 229 223 233 229 220 233 229 220
+231 227 218 177 170 162 47 49 48 0 0 0 81 52 41 145 89 57 157 101 56 157 101 56
+157 101 56 158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 158 101 56 157 101 56
+137 86 52 107 75 50 150 99 58 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
+159 102 57 126 96 80 206 202 198 234 229 224 234 229 223 234 229 223 234 229 223 234 229 224
+234 229 224 234 229 223 234 229 223 229 225 217 168 168 168 246 245 245 246 245 245 134 134 133
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 26 28 29 216 216 216 255 255 255 216 216 216 177 170 162 232 228 219
+233 229 220 233 229 220 232 228 219 233 229 220 233 229 220 234 229 223 232 228 221 232 228 219
+179 179 176 39 42 42 0 0 0 63 45 38 137 86 52 157 101 56 157 101 56 158 101 56
+158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
+157 101 56 150 99 58 123 75 52 159 102 57 159 102 57 159 102 57 158 101 56 159 102 57
+137 86 52 177 170 162 234 228 221 234 229 223 234 229 224 234 229 223 234 229 224 234 229 224
+234 229 224 234 229 223 234 229 224 229 225 217 168 168 168 240 239 239 251 250 250 147 147 146
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 105 107 107 240 239 239 253 253 253 168 168 168 167 162 159 232 228 219
+232 228 219 232 228 219 233 229 220 233 229 220 233 229 220 232 228 221 232 228 219 192 189 185
+57 54 50 0 0 0 8 5 4 128 86 51 157 101 56 157 101 56 158 101 56 158 101 56
+158 101 56 158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
+159 102 57 159 102 57 150 99 58 150 99 58 159 102 57 159 102 57 159 102 57 158 101 58
+137 86 52 134 119 113 203 196 190 232 228 221 234 229 223 234 229 223 234 229 223 234 229 224
+234 229 223 234 229 223 234 229 224 231 227 218 177 176 172 237 237 237 252 252 252 157 157 157
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 13 13 13 157 157 157 251 250 250 243 242 242 122 123 123 122 123 123 232 228 219
+232 228 219 232 228 219 233 229 220 233 229 220 233 229 220 233 229 220 219 214 205 85 88 88
+3 3 6 2 2 2 22 12 9 145 89 57 157 101 56 157 101 56 158 101 56 158 101 56
+158 101 56 158 101 56 158 101 56 159 102 57 159 102 57 158 101 56 159 102 57 158 101 56
+159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
+159 102 57 157 101 56 126 96 80 203 196 190 234 229 223 234 229 224 234 229 224 234 229 224
+234 229 223 234 229 224 234 229 223 232 228 219 179 179 176 233 232 232 254 254 254 168 168 168
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 20 23 23 177 176 172 254 254 254 233 232 232 57 54 50 67 65 62 206 202 198
+232 228 219 232 228 221 232 228 221 233 229 220 233 229 220 233 229 220 192 189 185 0 0 0
+2 2 2 22 12 9 42 16 9 157 101 56 150 99 58 150 99 58 159 102 57 158 101 56
+158 101 56 158 101 56 159 102 57 158 101 56 159 102 57 159 102 57 159 102 57 159 102 57
+159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
+157 101 56 159 102 57 159 102 57 126 96 80 222 218 209 234 229 224 234 229 224 234 229 223
+234 229 223 234 229 223 234 229 223 232 228 219 182 182 182 230 230 229 255 255 255 182 182 182
+26 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 26 28 29 182 182 182 255 255 255 226 226 226 28 30 31 20 23 23 139 137 135
+226 222 213 234 229 223 234 229 223 233 229 220 233 229 220 233 229 220 134 131 128 0 0 0
+17 7 8 107 51 29 107 51 29 158 101 58 137 86 52 107 75 50 159 102 57 158 101 56
+157 101 56 157 101 56 157 101 56 158 101 56 158 101 56 159 102 57 159 102 57 159 102 57
+159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57
+145 89 57 157 101 56 157 101 56 150 99 58 167 162 159 234 229 224 234 229 224 234 229 223
+234 229 223 234 229 223 234 229 224 232 228 221 179 179 176 220 219 215 255 255 255 196 196 196
+39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 26 28 29 182 182 182 255 255 255 230 230 229 39 42 42 10 11 13 33 33 31
+179 179 176 232 228 219 232 228 221 233 229 220 233 229 220 226 222 213 64 64 61 0 0 0
+107 51 29 178 79 39 147 67 29 137 86 52 137 86 52 107 51 29 150 99 58 158 101 56
+157 101 56 157 101 56 158 101 56 158 101 56 158 101 56 157 101 56 157 101 56 159 102 57
+158 101 56 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 157 101 56 159 102 57
+137 86 52 150 99 58 157 101 56 128 86 51 119 117 113 225 222 218 234 229 224 234 229 223
+234 229 224 234 229 224 234 229 224 232 228 221 177 176 172 213 211 211 255 255 255 196 196 196
+39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 20 23 23 177 176 172 254 254 254 237 237 237 97 96 96 13 15 17 6 7 9
+60 59 58 192 189 185 233 229 220 233 229 220 233 229 220 206 202 198 17 18 16 81 44 20
+170 77 39 182 81 37 174 79 37 107 75 50 148 72 46 158 73 41 123 75 52 157 101 56
+157 101 56 128 86 51 145 89 57 158 101 56 157 101 56 157 101 56 150 99 58 158 101 58
+159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 128 86 51 159 102 57
+137 86 52 150 99 58 145 89 57 145 89 57 157 157 157 214 212 206 234 229 223 232 228 221
+234 229 224 234 229 224 234 229 224 223 218 211 97 96 96 207 206 206 255 255 255 200 200 199
+47 49 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 122 123 123 243 242 242 253 253 253 182 182 182 39 42 42 9 10 12
+7 10 12 69 73 72 134 131 128 134 131 128 139 137 135 122 123 123 81 44 20 166 76 38
+180 81 37 182 81 37 182 81 38 147 67 29 138 69 38 174 79 37 138 69 38 123 75 52
+150 99 58 150 99 58 81 52 41 128 86 51 157 101 56 150 99 58 128 86 51 157 101 56
+159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 123 75 52 159 102 57
+128 86 51 150 99 58 128 86 51 137 86 52 139 137 135 232 228 219 233 229 220 234 229 223
+234 229 224 234 229 223 230 225 217 134 131 128 64 64 61 226 226 226 255 255 255 200 200 199
+39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 196 196 196 254 254 254 248 248 248 134 131 128 0 0 0
+9 10 12 49 32 29 129 59 33 138 69 38 129 59 33 81 44 20 138 69 38 179 80 38
+179 80 38 179 81 36 176 79 38 166 76 38 147 67 29 147 67 29 147 67 29 129 59 33
+107 51 29 124 73 40 107 75 50 49 32 29 128 86 51 150 99 58 107 75 50 150 99 58
+159 102 57 159 102 57 159 102 57 158 101 56 159 102 57 158 101 58 107 75 50 157 101 56
+128 86 51 150 99 58 128 86 51 107 75 50 63 62 61 203 196 190 232 228 219 234 229 224
+234 229 224 225 221 213 147 147 146 39 42 42 168 168 168 251 250 250 251 250 250 157 157 157
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 77 78 76 226 226 226 255 255 255 233 232 232 105 107 107
+2 2 2 5 6 8 49 32 29 107 51 29 159 71 30 172 77 34 179 80 38 179 79 37
+175 79 35 158 73 41 107 51 29 81 44 20 81 44 20 107 51 29 107 51 29 81 44 20
+81 44 20 107 51 29 147 67 29 158 73 41 129 59 33 137 86 52 123 75 52 123 75 52
+159 102 57 159 102 57 159 102 57 159 102 57 159 102 57 145 89 57 107 75 50 145 89 57
+123 75 52 137 86 52 107 75 50 107 51 29 24 7 0 134 131 128 230 225 217 234 229 224
+214 212 206 122 123 123 0 0 0 157 157 157 247 247 246 255 255 255 216 216 216 64 64 61
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 134 131 128 246 245 245 254 254 254 216 216 216
+84 81 78 8 8 9 42 16 9 138 69 38 176 79 38 180 81 37 180 81 37 179 81 36
+147 67 29 81 44 20 107 51 29 124 73 40 124 73 40 138 69 38 138 69 38 138 69 38
+124 73 40 107 51 29 81 44 20 166 76 38 176 79 38 124 73 40 137 73 51 138 69 38
+150 99 58 159 102 57 159 102 57 159 102 57 159 102 57 128 86 51 123 75 52 124 73 40
+137 73 51 81 52 41 138 69 38 170 77 39 129 59 33 28 30 31 214 212 206 177 176 172
+77 78 76 13 15 17 134 131 128 245 244 244 255 255 255 233 232 232 85 88 88 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 230 230 229 255 255 255 254 254 254
+168 168 168 49 32 29 138 69 38 179 81 40 179 80 38 182 81 37 182 81 38 158 73 41
+81 44 20 107 51 29 107 51 29 107 51 29 81 44 20 81 44 20 81 44 20 107 51 29
+124 73 40 138 69 38 107 51 29 107 51 29 166 76 38 158 73 41 138 69 38 158 73 41
+137 86 52 159 102 57 159 102 57 158 101 58 145 89 57 129 59 33 107 51 29 158 73 41
+129 59 33 129 59 33 182 81 38 179 79 37 166 76 38 81 44 20 62 61 58 0 0 0
+0 0 0 119 117 113 233 232 232 255 255 255 237 237 237 134 131 128 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+33 33 31 77 78 76 115 110 108 190 190 190 243 242 242 255 255 255 253 253 253 200 200 199
+85 88 88 138 69 38 179 79 37 179 81 36 180 81 37 182 81 38 170 77 39 81 44 20
+124 73 40 138 69 38 138 69 38 138 69 38 138 69 38 124 73 40 107 51 29 49 32 29
+49 32 29 81 44 20 107 51 29 107 51 29 107 51 29 178 79 39 174 79 37 170 77 39
+137 86 52 159 102 57 158 101 56 145 89 57 107 51 29 81 44 20 49 32 29 81 44 20
+42 16 9 81 44 20 138 69 38 176 79 38 179 80 38 107 51 29 8 5 4 0 0 0
+105 107 107 233 232 232 255 255 255 247 247 246 147 147 146 13 13 13 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
+213 211 211 251 250 250 254 254 254 255 255 255 254 254 254 240 239 239 168 168 168 63 45 38
+129 59 33 179 80 38 179 81 36 180 81 37 180 81 37 180 81 37 129 59 33 107 51 29
+138 69 38 138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 138 69 38 138 69 38
+124 73 40 81 44 20 49 32 29 81 44 20 49 32 29 158 73 41 182 81 38 170 77 39
+137 86 52 157 101 56 145 89 57 63 45 38 37 34 30 62 61 58 69 68 64 69 68 64
+69 68 64 64 63 59 51 47 44 81 52 41 158 73 41 147 67 29 27 25 23 122 123 123
+233 232 232 255 255 255 245 244 244 147 147 146 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 182 182 182
+255 255 255 255 255 255 254 254 254 237 237 237 190 190 190 115 110 108 81 44 20 147 67 29
+178 79 39 179 81 36 180 81 37 179 80 38 179 81 36 174 79 37 81 44 20 124 73 40
+138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 148 72 46 148 72 46 137 73 51
+138 69 38 137 73 51 138 69 38 124 73 40 124 73 40 107 51 29 179 81 40 166 76 38
+137 86 52 123 75 52 51 47 32 52 51 50 69 68 64 77 78 76 77 78 76 77 78 76
+77 78 76 77 78 76 69 73 72 64 64 61 81 52 41 129 59 33 119 117 113 237 237 237
+255 255 255 246 245 245 157 157 157 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 207 206 206
+255 255 255 254 254 254 213 211 211 97 96 96 60 59 58 138 69 38 170 77 39 174 79 37
+176 79 38 176 79 38 179 79 37 179 80 38 179 80 38 147 67 29 81 44 20 138 69 38
+138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 137 73 51 123 75 52 107 75 50
+89 75 50 107 75 50 124 73 40 138 69 38 137 73 51 81 44 20 174 79 37 138 69 38
+107 51 29 81 44 20 57 54 50 69 68 64 69 68 64 84 81 78 84 81 78 85 88 88
+97 96 96 97 96 96 84 81 78 77 78 76 69 68 64 49 32 29 139 137 135 255 255 255
+253 253 253 157 157 157 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 157 157 157
+251 250 250 255 255 255 251 250 250 216 216 216 179 179 176 147 147 146 134 119 113 107 75 50
+107 51 29 166 76 38 179 79 37 179 80 38 179 81 40 107 51 29 107 51 29 138 69 38
+138 69 38 138 69 38 138 69 38 124 73 40 107 51 29 49 32 29 84 81 78 157 157 157
+162 160 159 147 147 146 95 84 79 138 69 38 138 69 38 107 51 29 166 76 38 170 77 39
+158 73 41 63 45 38 69 68 64 69 68 64 77 78 76 84 81 78 95 84 79 97 96 96
+105 107 107 97 96 96 97 96 96 77 78 76 69 73 72 60 59 58 84 81 78 248 248 248
+254 254 254 147 147 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50
+168 168 168 240 239 239 254 254 254 255 255 255 254 254 254 248 248 248 225 222 218 84 81 78
+147 67 29 179 80 38 179 79 37 179 80 38 179 80 38 107 51 29 129 59 33 138 69 38
+138 69 38 107 51 29 81 44 20 42 16 9 2 2 2 7 9 9 119 117 113 177 170 162
+168 168 168 177 170 162 134 119 113 138 69 38 138 69 38 107 51 29 138 69 38 158 73 41
+138 69 38 57 54 50 68 67 63 69 68 64 77 78 76 84 81 78 95 84 79 97 96 96
+105 107 107 105 107 107 105 107 107 84 81 78 77 78 76 69 73 72 67 67 66 225 222 218
+255 255 255 233 232 232 139 137 135 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+13 13 13 69 73 72 168 168 168 245 244 244 255 255 255 248 248 248 134 134 133 107 51 29
+158 73 41 174 79 37 180 81 37 179 80 38 179 81 40 129 59 33 107 51 29 138 69 38
+138 69 38 138 69 38 107 51 29 42 16 9 0 0 0 69 73 72 157 157 157 167 162 159
+167 162 159 167 162 159 154 142 136 138 69 38 138 69 38 81 44 20 107 51 29 107 51 29
+49 32 29 60 59 58 64 63 59 69 68 64 69 73 72 77 78 76 85 88 88 97 96 96
+115 110 108 115 110 108 115 110 108 97 96 96 77 78 76 69 73 72 52 51 50 162 160 159
+248 248 248 255 255 255 243 242 242 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 97 96 96 200 200 199 251 250 250 252 252 252 182 182 182 51 47 32 138 69 38
+170 77 39 179 80 38 179 79 37 179 79 37 179 80 38 158 73 41 81 44 20 138 69 38
+138 69 38 138 69 38 138 69 38 124 73 40 89 68 66 147 147 146 167 162 159 167 162 159
+167 162 159 168 168 168 154 142 136 138 69 38 124 73 40 81 44 20 178 79 39 179 80 38
+107 51 29 60 59 58 64 63 59 69 68 64 69 73 72 69 73 72 84 81 78 97 96 96
+105 107 107 115 110 108 115 110 108 105 107 107 84 81 78 69 73 72 52 51 50 54 58 58
+182 182 182 254 254 254 255 255 255 134 131 128 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13
+134 131 128 237 237 237 253 253 253 254 254 254 213 211 211 89 68 66 147 67 29 173 77 35
+179 81 36 179 80 38 179 79 37 179 80 38 179 79 37 178 79 39 107 51 29 124 73 40
+138 69 38 138 69 38 138 69 38 138 69 38 137 73 51 134 119 113 154 142 136 162 160 159
+154 142 136 134 119 113 137 86 52 138 69 38 107 51 29 129 59 33 180 81 37 180 81 37
+138 69 38 57 54 50 64 63 61 67 65 62 69 73 72 69 73 72 77 78 76 85 88 88
+105 107 107 115 110 108 115 110 108 105 107 107 85 88 88 77 78 76 60 59 58 162 160 159
+246 245 245 255 255 255 251 250 250 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
+230 230 229 255 255 255 252 252 252 207 206 206 126 96 80 159 71 30 174 79 37 179 79 37
+176 79 38 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 158 73 41 81 44 20
+124 73 40 138 69 38 138 69 38 138 69 38 138 69 38 138 69 38 138 69 38 137 73 51
+138 69 38 138 69 38 138 69 38 124 73 40 49 32 29 129 59 33 147 67 29 159 71 30
+138 69 38 57 54 50 64 63 59 64 63 59 67 67 66 69 73 72 77 78 76 85 88 88
+97 96 96 97 96 96 105 107 107 97 96 96 84 81 78 77 78 76 62 61 58 168 168 168
+254 254 254 255 255 255 237 237 237 134 134 133 39 42 42 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123
+251 250 250 251 250 250 167 162 159 123 75 52 170 77 39 175 79 35 175 79 35 176 79 38
+179 81 40 179 80 38 179 80 38 179 81 40 179 81 40 179 81 40 178 79 39 138 69 38
+81 44 20 124 73 40 138 69 38 137 73 51 137 73 51 137 86 52 126 96 80 166 113 90
+134 119 113 146 134 128 134 119 113 63 45 38 8 5 4 8 5 4 17 7 8 42 16 9
+49 32 29 33 33 31 65 64 60 63 62 61 64 63 61 69 68 64 69 73 72 77 78 76
+85 88 88 85 88 88 97 96 96 84 81 78 69 73 72 69 68 64 51 47 32 126 96 80
+214 212 206 254 254 254 255 255 255 245 244 244 190 190 190 52 51 50 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 119 117 113
+246 245 245 253 253 253 207 206 206 126 96 80 159 71 30 176 79 38 176 79 38 179 79 37
+179 80 38 179 80 38 179 80 38 182 87 48 197 182 169 182 149 133 182 149 133 182 149 133
+146 134 128 95 84 79 126 96 80 146 134 128 157 157 157 167 162 159 167 162 159 167 162 159
+167 162 159 157 157 157 115 110 108 167 162 159 97 96 96 0 0 0 3 3 6 2 2 2
+64 63 61 119 117 113 52 51 50 64 63 59 63 62 61 64 63 61 69 68 64 69 73 72
+77 78 76 77 78 76 77 78 76 69 68 64 69 68 64 60 59 58 107 51 29 170 77 39
+148 72 46 192 189 185 246 245 245 255 255 255 245 244 244 119 117 113 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 61
+200 200 199 254 254 254 254 254 254 216 216 216 115 110 108 147 67 29 174 79 37 179 81 36
+179 80 38 179 80 38 179 79 37 179 81 40 182 149 133 226 220 210 232 225 217 232 225 217
+230 225 217 206 202 198 167 162 159 122 123 123 105 107 107 119 117 113 134 131 128 134 131 128
+119 117 113 134 131 128 203 196 190 233 229 220 203 196 190 85 88 88 0 0 0 69 68 64
+182 182 182 223 218 211 134 131 128 47 49 48 64 64 61 64 63 61 64 63 61 67 65 62
+67 65 62 67 65 62 64 63 61 64 63 59 60 59 58 81 52 41 170 77 39 176 79 38
+147 67 29 107 75 50 196 196 196 253 253 253 251 250 250 122 123 123 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+69 73 72 200 200 199 251 250 250 254 254 254 237 237 237 139 137 135 124 73 40 166 76 38
+176 79 38 179 79 37 179 80 38 179 80 38 179 81 40 182 149 133 230 223 213 232 225 217
+231 227 218 231 227 218 230 225 217 226 220 210 203 196 190 167 162 159 147 147 146 147 147 146
+179 179 176 225 221 213 233 229 220 233 229 220 233 229 220 214 212 206 147 147 146 207 206 206
+231 227 218 232 228 219 220 215 207 122 123 123 64 64 61 66 65 61 67 66 62 67 66 62
+65 64 60 64 63 59 64 64 61 60 59 58 81 52 41 166 76 38 179 81 40 182 81 38
+129 59 33 139 137 135 240 239 239 254 254 254 255 255 255 226 226 226 85 88 88 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 26 28 29 168 168 168 243 242 242 255 255 255 246 245 245 177 176 172 89 68 66
+129 59 33 166 76 38 176 79 38 179 79 37 179 79 37 176 79 38 182 149 133 226 220 210
+232 228 219 232 228 219 232 228 219 232 228 219 233 229 220 233 229 220 231 227 218 182 182 182
+157 157 157 219 214 205 234 229 223 233 229 220 233 229 220 220 215 207 192 189 185 233 229 220
+233 229 220 234 229 223 229 225 217 177 176 172 147 147 146 134 131 128 85 88 88 52 51 50
+39 42 42 47 49 48 97 96 96 147 147 146 182 149 133 166 113 90 182 87 48 182 81 38
+182 81 38 166 76 38 154 142 136 216 216 216 251 250 250 255 255 255 213 211 211 39 42 42
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 26 28 29 122 123 123 230 230 229 255 255 255 251 250 250 216 216 216
+139 137 135 81 52 41 107 51 29 129 59 33 138 69 38 147 67 29 182 149 133 226 220 210
+232 228 219 232 228 219 233 229 220 233 229 220 232 228 219 233 229 220 231 227 218 226 222 213
+214 212 206 177 176 172 168 168 168 179 179 176 167 162 159 139 137 135 157 157 157 147 147 146
+203 196 190 206 202 198 167 162 159 177 170 162 214 212 206 226 222 213 220 215 207 206 202 198
+203 196 190 206 202 198 220 215 207 232 228 221 234 228 221 220 209 198 182 149 133 182 81 37
+182 81 38 182 81 37 175 79 35 150 99 58 182 182 182 253 253 253 237 237 237 97 96 96
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 13 13 13 122 123 123 213 211 211 233 232 232 253 253 253 255 255 255 255 255 255
+252 252 252 233 232 232 207 206 206 182 182 182 105 107 107 126 96 80 203 196 190 223 218 211
+231 227 218 232 228 219 232 228 219 232 228 219 233 229 220 232 228 219 233 229 220 232 228 219
+232 228 219 231 227 218 222 218 209 162 160 159 179 179 176 206 202 198 203 196 190 182 182 182
+134 131 128 179 179 176 214 212 206 230 223 213 231 227 218 232 228 219 233 229 220 234 229 223
+234 228 221 232 228 221 234 229 223 234 228 221 220 209 198 182 149 133 182 87 48 182 81 37
+170 77 39 166 76 38 148 72 46 134 119 113 230 230 229 255 255 255 226 226 226 67 67 66
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 64 64 61 226 226 226 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255
+255 255 255 255 255 255 255 255 255 233 232 232 84 81 78 105 88 81 97 96 96 147 147 146
+229 225 217 232 228 219 233 229 220 232 228 219 233 229 220 232 228 219 233 229 220 234 229 223
+232 228 221 233 229 220 232 228 219 225 221 213 226 222 213 229 225 217 230 223 213 226 220 210
+214 212 206 226 222 213 229 225 217 232 228 219 233 229 220 233 229 220 233 229 220 234 229 223
+234 229 223 233 229 220 230 223 213 197 182 169 166 113 90 179 79 34 182 81 38 182 81 38
+129 59 33 89 68 66 190 190 190 240 239 239 255 255 255 246 245 245 147 147 146 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 85 88 88 245 244 244 255 255 255 230 230 229 254 253 253 255 255 255 255 255 255
+255 255 255 255 255 255 255 255 255 233 232 232 207 206 206 226 226 226 237 237 237 190 190 190
+206 202 198 230 225 217 232 228 219 232 228 219 233 229 220 233 229 220 233 229 220 234 229 223
+232 228 221 233 229 220 231 227 218 230 225 217 229 225 217 229 225 217 226 222 213 229 225 217
+226 222 213 230 225 217 231 227 218 233 229 220 233 229 220 233 229 220 233 229 220 232 225 217
+220 209 198 197 182 169 166 113 90 182 87 48 174 79 37 174 79 37 166 76 38 147 67 29
+107 51 29 60 59 58 182 182 182 252 252 252 252 252 252 162 160 159 20 23 23 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 63 62 61 226 226 226 255 255 255 200 200 199 207 206 206 253 253 253 255 255 255
+255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 252 252 252 182 182 182
+119 117 113 219 214 205 220 215 207 232 228 219 233 229 220 234 229 223 234 229 223 234 229 223
+234 229 223 234 229 223 233 229 220 232 228 219 231 227 218 232 228 219 232 228 219 231 227 218
+230 225 217 231 227 218 232 228 219 233 229 220 234 228 221 233 229 220 233 229 220 221 217 205
+166 113 90 147 67 29 166 76 38 138 69 38 107 51 29 81 52 41 122 123 123 157 157 157
+182 182 182 207 206 206 237 237 237 254 254 254 237 237 237 97 96 96 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 33 33 31 190 190 190 255 255 255 237 237 237 134 131 128 168 168 168 237 237 237
+254 254 254 255 255 255 255 255 255 255 255 255 255 255 255 249 249 249 182 182 182 105 88 81
+68 65 63 157 157 157 147 147 146 231 227 218 233 229 220 233 229 220 234 229 223 232 228 221
+234 229 223 234 229 224 234 229 224 234 229 223 232 228 219 233 229 220 233 229 220 232 228 219
+231 227 218 231 227 218 231 227 218 232 228 221 230 223 213 203 196 190 182 149 133 166 113 90
+158 101 58 138 69 38 81 44 20 81 44 20 49 32 29 60 59 58 220 219 215 251 250 250
+255 255 255 255 255 255 255 255 255 249 249 249 177 176 172 33 33 31 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 134 134 133 246 245 245 253 253 253 179 179 176 137 86 52 126 96 80
+167 162 159 206 202 198 216 216 216 213 211 211 192 189 185 134 119 113 123 75 52 123 75 52
+107 75 50 57 54 50 51 47 44 206 202 198 232 228 219 232 228 219 232 228 219 232 228 221
+234 229 223 234 229 224 234 229 224 234 229 223 233 229 220 233 229 220 233 229 220 231 227 218
+232 228 219 232 228 219 231 227 218 225 221 213 119 117 113 134 131 128 177 176 172 196 196 196
+168 168 168 139 137 135 168 168 168 230 230 229 237 237 237 245 244 244 254 254 254 253 253 253
+233 232 232 213 211 211 190 190 190 119 117 113 13 13 13 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 64 64 61 220 219 215 255 255 255 240 239 239 134 131 128 128 86 51
+137 86 52 124 73 40 124 73 40 124 73 40 124 73 40 137 86 52 137 86 52 137 86 52
+128 86 51 81 52 41 81 52 41 139 137 135 229 225 217 230 225 217 232 228 219 232 228 219
+234 229 223 234 229 223 233 229 220 233 229 220 233 229 220 232 228 219 232 228 219 232 228 219
+231 227 218 231 227 218 231 227 218 230 223 213 122 123 123 251 250 250 255 255 255 255 255 255
+255 255 255 253 253 253 247 247 246 254 254 254 255 255 255 255 255 255 251 250 250 207 206 206
+85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 119 117 113 248 248 248 255 255 255 233 232 232 115 110 108
+123 75 52 137 86 52 150 99 58 150 99 58 137 86 52 128 86 51 145 89 57 137 86 52
+150 99 58 107 75 50 128 86 51 77 78 76 206 202 198 232 228 219 231 227 218 231 227 218
+232 228 219 232 228 221 233 229 220 233 229 220 233 229 220 233 229 220 233 229 220 233 229 220
+232 228 219 231 227 218 206 202 198 226 220 210 139 137 135 248 248 248 255 255 255 233 232 232
+237 237 237 246 245 245 251 250 250 246 245 245 182 182 182 168 168 168 119 117 113 54 58 58
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 177 176 172 247 247 246 255 255 255 233 232 232
+157 157 157 126 96 80 128 86 51 123 75 52 128 86 51 145 89 57 145 89 57 157 101 56
+137 86 52 107 75 50 123 75 52 51 47 32 167 162 159 229 225 217 232 228 219 232 228 219
+232 228 219 232 228 219 232 228 219 231 227 218 232 228 219 232 228 219 232 228 219 232 228 219
+232 228 219 231 227 218 134 134 133 134 131 128 134 134 133 240 239 239 254 254 254 162 160 159
+0 0 0 97 96 96 139 137 135 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 39 42 42 177 176 172 251 250 250 255 255 255
+247 247 246 179 179 176 107 75 50 150 99 58 150 99 58 150 99 58 157 101 56 145 89 57
+81 52 41 123 75 52 107 75 50 107 75 50 97 96 96 223 218 211 232 228 219 232 228 219
+231 227 218 232 228 219 232 228 219 232 228 219 232 228 219 232 228 219 232 228 219 233 229 220
+232 228 219 232 228 219 203 196 190 196 196 196 243 242 242 252 252 252 254 254 254 147 147 146
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 77 78 76 216 216 216 254 254 254 251 250 250
+200 200 199 123 75 52 123 75 52 150 99 58 150 99 58 157 101 56 145 89 57 107 75 50
+137 86 52 137 86 52 137 86 52 128 86 51 81 44 20 192 189 185 231 227 218 231 227 218
+233 229 220 232 228 219 232 228 219 231 227 218 232 228 219 232 228 219 231 227 218 231 227 218
+232 228 219 233 229 220 225 221 213 177 176 172 246 245 245 255 255 255 243 242 242 115 110 108
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 20 23 23 200 200 199 254 254 254 252 252 252 192 189 185
+126 96 80 128 86 51 150 99 58 150 99 58 157 101 56 150 99 58 107 75 50 137 86 52
+137 86 52 145 89 57 150 99 58 137 86 52 49 32 29 122 123 123 225 221 213 231 227 218
+231 227 218 230 225 217 231 227 218 232 228 219 231 227 218 231 227 218 233 229 220 233 229 220
+233 229 220 233 229 220 233 229 220 192 189 185 196 196 196 255 255 255 255 255 255 237 237 237
+168 168 168 119 117 113 39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 168 168 168 252 252 252 254 254 254 190 190 190 128 86 51
+128 86 51 150 99 58 150 99 58 157 101 56 150 99 58 107 75 50 123 75 52 128 86 51
+150 99 58 157 101 56 145 89 57 107 75 50 81 52 41 60 59 58 203 196 190 229 225 217
+229 225 217 229 225 217 230 225 217 231 227 218 232 228 219 232 228 219 233 229 220 232 228 219
+233 229 220 234 229 223 234 229 223 232 228 221 147 147 146 196 196 196 248 248 248 255 255 255
+251 250 250 247 247 246 230 230 229 182 182 182 105 107 107 52 51 50 20 23 23 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 105 107 107 237 237 237 255 255 255 216 216 216 126 96 80 128 86 51
+150 99 58 157 101 56 157 101 56 150 99 58 107 75 50 88 74 36 128 86 51 145 89 57
+150 99 58 145 89 57 128 86 51 107 75 50 107 75 50 51 47 32 177 170 162 229 225 217
+230 225 217 230 225 217 230 225 217 231 227 218 232 228 219 233 229 220 232 228 219 233 229 220
+233 229 220 234 229 223 234 229 224 234 229 224 229 225 217 182 182 182 168 168 168 216 216 216
+243 242 242 253 253 253 255 255 255 255 255 255 248 248 248 213 211 211 177 176 172 157 157 157
+139 137 135 105 107 107 64 64 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 39 42 42 190 190 190 254 254 254 243 242 242 146 134 128 128 86 51 145 89 57
+158 101 56 150 99 58 150 99 58 88 74 36 63 45 38 107 75 50 150 99 58 145 89 57
+150 99 58 137 86 52 137 86 52 107 75 50 88 74 36 97 96 96 214 212 206 229 225 217
+230 225 217 230 225 217 230 225 217 231 227 218 231 227 218 233 229 220 232 228 219 233 229 220
+234 229 223 234 229 223 234 229 223 234 229 223 234 229 224 234 229 224 222 218 209 182 182 182
+139 137 135 147 147 146 196 196 196 240 239 239 254 254 254 255 255 255 254 254 254 251 250 250
+246 245 245 240 239 239 233 232 232 200 200 199 139 137 135 52 51 50 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 64 64 61 230 230 229 255 255 255 206 202 198 128 86 51 123 75 52 158 101 56
+157 101 56 150 99 58 107 75 50 63 45 38 107 75 50 150 99 58 145 89 57 150 99 58
+145 89 57 145 89 57 123 75 52 107 75 50 97 96 96 206 202 198 229 225 217 229 225 217
+230 225 217 231 227 218 231 227 218 231 227 218 232 228 219 233 229 220 233 229 220 233 229 220
+232 228 221 234 229 224 234 229 223 234 229 223 234 229 224 234 229 224 234 229 223 234 229 223
+192 189 185 60 59 58 46 53 56 85 88 88 162 160 159 216 216 216 233 232 232 240 239 239
+246 245 245 251 250 250 255 255 255 255 255 255 253 253 253 225 222 218 147 147 146 60 59 58
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 97 96 96 249 249 249 254 254 254 154 142 136 124 73 40 150 99 58 157 101 56
+150 99 58 145 89 57 81 52 41 107 75 50 137 86 52 145 89 57 128 86 51 150 99 58
+137 86 52 145 89 57 81 52 41 115 110 108 206 202 198 229 225 217 229 225 217 229 225 217
+230 225 217 231 227 218 230 225 217 231 227 218 232 228 219 232 228 219 232 228 219 233 229 220
+233 229 220 234 229 223 234 229 224 234 229 224 234 229 223 234 229 224 234 229 224 232 228 221
+157 157 157 34 41 43 33 38 41 38 46 48 28 35 38 46 53 56 85 88 88 119 117 113
+134 134 133 157 157 157 192 189 185 226 226 226 253 253 253 255 255 255 251 250 250 207 206 206
+105 107 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 134 134 133 255 255 255 247 247 246 105 88 81 128 86 51 150 99 58 157 101 56
+150 99 58 107 75 50 81 52 41 128 86 51 145 89 57 123 75 52 150 99 58 137 86 52
+137 86 52 107 75 50 105 107 107 214 212 206 231 227 218 230 225 217 229 225 217 230 225 217
+231 227 218 231 227 218 231 227 218 231 227 218 231 227 218 231 227 218 231 227 218 233 229 220
+233 229 220 232 228 221 234 229 223 234 229 224 234 229 224 234 229 223 234 229 224 222 218 209
+105 107 107 28 35 38 28 35 38 33 38 41 28 35 38 34 41 43 33 38 41 34 41 43
+34 41 43 38 46 48 54 58 58 85 88 88 147 147 146 226 226 226 252 252 252 254 254 254
+230 230 229 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 134 134 133 255 255 255 245 244 244 89 68 66 128 86 51 157 101 56 150 99 58
+137 86 52 63 45 38 123 75 52 137 86 52 137 86 52 128 86 51 137 86 52 128 86 51
+88 74 36 122 123 123 214 212 206 232 228 219 231 227 218 230 225 217 230 225 217 231 227 218
+231 227 218 231 227 218 231 227 218 231 227 218 230 225 217 231 227 218 232 228 219 233 229 220
+233 229 220 232 228 221 234 229 223 234 229 223 234 229 223 234 229 223 234 229 223 179 179 176
+33 38 41 29 32 34 28 35 38 33 38 41 33 38 41 33 38 41 28 35 38 33 38 41
+33 38 41 34 41 43 34 41 43 34 41 43 42 49 51 77 78 76 182 182 182 247 247 246
+254 254 254 213 211 211 77 78 76 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 119 117 113 255 255 255 251 250 250 105 88 81 124 73 40 157 101 56 150 99 58
+107 75 50 88 74 36 128 86 51 128 86 51 128 86 51 137 86 52 123 75 52 81 44 20
+119 117 113 219 214 205 231 227 218 231 227 218 230 225 217 229 225 217 230 225 217 231 227 218
+231 227 218 231 227 218 231 227 218 229 225 217 230 225 217 231 227 218 231 227 218 232 228 219
+232 228 219 233 229 220 232 228 221 234 229 223 234 229 223 234 229 223 214 212 206 77 78 76
+23 27 31 25 30 33 28 35 38 33 38 41 33 38 41 28 35 38 33 38 41 33 38 41
+33 38 41 38 46 48 38 46 48 34 41 43 42 49 51 54 58 58 69 73 72 182 182 182
+252 252 252 254 254 254 196 196 196 39 42 42 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 97 96 96 251 250 250 254 254 254 134 131 128 124 73 40 157 101 56 145 89 57
+81 44 20 107 75 50 128 86 51 137 86 52 128 86 51 88 74 36 37 34 30 3 3 8
+162 160 159 233 229 220 231 227 218 230 225 217 230 225 217 229 225 217 230 225 217 231 227 218
+231 227 218 231 227 218 231 227 218 230 225 217 230 225 217 230 225 217 230 225 217 232 228 219
+232 228 219 233 229 220 234 229 223 234 229 223 233 229 220 223 218 211 119 117 113 28 35 38
+29 32 34 29 32 34 29 32 34 25 30 33 25 30 33 28 35 38 28 35 38 28 35 38
+34 41 43 38 46 48 38 46 48 38 46 48 42 49 51 46 53 56 54 58 58 64 67 67
+196 196 196 254 253 253 254 254 254 190 190 190 52 51 50 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 67 67 66 233 232 232 254 254 254 179 179 176 124 73 40 157 101 56 137 86 52
+63 45 38 107 75 50 137 86 52 137 86 52 81 52 41 27 25 23 20 24 26 14 18 20
+105 107 107 230 225 217 230 225 217 230 225 217 230 225 217 230 225 217 229 225 217 231 227 218
+231 227 218 230 225 217 230 225 217 229 225 217 229 225 217 229 225 217 231 227 218 231 227 218
+232 228 219 233 229 220 233 229 220 233 229 220 226 222 213 147 147 146 39 42 42 28 35 38
+29 32 34 25 30 33 25 30 33 21 25 29 25 30 33 29 32 34 28 35 38 28 35 38
+34 41 43 34 41 43 34 41 43 38 46 48 42 49 51 46 53 56 46 53 56 54 58 58
+85 88 88 207 206 206 254 254 254 251 250 250 168 168 168 26 28 29 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 52 51 50 207 206 206 255 255 255 207 206 206 124 73 40 150 99 58 123 75 52
+88 74 36 88 74 36 81 52 41 49 32 29 26 28 29 21 25 29 21 25 29 16 19 20
+60 59 58 203 196 190 230 225 217 230 225 217 231 227 218 230 225 217 229 225 217 230 225 217
+231 227 218 230 225 217 229 225 217 226 222 213 226 222 213 229 225 217 231 227 218 232 228 219
+231 227 218 233 229 220 232 228 219 222 218 209 139 137 135 33 38 41 25 30 33 29 32 34
+29 32 34 25 30 33 23 27 31 21 25 29 25 30 33 28 35 38 28 35 38 34 41 43
+33 38 41 33 38 41 34 41 43 38 46 48 42 49 51 46 53 56 42 49 51 46 53 56
+46 53 56 85 88 88 220 219 215 255 255 255 246 245 245 122 123 123 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 26 28 29 182 182 182 255 255 255 226 226 226 128 86 51 145 89 57 107 75 50
+49 32 29 27 25 23 13 17 18 20 23 23 20 24 26 20 24 26 20 23 23 16 19 20
+26 28 29 139 137 135 226 222 213 229 225 217 229 225 217 229 225 217 229 225 217 229 225 217
+229 225 217 229 225 217 226 222 213 226 222 213 226 222 213 229 225 217 231 227 218 231 227 218
+231 227 218 231 227 218 203 196 190 119 117 113 28 35 38 29 32 34 23 27 31 25 30 33
+25 30 33 28 35 38 29 32 34 25 30 33 25 30 33 28 35 38 33 38 41 34 41 43
+34 41 43 33 38 41 34 41 43 38 46 48 38 46 48 38 46 48 42 49 51 42 49 51
+46 53 56 46 53 56 105 107 107 233 232 232 255 255 255 237 237 237 105 107 107 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 13 13 13 168 168 168 253 253 253 233 232 232 126 96 80 128 86 51 49 32 29
+21 25 29 21 25 29 16 22 26 16 19 20 16 19 20 16 19 20 16 19 20 16 19 20
+16 22 26 52 51 50 167 162 159 226 222 213 229 225 217 229 225 217 229 225 217 230 225 217
+229 225 217 229 225 217 229 225 217 226 222 213 225 221 213 229 225 217 230 225 217 230 225 217
+220 215 207 162 160 159 84 81 78 28 35 38 28 35 38 25 30 33 21 25 29 21 25 29
+23 27 31 25 30 33 29 32 34 29 32 34 23 27 31 29 32 34 28 35 38 33 38 41
+34 41 43 33 38 41 33 38 41 34 41 43 34 41 43 38 46 48 38 46 48 42 49 51
+46 53 56 46 53 56 46 53 56 139 137 135 243 242 242 254 254 254 220 219 215 84 81 78
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 162 160 159 252 252 252 237 237 237 134 119 113 88 74 36 16 22 26
+20 24 26 20 23 23 16 19 20 16 19 20 20 23 23 20 23 23 20 23 23 16 19 20
+14 18 20 20 23 23 29 32 34 134 131 128 203 196 190 226 220 210 230 225 217 230 225 217
+229 225 217 230 223 213 226 222 213 226 222 213 226 222 213 223 218 211 214 212 206 177 176 172
+85 88 88 28 35 38 29 32 34 23 27 31 21 25 29 20 24 26 23 27 31 21 25 29
+20 24 26 21 25 29 23 27 31 29 32 34 25 30 33 25 30 33 33 38 41 28 35 38
+33 38 41 33 38 41 28 35 38 33 38 41 34 41 43 38 46 48 38 46 48 38 46 48
+42 49 51 42 49 51 42 49 51 54 58 58 182 182 182 252 252 252 254 254 254 168 168 168
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 20 23 23 177 176 172 254 254 254 237 237 237 134 119 113 51 47 32 20 23 23
+16 19 20 16 19 20 14 18 20 16 19 20 20 23 23 14 18 20 20 23 23 20 23 23
+14 18 20 14 18 20 20 23 23 16 22 26 69 73 72 139 137 135 179 179 176 206 202 198
+220 215 207 223 218 211 220 215 207 203 196 190 177 170 162 134 134 133 85 88 88 14 18 20
+23 27 31 23 27 31 20 24 26 20 24 26 20 23 23 20 24 26 20 24 26 20 24 26
+16 22 26 20 24 26 23 27 31 25 30 33 25 30 33 28 35 38 28 35 38 29 32 34
+33 38 41 33 38 41 29 32 34 28 35 38 33 38 41 34 41 43 34 41 43 34 41 43
+42 49 51 42 49 51 42 49 51 46 53 56 85 88 88 213 211 211 255 255 255 246 245 245
+134 131 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 20 23 23 147 147 146 207 206 206 200 200 199 119 117 113
+39 42 42 47 49 48 190 190 190 255 255 255 237 237 237 105 88 81 33 33 31 20 24 26
+20 24 26 16 19 20 13 15 17 13 15 17 12 13 15 10 12 14 14 18 20 16 19 20
+13 17 18 14 18 20 20 23 23 20 23 23 20 24 26 20 24 26 47 49 48 63 62 61
+69 73 72 84 81 78 69 73 72 60 59 58 39 42 42 20 24 26 20 24 26 21 25 29
+16 22 26 20 23 23 20 23 23 16 19 20 12 15 17 13 15 17 13 15 17 13 15 17
+12 13 15 13 17 18 21 25 29 25 30 33 25 30 33 25 30 33 28 35 38 28 35 38
+28 35 38 33 38 41 29 32 34 25 30 33 29 32 34 34 41 43 38 46 48 42 49 51
+42 49 51 46 53 56 46 53 56 42 49 51 54 58 58 115 110 108 233 232 232 255 255 255
+230 230 229 97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 139 137 135 248 248 248 255 255 255 255 255 255 246 245 245
+196 196 196 192 189 185 243 242 242 255 255 255 213 211 211 51 47 32 26 28 29 20 23 23
+16 22 26 13 17 18 12 15 17 13 15 17 10 11 13 10 12 14 12 15 17 13 17 18
+13 15 17 12 13 15 12 15 17 13 17 18 13 15 17 12 13 15 16 19 20 14 18 20
+12 15 17 13 15 17 12 15 17 12 15 17 13 17 18 16 19 20 20 23 23 20 23 23
+13 17 18 14 18 20 13 15 17 10 12 14 12 13 15 14 18 20 14 18 20 13 17 18
+12 13 15 10 12 14 16 19 20 20 24 26 21 25 29 23 27 31 25 30 33 25 30 33
+25 30 33 29 32 34 25 30 33 29 32 34 28 35 38 33 38 41 42 49 51 42 49 51
+42 49 51 46 53 56 54 58 58 46 53 56 46 53 56 69 73 72 157 157 157 247 247 246
+254 254 254 207 206 206 54 58 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 182 182 182 253 253 253 245 244 244 243 242 242 254 254 254
+255 255 255 255 255 255 255 255 255 246 245 245 134 131 128 37 34 30 13 17 18 14 18 20
+14 18 20 13 15 17 12 13 15 12 13 15 9 10 12 9 10 12 10 11 13 10 12 14
+10 11 13 10 11 13 10 11 13 10 11 13 12 13 15 13 15 17 14 18 20 13 15 17
+9 10 12 9 10 12 8 9 11 8 9 11 9 10 12 10 11 13 10 11 13 12 13 14
+9 10 12 9 10 12 12 13 15 12 13 15 12 13 15 13 17 18 13 17 18 13 15 17
+12 13 15 10 12 14 13 15 17 13 17 18 16 19 20 20 23 23 20 24 26 23 27 31
+21 25 29 25 30 33 28 35 38 33 38 41 33 38 41 33 38 41 38 46 48 34 41 43
+38 46 48 42 49 51 54 58 58 54 58 58 46 53 56 46 53 56 64 67 67 182 182 182
+254 254 254 252 252 252 190 190 190 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 157 157 157 251 250 250 249 249 249 167 162 159 192 189 185
+226 226 226 235 232 229 220 215 207 146 134 128 107 75 50 12 15 17 13 17 18 12 15 17
+10 11 13 9 10 12 9 10 12 7 8 10 7 8 10 7 9 9 8 9 11 7 8 10
+9 10 12 9 10 12 8 9 11 10 11 13 12 13 15 12 13 15 12 13 15 10 11 13
+8 8 9 7 8 10 7 8 10 7 8 10 8 9 11 8 8 9 8 8 9 8 9 11
+10 12 14 9 10 12 10 11 13 10 11 13 12 13 15 13 17 18 14 18 20 12 13 15
+10 11 13 10 11 13 10 11 13 12 13 15 13 17 18 16 19 20 20 23 23 20 24 26
+23 27 31 25 30 33 33 38 41 34 41 43 33 38 41 34 41 43 38 46 48 34 41 43
+38 46 48 38 46 48 42 49 51 42 49 51 42 49 51 42 49 51 46 53 56 64 67 67
+207 206 206 254 254 254 251 250 250 168 168 168 26 28 29 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 77 78 76 233 232 232 255 255 255 237 237 237 134 131 128
+123 75 52 126 96 80 128 86 51 145 89 57 51 47 32 13 17 18 16 19 20 13 15 17
+9 10 12 10 11 13 10 12 14 8 9 11 8 9 11 9 10 12 10 11 13 7 8 10
+8 9 11 10 12 14 9 10 12 12 13 15 13 15 17 10 11 13 8 9 11 7 8 10
+8 9 11 8 9 11 8 9 11 7 8 10 7 8 10 6 7 9 8 9 11 9 10 12
+9 10 12 9 10 12 9 10 12 9 10 12 10 12 14 13 17 18 13 15 17 10 12 14
+9 10 12 9 10 12 10 11 13 14 18 20 20 23 23 20 24 26 20 24 26 21 25 29
+25 30 33 25 30 33 28 35 38 28 35 38 33 38 41 38 46 48 42 49 51 38 46 48
+34 41 43 34 41 43 34 41 43 42 49 51 42 49 51 46 53 56 38 46 48 46 53 56
+97 96 96 220 219 215 254 254 254 245 244 244 147 147 146 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 134 131 128 246 245 245 255 255 255 243 242 242
+179 179 176 107 75 50 128 86 51 107 75 50 20 20 21 12 13 15 16 19 20 12 13 15
+12 13 15 13 15 17 10 11 13 9 10 12 8 9 11 10 12 14 12 13 15 10 11 13
+8 9 11 8 9 11 8 8 9 8 8 9 8 8 9 8 8 9 7 8 10 8 9 11
+7 8 10 7 8 10 6 7 9 6 7 9 7 8 10 6 7 9 8 9 11 9 10 12
+10 11 13 10 11 13 13 13 13 17 18 16 13 15 17 13 15 17 10 12 14 10 11 13
+9 10 12 9 10 12 10 11 13 20 20 21 20 23 23 25 30 33 21 25 29 23 27 31
+25 30 33 25 30 33 25 30 33 25 30 33 29 32 34 33 38 41 34 41 43 33 38 41
+33 38 41 33 38 41 34 41 43 38 46 48 42 49 51 46 53 56 42 49 51 38 46 48
+46 53 56 119 117 113 237 237 237 255 255 255 245 244 244 134 134 133 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 243 242 242 255 255 255 243 242 242
+177 170 162 150 99 58 128 86 51 63 45 38 10 11 13 10 11 13 12 13 15 13 15 17
+16 19 20 16 19 20 12 15 17 8 9 11 9 10 12 10 12 14 13 15 17 12 13 15
+12 13 14 9 10 12 8 9 11 8 9 11 6 7 9 8 9 11 6 7 9 3 3 8
+3 3 8 3 3 8 7 10 12 3 3 6 4 4 14 13 15 17 13 17 18 16 22 26
+16 19 20 20 23 23 137 105 55 108 90 44 20 24 26 21 25 29 20 23 23 16 19 20
+9 10 12 10 11 13 10 12 14 12 13 15 13 17 18 20 24 26 23 27 31 23 27 31
+25 30 33 23 27 31 23 27 31 23 27 31 21 25 29 23 27 31 29 32 34 28 35 38
+28 35 38 29 32 34 28 35 38 28 35 38 38 46 48 46 53 56 42 49 51 38 46 48
+42 49 51 46 53 56 122 123 123 237 237 237 255 255 255 237 237 237 119 117 113 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 33 33 31 225 222 218 255 255 255 237 237 237 154 142 136
+137 86 52 128 86 51 107 75 50 27 25 23 8 9 11 13 15 17 13 17 18 12 13 15
+16 19 20 14 18 20 13 17 18 12 13 15 17 18 16 17 18 16 13 15 17 14 18 20
+27 25 23 20 20 21 27 25 23 37 34 30 27 25 23 16 19 20 88 74 36 122 100 50
+122 100 50 122 100 50 81 52 41 200 163 79 200 163 79 189 156 74 16 22 26 23 27 31
+23 27 31 37 34 30 223 182 84 152 111 60 21 25 29 21 25 29 16 22 26 16 19 20
+12 13 15 10 12 14 10 11 13 10 11 13 13 17 18 16 19 20 20 23 23 20 24 26
+25 30 33 23 27 31 23 27 31 25 30 33 23 27 31 21 25 29 25 30 33 29 32 34
+29 32 34 25 30 33 29 32 34 29 32 34 38 46 48 42 49 51 38 46 48 38 46 48
+42 49 51 42 49 51 46 53 56 139 137 135 243 242 242 255 255 255 233 232 232 122 123 123
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 122 123 123 248 248 248 252 252 252 167 162 159 137 86 52
+128 86 51 128 86 51 81 52 41 7 10 12 8 9 11 10 11 13 13 15 17 13 15 17
+12 13 15 13 15 17 13 15 17 27 25 23 137 105 55 161 132 61 28 30 31 23 27 31
+189 156 74 161 132 61 161 132 61 235 192 90 161 132 61 20 24 26 161 132 61 216 177 82
+200 163 79 177 145 72 108 90 44 241 195 89 216 177 82 228 186 86 51 47 32 25 30 33
+23 27 31 89 75 50 235 192 90 108 90 44 21 25 29 23 27 31 20 24 26 16 22 26
+10 12 14 9 10 12 9 10 12 13 15 17 16 19 20 16 19 20 16 19 20 16 19 20
+21 25 29 25 30 33 25 30 33 25 30 33 28 35 38 33 38 41 28 35 38 29 32 34
+29 32 34 33 38 41 28 35 38 33 38 41 42 49 51 38 46 48 34 41 43 38 46 48
+38 46 48 38 46 48 34 41 43 33 38 41 162 160 159 246 245 245 255 255 255 237 237 237
+85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 237 237 237 134 119 113 128 86 51
+128 86 51 124 73 40 27 25 23 8 9 11 8 9 11 10 11 13 12 15 17 20 23 23
+17 18 16 10 11 13 12 13 14 49 32 29 200 163 79 223 182 84 33 33 31 63 45 38
+235 192 90 177 145 72 200 163 79 248 200 89 161 132 61 37 34 30 177 145 72 200 163 79
+208 171 79 177 145 72 108 90 44 241 195 89 189 156 74 235 190 84 89 75 50 21 25 29
+7 16 24 152 111 60 228 186 86 63 45 38 25 30 33 23 27 31 20 24 26 14 18 20
+10 11 13 9 10 12 10 11 13 10 12 14 13 15 17 16 19 20 16 19 20 14 18 20
+16 22 26 21 25 29 29 32 34 25 30 33 28 35 38 29 32 34 29 32 34 28 35 38
+33 38 41 33 38 41 34 41 43 42 49 51 42 49 51 38 46 48 38 46 48 34 41 43
+34 41 43 38 46 48 34 41 43 38 46 48 38 46 48 157 157 157 245 244 244 251 250 250
+157 157 157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 233 232 232 134 119 113 128 86 51
+128 86 51 63 45 38 7 8 10 9 10 12 8 9 11 9 10 12 26 28 29 119 117 113
+69 73 72 10 11 13 9 10 12 51 47 32 216 177 82 200 163 79 33 33 31 89 75 50
+241 195 89 161 132 61 216 177 82 248 200 89 161 132 61 51 47 32 200 163 79 189 156 74
+223 182 84 161 132 61 122 100 50 241 195 89 161 132 61 241 195 89 122 100 50 20 24 26
+7 16 24 189 156 74 208 171 79 21 25 29 29 32 34 23 27 31 20 24 26 20 23 23
+13 15 17 10 11 13 10 12 14 10 12 14 13 15 17 20 23 23 20 23 23 16 19 20
+16 19 20 29 32 34 33 38 41 33 38 41 28 35 38 29 32 34 29 32 34 25 30 33
+34 41 43 38 46 48 42 49 51 42 49 51 38 46 48 38 46 48 42 49 51 38 46 48
+42 49 51 46 53 56 38 46 48 33 38 41 34 41 43 122 123 123 245 244 244 251 250 250
+157 157 157 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 147 147 146 251 250 250 237 237 237 134 119 113 107 75 50
+107 75 50 22 12 9 8 9 11 9 10 12 8 9 11 0 0 0 97 96 96 134 134 133
+20 20 21 9 10 12 10 12 14 63 45 38 235 190 84 177 145 72 26 28 29 122 100 50
+241 195 89 161 132 61 223 182 84 248 200 89 161 132 61 51 47 32 216 177 82 177 145 72
+235 192 90 161 132 61 122 100 50 235 192 90 137 105 55 241 195 89 152 111 60 23 27 31
+21 25 29 216 177 82 177 145 72 7 16 24 29 32 34 25 30 33 23 27 31 20 24 26
+14 18 20 10 11 13 12 13 15 13 17 18 20 24 26 23 27 31 21 25 29 20 23 23
+20 23 23 23 27 31 33 38 41 28 35 38 29 32 34 25 30 33 23 27 31 21 25 29
+33 38 41 42 49 51 46 53 56 42 49 51 46 53 56 38 46 48 42 49 51 38 46 48
+51 47 44 107 51 29 49 32 29 5 12 15 105 107 107 230 230 229 255 255 255 237 237 237
+97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 134 134 133 249 249 249 246 245 245 146 134 128 107 75 50
+81 52 41 13 13 13 10 11 13 10 11 13 5 6 8 67 67 66 167 162 159 52 51 50
+13 15 17 8 9 11 10 11 13 88 74 36 248 200 89 161 132 61 20 24 26 137 105 55
+241 195 89 152 111 60 235 190 84 248 200 89 177 145 72 81 52 41 228 186 86 161 132 61
+241 195 89 152 111 60 122 100 50 235 192 90 108 90 44 241 195 89 161 132 61 21 25 29
+81 52 41 228 186 86 152 111 60 7 16 24 23 27 31 25 30 33 29 32 34 16 22 26
+13 15 17 10 12 14 13 17 18 16 19 20 20 24 26 21 25 29 21 25 29 4 4 14
+168 168 168 122 123 123 23 27 31 28 35 38 28 35 38 25 30 33 29 32 34 23 27 31
+28 35 38 42 49 51 42 49 51 46 53 56 46 53 56 38 46 48 42 49 51 81 52 41
+158 73 41 176 79 38 129 59 33 85 88 88 225 222 218 255 255 255 246 245 245 147 147 146
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 77 78 76 105 107 107 122 123 123 122 123 123 122 123 123 105 107 107 67 67 66
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 139 137 135 249 249 249 243 242 242 134 119 113 89 75 50
+20 20 21 8 9 11 10 11 13 10 11 13 39 42 42 157 157 157 77 78 76 12 15 17
+14 18 20 7 10 12 7 10 12 108 90 44 248 200 89 137 105 55 16 22 26 161 132 61
+241 195 89 152 111 60 235 190 84 248 200 89 177 145 72 81 52 41 235 192 90 152 111 60
+241 195 89 152 111 60 122 100 50 235 192 90 108 90 44 228 186 86 177 145 72 26 28 29
+108 90 44 235 192 90 89 75 50 16 22 26 23 27 31 25 30 33 29 32 34 16 19 20
+12 15 17 12 15 17 16 19 20 16 22 26 25 30 33 21 25 29 20 24 26 85 88 88
+233 232 232 226 226 226 77 78 76 28 35 38 28 35 38 29 32 34 34 41 43 28 35 38
+28 35 38 39 42 42 42 49 51 54 58 58 38 46 48 39 42 42 107 51 29 166 76 38
+182 81 38 180 81 37 170 77 39 147 147 146 248 248 248 254 254 254 182 182 182 33 33 31
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42
+162 160 159 226 226 226 243 242 242 252 252 252 253 253 253 252 252 252 243 242 242 216 216 216
+147 147 146 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 85 88 88 207 206 206 253 253 253 233 232 232 115 110 108 81 52 41
+3 3 8 6 7 9 9 10 12 12 13 15 105 107 107 134 134 133 26 28 29 16 19 20
+16 19 20 8 9 11 3 3 8 137 105 55 248 200 89 122 100 50 7 16 24 177 145 72
+241 195 89 137 105 55 235 190 84 248 200 89 177 145 72 88 74 36 241 195 89 161 132 61
+241 195 89 137 105 55 108 90 44 228 186 86 108 90 44 208 171 79 189 156 74 37 34 30
+137 105 55 228 186 86 51 47 32 21 25 29 25 30 33 25 30 33 25 30 33 20 23 23
+13 17 18 14 18 20 16 19 20 20 24 26 23 27 31 21 25 29 33 38 41 168 168 168
+252 252 252 251 250 250 177 176 172 42 49 51 28 35 38 33 38 41 38 46 48 34 41 43
+33 38 41 34 41 43 42 49 51 42 49 51 33 38 41 129 59 33 174 79 37 182 81 37
+182 81 37 180 81 37 179 79 37 126 96 80 230 230 229 255 255 255 207 206 206 52 51 50
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 26 28 29 177 176 172
+249 249 249 254 254 254 251 250 250 248 248 248 246 245 245 248 248 248 251 250 250 255 255 255
+248 248 248 182 182 182 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 69 73 72 230 230 229 254 254 254 254 254 254 200 200 199 89 68 66 27 25 23
+6 7 9 7 8 10 9 10 12 26 28 29 157 157 157 60 59 58 13 15 17 16 19 20
+16 19 20 8 9 11 3 3 8 177 145 72 241 195 89 108 90 44 7 16 24 189 156 74
+241 195 89 137 105 55 241 195 89 235 190 84 189 156 74 108 90 44 241 195 89 177 145 72
+241 195 89 122 100 50 108 90 44 228 186 86 89 75 50 189 156 74 208 171 79 51 47 32
+161 132 61 216 177 82 27 25 23 21 25 29 25 30 33 25 30 33 25 30 33 14 18 20
+13 17 18 14 18 20 16 19 20 16 19 20 20 24 26 21 25 29 84 81 78 237 237 237
+255 255 255 255 255 255 240 239 239 105 107 107 33 38 41 38 46 48 38 46 48 39 42 42
+33 38 41 34 41 43 34 41 43 51 47 32 129 59 33 176 79 38 182 81 38 182 81 38
+182 81 38 182 81 38 182 81 37 159 71 30 177 176 172 254 254 254 246 245 245 97 96 96
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 240 239 239
+255 255 255 226 226 226 200 200 199 200 200 199 200 200 199 196 196 196 200 200 199 226 226 226
+254 254 254 251 250 250 168 168 168 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 168 168 168 254 254 254 249 249 249 207 206 206 97 96 96 0 0 0 6 7 9
+8 8 9 8 9 11 2 2 2 84 81 78 147 147 146 0 0 0 12 13 15 16 19 20
+13 15 17 8 9 11 3 3 8 189 156 74 228 186 86 88 74 36 16 22 26 189 156 74
+235 190 84 152 111 60 241 195 89 216 177 82 189 156 74 137 105 55 235 192 90 177 145 72
+235 190 84 108 90 44 122 100 50 228 186 86 89 75 50 161 132 61 223 182 84 81 52 41
+177 145 72 189 156 74 27 25 23 20 24 26 23 27 31 28 35 38 25 30 33 13 17 18
+14 18 20 14 18 20 16 19 20 16 19 20 16 22 26 3 3 8 168 168 168 255 255 255
+249 249 249 248 248 248 255 255 255 216 216 216 69 73 72 34 41 43 33 38 41 28 35 38
+33 38 41 46 53 56 63 45 38 138 69 38 179 80 38 182 81 38 182 81 37 182 81 38
+182 81 38 182 81 38 182 81 38 179 79 37 126 96 80 243 242 242 255 255 255 190 190 190
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 133 255 255 255
+249 249 249 168 168 168 247 247 246 255 255 255 255 255 255 254 254 254 246 245 245 196 196 196
+220 219 215 255 255 255 246 245 245 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 162 160 159 254 254 254 252 252 252 226 226 226 200 200 199 147 147 146 20 23 23
+6 7 9 7 8 10 3 3 6 66 65 61 139 137 135 0 0 0 13 17 18 16 19 20
+12 15 17 8 9 11 2 2 2 208 171 79 223 182 84 88 74 36 33 33 31 200 163 79
+223 182 84 161 132 61 235 192 90 208 171 79 200 163 79 161 132 61 235 190 84 189 156 74
+235 190 84 108 90 44 122 100 50 228 186 86 89 75 50 137 105 55 235 192 90 88 74 36
+208 171 79 161 132 61 20 23 23 20 24 26 23 27 31 29 32 34 21 25 29 13 17 18
+14 18 20 12 15 17 14 18 20 16 19 20 13 17 18 97 96 96 240 239 239 255 255 255
+200 200 199 182 182 182 253 253 253 252 252 252 179 179 176 38 46 48 33 38 41 33 38 41
+38 46 48 63 45 38 148 72 46 179 80 38 182 81 37 182 81 38 182 81 38 182 81 37
+182 81 38 182 81 38 182 81 38 182 81 38 158 73 41 190 190 190 255 255 255 237 237 237
+67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 160 159 255 255 255
+237 237 237 182 182 182 255 255 255 246 245 245 216 216 216 237 237 237 254 254 254 253 253 253
+190 190 190 233 232 232 255 255 255 216 216 216 52 51 50 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 64 64 61 225 222 218 252 252 252 255 255 255 255 255 255 251 250 250 177 176 172
+60 59 58 5 6 8 7 8 10 20 20 21 157 157 157 13 15 17 13 17 18 16 19 20
+12 13 15 7 8 10 2 2 2 228 186 86 216 177 82 63 45 38 51 47 32 208 171 79
+216 177 82 161 132 61 235 192 90 200 163 79 208 171 79 177 145 72 228 186 86 189 156 74
+235 190 84 89 75 50 137 105 55 228 186 86 88 74 36 122 100 50 241 195 89 108 90 44
+223 182 84 137 105 55 16 19 20 20 23 23 21 25 29 23 27 31 16 19 20 13 17 18
+13 17 18 13 15 17 13 15 17 20 20 21 26 28 29 182 182 182 253 253 253 245 244 244
+122 123 123 60 59 58 207 206 206 254 254 254 237 237 237 115 110 108 33 38 41 34 41 43
+81 52 41 158 73 41 182 81 38 182 81 37 182 81 38 182 81 38 182 81 38 182 81 37
+182 81 37 182 81 38 182 81 38 182 81 38 179 81 40 146 134 128 248 248 248 251 250 250
+162 160 159 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 168 168 255 255 255
+230 230 229 196 196 196 255 255 255 216 216 216 0 0 0 85 88 88 213 211 211 255 255 255
+247 247 246 196 196 196 251 250 250 247 247 246 139 137 135 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 77 78 76 162 160 159 196 196 196 230 230 229 254 254 254 252 252 252
+200 200 199 84 81 78 0 0 0 17 18 16 139 137 135 97 96 96 13 17 18 16 19 20
+10 11 13 6 7 9 27 25 23 235 192 90 208 171 79 37 34 30 51 47 32 208 171 79
+208 171 79 161 132 61 228 186 86 189 156 74 208 171 79 189 156 74 223 182 84 200 163 79
+235 190 84 89 75 50 152 111 60 228 186 86 88 74 36 108 90 44 235 192 90 152 111 60
+228 186 86 122 100 50 16 22 26 21 25 29 23 27 31 23 27 31 16 19 20 12 13 15
+12 13 15 13 15 17 13 17 18 16 19 20 85 88 88 230 230 229 254 254 254 200 200 199
+33 33 31 0 0 0 105 107 107 243 242 242 255 255 255 196 196 196 21 25 29 81 52 41
+158 73 41 182 81 37 182 81 38 182 81 38 182 81 38 182 81 38 182 81 38 182 81 37
+182 81 38 182 81 37 182 81 37 182 81 38 180 81 37 150 99 58 225 222 218 255 255 255
+216 216 216 64 64 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 168 168 168 255 255 255
+233 232 232 196 196 196 255 255 255 213 211 211 0 0 0 0 0 0 105 107 107 233 232 232
+254 254 254 213 211 211 237 237 237 255 255 255 190 190 190 39 42 42 0 0 0 0 0 0
+0 0 0 0 0 0 13 13 13 26 28 29 39 42 42 52 51 50 64 64 61 69 73 72
+85 88 88 122 123 123 162 160 159 200 200 199 216 216 216 240 239 239 255 255 255 255 255 255
+254 254 254 233 232 232 122 123 123 33 33 31 97 96 96 139 137 135 28 30 31 13 15 17
+9 10 12 5 6 8 81 52 41 241 195 89 189 156 74 14 18 20 63 45 38 216 177 82
+200 163 79 177 145 72 216 177 82 177 145 72 216 177 82 200 163 79 216 177 82 200 163 79
+235 190 84 89 75 50 161 132 61 223 182 84 81 52 41 88 74 36 223 182 84 189 156 74
+228 186 86 108 90 44 23 27 31 23 27 31 29 32 34 25 30 33 14 18 20 13 15 17
+12 13 15 13 15 17 13 17 18 26 28 29 177 176 172 254 254 254 247 247 246 134 131 128
+0 0 0 0 0 0 0 0 0 192 189 185 255 255 255 248 248 248 157 157 157 129 59 33
+179 80 38 180 81 37 182 81 38 182 81 38 182 81 38 182 81 38 182 81 38 182 81 37
+182 81 37 182 81 38 182 81 38 182 81 38 182 81 37 166 76 38 182 182 182 253 253 253
+246 245 245 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 255 255 255
+240 239 239 182 182 182 255 255 255 230 230 229 0 0 0 0 0 0 13 13 13 182 182 182
+253 253 253 233 232 232 207 206 206 255 255 255 230 230 229 67 67 66 52 51 50 97 96 96
+119 117 113 147 147 146 168 168 168 192 189 185 196 196 196 213 211 211 226 226 226 237 237 237
+247 247 246 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 254 254 254 249 249 249
+237 237 237 226 226 226 207 206 206 122 123 123 84 81 78 147 147 146 69 73 72 10 11 13
+9 10 12 3 3 8 108 90 44 241 195 89 177 145 72 7 16 24 81 52 41 216 177 82
+200 163 79 189 156 74 208 171 79 177 145 72 223 182 84 208 171 79 216 177 82 200 163 79
+235 190 84 81 52 41 177 145 72 223 182 84 81 52 41 51 47 32 208 171 79 228 186 86
+223 182 84 88 74 36 25 30 33 25 30 33 28 35 38 23 27 31 13 17 18 12 15 17
+16 19 20 12 15 17 6 7 9 105 107 107 243 242 242 255 255 255 200 200 199 0 0 0
+0 0 0 0 0 0 0 0 0 97 96 96 237 237 237 255 255 255 237 237 237 105 107 107
+166 76 38 182 81 37 182 81 37 182 81 38 182 81 38 182 81 38 182 81 38 182 81 38
+182 81 38 182 81 38 182 81 38 182 81 38 182 81 38 175 79 35 126 96 80 243 242 242
+255 255 255 190 190 190 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 255 255 255
+252 252 252 162 160 159 255 255 255 246 245 245 97 96 96 0 0 0 0 0 0 134 131 128
+249 249 249 248 248 248 168 168 168 254 254 254 251 250 250 225 222 218 230 230 229 237 237 237
+243 242 242 251 250 250 253 253 253 255 255 255 255 255 255 255 255 255 254 254 254 254 254 254
+254 254 254 251 250 250 240 239 239 220 219 215 200 200 199 182 182 182 167 162 159 168 168 168
+182 182 182 203 196 190 206 202 198 214 212 206 206 202 198 157 157 157 57 54 50 9 10 12
+8 8 9 3 3 6 122 100 50 241 195 89 177 145 72 7 16 24 88 74 36 223 182 84
+189 156 74 189 156 74 200 163 79 161 132 61 235 192 90 216 177 82 208 171 79 200 163 79
+228 186 86 63 45 38 177 145 72 216 177 82 63 45 38 20 20 21 200 163 79 248 200 89
+216 177 82 63 45 38 25 30 33 28 35 38 33 38 41 25 30 33 13 17 18 13 17 18
+16 19 20 12 15 17 0 0 0 182 182 182 255 255 255 240 239 239 97 96 96 0 0 0
+0 0 0 0 0 0 0 0 0 20 23 23 147 147 146 245 244 244 253 253 253 179 179 176
+107 75 50 179 81 40 180 81 37 179 81 36 180 81 37 180 81 37 180 81 37 182 81 38
+182 81 37 182 81 37 182 81 38 182 81 38 182 81 37 182 81 37 147 67 29 182 182 182
+255 255 255 246 245 245 97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 84 81 78 243 242 242
+254 254 254 190 190 190 240 239 239 252 252 252 182 182 182 97 96 96 134 131 128 182 182 182
+251 250 250 255 255 255 168 168 168 246 245 245 255 255 255 255 255 255 255 255 255 251 250 250
+246 245 245 240 239 239 237 237 237 226 226 226 220 219 215 213 211 211 190 190 190 179 179 176
+162 160 159 157 157 157 162 160 159 177 176 172 203 196 190 214 212 206 219 214 205 223 218 211
+226 220 210 226 220 210 226 222 213 225 221 213 226 222 213 230 225 217 119 117 113 2 2 2
+6 7 9 3 3 6 152 111 60 241 195 89 161 132 61 7 16 24 88 74 36 223 182 84
+189 156 74 200 163 79 189 156 74 152 111 60 241 195 89 216 177 82 208 171 79 208 171 79
+228 186 86 63 45 38 189 156 74 216 177 82 51 47 32 5 12 15 177 145 72 248 200 89
+200 163 79 37 34 30 25 30 33 28 35 38 29 32 34 21 25 29 13 15 17 12 15 17
+13 17 18 12 15 17 12 13 14 213 211 211 255 255 255 207 206 206 52 51 50 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 26 28 29 207 206 206 255 255 255 243 242 242
+119 117 113 147 67 29 180 81 37 179 81 36 179 81 36 180 81 37 180 81 37 179 81 36
+179 81 36 180 81 37 182 81 38 182 81 38 180 81 37 182 81 37 178 79 39 126 96 80
+243 242 242 254 254 254 182 182 182 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 207 206 206
+255 255 255 226 226 226 207 206 206 254 254 254 245 244 244 237 237 237 251 250 250 255 255 255
+255 255 255 255 255 255 182 182 182 216 216 216 225 222 218 200 200 199 179 179 176 177 176 172
+177 176 172 177 176 172 177 170 162 177 170 162 177 176 172 197 182 169 203 196 190 206 202 198
+219 214 205 221 217 205 222 218 209 222 218 209 226 220 210 225 221 213 226 222 213 226 222 213
+229 225 217 229 225 217 229 225 217 225 221 213 225 221 213 229 225 217 157 157 157 0 0 0
+6 7 9 3 3 6 161 132 61 241 195 89 137 105 55 7 16 24 88 74 36 228 186 86
+177 145 72 208 171 79 189 156 74 137 105 55 241 195 89 223 182 84 208 171 79 208 171 79
+228 186 86 51 47 32 189 156 74 216 177 82 51 47 32 7 16 24 152 111 60 248 200 89
+189 156 74 7 16 24 23 27 31 28 35 38 25 30 33 20 24 26 13 15 17 10 12 14
+14 18 20 20 23 23 69 73 72 233 232 232 254 254 254 182 182 182 26 28 29 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 107 107 237 237 237 255 255 255
+220 219 215 89 68 66 166 76 38 179 81 36 179 81 36 179 80 38 180 81 37 180 81 37
+180 81 37 180 81 37 182 81 38 182 81 37 180 81 37 180 81 37 182 81 38 145 89 57
+196 196 196 255 255 255 233 232 232 69 73 72 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 182 182 182
+253 253 253 251 250 250 182 182 182 243 242 242 255 255 255 253 253 253 248 248 248 237 237 237
+213 211 211 177 176 172 115 110 108 115 110 108 177 176 172 192 189 185 206 202 198 206 202 198
+206 202 198 206 202 198 220 209 198 219 214 205 219 214 205 221 217 205 221 217 205 222 218 209
+226 220 210 223 218 211 223 218 211 225 221 213 226 222 213 226 222 213 226 222 213 226 222 213
+229 225 217 226 222 213 229 225 217 226 222 213 226 222 213 225 221 213 162 160 159 0 0 0
+6 7 9 3 3 6 177 145 72 241 195 89 122 100 50 7 16 24 88 74 36 228 186 86
+177 145 72 208 171 79 177 145 72 122 100 50 241 195 89 228 186 86 208 171 79 208 171 79
+228 186 86 51 47 32 189 156 74 208 171 79 51 47 32 14 18 20 108 90 44 241 195 89
+161 132 61 16 22 26 29 32 34 28 35 38 23 27 31 20 24 26 13 15 17 12 13 15
+16 19 20 16 22 26 119 117 113 243 242 242 251 250 250 147 147 146 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 162 160 159 252 252 252
+252 252 252 190 190 190 107 75 50 176 79 38 179 81 36 179 80 38 179 80 38 180 81 37
+180 81 37 179 80 38 180 81 37 180 81 37 179 81 36 179 81 36 180 81 37 174 79 37
+154 142 136 248 248 248 247 247 246 139 137 135 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 182 182 182 252 252 252
+255 255 255 255 255 255 207 206 206 177 176 172 207 206 206 190 190 190 167 162 159 157 157 157
+177 176 172 203 196 190 192 189 185 192 189 185 220 209 198 220 209 198 219 214 205 219 214 205
+219 214 205 221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209
+223 218 211 226 220 210 226 220 210 225 221 213 226 222 213 226 222 213 225 221 213 226 222 213
+226 222 213 229 225 217 229 225 217 229 225 217 230 225 217 230 225 217 177 170 162 0 0 0
+5 6 8 3 3 8 189 156 74 241 195 89 108 90 44 12 15 17 88 74 36 235 190 84
+177 145 72 216 177 82 177 145 72 122 100 50 241 195 89 241 195 89 208 171 79 208 171 79
+228 186 86 37 34 30 200 163 79 208 171 79 51 47 32 16 22 26 89 75 50 241 195 89
+177 145 72 7 16 24 28 35 38 28 35 38 23 27 31 16 19 20 13 17 18 13 17 18
+16 22 26 21 25 29 147 147 146 249 249 249 243 242 242 119 117 113 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 61 200 200 199
+254 254 254 246 245 245 147 147 146 129 59 33 179 80 38 179 80 38 180 81 37 180 81 37
+180 81 37 179 81 36 180 81 37 180 81 37 179 81 36 179 81 36 180 81 37 179 81 36
+126 96 80 233 232 232 255 255 255 196 196 196 39 42 42 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96 246 245 245 254 254 254
+225 222 218 162 160 159 139 137 135 167 162 159 192 189 185 203 196 190 206 202 198 220 209 198
+219 214 205 219 214 205 221 217 205 219 214 205 219 214 205 221 217 205 219 214 205 219 214 205
+219 214 205 221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 223 218 211
+223 218 211 226 220 210 226 220 210 225 221 213 225 221 213 225 221 213 226 222 213 229 225 217
+226 222 213 229 225 217 229 225 217 230 225 217 231 227 218 230 225 217 192 189 185 0 0 0
+5 6 8 4 4 14 189 156 74 241 195 89 88 74 36 13 17 18 88 74 36 235 190 84
+161 132 61 223 182 84 177 145 72 108 90 44 241 195 89 248 200 89 208 171 79 216 177 82
+228 186 86 27 25 23 200 163 79 208 171 79 51 47 32 16 22 26 122 100 50 248 200 89
+200 163 79 27 25 23 28 35 38 29 32 34 20 24 26 14 18 20 14 18 20 16 19 20
+20 23 23 28 30 31 177 176 172 254 254 254 233 232 232 64 64 61 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
+230 230 229 255 255 255 240 239 239 119 117 113 159 71 30 179 81 36 179 81 36 180 81 37
+180 81 37 180 81 37 179 80 38 179 80 38 179 80 38 180 81 37 179 81 36 179 81 36
+159 71 30 192 189 185 255 255 255 240 239 239 85 88 88 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 133 249 249 249 245 244 244
+122 123 123 179 179 176 147 147 146 214 212 206 219 214 205 219 214 205 219 214 205 221 217 205
+220 215 207 221 217 205 222 218 209 219 214 205 221 217 205 221 217 205 219 214 205 219 214 205
+221 217 205 221 217 205 219 214 205 221 217 205 222 218 209 222 218 209 222 218 209 223 218 211
+226 220 210 223 218 211 226 220 210 226 220 210 226 222 213 226 222 213 226 222 213 226 222 213
+229 225 217 229 225 217 229 225 217 230 225 217 230 225 217 230 225 217 192 189 185 0 0 0
+3 3 6 27 25 23 200 163 79 241 195 89 63 45 38 14 18 20 88 74 36 235 190 84
+161 132 61 223 182 84 161 132 61 108 90 44 235 190 84 248 200 89 208 171 79 216 177 82
+223 182 84 5 12 15 200 163 79 208 171 79 51 47 32 7 16 24 161 132 61 248 200 89
+216 177 82 63 45 38 23 27 31 23 27 31 20 23 23 16 19 20 14 18 20 13 17 18
+16 19 20 52 51 50 206 202 198 255 255 255 216 216 216 20 23 23 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+119 117 113 240 239 239 255 255 255 230 230 229 105 88 81 166 76 38 179 80 38 179 80 38
+179 80 38 179 81 40 179 80 38 179 80 38 179 79 37 179 81 36 180 81 37 179 81 36
+179 79 37 126 96 80 246 245 245 255 255 255 182 182 182 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 107 107 248 248 248 252 252 252
+139 137 135 206 202 198 147 147 146 219 214 205 222 218 209 222 218 209 222 218 209 222 218 209
+222 218 209 222 218 209 223 218 211 221 217 205 222 218 209 221 217 205 221 217 205 221 217 205
+221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209 222 218 209
+223 218 211 223 218 211 226 220 210 225 221 213 225 221 213 226 222 213 226 222 213 226 222 213
+229 225 217 226 222 213 229 225 217 230 225 217 230 225 217 230 225 217 206 202 198 0 0 0
+5 6 8 49 32 29 208 171 79 241 195 89 37 34 30 12 15 17 108 90 44 235 192 90
+161 132 61 228 186 86 161 132 61 88 74 36 228 186 86 248 200 89 208 171 79 223 182 84
+223 182 84 4 4 14 189 156 74 216 177 82 63 45 38 5 12 15 177 145 72 248 200 89
+228 186 86 88 74 36 23 27 31 23 27 31 20 23 23 12 15 17 13 17 18 14 18 20
+16 19 20 69 73 72 233 232 232 254 254 254 182 182 182 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+13 13 13 147 147 146 246 245 245 254 253 253 207 206 206 107 75 50 170 77 39 180 81 37
+179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37 180 81 37 179 81 36
+182 81 37 148 72 46 190 190 190 255 255 255 237 237 237 60 59 58 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 52 51 50 237 237 237 255 255 255
+167 162 159 203 196 190 147 147 146 214 212 206 223 218 211 223 218 211 223 218 211 226 220 210
+226 220 210 226 220 210 226 220 210 222 218 209 223 218 211 222 218 209 221 217 205 221 217 205
+221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209 222 218 209
+223 218 211 223 218 211 223 218 211 226 220 210 226 222 213 226 222 213 226 222 213 225 221 213
+226 222 213 226 222 213 226 222 213 230 225 217 231 227 218 230 225 217 214 212 206 0 0 0
+5 6 8 51 47 32 208 171 79 235 190 84 12 15 17 12 13 15 108 90 44 235 192 90
+161 132 61 228 186 86 161 132 61 88 74 36 223 182 84 248 200 89 216 177 82 228 186 86
+223 182 84 3 3 8 189 156 74 216 177 82 63 45 38 20 20 21 189 156 74 228 186 86
+235 192 90 108 90 44 23 27 31 21 25 29 20 23 23 12 15 17 12 15 17 14 18 20
+12 15 17 119 117 113 254 254 254 252 252 252 119 117 113 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+13 13 13 85 88 88 226 226 226 255 255 255 254 254 254 190 190 190 107 51 29 174 79 37
+179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 81 36 179 81 36 179 81 36
+180 81 37 178 79 39 146 134 128 248 248 248 251 250 250 157 157 157 20 23 23 13 13 13
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 216 216 216 255 255 255
+200 200 199 177 176 172 162 160 159 192 189 185 226 220 210 222 218 209 223 218 211 226 220 210
+226 220 210 226 220 210 226 220 210 223 218 211 223 218 211 222 218 209 221 217 205 222 218 209
+221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 223 218 211
+226 220 210 226 220 210 226 220 210 225 221 213 225 221 213 225 221 213 226 222 213 226 222 213
+226 222 213 226 222 213 229 225 217 230 225 217 229 225 217 229 225 217 206 202 198 0 0 0
+6 7 9 63 45 38 216 177 82 228 186 86 4 4 14 12 13 15 108 90 44 241 195 89
+152 111 60 228 186 86 161 132 61 63 45 38 216 177 82 248 200 89 216 177 82 228 186 86
+223 182 84 4 4 14 189 156 74 223 182 84 81 52 41 51 47 32 208 171 79 200 163 79
+228 186 86 152 111 60 25 30 33 21 25 29 16 19 20 16 19 20 16 19 20 14 18 20
+0 0 0 182 182 182 255 255 255 233 232 232 33 33 31 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+85 88 88 225 222 218 254 254 254 254 254 254 230 230 229 192 189 185 105 88 81 166 76 38
+179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37 179 81 36 180 81 37
+180 81 37 180 81 37 145 89 57 216 216 216 255 255 255 233 232 232 182 182 182 162 160 159
+85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 182 182 182 255 255 255
+230 230 229 139 137 135 192 189 185 157 157 157 225 221 213 223 218 211 226 220 210 226 220 210
+225 221 213 226 220 210 226 220 210 223 218 211 223 218 211 226 220 210 226 220 210 225 221 213
+226 220 210 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 223 218 211
+223 218 211 226 220 210 226 220 210 226 220 210 225 221 213 225 221 213 225 221 213 226 222 213
+226 222 213 226 222 213 226 222 213 229 225 217 229 225 217 229 225 217 177 170 162 0 0 0
+8 8 9 81 52 41 216 177 82 216 177 82 4 4 14 12 13 15 108 90 44 241 195 89
+152 111 60 228 186 86 161 132 61 49 32 29 208 171 79 248 200 89 216 177 82 223 182 84
+223 182 84 27 25 23 177 145 72 228 186 86 88 74 36 81 52 41 223 182 84 161 132 61
+208 171 79 189 156 74 27 25 23 20 23 23 13 15 17 13 17 18 13 17 18 13 17 18
+0 0 0 233 232 232 255 255 255 190 190 190 13 13 13 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+177 176 172 255 255 255 251 250 250 192 189 185 166 113 90 166 76 38 173 77 35 179 79 37
+178 79 39 179 80 38 179 80 38 179 80 38 179 80 38 179 79 37 179 81 36 179 81 36
+179 81 36 180 81 37 166 76 38 147 147 146 249 249 249 255 255 255 255 255 255 252 252 252
+233 232 232 134 131 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 254 254 254
+252 252 252 139 137 135 206 202 198 122 123 123 226 222 213 223 218 211 226 220 210 226 220 210
+225 221 213 225 221 213 226 220 210 223 218 211 225 221 213 214 212 206 192 189 185 214 212 206
+222 218 209 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209
+222 218 209 226 220 210 226 220 210 223 218 211 226 220 210 225 221 213 225 221 213 225 221 213
+226 222 213 226 222 213 226 222 213 226 222 213 226 222 213 226 222 213 97 96 96 2 2 2
+10 11 13 88 74 36 223 182 84 216 177 82 3 3 8 12 13 14 108 90 44 241 195 89
+152 111 60 228 186 86 161 132 61 27 25 23 200 163 79 248 200 89 223 182 84 216 177 82
+228 186 86 51 47 32 161 132 61 228 186 86 89 75 50 88 74 36 228 186 86 137 105 55
+177 145 72 216 177 82 27 25 23 20 23 23 13 15 17 12 13 15 12 13 15 10 11 13
+52 51 50 243 242 242 255 255 255 157 157 157 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+182 182 182 255 255 255 243 242 242 146 134 128 145 89 57 158 73 41 158 73 41 138 69 38
+166 76 38 179 79 37 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37
+179 81 36 179 80 38 178 79 39 129 59 33 177 170 162 225 222 218 226 226 226 252 252 252
+255 255 255 233 232 232 67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 78 76 237 237 237
+254 254 254 182 182 182 192 189 185 139 137 135 214 212 206 226 220 210 225 221 213 225 221 213
+225 221 213 225 221 213 226 220 210 219 214 205 214 212 206 115 110 108 0 0 0 182 182 182
+214 212 206 167 162 159 182 182 182 222 218 209 221 217 205 222 218 209 222 218 209 222 218 209
+222 218 209 223 218 211 226 220 210 226 220 210 226 220 210 226 220 210 226 220 210 226 222 213
+225 221 213 225 221 213 226 222 213 226 222 213 226 222 213 203 196 190 57 54 50 5 6 8
+12 13 15 88 74 36 228 186 86 208 171 79 3 3 8 10 12 14 108 90 44 241 195 89
+152 111 60 228 186 86 161 132 61 4 4 14 177 145 72 248 200 89 223 182 84 208 171 79
+235 190 84 88 74 36 161 132 61 235 190 84 89 75 50 108 90 44 235 192 90 88 74 36
+161 132 61 241 195 89 81 52 41 14 18 20 9 10 12 9 10 12 10 12 14 12 13 15
+0 0 0 233 232 232 255 255 255 179 179 176 13 13 13 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+139 137 135 253 253 253 255 255 255 237 237 237 115 110 108 107 51 29 147 67 29 174 79 37
+180 81 37 179 80 38 179 79 37 179 80 38 179 81 40 179 80 38 179 80 38 179 80 38
+179 81 36 179 80 38 180 81 37 179 81 40 129 59 33 42 16 9 97 96 96 207 206 206
+254 254 254 248 248 248 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 47 49 48 207 206 206
+255 255 255 220 219 215 167 162 159 177 176 172 192 189 185 225 221 213 225 221 213 225 221 213
+226 220 210 223 218 211 182 182 182 115 110 108 147 147 146 33 38 41 69 68 64 203 196 190
+139 137 135 27 25 23 84 81 78 214 212 206 220 215 207 221 217 205 222 218 209 222 218 209
+222 218 209 222 218 209 222 218 209 226 220 210 225 221 213 226 220 210 225 221 213 226 222 213
+225 221 213 226 222 213 226 222 213 226 222 213 225 221 213 147 147 146 20 20 21 5 6 8
+10 12 14 88 74 36 228 186 86 200 163 79 3 3 8 10 12 14 108 90 44 241 195 89
+152 111 60 228 186 86 161 132 61 4 4 14 161 132 61 248 200 89 228 186 86 200 163 79
+235 190 84 88 74 36 152 111 60 241 195 89 108 90 44 122 100 50 235 192 90 81 52 41
+122 100 50 235 192 90 137 105 55 5 12 15 9 10 12 9 10 12 12 13 15 16 19 20
+0 0 0 213 211 211 255 255 255 200 200 199 13 13 13 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88
+230 230 229 255 255 255 248 248 248 157 157 157 129 59 33 170 77 39 176 79 38 176 79 38
+179 80 38 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38
+179 81 36 179 79 37 180 81 37 170 77 39 138 69 38 81 52 41 147 147 146 247 247 246
+255 255 255 220 219 215 33 33 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 168 168 168
+253 253 253 237 237 237 157 157 157 206 202 198 157 157 157 226 220 210 225 221 213 225 221 213
+223 218 211 192 189 185 69 68 64 52 51 50 47 49 48 17 18 16 139 137 135 167 162 159
+10 10 10 0 0 0 139 137 135 221 217 205 221 217 205 220 215 207 221 217 205 222 218 209
+222 218 209 221 217 205 221 217 205 222 218 209 223 218 211 223 218 211 223 218 211 226 220 210
+226 220 210 225 221 213 226 222 213 226 222 213 214 212 206 97 96 96 5 6 8 5 6 8
+10 11 13 88 74 36 235 190 84 200 163 79 3 3 8 12 13 15 108 90 44 241 195 89
+137 105 55 223 182 84 161 132 61 7 10 12 152 111 60 248 200 89 235 190 84 189 156 74
+235 190 84 108 90 44 137 105 55 241 195 89 108 90 44 137 105 55 228 186 86 63 45 38
+63 45 38 228 186 86 189 156 74 4 4 14 9 10 12 10 12 14 13 15 17 13 15 17
+0 0 0 179 179 176 255 255 255 233 232 232 33 33 31 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 216 216 216
+254 254 254 247 247 246 162 160 159 129 59 33 174 79 37 176 79 38 176 79 38 179 80 38
+179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 81 40
+179 81 40 166 76 38 138 69 38 107 51 29 105 88 81 182 182 182 247 247 246 255 255 255
+237 237 237 122 123 123 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 134 134 133
+246 245 245 246 245 245 167 162 159 214 212 206 147 147 146 219 214 205 226 222 213 225 221 213
+219 214 205 105 107 107 13 13 13 63 62 61 17 18 16 57 54 50 177 170 162 84 81 78
+3 3 6 63 62 61 206 202 198 214 212 206 221 217 205 219 214 205 219 214 205 221 217 205
+221 217 205 221 217 205 221 217 205 221 217 205 221 217 205 222 218 209 222 218 209 222 218 209
+223 218 211 225 221 213 226 222 213 225 221 213 182 182 182 13 13 13 6 7 9 5 6 8
+10 12 14 88 74 36 235 190 84 189 156 74 3 3 8 10 12 14 108 90 44 241 195 89
+137 105 55 223 182 84 177 145 72 10 11 13 122 100 50 248 200 89 235 190 84 177 145 72
+241 195 89 122 100 50 122 100 50 241 195 89 108 90 44 161 132 61 216 177 82 51 47 32
+3 3 8 200 163 79 223 182 84 37 34 30 10 11 13 10 11 13 13 15 17 13 15 17
+10 12 14 134 134 133 255 255 255 246 245 245 67 67 66 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42 213 211 211 254 254 254
+251 250 250 177 176 172 137 73 51 174 79 37 179 80 38 179 80 38 179 79 37 179 80 38
+179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 79 37
+180 81 37 176 79 38 147 67 29 42 16 9 157 157 157 243 242 242 255 255 255 240 239 239
+134 131 128 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96
+237 237 237 251 250 250 167 162 159 214 212 206 147 147 146 219 214 205 226 222 213 226 222 213
+167 162 159 0 0 0 52 51 50 33 33 31 0 0 0 115 110 108 147 147 146 2 2 2
+17 18 16 134 131 128 97 96 96 51 47 44 147 147 146 219 214 205 221 217 205 222 218 209
+221 217 205 221 217 205 222 218 209 222 218 209 223 218 211 223 218 211 223 218 211 226 220 210
+225 221 213 226 222 213 226 222 213 225 221 213 115 110 108 0 0 0 6 7 9 3 3 6
+12 13 14 108 90 44 235 190 84 189 156 74 3 3 8 10 11 13 108 90 44 241 195 89
+137 105 55 216 177 82 177 145 72 13 13 13 88 74 36 241 195 89 241 195 89 161 132 61
+241 195 89 137 105 55 108 90 44 241 195 89 122 100 50 189 156 74 200 163 79 49 32 29
+3 3 8 161 132 61 235 190 84 108 90 44 12 13 15 12 13 14 12 13 15 13 15 17
+12 15 17 97 96 96 253 253 253 252 252 252 105 107 107 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 33 33 31 177 176 172 254 254 254 252 252 252
+179 179 176 129 59 33 174 79 37 179 81 36 179 79 37 179 80 38 179 80 38 179 80 38
+179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 79 37 179 80 38 179 80 38
+179 80 38 179 80 38 158 73 41 105 88 81 162 160 159 237 237 237 255 255 255 216 216 216
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 62 61
+230 230 229 255 255 255 177 176 172 206 202 198 162 160 159 214 212 206 225 221 213 214 212 206
+84 81 78 6 7 9 39 42 42 5 6 8 0 0 0 147 147 146 52 51 50 3 3 6
+63 62 61 97 96 96 17 18 16 26 28 29 52 51 50 206 202 198 220 215 207 221 217 205
+221 217 205 221 217 205 222 218 209 223 218 211 226 220 210 225 221 213 225 221 213 226 222 213
+226 222 213 220 215 207 214 212 206 192 189 185 33 33 31 5 6 8 5 6 8 3 3 6
+10 12 14 108 90 44 235 190 84 177 145 72 3 3 8 7 10 12 108 90 44 241 195 89
+137 105 55 216 177 82 177 145 72 17 18 16 37 34 30 235 192 90 241 195 89 152 111 60
+241 195 89 137 105 55 108 90 44 241 195 89 122 100 50 208 171 79 177 145 72 33 33 31
+7 10 12 88 74 36 241 195 89 161 132 61 13 13 13 9 10 12 12 15 17 13 17 18
+13 17 18 84 81 78 243 242 242 254 254 254 147 147 146 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 13 13 13 157 157 157 247 247 246 254 254 254 206 202 198
+123 75 52 174 79 37 175 79 35 176 79 38 176 79 38 176 79 38 179 80 38 179 79 37
+179 79 37 179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 180 81 37
+176 79 38 129 59 33 147 147 146 225 222 218 254 254 254 255 255 255 248 248 248 147 147 146
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+225 222 218 255 255 255 190 190 190 192 189 185 167 162 159 214 212 206 225 221 213 177 170 162
+33 38 41 39 42 42 47 49 48 5 6 8 28 30 31 97 96 96 0 0 0 13 13 13
+97 96 96 52 51 50 7 8 10 69 73 72 85 88 88 219 214 205 219 214 205 219 214 205
+214 212 206 219 214 205 206 202 198 192 189 185 179 179 176 167 162 159 147 147 146 122 123 123
+97 96 96 69 68 64 68 65 63 67 67 66 8 8 9 5 6 8 5 6 8 5 6 8
+12 13 15 108 90 44 241 195 89 177 145 72 3 3 8 10 11 13 108 90 44 241 195 89
+137 105 55 208 171 79 189 156 74 17 18 16 2 2 2 223 182 84 248 200 89 137 105 55
+248 200 89 152 111 60 107 75 50 241 195 89 122 100 50 223 182 84 161 132 61 20 20 21
+14 18 20 27 25 23 216 177 82 189 156 74 37 34 30 8 9 11 12 13 15 12 13 15
+13 17 18 64 67 67 225 222 218 255 255 255 190 190 190 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 13 13 13 147 147 146 247 247 246 255 255 255 226 226 226 126 96 80
+170 77 39 175 79 35 175 79 35 175 79 35 176 79 38 176 79 38 179 79 37 179 79 37
+179 79 37 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 179 80 38 170 77 39
+126 96 80 196 196 196 249 249 249 255 255 255 249 249 249 216 216 216 134 131 128 20 23 23
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+200 200 199 255 255 255 216 216 216 167 162 159 167 162 159 206 202 198 222 218 209 139 137 135
+13 13 13 69 73 72 47 49 48 17 18 16 105 107 107 47 49 48 0 0 0 77 78 76
+97 96 96 0 0 0 20 20 21 85 88 88 139 137 135 182 182 182 167 162 159 139 137 135
+119 117 113 84 81 78 47 49 48 3 3 6 0 0 0 0 0 0 0 0 0 0 0 0
+3 3 6 8 8 9 52 51 50 52 51 50 6 7 9 5 6 8 5 6 8 5 6 8
+13 17 18 108 90 44 241 195 89 177 145 72 3 3 6 9 10 12 108 90 44 241 195 89
+137 105 55 208 171 79 189 156 74 20 20 21 3 3 8 200 163 79 248 200 89 122 100 50
+241 195 89 161 132 61 122 100 50 235 192 90 108 90 44 235 192 90 152 111 60 13 17 18
+13 15 17 20 20 21 161 132 61 223 182 84 63 45 38 9 10 12 12 13 15 13 15 17
+13 15 17 47 49 48 196 196 196 255 255 255 220 219 215 26 28 29 0 0 0 0 0 0
+0 0 0 26 28 29 147 147 146 246 245 245 255 255 255 230 230 229 134 119 113 168 75 33
+175 79 35 175 79 35 175 79 35 175 79 35 176 79 38 175 79 35 176 79 38 179 80 38
+179 79 37 179 79 37 179 80 38 179 79 37 179 80 38 179 80 38 159 71 30 126 96 80
+207 206 206 254 254 254 254 254 254 230 230 229 147 147 146 20 23 23 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+168 168 168 254 254 254 233 232 232 134 134 133 177 170 162 203 196 190 214 212 206 115 110 108
+12 13 15 64 64 61 39 42 42 13 13 13 63 62 61 20 20 21 0 0 0 77 78 76
+26 28 29 3 3 6 8 8 9 33 33 31 52 51 50 39 42 42 10 10 10 0 0 0
+0 0 0 2 2 2 5 6 8 6 7 9 6 7 9 7 8 10 6 7 9 6 7 9
+6 7 9 16 19 20 54 58 58 20 20 21 7 8 10 8 8 9 5 6 8 5 6 8
+10 11 13 108 90 44 241 195 89 177 145 72 3 3 6 10 11 13 108 90 44 241 195 89
+137 105 55 200 163 79 200 163 79 20 20 21 3 3 8 177 145 72 248 200 89 122 100 50
+228 186 86 177 145 72 161 132 61 228 186 86 108 90 44 235 192 90 137 105 55 12 13 15
+12 13 15 13 17 18 122 100 50 241 195 89 108 90 44 7 8 10 13 15 17 13 15 17
+13 15 17 20 24 26 162 160 159 252 252 252 237 237 237 97 96 96 0 0 0 0 0 0
+13 13 13 157 157 157 246 245 245 255 255 255 230 230 229 134 119 113 166 76 38 175 79 35
+175 79 35 175 79 35 175 79 35 176 79 38 175 79 35 176 79 38 176 79 38 179 79 37
+176 79 38 176 79 38 179 79 37 179 81 36 176 79 38 148 72 46 154 142 136 230 230 229
+254 254 254 253 253 253 200 200 199 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+119 117 113 253 253 253 252 252 252 122 123 123 177 176 172 182 182 182 220 215 207 139 137 135
+20 20 21 0 0 0 0 0 0 8 8 9 47 49 48 13 13 13 27 25 23 54 58 58
+39 42 42 69 73 72 84 81 78 85 88 88 105 107 107 105 107 107 97 96 96 60 59 58
+0 0 0 0 0 0 5 6 8 6 7 9 8 8 9 8 9 11 9 10 12 8 9 11
+3 3 6 64 64 61 57 54 50 5 6 8 6 7 9 8 8 9 5 6 8 3 3 6
+6 7 9 108 90 44 241 195 89 161 132 61 3 3 6 8 9 11 108 90 44 241 195 89
+137 105 55 189 156 74 208 171 79 17 18 16 3 3 8 152 111 60 248 200 89 137 105 55
+189 156 74 241 195 89 241 195 89 200 163 79 122 100 50 235 192 90 108 90 44 10 11 13
+9 10 12 10 11 13 88 74 36 223 182 84 177 145 72 3 3 8 13 15 17 13 15 17
+12 13 15 13 17 18 134 134 133 246 245 245 247 247 246 157 157 157 20 23 23 39 42 42
+157 157 157 249 249 249 255 255 255 233 232 232 146 134 128 166 76 38 175 79 35 174 79 37
+175 79 35 175 79 35 175 79 35 176 79 38 176 79 38 176 79 38 176 79 38 176 79 38
+176 79 38 176 79 38 179 81 36 166 76 38 126 96 80 192 189 185 250 250 249 255 255 255
+246 245 245 179 179 176 26 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+64 64 61 246 245 245 255 255 255 157 157 157 147 147 146 134 134 133 147 147 146 139 137 135
+157 157 157 168 168 168 122 123 123 157 157 157 213 211 211 190 190 190 196 196 196 216 216 216
+213 211 211 225 222 218 226 226 226 230 230 229 240 239 239 243 242 242 233 232 232 216 216 216
+182 182 182 134 131 128 52 51 50 0 0 0 0 0 0 6 7 9 7 8 10 5 6 8
+52 51 50 85 88 88 0 0 0 6 7 9 5 6 8 6 7 9 5 6 8 3 3 6
+5 6 8 108 90 44 241 195 89 161 132 61 3 3 6 6 7 9 108 90 44 241 195 89
+122 100 50 189 156 74 216 177 82 17 18 16 3 3 8 108 90 44 248 200 89 137 105 55
+108 90 44 223 182 84 228 186 86 122 100 50 152 111 60 228 186 86 81 52 41 6 7 9
+6 7 9 6 7 9 27 25 23 161 132 61 177 145 72 3 3 8 12 13 15 10 12 14
+12 13 15 13 17 18 69 73 72 230 230 229 255 255 255 243 242 242 119 117 113 190 190 190
+248 248 248 255 255 255 226 226 226 115 110 108 159 71 30 173 79 35 174 79 37 175 79 35
+175 79 35 175 79 35 175 79 35 175 79 35 175 79 35 175 79 35 176 79 38 176 79 38
+176 79 38 176 79 38 147 67 29 154 142 136 226 226 226 255 255 255 255 255 255 226 226 226
+147 147 146 33 33 31 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+26 28 29 220 219 215 255 255 255 213 211 211 119 117 113 162 160 159 190 190 190 190 190 190
+249 249 249 252 252 252 249 249 249 251 250 250 255 255 255 254 254 254 254 254 254 254 254 254
+254 254 254 253 253 253 252 252 252 252 252 252 251 250 250 251 250 250 252 252 252 255 255 255
+253 253 253 249 249 249 240 239 239 200 200 199 139 137 135 77 78 76 52 51 50 20 23 23
+84 81 78 39 42 42 7 8 10 6 7 9 6 7 9 7 8 10 6 7 9 3 3 6
+5 6 8 108 90 44 241 195 89 161 132 61 122 100 50 63 45 38 88 74 36 228 186 86
+122 100 50 177 145 72 200 163 79 22 12 9 6 7 9 51 47 32 177 145 72 88 74 36
+17 18 16 51 47 32 63 45 38 17 18 16 88 74 36 108 90 44 13 13 13 6 7 9
+5 6 8 6 7 9 9 10 12 37 34 30 37 34 30 10 11 13 12 13 14 13 15 17
+12 15 17 13 17 18 7 10 12 119 117 113 243 242 242 255 255 255 240 239 239 253 253 253
+254 254 254 226 226 226 105 107 107 42 16 9 107 51 29 166 76 38 174 79 37 176 79 38
+176 79 38 175 79 35 175 79 35 176 79 38 175 79 35 175 79 35 175 79 35 176 79 38
+170 77 39 126 96 80 182 182 182 247 247 246 255 255 255 248 248 248 190 190 190 69 73 72
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+13 13 13 168 168 168 253 253 253 255 255 255 254 254 254 255 255 255 249 249 249 190 190 190
+249 249 249 255 255 255 251 250 250 246 245 245 225 222 218 220 219 215 216 216 216 200 200 199
+200 200 199 190 190 190 168 168 168 168 168 168 147 147 146 147 147 146 168 168 168 207 206 206
+233 232 232 249 249 249 255 255 255 255 255 255 255 255 255 243 242 242 213 211 211 168 168 168
+67 67 66 5 6 8 6 7 9 7 8 10 8 9 11 7 8 10 6 7 9 5 6 8
+3 3 6 88 74 36 200 163 79 200 163 79 177 145 72 88 74 36 37 34 30 108 90 44
+37 34 30 27 25 23 27 25 23 7 8 10 6 7 9 5 6 8 2 2 2 3 3 8
+7 8 10 7 8 10 8 9 11 9 10 12 10 11 13 5 6 8 5 6 8 5 6 8
+5 6 8 7 8 10 12 13 15 12 15 17 12 15 17 12 13 15 13 17 18 13 15 17
+12 15 17 13 17 18 14 18 20 97 96 96 247 247 246 255 255 255 255 255 255 251 250 250
+200 200 199 77 78 76 8 5 4 23 5 0 23 5 0 81 44 20 147 67 29 173 77 35
+175 79 35 175 79 35 175 79 35 176 79 38 175 79 35 174 79 37 172 77 34 138 69 38
+154 142 136 226 226 226 255 255 255 255 255 255 230 230 229 147 147 146 13 13 13 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 67 67 66 190 190 190 243 242 242 252 252 252 255 255 255 255 255 255 190 190 190
+246 245 245 255 255 255 182 182 182 119 117 113 69 73 72 64 64 61 60 59 58 26 28 29
+20 23 23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42
+85 88 88 122 123 123 177 176 172 226 226 226 251 250 250 255 255 255 255 255 255 226 226 226
+63 62 61 7 8 10 8 9 11 7 10 12 8 9 11 8 8 9 7 8 10 8 9 11
+9 10 12 20 20 21 49 32 29 22 12 9 2 2 2 3 3 6 6 7 9 3 3 8
+5 6 8 6 7 9 6 7 9 6 7 9 7 8 10 6 7 9 7 8 10 7 8 10
+7 8 10 8 9 11 7 8 10 8 9 11 13 15 17 12 13 15 10 11 13 9 10 12
+8 9 11 10 11 13 12 13 15 13 17 18 13 17 18 13 17 18 12 15 17 13 15 17
+12 13 15 20 24 26 26 28 29 67 67 66 190 190 190 216 216 216 200 200 199 147 147 146
+57 54 50 23 5 0 24 7 0 24 7 0 23 5 0 24 7 0 107 51 29 170 77 39
+174 79 37 175 79 35 175 79 35 175 79 35 175 79 35 158 73 41 126 96 80 206 202 198
+246 245 245 255 255 255 252 252 252 200 200 199 97 96 96 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 20 23 23 52 51 50 69 73 72 213 211 211 255 255 255 207 206 206
+237 237 237 255 255 255 177 176 172 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 13 13 13 20 23 23 168 168 168 255 255 255 253 253 253 157 157 157
+0 0 0 7 8 10 7 10 12 8 9 11 9 10 12 9 10 12 9 10 12 8 9 11
+8 9 11 10 11 13 6 7 9 3 3 6 5 6 8 5 6 8 6 7 9 5 6 8
+6 7 9 6 7 9 6 7 9 6 7 9 6 7 9 5 6 8 5 6 8 6 7 9
+6 7 9 7 8 10 6 7 9 9 10 12 13 15 17 10 12 14 12 13 15 13 15 17
+12 13 15 10 12 14 12 13 15 14 18 20 13 17 18 13 17 18 12 15 17 13 15 17
+12 13 15 20 23 23 17 18 16 13 15 17 27 25 23 26 28 29 20 20 21 22 12 9
+23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 107 51 29
+170 77 39 173 79 35 174 79 37 166 76 38 126 96 80 157 157 157 237 237 237 255 255 255
+254 254 254 237 237 237 162 160 159 26 28 29 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 190 190 255 255 255 220 219 215
+226 226 226 255 255 255 182 182 182 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 60 59 58 233 232 232 255 255 255 225 222 218 39 42 42
+6 7 9 7 8 10 8 9 11 8 9 11 10 11 13 9 10 12 10 11 13 10 11 13
+10 11 13 10 12 14 8 9 11 5 6 8 5 6 8 5 6 8 6 7 9 6 7 9
+6 7 9 7 8 10 6 7 9 5 6 8 5 6 8 5 6 8 5 6 8 8 8 9
+6 7 9 6 7 9 6 7 9 8 9 11 9 10 12 8 9 11 10 12 14 12 13 15
+13 15 17 12 15 17 12 13 15 12 15 17 14 18 20 14 18 20 16 19 20 14 18 20
+17 7 8 23 5 0 23 5 0 23 5 0 23 5 0 23 5 0 24 7 0 23 5 0
+24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 42 16 9
+129 59 33 159 71 30 123 75 52 177 170 162 225 222 218 252 252 252 255 255 255 251 250 250
+190 190 190 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 190 190 190 255 255 255 225 222 218
+226 226 226 255 255 255 182 182 182 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 20 23 23 179 179 176 252 252 252 249 249 249 139 137 135 9 10 12
+6 7 9 7 8 10 6 7 9 8 9 11 10 11 13 10 11 13 10 11 13 10 11 13
+10 12 14 10 12 14 10 11 13 7 8 10 5 6 8 5 6 8 5 6 8 5 6 8
+5 6 8 5 6 8 5 6 8 5 6 8 5 6 8 3 3 6 5 6 8 5 6 8
+6 7 9 6 7 9 8 8 9 9 10 12 10 11 13 10 11 13 10 11 13 12 13 15
+13 17 18 12 15 17 13 15 17 13 15 17 13 17 18 14 18 20 20 20 21 17 7 8
+23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0
+24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 23 5 0 22 12 9
+89 68 66 147 147 146 230 230 229 251 250 250 255 255 255 249 249 249 216 216 216 122 123 123
+39 42 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 196 196 196 255 255 255 213 211 211
+226 226 226 255 255 255 182 182 182 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 115 110 108 237 237 237 254 254 254 213 211 211 63 62 61 7 8 10
+8 8 9 8 9 11 7 8 10 10 11 13 10 11 13 9 10 12 10 11 13 10 11 13
+10 12 14 10 12 14 10 11 13 10 11 13 8 9 11 8 9 11 7 8 10 6 7 9
+8 8 9 8 9 11 5 6 8 3 3 6 3 3 6 5 6 8 5 6 8 6 7 9
+8 8 9 8 9 11 7 8 10 9 10 12 9 10 12 10 12 14 10 12 14 12 13 15
+13 15 17 14 18 20 14 18 20 13 15 17 13 15 17 17 18 16 17 7 8 23 5 0
+24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0
+24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 0 0 0 60 59 58 147 147 146
+216 216 216 254 253 253 255 255 255 249 249 249 216 216 216 147 147 146 33 33 31 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 216 216 216 255 255 255 200 200 199
+245 244 244 255 255 255 162 160 159 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 20 23 23 207 206 206 255 255 255 247 247 246 134 131 128 2 2 2 6 7 9
+8 9 11 9 10 12 8 9 11 10 11 13 10 11 13 9 10 12 10 11 13 10 12 14
+10 11 13 10 11 13 10 11 13 10 12 14 10 11 13 9 10 12 10 11 13 9 10 12
+9 10 12 10 11 13 8 9 11 5 6 8 5 6 8 6 7 9 5 6 8 6 7 9
+7 8 10 8 9 11 7 10 12 9 10 12 10 11 13 9 10 12 10 12 14 13 17 18
+13 15 17 13 17 18 12 15 17 12 13 15 13 13 13 22 12 9 23 5 0 24 7 0
+24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0
+23 5 0 23 5 0 24 7 0 22 12 9 52 51 50 157 157 157 226 226 226 249 249 249
+255 255 255 254 254 254 216 216 216 134 134 133 64 64 61 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 237 237 237 254 254 254 196 196 196
+248 248 248 253 253 253 139 137 135 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 67 67 66 247 247 246 255 255 255 168 168 168 0 0 0 8 8 9 5 6 8
+7 8 10 9 10 12 9 10 12 10 11 13 10 11 13 10 11 13 9 10 12 10 11 13
+10 11 13 12 13 15 10 12 14 10 11 13 10 12 14 10 11 13 10 12 14 9 10 12
+8 9 11 10 11 13 8 9 11 7 8 10 6 7 9 6 7 9 6 7 9 7 8 10
+9 10 12 9 10 12 9 10 12 10 11 13 10 11 13 12 13 15 13 15 17 13 15 17
+13 15 17 13 17 18 16 19 20 39 42 42 39 42 42 17 7 8 23 5 0 24 7 0
+24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0 23 5 0
+23 5 0 22 12 9 85 88 88 167 162 159 230 230 229 253 253 253 255 255 255 251 250 250
+226 226 226 157 157 157 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 139 137 135 247 247 246 246 245 245 200 200 199
+251 250 250 243 242 242 105 107 107 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 97 96 96 251 250 250 254 254 254 147 147 146 0 0 0 5 6 8 5 6 8
+6 7 9 7 8 10 9 10 12 9 10 12 10 11 13 10 11 13 9 10 12 10 11 13
+12 13 15 12 13 15 10 12 14 10 11 13 10 11 13 10 12 14 10 11 13 7 10 12
+9 10 12 10 11 13 8 9 11 6 7 9 7 8 10 7 8 10 7 8 10 6 7 9
+8 9 11 9 10 12 12 13 15 12 13 15 12 13 15 12 13 15 13 15 17 12 13 15
+9 10 12 28 30 31 57 54 50 67 65 62 65 64 60 37 34 30 23 5 0 23 5 0
+24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
+23 5 0 69 73 72 216 216 216 255 255 255 255 255 255 252 252 252 225 222 218 168 168 168
+64 64 61 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 33 33 31 190 190 190 255 255 255 233 232 232 213 211 211
+254 254 254 225 222 218 69 73 72 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 39 42 42 230 230 229 255 255 255 247 247 246 168 168 168 20 20 21 5 6 8
+5 6 8 6 7 9 8 9 11 8 9 11 10 11 13 12 13 15 13 15 17 10 12 14
+10 12 14 9 10 12 7 8 10 8 9 11 7 10 12 9 10 12 10 12 14 9 10 12
+8 9 11 8 9 11 7 8 10 6 7 9 6 7 9 6 7 9 6 7 9 8 9 11
+9 10 12 10 11 13 13 17 18 10 11 13 12 13 15 13 15 17 12 13 15 20 20 21
+52 51 50 64 64 61 67 67 66 68 67 63 68 67 63 60 59 58 20 20 21 23 5 0
+23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
+22 12 9 157 157 157 253 253 253 253 253 253 213 211 211 122 123 123 63 62 61 20 23 23
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 69 73 72 233 232 232 255 255 255 213 211 211 230 230 229
+254 254 254 190 190 190 13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 162 160 159 255 255 255 251 250 250 157 157 157 57 54 50 39 42 42
+17 18 16 5 6 8 6 7 9 7 8 10 8 9 11 10 12 14 13 15 17 9 10 12
+8 8 9 6 7 9 6 7 9 7 8 10 8 9 11 8 9 11 8 9 11 8 9 11
+7 8 10 7 8 10 6 7 9 6 7 9 6 7 9 6 7 9 7 8 10 8 9 11
+10 11 13 10 12 14 12 13 15 12 13 15 10 12 14 27 25 23 51 47 44 64 62 59
+67 67 66 67 67 66 67 67 66 67 67 66 67 67 66 68 67 63 51 47 44 17 7 8
+23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
+17 18 16 192 189 185 255 255 255 248 248 248 139 137 135 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 134 131 128 254 254 254 253 253 253 177 176 172 251 250 250
+249 249 249 134 134 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 33 33 31 216 216 216 255 255 255 233 232 232 69 68 64 68 67 63 68 67 63
+62 61 58 28 30 31 8 8 9 5 6 8 6 7 9 8 9 11 7 8 10 7 8 10
+6 7 9 6 7 9 6 7 9 6 7 9 6 7 9 7 8 10 6 7 9 7 9 9
+8 9 11 7 8 10 8 9 11 7 8 10 8 8 9 9 10 12 9 10 12 13 15 17
+13 17 18 13 17 18 13 15 17 16 19 20 47 49 48 62 61 58 67 66 62 68 67 63
+67 67 66 68 67 63 68 67 63 67 67 66 67 67 66 68 67 63 68 65 63 39 42 42
+17 7 8 23 5 0 23 5 0 24 7 0 24 7 0 24 7 0 24 7 0 23 5 0
+81 44 20 115 110 108 233 232 232 255 255 255 237 237 237 122 123 123 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 213 211 211 255 255 255 226 226 226 206 202 198 255 255 255
+233 232 232 26 28 29 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 115 110 108 251 250 250 255 255 255 168 168 168 60 59 58 68 67 63 69 68 64
+62 61 58 39 42 42 60 59 58 39 42 42 27 25 23 12 13 15 3 3 6 3 3 6
+5 6 8 5 6 8 6 7 9 6 7 9 7 8 10 6 7 9 6 7 9 7 8 10
+8 9 11 8 9 11 9 10 12 8 9 11 9 10 12 8 9 11 9 10 12 12 13 15
+20 20 21 33 33 31 47 49 48 64 63 61 68 67 63 68 67 63 68 67 63 68 67 63
+68 67 63 68 65 63 67 67 66 67 67 66 68 65 63 68 67 63 67 67 66 67 65 62
+51 47 44 27 25 23 22 12 9 23 5 0 23 5 0 23 5 0 23 5 0 8 5 4
+81 44 20 138 69 38 154 142 136 243 242 242 255 255 255 240 239 239 134 134 133 39 42 42
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 97 96 96 246 245 245 254 254 254 182 182 182 246 245 245 255 255 255
+177 176 172 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 196 196 196 255 255 255 240 239 239 85 88 88 67 66 62 68 67 63 65 64 60
+51 47 44 62 61 58 66 65 61 68 67 63 65 64 60 57 54 50 39 42 42 17 18 16
+0 0 0 0 0 0 2 2 2 3 3 6 5 6 8 6 7 9 5 6 8 6 7 9
+7 8 10 5 6 8 5 6 8 10 11 13 20 23 23 37 34 30 51 47 44 52 51 50
+60 59 58 67 66 62 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
+69 68 64 69 68 64 67 67 66 67 67 66 67 67 66 69 68 64 68 67 63 67 66 62
+67 66 62 62 61 58 52 51 50 37 34 30 22 12 9 8 5 4 23 5 0 2 2 2
+17 7 8 129 59 33 147 67 29 154 142 136 240 239 239 255 255 255 246 245 245 196 196 196
+97 96 96 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 177 176 172 252 252 252 240 239 239 200 200 199 254 254 254 243 242 242
+85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13
+97 96 96 237 237 237 255 255 255 196 196 196 69 73 72 67 66 62 64 63 61 39 42 42
+60 59 58 64 63 59 69 68 64 68 67 63 68 67 63 68 67 63 67 66 62 66 65 61
+57 54 50 39 42 42 27 25 23 13 13 13 10 10 10 13 13 13 20 20 21 26 28 29
+39 42 42 57 54 50 60 59 58 66 65 61 67 65 62 68 65 63 68 65 63 69 68 64
+69 68 64 68 67 63 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
+69 68 64 68 67 63 68 65 63 67 67 66 68 65 63 68 67 63 68 67 63 67 66 62
+68 67 63 67 66 62 66 65 61 65 64 60 64 63 59 60 59 58 51 47 44 33 33 31
+20 20 21 81 44 20 129 59 33 148 72 46 146 134 128 233 232 232 253 253 253 253 253 253
+243 242 242 177 176 172 77 78 76 20 23 23 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 67 67 66 220 219 215 255 255 255 216 216 216 230 230 229 255 255 255 200 200 199
+47 49 48 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 67 66 157 157 157
+213 211 211 252 252 252 248 248 248 147 147 146 64 63 59 57 54 50 39 42 42 57 54 50
+65 64 60 68 65 63 68 67 63 69 68 64 69 68 64 69 68 64 68 67 63 67 67 66
+67 67 66 69 68 64 67 67 66 60 59 58 57 54 50 60 59 58 64 64 61 68 67 63
+69 68 64 69 68 64 65 64 60 68 67 63 67 67 66 68 67 63 68 67 63 69 68 64
+68 67 63 68 67 63 68 67 63 69 68 64 68 67 63 68 67 63 68 67 63 68 67 63
+68 67 63 68 67 63 62 61 58 66 65 61 67 66 62 67 66 62 67 66 62 67 65 62
+67 66 62 67 66 62 68 65 63 67 66 62 66 65 61 67 66 62 66 65 61 66 65 61
+64 63 59 49 32 29 138 69 38 138 69 38 147 67 29 126 96 80 190 190 190 243 242 242
+255 255 255 255 255 255 230 230 229 177 176 172 115 110 108 13 13 13 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 122 123 123 248 248 248 251 250 250 200 200 199 245 244 244 249 249 249 157 157 157
+13 13 13 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 77 78 76 213 211 211 251 250 250
+255 255 255 254 254 254 230 230 229 84 81 78 39 42 42 52 51 50 62 61 58 68 65 63
+67 67 66 68 67 63 67 67 66 68 67 63 69 68 64 69 68 64 68 67 63 67 67 66
+69 68 64 69 68 64 69 68 64 69 68 64 68 67 63 69 68 64 67 66 62 66 65 61
+68 67 63 69 68 64 66 65 61 68 65 63 68 67 63 68 67 63 68 67 63 68 67 63
+68 65 63 67 67 66 68 67 63 68 67 63 68 65 63 68 65 63 67 66 62 68 67 63
+68 67 63 67 66 62 60 59 58 60 59 58 66 65 61 67 66 62 67 66 62 67 66 62
+66 65 61 67 66 62 68 65 63 68 65 63 66 65 61 67 66 62 67 66 62 66 65 61
+65 64 60 81 44 20 166 76 38 166 76 38 138 69 38 158 73 41 148 72 46 134 119 113
+200 200 199 251 250 250 255 255 255 253 253 253 243 242 242 213 211 211 134 131 128 33 33 31
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 157 157 157 255 255 255 246 245 245 190 190 190 254 254 254 237 237 237 97 96 96
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 168 168 168 255 255 255 251 250 250
+226 226 226 177 176 172 84 81 78 52 51 50 62 61 58 64 63 59 67 66 62 68 67 63
+68 65 63 68 67 63 68 67 63 68 67 63 68 67 63 69 68 64 67 67 66 68 67 63
+69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 67 66 62 66 65 61
+68 67 63 69 68 64 66 65 61 64 64 61 68 65 63 68 67 63 67 66 62 68 65 63
+67 67 66 67 67 66 68 65 63 68 67 63 68 67 63 68 67 63 67 66 62 67 66 62
+68 67 63 67 66 62 60 59 58 52 51 50 64 63 59 66 65 61 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 67 66 62 67 66 62 66 65 61
+57 54 50 107 51 29 174 79 37 174 79 37 170 77 39 138 69 38 158 73 41 170 77 39
+138 69 38 134 131 128 213 211 211 243 242 242 253 253 253 255 255 255 251 250 250 213 211 211
+122 123 123 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+13 13 13 213 211 211 255 255 255 225 222 218 213 211 211 255 255 255 207 206 206 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 207 206 206 255 255 255 213 211 211
+60 59 58 51 47 44 62 61 58 62 61 58 62 61 58 65 64 60 67 66 62 67 66 62
+67 66 62 68 67 63 68 65 63 67 66 62 68 67 63 68 67 63 68 67 63 68 67 63
+67 66 62 68 67 63 68 67 63 68 67 63 68 67 63 69 68 64 67 66 62 64 64 61
+68 65 63 68 67 63 66 65 61 64 63 59 68 67 63 67 66 62 66 65 61 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 67 66 62
+67 66 62 66 65 61 64 63 59 47 49 48 57 54 50 65 64 60 66 65 61 67 66 62
+67 66 62 67 66 62 67 65 62 67 66 62 67 66 62 67 66 62 66 65 61 65 64 60
+51 47 44 129 59 33 175 79 35 173 77 35 174 79 37 172 77 34 147 67 29 158 73 41
+174 79 37 159 71 30 138 69 38 134 119 113 177 176 172 230 230 229 255 255 255 255 255 255
+246 245 245 200 200 199 134 131 128 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+105 107 107 249 249 249 255 255 255 179 179 176 243 242 242 254 254 254 162 160 159 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 220 219 215 255 255 255 182 182 182
+13 13 13 62 61 58 62 61 58 62 61 58 65 64 60 67 66 62 66 65 61 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 68 67 63 68 67 63
+66 65 61 66 65 61 67 66 62 68 67 63 67 67 66 69 68 64 67 66 62 64 63 61
+67 67 66 67 67 66 68 65 63 63 62 61 68 67 63 67 66 62 66 65 61 66 65 61
+67 66 62 68 67 63 67 66 62 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 66 65 61 66 65 61 57 54 50 39 42 42 60 59 58 65 64 60 67 66 62
+67 66 62 66 65 61 67 65 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61
+51 47 44 129 59 33 173 77 35 173 79 35 173 77 35 174 79 37 168 75 33 166 76 38
+138 69 38 166 76 38 173 77 35 172 77 34 158 73 41 126 96 80 157 157 157 237 237 237
+252 252 252 254 254 254 246 245 245 177 176 172 64 64 61 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+147 147 146 254 254 254 252 252 252 168 168 168 255 255 255 249 249 249 85 88 88 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 20 23 23 207 206 206 255 255 255 207 206 206
+2 2 2 62 61 58 62 61 58 62 61 58 66 65 61 67 66 62 67 66 62 67 66 62
+67 66 62 66 65 61 67 66 62 67 66 62 68 67 63 67 66 62 67 66 62 68 65 63
+68 67 63 66 65 61 66 65 61 67 66 62 67 66 62 68 67 63 68 67 63 64 63 61
+67 67 66 67 67 66 67 66 62 64 62 59 68 67 63 67 66 62 66 65 61 67 66 62
+67 66 62 67 66 62 67 66 62 68 65 63 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 66 65 61 66 65 61 64 63 59 39 42 42 39 42 42 47 49 48 60 59 58
+66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 65 64 60
+52 51 50 107 51 29 158 73 41 158 73 41 173 79 35 173 77 35 174 79 37 172 77 34
+168 75 33 158 73 41 170 77 39 173 77 35 173 77 35 174 79 37 147 67 29 126 96 80
+182 182 182 237 237 237 255 255 255 255 255 255 216 216 216 134 134 133 13 13 13 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+168 168 168 254 254 254 233 232 232 190 190 190 255 255 255 230 230 229 33 33 31 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 190 190 190 255 255 255 220 219 215
+0 0 0 60 59 58 60 59 58 64 63 59 66 65 61 66 65 61 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+66 65 61 67 66 62 66 65 61 65 64 60 66 65 61 66 65 61 68 67 63 63 62 61
+68 65 63 68 67 63 67 66 62 62 61 58 67 66 62 66 65 61 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 66 65 61 67 66 62
+66 65 61 66 65 61 67 66 62 67 66 62 60 59 58 37 34 30 33 33 31 39 42 42
+60 59 58 62 61 58 62 61 58 65 64 60 67 66 62 67 66 62 67 66 62 66 65 61
+60 59 58 81 44 20 138 69 38 158 73 41 147 67 29 173 77 35 173 77 35 173 77 35
+172 77 34 168 75 33 173 77 35 173 77 35 166 76 38 174 79 37 174 79 37 170 77 39
+158 73 41 134 119 113 213 211 211 253 253 253 255 255 255 243 242 242 177 176 172 39 42 42
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+196 196 196 255 255 255 216 216 216 213 211 211 255 255 255 213 211 211 26 28 29 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 179 179 176 255 255 255 226 226 226
+0 0 0 57 54 50 62 61 58 64 63 59 65 64 60 65 64 60 66 65 61 66 65 61
+66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 67 66 62 67 66 62
+67 66 62 66 65 61 67 66 62 66 65 61 65 64 60 66 65 61 66 65 61 60 59 58
+67 65 62 67 66 62 67 66 62 62 61 58 66 65 61 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 65 64 60 65 64 60 66 65 61
+65 64 60 66 65 61 66 65 61 66 65 61 65 64 60 64 63 59 47 49 48 39 42 42
+37 34 30 39 42 42 51 47 44 52 51 50 65 64 60 67 66 62 65 64 60 65 64 60
+65 64 60 81 44 20 147 67 29 138 69 38 148 72 46 158 73 41 172 77 34 173 77 35
+174 79 37 172 77 34 168 75 33 173 77 35 158 73 41 138 69 38 166 76 38 173 77 35
+173 77 35 170 77 39 137 73 51 162 160 159 237 237 237 255 255 255 253 253 253 192 189 185
+60 59 58 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 17 18 16 0 0 0 0 0 0 39 42 42
+216 216 216 255 255 255 200 200 199 225 222 218 255 255 255 246 245 245 139 137 135 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 162 160 159 255 255 255 237 237 237
+37 34 30 57 54 50 62 61 58 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
+66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61
+67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 65 64 60 66 65 61 60 59 58
+66 65 61 66 65 61 66 65 61 62 61 58 66 65 61 66 65 61 67 66 62 67 66 62
+66 65 61 67 66 62 67 66 62 66 65 61 66 65 61 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 60 59 58
+52 51 50 52 51 50 52 51 50 60 59 58 65 64 60 67 66 62 66 65 61 65 64 60
+66 65 61 63 45 38 159 71 30 166 76 38 158 73 41 147 67 29 158 73 41 166 76 38
+174 79 37 173 77 35 173 77 35 172 77 34 172 77 34 166 76 38 147 67 29 158 73 41
+173 79 35 174 79 37 174 79 37 159 71 30 134 119 113 213 211 211 255 255 255 253 253 253
+200 200 199 67 67 66 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 33 33 31 0 0 0 0 0 0 134 131 128
+245 244 244 254 254 254 196 196 196 177 176 172 240 239 239 255 255 255 225 222 218 39 42 42
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 255 255 255 245 244 244
+67 67 66 52 51 50 62 61 58 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+66 65 61 66 65 61 66 65 61 67 66 62 66 65 61 66 65 61 65 64 60 60 59 58
+62 61 58 65 64 60 65 64 60 60 59 58 65 64 60 66 65 61 66 65 61 66 65 61
+65 64 60 66 65 61 66 65 61 66 65 61 64 63 59 65 64 60 64 63 59 65 64 60
+64 63 59 65 64 60 65 64 60 64 63 59 65 64 60 64 63 59 65 64 60 65 64 60
+64 63 59 64 62 59 62 61 58 65 64 60 66 65 61 66 65 61 66 65 61 65 64 60
+65 64 60 63 45 38 147 67 29 170 77 39 168 75 33 158 73 41 158 73 41 158 73 41
+166 76 38 173 77 35 173 77 35 173 77 35 172 77 34 168 75 33 173 77 35 148 72 46
+158 73 41 174 79 37 173 79 35 173 77 35 170 77 39 126 96 80 200 200 199 252 252 252
+254 254 254 200 200 199 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 17 18 16 0 0 0 0 0 0 157 157 157
+251 250 250 240 239 239 105 107 107 0 0 0 162 160 159 251 250 250 240 239 239 105 107 107
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 122 123 123 249 249 249 249 249 249
+122 123 123 39 42 42 62 61 58 62 61 58 64 63 59 64 63 59 65 64 60 65 64 60
+64 63 59 64 63 59 65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 66 65 61 65 64 60 64 63 59 64 63 59 62 61 58
+52 51 50 60 59 58 60 59 58 57 54 50 62 61 58 66 65 61 65 64 60 66 65 61
+66 65 61 66 65 61 66 65 61 65 64 60 64 63 59 65 64 60 65 64 60 64 63 59
+65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 66 65 61 65 64 60
+65 64 60 52 51 50 107 51 29 147 67 29 172 77 34 173 77 35 170 77 39 166 76 38
+158 73 41 166 76 38 173 77 35 174 79 37 175 79 35 172 77 34 168 75 33 172 77 34
+158 73 41 158 73 41 173 77 35 173 77 35 173 77 35 172 77 34 137 73 51 200 200 199
+253 253 253 254 254 254 196 196 196 54 58 58 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 157 157
+251 250 250 237 237 237 97 96 96 2 2 2 122 123 123 245 244 244 246 245 245 134 134 133
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96 237 237 237 252 252 252
+167 162 159 17 18 16 64 62 59 62 61 58 64 63 59 65 64 60 64 63 59 64 63 59
+64 63 59 64 63 59 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 64 63 59 65 64 60 64 63 59 62 61 58 51 47 44
+52 51 50 62 61 58 64 63 59 62 61 58 60 59 58 65 64 60 65 64 60 66 65 61
+66 65 61 66 65 61 65 64 60 64 63 59 64 63 59 65 64 60 65 64 60 64 63 59
+65 64 60 64 63 59 64 63 59 65 64 60 66 65 61 65 64 60 65 64 60 66 65 61
+64 63 59 64 63 59 64 63 59 64 63 59 64 63 59 65 64 60 65 64 60 64 63 59
+64 63 59 57 54 50 107 51 29 138 69 38 147 67 29 173 77 35 173 77 35 173 77 35
+173 77 35 173 77 35 173 77 35 174 79 37 174 79 37 173 77 35 173 77 35 172 77 34
+168 75 33 147 67 29 158 73 41 173 77 35 173 77 35 173 77 35 173 77 35 145 89 57
+196 196 196 253 253 253 251 250 250 182 182 182 39 42 42 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146
+248 248 248 240 239 239 105 107 107 0 0 0 122 123 123 245 244 244 246 245 245 139 137 135
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 67 67 66 220 219 215 254 254 254
+200 200 199 33 33 31 60 59 58 64 62 59 65 64 60 65 64 60 64 63 59 65 64 60
+64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 64 63 59 52 51 50
+20 20 21 33 33 31 57 54 50 60 59 58 60 59 58 65 64 60 65 64 60 66 65 61
+65 64 60 65 64 60 64 63 59 64 63 59 64 63 59 65 64 60 65 64 60 64 63 59
+65 64 60 65 64 60 65 64 60 65 64 60 66 65 61 65 64 60 64 63 59 65 64 60
+65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60 64 63 59 64 63 59
+62 61 58 54 58 58 107 51 29 166 76 38 147 67 29 147 67 29 173 77 35 170 77 39
+174 79 37 173 77 35 173 77 35 173 77 35 173 77 35 174 79 37 173 77 35 173 77 35
+173 77 35 166 76 38 138 69 38 158 73 41 166 76 38 173 77 35 173 77 35 174 79 37
+145 89 57 213 211 211 254 254 254 251 250 250 162 160 159 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 139 137 135
+247 247 246 246 245 245 147 147 146 119 117 113 177 176 172 251 250 250 245 244 244 134 131 128
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 13 13 190 190 190 253 253 253
+226 226 226 77 78 76 52 51 50 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
+64 63 59 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+51 47 44 10 11 13 5 6 8 26 28 29 51 47 44 62 61 58 65 64 60 65 64 60
+65 64 60 65 64 60 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 65 64 60
+65 64 60 65 64 60 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+64 63 59 60 59 58 81 52 41 168 75 33 168 75 33 147 67 29 138 69 38 158 73 41
+147 67 29 174 79 37 173 77 35 174 79 37 174 79 37 173 77 35 174 79 37 173 77 35
+174 79 37 173 77 35 166 76 38 138 69 38 158 73 41 158 73 41 174 79 37 175 79 35
+172 77 34 126 96 80 216 216 216 255 255 255 243 242 242 139 137 135 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 105 107 107
+237 237 237 255 255 255 200 200 199 105 107 107 207 206 206 255 255 255 226 226 226 67 67 66
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 147 147 146 251 250 250
+245 244 244 119 117 113 39 42 42 64 63 59 64 63 59 65 64 60 65 64 60 65 64 60
+64 63 59 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60 65 64 60 64 63 59
+64 63 59 64 63 59 66 65 61 66 65 61 66 65 61 66 65 61 65 64 60 66 65 61
+60 59 58 28 30 31 20 20 21 3 3 6 8 5 4 57 54 50 64 63 59 64 63 59
+65 64 60 66 65 61 65 64 60 65 64 60 65 64 60 65 64 60 66 65 61 66 65 61
+66 65 61 67 66 62 66 65 61 67 66 62 66 65 61 66 65 61 65 64 60 66 65 61
+66 65 61 66 65 61 66 65 61 65 64 60 66 65 61 66 65 61 66 65 61 66 65 61
+64 63 59 62 61 58 63 45 38 158 73 41 168 75 33 172 77 34 158 73 41 138 69 38
+158 73 41 158 73 41 174 79 37 174 79 37 174 79 37 174 79 37 174 79 37 174 79 37
+174 79 37 174 79 37 173 77 35 158 73 41 158 73 41 166 76 38 166 76 38 170 77 39
+158 73 41 170 77 39 134 119 113 233 232 232 255 255 255 230 230 229 97 96 96 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+196 196 196 255 255 255 247 247 246 243 242 242 253 253 253 255 255 255 179 179 176 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 85 88 88 243 242 242
+255 255 255 168 168 168 28 30 31 62 61 58 64 63 59 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+64 63 59 65 64 60 66 65 61 67 66 62 67 66 62 67 66 62 66 65 61 66 65 61
+65 64 60 47 49 48 39 42 42 27 25 23 13 13 13 51 47 44 65 64 60 65 64 60
+65 64 60 66 65 61 66 65 61 65 64 60 64 63 59 65 64 60 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 66 65 61 66 65 61 67 66 62
+67 66 62 66 65 61 67 66 62 67 66 62 66 65 61 66 65 61 67 66 62 66 65 61
+66 65 61 64 63 59 39 42 42 147 67 29 168 75 33 172 77 34 174 79 37 159 71 30
+138 69 38 158 73 41 158 73 41 170 77 39 175 79 35 174 79 37 174 79 37 174 79 37
+174 79 37 174 79 37 173 77 35 173 79 35 138 69 38 158 73 41 158 73 41 166 76 38
+107 51 29 129 59 33 159 71 30 154 142 136 246 245 245 255 255 255 207 206 206 39 42 42
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+97 96 96 226 226 226 254 254 254 254 254 254 251 250 250 200 200 199 64 64 61 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 200 200 199
+255 255 255 216 216 216 28 30 31 57 54 50 64 63 59 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 64 63 59 64 63 59 64 63 59
+65 64 60 65 64 60 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+66 65 61 60 59 58 39 42 42 39 42 42 33 33 31 33 33 31 65 64 60 66 65 61
+65 64 60 66 65 61 66 65 61 65 64 60 65 64 60 65 64 60 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+66 65 61 65 64 60 39 42 42 129 59 33 159 71 30 172 77 34 173 77 35 173 77 35
+166 76 38 147 67 29 158 73 41 147 67 29 172 77 34 173 79 35 174 79 37 174 79 37
+173 77 35 173 77 35 173 77 35 173 77 35 170 77 39 138 69 38 166 76 38 147 67 29
+166 76 38 81 44 20 81 44 20 107 51 29 168 168 168 254 254 254 252 252 252 168 168 168
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 67 67 66 147 147 146 157 157 157 119 117 113 33 33 31 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 157 157 157
+255 255 255 245 244 244 60 59 58 51 47 44 64 63 59 64 63 59 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 64 63 59 64 63 59
+64 63 59 64 63 59 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62
+65 64 60 57 54 50 52 51 50 39 42 42 39 42 42 27 25 23 60 59 58 65 64 60
+65 64 60 66 65 61 65 64 60 65 64 60 65 64 60 65 64 60 66 65 61 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+66 65 61 65 64 60 47 49 48 107 51 29 147 67 29 166 76 38 173 77 35 173 77 35
+173 77 35 158 73 41 147 67 29 166 76 38 158 73 41 174 79 37 173 77 35 173 77 35
+173 77 35 174 79 37 174 79 37 173 77 35 173 77 35 158 73 41 166 76 38 147 67 29
+166 76 38 138 69 38 27 25 23 68 65 63 67 65 62 213 211 211 255 255 255 240 239 239
+119 117 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 97 96 96
+251 250 250 254 254 254 134 134 133 27 25 23 64 62 59 64 63 59 64 63 59 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 64 63 59 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62
+66 65 61 60 59 58 57 54 50 47 49 48 51 47 44 33 33 31 51 47 44 65 64 60
+65 64 60 66 65 61 65 64 60 65 64 60 65 64 60 66 65 61 66 65 61 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 66 65 61 52 51 50 42 16 9 129 59 33 138 69 38 166 76 38 173 77 35
+173 77 35 174 79 37 158 73 41 147 67 29 166 76 38 158 73 41 174 79 37 173 77 35
+173 77 35 174 79 37 174 79 37 174 79 37 174 79 37 166 76 38 158 73 41 170 77 39
+147 67 29 170 77 39 81 52 41 168 168 168 147 147 146 119 117 113 240 239 239 255 255 255
+207 206 206 52 51 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 64 64 61
+230 230 229 255 255 255 182 182 182 0 0 0 60 59 58 64 63 59 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 65 64 60 66 65 61 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 63 62 61 60 59 58 52 51 50 52 51 50 52 51 50 39 42 42 64 63 59
+65 64 60 66 65 61 66 65 61 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 66 65 61 47 49 48 13 15 17 51 47 32 138 69 38 148 72 46 166 76 38
+173 77 35 173 77 35 173 77 35 158 73 41 159 71 30 166 76 38 158 73 41 173 77 35
+173 77 35 173 77 35 174 79 37 174 79 37 174 79 37 173 77 35 158 73 41 173 77 35
+158 73 41 166 76 38 147 67 29 139 137 135 243 242 242 177 176 172 182 182 182 254 254 254
+252 252 252 119 117 113 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 39 42 42
+200 200 199 255 255 255 225 222 218 33 33 31 51 47 44 64 63 59 64 63 59 65 64 60
+65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60 65 64 60
+65 64 60 65 64 60 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62
+67 66 62 67 65 62 57 54 50 57 54 50 57 54 50 60 59 58 51 47 44 60 59 58
+65 64 60 66 65 61 66 65 61 66 65 61 66 65 61 67 66 62 67 66 62 67 66 62
+66 65 61 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 66 65 61 47 49 48 60 59 58 162 160 159 63 45 38 158 73 41 158 73 41
+173 77 35 172 77 34 172 77 34 173 77 35 147 67 29 166 76 38 158 73 41 166 76 38
+173 77 35 172 77 34 172 77 34 173 77 35 173 77 35 173 77 35 147 67 29 170 77 39
+158 73 41 158 73 41 159 71 30 89 68 66 240 239 239 249 249 249 196 196 196 248 248 248
+255 255 255 134 134 133 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 39 42 42 52 51 50 11 10 9 0 0 0 0 0 0 13 13 13
+162 160 159 251 250 250 240 239 239 115 110 108 27 25 23 66 65 61 67 66 62 67 66 62
+67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62 67 66 62
+67 66 62 67 66 62 68 67 63 68 67 63 68 67 63 69 68 64 69 68 64 69 68 64
+69 68 64 69 68 64 67 67 66 57 54 50 60 59 58 64 63 61 52 51 50 60 59 58
+68 67 63 68 67 63 68 67 63 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
+69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
+69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64 69 68 64
+69 68 64 69 68 64 51 47 44 85 88 88 240 239 239 134 131 128 81 44 20 158 73 41
+166 76 38 174 79 37 174 79 37 174 79 37 166 76 38 138 69 38 174 79 37 158 73 41
+174 79 37 174 79 37 174 79 37 174 79 37 174 79 37 174 79 37 166 76 38 158 73 41
+174 79 37 147 67 29 170 77 39 81 44 20 207 206 206 254 254 254 254 254 254 254 254 254
+240 239 239 85 88 88 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+
diff --git a/other/assets/xenia.pnm b/other/assets/xenia.pnm
new file mode 100644
index 0000000..fb7aa3b
--- /dev/null
+++ b/other/assets/xenia.pnm
@@ -0,0 +1,76804 @@
+P3
+# Created by GIMP version 2.10.34 PNM plug-in
+160 160
+255
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+114
+114
+114
+130
+130
+130
+61
+61
+61
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+194
+194
+194
+248
+248
+248
+249
+249
+249
+227
+227
+227
+117
+117
+117
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+146
+146
+146
+250
+250
+250
+253
+253
+252
+252
+252
+252
+255
+255
+255
+228
+228
+228
+101
+101
+101
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+53
+53
+53
+209
+209
+209
+255
+255
+255
+225
+225
+225
+163
+162
+162
+249
+249
+249
+255
+255
+255
+223
+223
+223
+69
+69
+69
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+124
+124
+124
+209
+209
+209
+217
+217
+217
+161
+161
+161
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+128
+128
+128
+246
+246
+246
+252
+252
+252
+188
+187
+186
+166
+163
+159
+172
+171
+170
+250
+250
+250
+253
+253
+253
+201
+201
+201
+56
+56
+56
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+53
+53
+53
+168
+168
+168
+246
+246
+246
+255
+255
+255
+255
+255
+255
+254
+254
+254
+162
+162
+162
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+212
+212
+212
+255
+255
+255
+237
+237
+236
+172
+170
+165
+230
+226
+217
+187
+184
+179
+194
+194
+194
+253
+253
+253
+251
+251
+251
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+71
+71
+71
+196
+196
+196
+251
+251
+251
+255
+255
+255
+234
+234
+233
+222
+221
+221
+255
+255
+255
+229
+229
+229
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+117
+117
+117
+251
+251
+251
+255
+255
+255
+175
+175
+173
+210
+208
+199
+231
+227
+218
+226
+222
+213
+142
+140
+136
+216
+216
+215
+255
+255
+255
+248
+248
+248
+132
+132
+132
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+83
+83
+83
+215
+215
+215
+253
+253
+253
+253
+253
+253
+216
+216
+215
+109
+109
+107
+146
+146
+145
+254
+254
+254
+246
+246
+246
+95
+95
+95
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+199
+199
+199
+255
+255
+255
+233
+234
+233
+167
+164
+159
+232
+228
+219
+231
+227
+218
+232
+228
+219
+192
+188
+181
+98
+97
+96
+230
+230
+229
+255
+255
+255
+232
+232
+232
+98
+98
+98
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+122
+122
+122
+227
+227
+227
+255
+255
+255
+250
+250
+250
+195
+195
+195
+121
+120
+117
+199
+196
+190
+150
+149
+146
+241
+241
+241
+251
+251
+251
+154
+154
+154
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+101
+101
+101
+237
+237
+237
+254
+254
+254
+189
+188
+187
+216
+212
+205
+232
+228
+219
+232
+228
+219
+231
+227
+218
+230
+226
+217
+119
+118
+113
+139
+139
+139
+245
+245
+245
+254
+254
+254
+194
+194
+194
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+110
+110
+110
+235
+235
+235
+255
+255
+255
+248
+248
+248
+171
+171
+171
+100
+99
+97
+212
+206
+200
+232
+228
+219
+171
+168
+164
+221
+221
+221
+254
+254
+254
+198
+198
+198
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+163
+163
+163
+251
+251
+251
+243
+243
+243
+183
+181
+177
+227
+223
+214
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+200
+196
+189
+16
+14
+16
+190
+190
+190
+254
+254
+254
+249
+249
+249
+138
+138
+138
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+118
+118
+118
+236
+236
+236
+255
+255
+255
+246
+246
+246
+161
+161
+159
+67
+66
+64
+203
+199
+193
+234
+229
+221
+233
+229
+220
+204
+201
+194
+198
+198
+197
+254
+254
+254
+228
+228
+228
+83
+83
+83
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+53
+53
+53
+212
+212
+212
+255
+255
+255
+222
+222
+221
+189
+186
+180
+231
+227
+218
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+227
+223
+214
+109
+108
+104
+63
+63
+62
+224
+224
+223
+255
+255
+255
+232
+232
+232
+93
+93
+93
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+130
+130
+130
+235
+235
+235
+255
+255
+255
+243
+242
+242
+152
+152
+151
+48
+47
+46
+180
+177
+171
+231
+227
+219
+234
+229
+223
+234
+229
+222
+221
+217
+211
+176
+175
+173
+251
+250
+250
+245
+245
+245
+117
+117
+117
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+98
+98
+98
+248
+248
+248
+254
+254
+254
+184
+183
+180
+216
+212
+204
+231
+227
+218
+231
+227
+218
+232
+228
+219
+233
+229
+220
+233
+228
+220
+231
+227
+218
+172
+168
+163
+12
+11
+12
+131
+131
+130
+246
+246
+246
+254
+254
+254
+199
+199
+199
+46
+46
+46
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+148
+148
+148
+244
+244
+244
+255
+255
+255
+244
+244
+243
+148
+148
+147
+26
+26
+26
+137
+135
+130
+230
+224
+218
+234
+230
+222
+234
+230
+223
+234
+229
+223
+230
+225
+218
+160
+157
+154
+246
+246
+246
+255
+255
+255
+153
+153
+153
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+176
+176
+176
+255
+255
+255
+243
+243
+242
+156
+154
+149
+231
+228
+219
+231
+227
+218
+232
+228
+219
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+220
+206
+203
+195
+71
+70
+68
+33
+33
+33
+187
+187
+186
+253
+253
+253
+247
+247
+247
+144
+144
+144
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+155
+155
+155
+244
+244
+244
+255
+255
+255
+237
+237
+237
+136
+136
+135
+0
+0
+0
+95
+94
+91
+216
+212
+205
+233
+229
+223
+234
+230
+223
+235
+230
+224
+235
+230
+224
+235
+230
+225
+166
+163
+159
+224
+223
+222
+255
+255
+255
+209
+209
+209
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+46
+46
+46
+235
+235
+235
+255
+255
+255
+198
+198
+197
+202
+200
+193
+231
+227
+217
+231
+227
+218
+231
+227
+218
+233
+229
+220
+233
+229
+220
+233
+229
+220
+233
+229
+220
+227
+223
+215
+117
+115
+111
+0
+0
+0
+74
+74
+73
+234
+233
+233
+255
+255
+255
+232
+232
+232
+98
+98
+98
+110
+110
+110
+124
+124
+124
+92
+92
+92
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+165
+165
+165
+246
+246
+246
+255
+255
+255
+236
+236
+235
+126
+126
+125
+15
+15
+15
+49
+48
+46
+195
+192
+185
+232
+228
+220
+234
+230
+224
+235
+230
+224
+235
+230
+224
+235
+230
+224
+236
+231
+225
+191
+187
+182
+185
+184
+184
+255
+255
+255
+233
+233
+233
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+148
+148
+148
+250
+250
+250
+250
+250
+250
+161
+161
+159
+228
+224
+215
+231
+226
+218
+232
+228
+219
+231
+227
+218
+233
+229
+220
+233
+229
+220
+233
+229
+220
+233
+229
+220
+234
+229
+220
+171
+168
+162
+11
+10
+12
+0
+0
+0
+141
+140
+140
+251
+251
+251
+255
+255
+255
+249
+249
+249
+253
+253
+253
+254
+254
+254
+249
+249
+249
+211
+211
+211
+132
+132
+132
+46
+46
+46
+0
+0
+0
+0
+0
+0
+0
+0
+0
+42
+42
+42
+178
+178
+178
+251
+251
+251
+255
+255
+254
+230
+230
+230
+112
+112
+111
+0
+0
+0
+20
+20
+19
+148
+147
+141
+228
+223
+214
+233
+229
+222
+234
+229
+223
+235
+230
+224
+235
+230
+224
+234
+229
+223
+234
+229
+223
+214
+209
+203
+146
+145
+144
+255
+255
+255
+251
+251
+251
+102
+102
+102
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+201
+201
+201
+254
+254
+254
+225
+225
+225
+188
+187
+181
+230
+226
+217
+231
+227
+218
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+229
+220
+233
+229
+220
+234
+230
+221
+233
+229
+220
+212
+209
+200
+28
+27
+27
+1
+1
+3
+43
+43
+43
+200
+200
+199
+254
+254
+254
+255
+255
+255
+255
+255
+254
+247
+246
+246
+255
+255
+255
+255
+255
+255
+246
+246
+246
+200
+200
+200
+110
+110
+110
+0
+0
+0
+0
+0
+0
+166
+166
+166
+248
+248
+248
+254
+254
+254
+221
+221
+221
+101
+101
+100
+0
+0
+0
+0
+0
+0
+88
+87
+83
+215
+211
+203
+234
+230
+221
+234
+229
+222
+234
+229
+223
+234
+229
+223
+235
+230
+224
+234
+229
+223
+234
+229
+223
+232
+227
+221
+127
+126
+124
+245
+245
+245
+254
+254
+254
+156
+156
+156
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+90
+90
+90
+231
+231
+231
+253
+253
+253
+197
+197
+196
+211
+208
+198
+231
+226
+218
+231
+228
+219
+231
+227
+218
+232
+228
+219
+233
+229
+220
+233
+229
+221
+232
+228
+221
+234
+230
+221
+233
+228
+219
+231
+227
+218
+102
+100
+98
+0
+0
+0
+4
+4
+5
+93
+92
+92
+224
+224
+224
+211
+211
+209
+137
+133
+131
+100
+92
+88
+159
+157
+155
+233
+233
+233
+253
+253
+253
+254
+254
+254
+245
+245
+245
+206
+206
+206
+211
+211
+211
+250
+250
+250
+255
+255
+255
+226
+226
+226
+87
+86
+86
+6
+6
+6
+2
+2
+2
+0
+0
+1
+184
+180
+175
+229
+223
+216
+223
+219
+211
+234
+229
+223
+234
+229
+223
+235
+230
+224
+235
+230
+224
+234
+229
+223
+234
+229
+223
+235
+230
+223
+156
+155
+150
+223
+223
+222
+255
+255
+255
+203
+203
+203
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+141
+141
+141
+253
+253
+253
+249
+249
+249
+176
+175
+171
+223
+219
+210
+231
+227
+218
+232
+228
+219
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+228
+221
+232
+227
+221
+233
+229
+220
+233
+229
+220
+233
+228
+219
+166
+163
+158
+0
+0
+0
+0
+0
+2
+15
+5
+2
+88
+65
+48
+121
+77
+38
+147
+96
+55
+153
+100
+58
+127
+81
+44
+107
+88
+78
+185
+184
+183
+236
+236
+236
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+221
+220
+221
+89
+89
+89
+0
+0
+0
+2
+2
+2
+0
+0
+0
+115
+112
+109
+210
+206
+200
+164
+159
+154
+202
+197
+192
+233
+228
+223
+235
+230
+224
+235
+230
+224
+235
+230
+224
+235
+230
+224
+234
+229
+223
+233
+228
+220
+190
+188
+182
+196
+196
+196
+255
+255
+255
+219
+219
+219
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+193
+193
+193
+255
+255
+255
+234
+234
+234
+170
+168
+163
+231
+226
+217
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+220
+234
+229
+222
+234
+229
+222
+233
+228
+222
+233
+229
+220
+233
+229
+220
+231
+228
+219
+163
+161
+154
+0
+0
+0
+10
+5
+5
+87
+57
+33
+142
+92
+53
+154
+100
+55
+157
+101
+56
+157
+100
+56
+157
+101
+57
+149
+97
+54
+130
+89
+58
+120
+108
+102
+188
+188
+188
+249
+249
+249
+225
+225
+224
+175
+173
+171
+110
+99
+94
+71
+45
+28
+54
+35
+22
+22
+11
+7
+4
+0
+0
+106
+100
+96
+141
+117
+103
+136
+103
+83
+216
+212
+206
+235
+230
+224
+234
+229
+223
+234
+229
+223
+235
+230
+224
+236
+231
+225
+235
+230
+223
+233
+229
+220
+210
+206
+200
+176
+176
+176
+255
+255
+255
+230
+230
+230
+61
+61
+61
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+79
+79
+79
+241
+241
+241
+255
+255
+255
+190
+190
+189
+206
+203
+196
+231
+227
+218
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+228
+220
+234
+229
+223
+234
+229
+221
+233
+229
+220
+233
+229
+220
+230
+226
+218
+171
+169
+163
+24
+23
+23
+3
+1
+3
+79
+52
+31
+141
+92
+53
+153
+99
+55
+155
+100
+56
+157
+101
+55
+158
+101
+56
+159
+102
+56
+158
+101
+57
+158
+101
+58
+152
+99
+58
+114
+79
+52
+106
+98
+95
+108
+84
+69
+147
+98
+60
+158
+102
+60
+159
+103
+59
+156
+102
+60
+148
+97
+59
+141
+92
+54
+151
+99
+58
+155
+102
+60
+164
+145
+134
+228
+224
+217
+234
+230
+224
+234
+229
+223
+235
+230
+224
+235
+230
+224
+235
+230
+224
+233
+228
+223
+233
+229
+221
+222
+219
+210
+162
+161
+161
+252
+251
+251
+241
+241
+241
+113
+113
+113
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+164
+164
+164
+254
+254
+254
+247
+247
+246
+150
+150
+146
+228
+224
+215
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+220
+233
+229
+221
+233
+228
+223
+233
+229
+221
+233
+229
+220
+231
+227
+218
+174
+172
+166
+46
+46
+45
+0
+0
+2
+78
+51
+30
+143
+93
+54
+155
+99
+55
+156
+100
+55
+157
+101
+56
+158
+101
+56
+160
+103
+58
+159
+102
+57
+159
+102
+57
+159
+101
+57
+158
+101
+56
+156
+102
+57
+136
+88
+50
+113
+75
+46
+153
+99
+58
+159
+103
+58
+160
+103
+58
+160
+103
+58
+160
+102
+58
+159
+103
+58
+159
+103
+58
+144
+104
+77
+208
+201
+196
+235
+230
+224
+234
+229
+223
+234
+229
+223
+234
+229
+223
+235
+230
+224
+235
+230
+224
+233
+229
+222
+234
+229
+222
+228
+224
+215
+167
+166
+165
+246
+246
+246
+245
+245
+245
+132
+132
+132
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+215
+215
+215
+255
+255
+255
+215
+215
+215
+172
+172
+164
+232
+228
+218
+233
+229
+220
+233
+229
+220
+232
+228
+219
+233
+229
+220
+233
+229
+221
+234
+229
+223
+232
+228
+221
+233
+228
+219
+182
+179
+172
+41
+40
+39
+0
+0
+2
+62
+41
+24
+141
+91
+52
+154
+100
+55
+157
+101
+55
+158
+100
+56
+158
+100
+56
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+157
+102
+56
+150
+97
+56
+122
+81
+50
+158
+103
+58
+159
+102
+57
+159
+102
+57
+158
+101
+56
+159
+102
+57
+140
+91
+51
+178
+173
+167
+234
+228
+221
+235
+230
+223
+235
+230
+224
+234
+229
+223
+235
+230
+224
+235
+230
+224
+235
+230
+224
+233
+228
+223
+234
+230
+224
+229
+225
+218
+172
+171
+168
+240
+240
+240
+250
+250
+250
+149
+149
+149
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+105
+105
+105
+240
+240
+240
+253
+253
+253
+170
+170
+170
+169
+167
+161
+232
+228
+220
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+229
+220
+233
+229
+221
+233
+228
+222
+232
+227
+219
+193
+190
+184
+55
+55
+53
+0
+0
+2
+8
+4
+4
+124
+82
+49
+157
+101
+57
+157
+100
+55
+158
+101
+56
+158
+101
+56
+158
+101
+56
+158
+101
+56
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+103
+58
+159
+102
+57
+159
+102
+57
+158
+102
+57
+158
+103
+57
+152
+99
+56
+152
+99
+57
+159
+102
+57
+159
+102
+57
+159
+102
+56
+158
+101
+58
+140
+90
+53
+145
+122
+109
+204
+199
+193
+232
+228
+221
+234
+229
+223
+234
+229
+223
+234
+229
+223
+235
+230
+224
+234
+229
+223
+234
+229
+222
+234
+229
+224
+230
+226
+219
+176
+174
+170
+236
+235
+235
+252
+252
+252
+158
+158
+158
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+155
+155
+155
+251
+251
+251
+243
+243
+242
+120
+121
+120
+126
+126
+121
+232
+228
+219
+232
+228
+219
+232
+228
+219
+233
+229
+220
+234
+230
+221
+233
+229
+220
+233
+229
+220
+218
+213
+206
+89
+87
+85
+4
+4
+4
+1
+1
+3
+25
+12
+9
+145
+95
+57
+157
+102
+56
+157
+100
+55
+159
+101
+56
+158
+101
+56
+158
+101
+56
+158
+101
+56
+158
+101
+56
+159
+102
+57
+159
+102
+57
+158
+101
+56
+159
+102
+57
+158
+101
+56
+159
+102
+57
+159
+103
+57
+159
+102
+57
+159
+103
+57
+160
+103
+58
+160
+103
+58
+160
+103
+58
+160
+103
+58
+159
+102
+58
+155
+102
+57
+142
+107
+84
+202
+197
+190
+235
+230
+223
+235
+230
+224
+235
+230
+224
+235
+230
+224
+234
+229
+223
+235
+230
+224
+234
+229
+223
+232
+228
+219
+183
+182
+176
+233
+233
+232
+254
+254
+254
+167
+167
+167
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+173
+173
+173
+254
+254
+254
+232
+232
+231
+54
+54
+53
+66
+65
+63
+210
+207
+199
+232
+228
+219
+232
+227
+221
+233
+228
+221
+233
+229
+220
+233
+229
+220
+233
+229
+220
+188
+187
+180
+0
+0
+0
+1
+1
+3
+26
+10
+6
+46
+26
+15
+154
+100
+58
+153
+99
+57
+149
+96
+56
+159
+102
+56
+158
+101
+56
+158
+101
+56
+158
+101
+56
+159
+102
+57
+158
+101
+56
+159
+102
+57
+159
+102
+57
+160
+103
+58
+159
+102
+57
+159
+102
+57
+160
+103
+58
+160
+103
+58
+160
+103
+58
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+156
+101
+56
+158
+102
+57
+158
+102
+57
+135
+106
+88
+221
+216
+210
+235
+231
+224
+235
+230
+224
+234
+229
+223
+234
+229
+223
+234
+229
+223
+233
+229
+222
+232
+228
+219
+187
+184
+178
+228
+228
+228
+255
+255
+255
+185
+185
+185
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+183
+183
+183
+255
+255
+255
+226
+226
+226
+29
+30
+29
+23
+23
+24
+142
+140
+135
+226
+223
+214
+234
+229
+223
+233
+229
+222
+233
+229
+220
+233
+229
+220
+233
+229
+221
+135
+134
+129
+0
+0
+0
+17
+5
+4
+116
+54
+27
+108
+54
+29
+155
+101
+59
+136
+87
+52
+113
+73
+45
+159
+102
+57
+158
+101
+56
+157
+101
+56
+157
+101
+56
+157
+101
+55
+158
+101
+56
+158
+101
+56
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+160
+103
+58
+159
+102
+57
+160
+103
+58
+160
+103
+58
+159
+102
+57
+140
+91
+54
+154
+100
+57
+156
+100
+56
+146
+96
+60
+171
+163
+154
+235
+231
+224
+235
+230
+224
+234
+229
+223
+234
+229
+223
+234
+229
+223
+235
+230
+224
+233
+228
+222
+185
+181
+176
+219
+219
+218
+255
+255
+255
+195
+195
+195
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+183
+183
+183
+255
+255
+255
+230
+229
+229
+40
+39
+39
+10
+11
+13
+31
+31
+31
+183
+181
+174
+232
+227
+220
+233
+228
+221
+233
+229
+220
+233
+229
+220
+227
+223
+214
+65
+64
+62
+3
+0
+0
+104
+48
+25
+178
+79
+39
+149
+69
+34
+138
+89
+52
+141
+84
+49
+114
+61
+36
+151
+100
+59
+158
+101
+56
+157
+101
+56
+156
+100
+56
+158
+101
+57
+158
+100
+56
+158
+101
+57
+157
+101
+56
+157
+101
+56
+159
+102
+57
+158
+101
+56
+160
+103
+58
+160
+103
+58
+160
+103
+58
+159
+102
+57
+160
+103
+58
+156
+102
+57
+160
+102
+58
+135
+88
+52
+151
+100
+59
+154
+100
+55
+123
+82
+50
+123
+116
+109
+226
+222
+216
+235
+230
+225
+233
+228
+223
+235
+230
+224
+235
+230
+224
+235
+230
+224
+233
+228
+222
+178
+175
+170
+213
+212
+211
+255
+255
+255
+196
+196
+196
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+173
+173
+173
+254
+254
+254
+238
+238
+238
+100
+100
+100
+13
+14
+16
+5
+7
+10
+59
+58
+57
+196
+193
+187
+233
+230
+221
+233
+229
+220
+234
+229
+220
+204
+201
+194
+20
+17
+17
+94
+41
+21
+171
+79
+39
+182
+81
+37
+174
+80
+39
+108
+66
+41
+141
+77
+44
+155
+74
+38
+122
+80
+47
+156
+101
+56
+156
+100
+56
+132
+88
+52
+142
+92
+54
+158
+101
+57
+157
+100
+55
+154
+99
+55
+150
+98
+56
+158
+101
+58
+159
+102
+57
+160
+103
+58
+160
+103
+58
+159
+102
+57
+160
+103
+58
+161
+104
+59
+131
+86
+52
+159
+103
+58
+134
+87
+52
+147
+97
+57
+143
+94
+55
+139
+91
+56
+154
+152
+150
+215
+211
+205
+234
+229
+222
+233
+228
+222
+235
+230
+224
+235
+230
+224
+235
+230
+224
+222
+217
+211
+97
+96
+94
+206
+206
+206
+255
+255
+255
+202
+202
+202
+46
+46
+46
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+125
+125
+125
+243
+243
+243
+253
+253
+253
+185
+185
+185
+39
+39
+39
+10
+10
+12
+8
+10
+12
+75
+73
+71
+137
+134
+128
+138
+135
+129
+139
+135
+130
+127
+122
+118
+70
+32
+19
+162
+75
+37
+181
+82
+37
+182
+81
+37
+182
+81
+38
+146
+69
+36
+134
+64
+36
+174
+80
+38
+137
+67
+38
+122
+78
+47
+152
+100
+58
+147
+95
+56
+84
+55
+34
+132
+88
+53
+157
+101
+56
+152
+99
+56
+128
+84
+51
+155
+100
+57
+159
+102
+57
+160
+103
+58
+160
+103
+58
+159
+102
+57
+159
+102
+57
+160
+103
+59
+122
+79
+49
+159
+103
+59
+128
+84
+51
+147
+97
+56
+129
+86
+53
+134
+90
+53
+142
+139
+136
+231
+227
+220
+233
+228
+220
+234
+229
+223
+235
+230
+224
+234
+230
+223
+230
+226
+218
+135
+133
+130
+63
+64
+63
+226
+226
+226
+255
+255
+255
+201
+201
+201
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+197
+197
+197
+254
+254
+254
+248
+248
+248
+129
+130
+129
+0
+0
+0
+9
+10
+11
+54
+25
+17
+128
+62
+35
+141
+64
+37
+122
+56
+31
+84
+37
+21
+142
+65
+35
+180
+80
+38
+179
+81
+38
+179
+81
+37
+176
+80
+37
+164
+75
+37
+149
+69
+37
+146
+67
+33
+147
+68
+35
+127
+61
+35
+93
+52
+32
+114
+70
+42
+100
+64
+44
+59
+32
+19
+131
+85
+51
+153
+100
+57
+108
+70
+43
+146
+96
+56
+159
+102
+56
+160
+103
+58
+160
+103
+58
+158
+101
+56
+159
+102
+57
+157
+102
+59
+114
+75
+48
+155
+101
+58
+126
+83
+51
+150
+97
+58
+128
+85
+50
+108
+72
+44
+63
+61
+60
+198
+194
+189
+232
+228
+219
+235
+229
+224
+235
+230
+224
+224
+220
+215
+147
+144
+141
+42
+41
+41
+169
+169
+169
+250
+250
+250
+250
+250
+250
+156
+156
+156
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+79
+79
+79
+227
+227
+227
+255
+255
+255
+233
+233
+233
+105
+105
+104
+0
+1
+3
+6
+6
+8
+60
+26
+15
+113
+50
+29
+158
+71
+34
+170
+76
+36
+178
+81
+38
+179
+80
+37
+175
+79
+36
+156
+71
+36
+108
+49
+25
+81
+39
+23
+88
+46
+30
+96
+51
+31
+96
+51
+32
+91
+46
+31
+87
+44
+29
+106
+52
+30
+147
+70
+36
+154
+70
+36
+124
+61
+34
+133
+88
+52
+126
+76
+47
+123
+76
+47
+160
+103
+58
+159
+102
+57
+159
+102
+57
+159
+102
+57
+159
+102
+57
+145
+94
+55
+106
+70
+44
+145
+94
+55
+117
+75
+47
+134
+88
+53
+103
+67
+43
+108
+55
+31
+30
+4
+0
+130
+128
+124
+230
+225
+218
+236
+230
+225
+213
+209
+203
+129
+126
+124
+0
+0
+0
+156
+156
+155
+247
+246
+246
+255
+255
+255
+215
+215
+215
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+131
+131
+131
+246
+246
+246
+254
+254
+254
+215
+215
+215
+80
+80
+80
+7
+8
+9
+46
+20
+13
+141
+66
+36
+176
+79
+38
+181
+81
+37
+181
+82
+37
+179
+81
+37
+149
+69
+36
+67
+31
+18
+95
+51
+33
+120
+65
+43
+127
+68
+42
+131
+68
+43
+132
+70
+42
+133
+70
+41
+128
+69
+41
+97
+52
+32
+86
+41
+22
+162
+76
+38
+175
+80
+39
+112
+64
+39
+134
+74
+46
+139
+70
+39
+152
+100
+58
+159
+103
+58
+159
+102
+57
+159
+102
+57
+158
+102
+57
+129
+79
+49
+116
+76
+50
+124
+70
+44
+138
+78
+46
+92
+56
+34
+141
+68
+37
+171
+79
+38
+128
+59
+31
+29
+30
+29
+214
+210
+205
+178
+175
+170
+79
+78
+76
+15
+15
+16
+131
+131
+131
+244
+244
+244
+255
+255
+255
+233
+233
+233
+90
+90
+90
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+125
+125
+125
+230
+230
+230
+255
+255
+255
+254
+254
+254
+168
+168
+167
+46
+24
+19
+142
+66
+35
+178
+81
+39
+180
+80
+38
+182
+81
+37
+181
+81
+38
+158
+72
+36
+74
+36
+21
+112
+59
+38
+109
+57
+36
+95
+51
+32
+84
+45
+28
+73
+39
+26
+81
+43
+27
+108
+57
+36
+126
+67
+41
+135
+72
+44
+113
+60
+37
+96
+46
+27
+168
+77
+38
+153
+72
+37
+135
+64
+33
+161
+76
+41
+139
+90
+54
+159
+102
+57
+158
+102
+57
+159
+102
+59
+143
+92
+55
+123
+63
+39
+106
+59
+40
+152
+72
+38
+120
+62
+37
+133
+63
+37
+182
+82
+39
+179
+80
+37
+167
+77
+38
+72
+31
+11
+62
+60
+58
+0
+0
+0
+0
+0
+0
+117
+117
+117
+233
+232
+232
+255
+255
+255
+237
+237
+237
+128
+128
+128
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+77
+77
+77
+113
+113
+113
+190
+190
+190
+241
+241
+241
+255
+255
+255
+253
+253
+253
+203
+202
+202
+90
+87
+86
+137
+65
+35
+178
+80
+37
+179
+82
+37
+180
+81
+38
+182
+81
+38
+171
+78
+38
+93
+44
+24
+115
+61
+40
+136
+70
+44
+137
+71
+43
+135
+71
+43
+133
+69
+42
+125
+65
+40
+103
+54
+34
+63
+31
+22
+52
+26
+17
+78
+42
+27
+108
+58
+37
+100
+55
+37
+116
+57
+32
+177
+80
+39
+174
+79
+39
+171
+80
+40
+135
+87
+53
+159
+102
+57
+158
+102
+56
+140
+92
+55
+102
+60
+40
+81
+39
+24
+59
+30
+21
+73
+36
+22
+45
+23
+17
+83
+38
+23
+136
+63
+34
+175
+80
+39
+179
+80
+38
+117
+54
+25
+10
+1
+0
+0
+0
+0
+108
+107
+107
+234
+234
+234
+255
+255
+255
+247
+247
+247
+150
+150
+150
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+90
+90
+90
+213
+213
+213
+251
+251
+251
+254
+254
+254
+255
+255
+255
+254
+254
+254
+239
+239
+238
+169
+169
+168
+58
+38
+33
+136
+63
+32
+178
+82
+38
+180
+81
+36
+180
+82
+37
+180
+81
+37
+180
+82
+37
+134
+62
+33
+100
+53
+34
+135
+70
+43
+136
+71
+43
+137
+72
+44
+137
+72
+44
+136
+71
+44
+137
+73
+44
+136
+72
+43
+136
+70
+44
+119
+63
+41
+88
+45
+30
+62
+30
+20
+69
+37
+25
+63
+32
+21
+154
+71
+38
+182
+81
+38
+168
+80
+40
+134
+87
+52
+156
+101
+56
+140
+90
+55
+70
+46
+30
+40
+37
+35
+63
+60
+57
+70
+68
+66
+71
+70
+67
+70
+69
+66
+64
+63
+60
+49
+48
+46
+90
+47
+31
+161
+74
+37
+143
+65
+34
+35
+20
+17
+121
+121
+121
+234
+234
+234
+255
+255
+255
+244
+244
+244
+144
+144
+144
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+182
+182
+182
+255
+255
+255
+255
+255
+255
+254
+254
+254
+236
+236
+235
+190
+190
+189
+110
+109
+108
+91
+38
+19
+149
+69
+36
+177
+80
+39
+179
+81
+35
+180
+81
+37
+179
+81
+38
+179
+81
+37
+173
+80
+40
+84
+40
+25
+127
+67
+42
+136
+71
+43
+137
+72
+44
+137
+72
+44
+137
+72
+44
+140
+75
+46
+144
+78
+49
+144
+77
+49
+138
+74
+46
+137
+72
+43
+138
+73
+45
+132
+70
+43
+128
+68
+41
+116
+62
+40
+107
+49
+26
+180
+82
+40
+163
+79
+39
+134
+89
+53
+119
+77
+46
+57
+40
+30
+53
+53
+50
+71
+68
+65
+79
+75
+72
+78
+77
+73
+78
+74
+71
+78
+75
+72
+80
+77
+74
+75
+74
+70
+63
+64
+61
+75
+44
+35
+131
+62
+35
+120
+115
+114
+236
+236
+236
+255
+255
+255
+246
+246
+246
+155
+155
+155
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+204
+204
+204
+255
+255
+255
+254
+254
+254
+214
+213
+213
+96
+96
+95
+66
+54
+53
+136
+67
+40
+170
+77
+38
+175
+79
+37
+176
+80
+39
+177
+80
+38
+179
+80
+37
+179
+80
+38
+180
+80
+38
+146
+68
+35
+86
+44
+29
+136
+71
+43
+136
+71
+43
+137
+72
+44
+137
+72
+44
+137
+72
+44
+138
+74
+45
+139
+77
+49
+125
+74
+52
+106
+69
+55
+91
+62
+52
+104
+64
+51
+129
+70
+45
+136
+71
+43
+133
+72
+44
+89
+41
+23
+173
+78
+39
+135
+65
+33
+108
+60
+39
+68
+36
+24
+58
+55
+52
+70
+69
+65
+73
+71
+67
+82
+78
+75
+84
+82
+78
+92
+89
+86
+98
+94
+91
+98
+95
+92
+87
+85
+82
+75
+75
+71
+69
+67
+64
+54
+34
+27
+141
+139
+139
+255
+255
+255
+253
+253
+253
+155
+155
+155
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+157
+157
+157
+251
+251
+251
+255
+255
+255
+250
+250
+250
+216
+215
+215
+177
+177
+175
+157
+147
+145
+142
+120
+114
+109
+73
+61
+100
+47
+25
+165
+74
+37
+179
+80
+37
+179
+80
+38
+179
+81
+39
+110
+49
+25
+111
+58
+37
+136
+71
+42
+136
+71
+42
+135
+71
+43
+136
+71
+44
+121
+64
+40
+97
+52
+33
+55
+30
+22
+82
+81
+78
+157
+154
+149
+161
+159
+154
+150
+148
+143
+103
+80
+72
+136
+72
+43
+135
+72
+43
+94
+46
+28
+168
+76
+36
+169
+76
+37
+154
+71
+36
+65
+47
+41
+69
+69
+65
+70
+69
+65
+76
+75
+71
+83
+79
+76
+89
+86
+82
+97
+93
+90
+106
+102
+99
+104
+100
+97
+100
+97
+93
+79
+78
+74
+74
+74
+70
+59
+59
+56
+83
+83
+83
+248
+248
+248
+254
+254
+254
+142
+142
+142
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+53
+53
+53
+169
+169
+169
+240
+240
+240
+254
+254
+254
+255
+255
+255
+254
+254
+254
+248
+248
+248
+222
+222
+222
+85
+75
+72
+145
+68
+32
+179
+80
+38
+179
+80
+37
+178
+80
+38
+179
+81
+38
+108
+48
+24
+118
+62
+38
+136
+71
+43
+134
+70
+41
+108
+57
+37
+78
+41
+26
+43
+21
+14
+3
+1
+2
+7
+9
+9
+117
+115
+110
+171
+169
+162
+170
+167
+162
+171
+168
+162
+135
+125
+120
+131
+69
+39
+135
+72
+43
+96
+50
+31
+137
+65
+34
+156
+72
+38
+137
+64
+32
+59
+57
+52
+68
+67
+63
+70
+69
+65
+78
+77
+73
+84
+80
+77
+91
+87
+84
+98
+94
+91
+109
+105
+102
+109
+105
+102
+106
+102
+99
+86
+83
+80
+76
+74
+70
+73
+72
+68
+67
+66
+66
+223
+222
+222
+255
+255
+255
+233
+233
+233
+141
+141
+141
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+73
+73
+73
+168
+168
+168
+244
+244
+244
+255
+255
+255
+248
+248
+248
+135
+133
+132
+118
+54
+29
+156
+70
+37
+174
+79
+37
+180
+80
+37
+179
+80
+38
+180
+81
+39
+128
+59
+30
+112
+58
+36
+136
+71
+43
+134
+71
+42
+132
+71
+44
+111
+61
+39
+43
+21
+15
+0
+0
+0
+72
+70
+69
+157
+154
+148
+170
+167
+160
+170
+167
+160
+170
+167
+160
+162
+149
+140
+134
+69
+37
+136
+71
+43
+78
+41
+25
+109
+49
+26
+110
+51
+28
+60
+31
+21
+59
+58
+55
+64
+63
+59
+70
+69
+65
+74
+73
+69
+78
+77
+74
+89
+87
+83
+99
+95
+92
+112
+108
+105
+114
+110
+107
+111
+107
+104
+99
+95
+92
+78
+74
+71
+74
+72
+68
+51
+50
+48
+161
+161
+161
+248
+248
+248
+255
+255
+255
+241
+241
+241
+90
+90
+90
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+93
+93
+93
+203
+203
+203
+251
+251
+251
+252
+252
+252
+180
+181
+180
+55
+39
+36
+140
+67
+38
+169
+78
+37
+179
+80
+38
+179
+80
+37
+179
+80
+37
+179
+80
+38
+154
+71
+36
+85
+44
+28
+135
+72
+44
+134
+72
+43
+135
+72
+42
+135
+71
+43
+116
+62
+40
+98
+77
+68
+154
+150
+144
+170
+167
+160
+170
+166
+159
+170
+167
+161
+170
+168
+162
+161
+144
+133
+135
+68
+39
+129
+69
+44
+92
+42
+22
+177
+81
+39
+179
+80
+39
+111
+53
+30
+58
+58
+54
+64
+63
+60
+69
+68
+65
+73
+72
+69
+74
+73
+71
+82
+80
+78
+98
+94
+91
+110
+106
+103
+115
+111
+108
+114
+110
+107
+108
+104
+101
+85
+80
+77
+74
+72
+68
+53
+52
+48
+56
+55
+55
+185
+185
+183
+254
+254
+254
+255
+255
+255
+128
+128
+128
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+130
+130
+130
+238
+238
+238
+253
+253
+253
+254
+254
+254
+214
+213
+213
+89
+68
+63
+146
+68
+36
+173
+78
+36
+177
+80
+36
+179
+80
+38
+178
+79
+37
+179
+80
+38
+179
+80
+37
+177
+79
+40
+94
+46
+27
+120
+65
+40
+135
+71
+43
+135
+71
+43
+135
+71
+43
+134
+70
+42
+133
+74
+48
+147
+115
+100
+163
+151
+141
+166
+157
+148
+161
+145
+134
+148
+117
+104
+136
+83
+62
+135
+71
+44
+98
+51
+33
+133
+63
+33
+181
+82
+37
+181
+81
+37
+138
+63
+33
+58
+56
+52
+64
+63
+61
+66
+65
+63
+72
+71
+69
+74
+73
+71
+78
+77
+74
+92
+90
+87
+106
+102
+99
+114
+110
+107
+112
+108
+105
+110
+106
+103
+92
+89
+86
+76
+74
+70
+61
+58
+55
+160
+161
+160
+246
+246
+246
+255
+255
+255
+251
+251
+251
+108
+108
+108
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+90
+90
+90
+230
+230
+230
+255
+255
+255
+252
+251
+251
+207
+207
+207
+122
+89
+80
+159
+72
+34
+175
+78
+37
+178
+80
+37
+177
+80
+37
+178
+79
+37
+179
+80
+38
+179
+80
+38
+178
+80
+38
+179
+80
+39
+154
+71
+36
+91
+48
+30
+129
+69
+42
+135
+71
+42
+134
+70
+42
+134
+70
+42
+135
+71
+43
+134
+70
+41
+134
+73
+43
+135
+75
+47
+133
+66
+35
+134
+67
+36
+134
+68
+39
+118
+62
+39
+57
+29
+18
+128
+62
+35
+141
+64
+32
+157
+71
+35
+139
+64
+34
+60
+51
+47
+64
+63
+60
+64
+63
+60
+68
+67
+65
+73
+72
+70
+75
+74
+72
+85
+85
+83
+96
+93
+91
+105
+101
+98
+106
+103
+100
+103
+101
+97
+86
+85
+81
+76
+74
+70
+63
+59
+57
+172
+171
+171
+254
+254
+254
+255
+255
+255
+235
+235
+235
+135
+135
+135
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+124
+124
+124
+251
+251
+251
+250
+250
+250
+164
+163
+162
+127
+81
+68
+169
+76
+36
+177
+79
+36
+176
+79
+36
+177
+80
+37
+179
+82
+39
+179
+80
+38
+179
+80
+38
+179
+82
+40
+178
+82
+41
+179
+81
+40
+177
+80
+39
+140
+65
+35
+84
+43
+27
+127
+68
+43
+135
+71
+44
+134
+72
+45
+133
+74
+47
+136
+82
+58
+143
+99
+81
+149
+114
+98
+152
+124
+111
+154
+130
+118
+148
+122
+111
+67
+41
+34
+11
+7
+6
+8
+4
+3
+17
+6
+4
+47
+20
+11
+60
+25
+15
+35
+29
+28
+65
+64
+60
+63
+62
+60
+64
+63
+61
+69
+68
+66
+74
+73
+71
+78
+77
+75
+88
+87
+85
+92
+91
+88
+93
+93
+89
+84
+83
+79
+74
+73
+69
+73
+71
+67
+52
+40
+36
+136
+98
+89
+212
+209
+207
+254
+254
+254
+255
+255
+255
+244
+244
+244
+190
+190
+190
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+117
+117
+117
+246
+246
+246
+253
+253
+253
+204
+204
+204
+121
+92
+85
+159
+73
+35
+176
+79
+37
+177
+80
+37
+178
+80
+37
+179
+80
+38
+180
+80
+38
+179
+80
+38
+181
+93
+59
+208
+167
+148
+201
+153
+134
+191
+135
+115
+190
+133
+113
+158
+131
+119
+97
+87
+80
+124
+100
+89
+150
+133
+123
+163
+153
+145
+170
+165
+156
+171
+167
+159
+170
+166
+159
+168
+165
+158
+156
+153
+147
+115
+113
+110
+165
+163
+159
+94
+93
+90
+0
+1
+1
+4
+4
+4
+2
+2
+2
+64
+63
+61
+121
+119
+115
+52
+53
+49
+64
+63
+59
+63
+62
+60
+64
+63
+61
+69
+68
+66
+72
+71
+69
+75
+74
+72
+80
+79
+77
+77
+76
+73
+69
+68
+64
+70
+69
+65
+58
+58
+55
+99
+47
+27
+172
+79
+40
+150
+78
+56
+192
+184
+183
+246
+245
+246
+255
+255
+255
+244
+244
+244
+114
+114
+114
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+61
+61
+61
+202
+202
+202
+254
+254
+254
+254
+254
+254
+215
+215
+215
+119
+106
+102
+139
+60
+23
+175
+79
+37
+177
+81
+37
+179
+80
+38
+179
+80
+38
+179
+80
+37
+179
+82
+42
+196
+141
+122
+231
+220
+209
+233
+225
+216
+232
+226
+215
+231
+226
+217
+209
+205
+197
+168
+164
+160
+128
+126
+122
+105
+102
+99
+120
+117
+114
+131
+129
+125
+132
+129
+125
+120
+118
+113
+133
+132
+127
+202
+199
+192
+233
+228
+220
+202
+198
+192
+91
+90
+87
+0
+0
+0
+69
+68
+66
+185
+182
+176
+222
+218
+211
+134
+132
+127
+50
+50
+47
+65
+64
+62
+64
+63
+62
+64
+63
+61
+66
+65
+63
+66
+65
+63
+66
+65
+63
+65
+63
+61
+64
+63
+60
+60
+59
+55
+83
+46
+33
+168
+77
+39
+177
+80
+37
+143
+66
+32
+109
+71
+62
+197
+197
+197
+253
+253
+253
+250
+250
+250
+125
+125
+125
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+73
+73
+73
+201
+201
+201
+251
+251
+251
+254
+254
+254
+236
+236
+236
+141
+138
+138
+118
+63
+45
+165
+76
+38
+177
+79
+38
+178
+79
+37
+178
+80
+38
+178
+81
+38
+179
+81
+40
+204
+160
+144
+231
+221
+213
+232
+226
+218
+232
+227
+218
+231
+227
+218
+230
+226
+217
+224
+220
+211
+200
+196
+188
+168
+165
+159
+150
+148
+143
+150
+148
+144
+183
+180
+175
+225
+221
+214
+233
+229
+220
+233
+229
+220
+233
+229
+220
+216
+212
+204
+151
+149
+144
+211
+208
+201
+231
+227
+218
+232
+228
+219
+219
+217
+209
+128
+127
+123
+65
+64
+63
+66
+65
+62
+67
+66
+62
+67
+66
+62
+65
+64
+61
+64
+63
+60
+64
+64
+61
+60
+59
+56
+82
+46
+35
+162
+74
+38
+181
+82
+40
+181
+82
+38
+132
+62
+34
+143
+136
+134
+240
+240
+240
+254
+254
+254
+255
+255
+255
+226
+226
+226
+90
+90
+90
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+170
+170
+170
+242
+242
+242
+255
+255
+255
+246
+246
+246
+175
+175
+174
+98
+69
+64
+137
+60
+22
+166
+75
+36
+176
+81
+38
+179
+80
+37
+179
+80
+37
+176
+80
+37
+203
+160
+144
+228
+220
+210
+231
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+233
+228
+220
+233
+229
+220
+231
+228
+218
+188
+185
+178
+159
+156
+152
+217
+214
+206
+234
+230
+222
+233
+229
+220
+234
+230
+221
+219
+214
+208
+192
+189
+182
+232
+229
+220
+234
+230
+221
+234
+229
+222
+228
+224
+218
+177
+176
+170
+154
+152
+149
+131
+129
+126
+91
+89
+88
+52
+51
+49
+42
+41
+38
+50
+50
+47
+101
+99
+96
+153
+151
+147
+194
+159
+147
+190
+112
+84
+182
+85
+43
+183
+82
+39
+183
+83
+39
+162
+75
+40
+161
+137
+133
+216
+215
+215
+250
+250
+250
+255
+255
+255
+210
+210
+210
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+126
+126
+126
+230
+230
+230
+255
+255
+255
+251
+251
+251
+218
+218
+218
+138
+135
+134
+81
+46
+36
+109
+54
+33
+130
+62
+36
+137
+64
+33
+148
+68
+34
+187
+132
+112
+228
+219
+209
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+229
+220
+232
+228
+219
+233
+229
+220
+231
+227
+218
+227
+223
+214
+216
+211
+204
+179
+176
+169
+171
+169
+163
+184
+182
+176
+169
+167
+160
+141
+140
+136
+156
+155
+150
+150
+148
+145
+201
+197
+192
+207
+203
+197
+167
+165
+159
+176
+172
+164
+214
+210
+202
+227
+223
+215
+219
+214
+207
+207
+203
+196
+198
+194
+187
+206
+202
+195
+220
+214
+207
+232
+227
+221
+235
+227
+219
+230
+212
+200
+202
+146
+122
+182
+81
+36
+183
+82
+38
+182
+82
+37
+175
+78
+35
+150
+93
+76
+184
+184
+183
+253
+253
+253
+238
+238
+238
+93
+93
+93
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+122
+122
+122
+210
+210
+210
+233
+233
+233
+253
+253
+253
+255
+255
+255
+255
+255
+255
+252
+252
+252
+234
+233
+233
+205
+204
+204
+181
+180
+179
+107
+105
+104
+140
+99
+84
+207
+193
+180
+224
+219
+210
+231
+227
+218
+232
+228
+219
+232
+228
+219
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+220
+232
+228
+220
+232
+228
+219
+230
+227
+217
+222
+219
+210
+162
+159
+155
+180
+179
+172
+205
+201
+195
+203
+199
+193
+186
+184
+178
+134
+133
+128
+184
+181
+172
+215
+211
+201
+228
+223
+214
+231
+227
+218
+232
+228
+220
+234
+230
+221
+234
+229
+223
+234
+228
+222
+233
+228
+221
+234
+229
+223
+235
+228
+220
+226
+207
+196
+195
+135
+113
+182
+85
+44
+182
+81
+37
+169
+76
+37
+165
+75
+37
+147
+74
+49
+137
+121
+118
+228
+228
+228
+255
+255
+255
+227
+227
+227
+66
+66
+66
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+64
+64
+64
+225
+225
+225
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+234
+233
+233
+85
+79
+78
+111
+94
+88
+100
+97
+94
+152
+149
+144
+228
+224
+215
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+220
+233
+229
+222
+233
+228
+221
+233
+229
+220
+232
+228
+219
+225
+221
+213
+227
+223
+213
+229
+225
+215
+228
+224
+214
+224
+220
+211
+214
+211
+202
+227
+223
+214
+229
+225
+216
+232
+228
+219
+233
+229
+220
+233
+229
+220
+234
+230
+221
+234
+230
+222
+234
+229
+222
+233
+228
+220
+233
+223
+213
+210
+172
+156
+186
+103
+73
+182
+79
+32
+184
+82
+38
+183
+82
+38
+127
+60
+33
+79
+69
+67
+187
+187
+187
+240
+240
+240
+255
+255
+255
+246
+246
+246
+146
+146
+146
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+244
+244
+244
+255
+255
+255
+230
+230
+229
+254
+253
+253
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+235
+234
+234
+209
+209
+209
+227
+227
+227
+236
+236
+235
+189
+188
+188
+205
+200
+194
+231
+226
+217
+232
+228
+219
+232
+228
+219
+233
+229
+220
+234
+230
+221
+234
+230
+221
+234
+229
+223
+232
+228
+221
+233
+229
+220
+231
+227
+218
+230
+226
+217
+229
+225
+216
+229
+225
+216
+227
+223
+214
+228
+224
+215
+227
+223
+214
+230
+226
+217
+231
+227
+218
+233
+229
+220
+233
+229
+220
+233
+229
+220
+234
+230
+220
+232
+225
+217
+225
+207
+195
+209
+173
+161
+188
+117
+93
+177
+86
+49
+175
+80
+37
+174
+80
+39
+167
+79
+40
+147
+69
+36
+107
+58
+40
+59
+57
+57
+183
+183
+182
+252
+252
+252
+252
+252
+252
+161
+161
+161
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+61
+61
+61
+224
+224
+224
+255
+255
+255
+203
+203
+203
+206
+206
+206
+253
+253
+253
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+252
+252
+252
+181
+180
+180
+123
+120
+117
+217
+213
+205
+220
+216
+208
+232
+228
+218
+233
+229
+220
+234
+229
+222
+234
+229
+223
+234
+229
+223
+234
+229
+222
+234
+230
+222
+233
+229
+221
+232
+228
+219
+231
+227
+218
+232
+228
+219
+232
+228
+219
+231
+227
+218
+230
+226
+217
+231
+227
+218
+232
+228
+219
+233
+229
+220
+234
+229
+221
+233
+229
+221
+234
+229
+220
+227
+214
+202
+187
+128
+106
+139
+64
+30
+166
+75
+38
+144
+68
+39
+94
+46
+29
+75
+49
+44
+127
+125
+125
+154
+155
+155
+181
+180
+180
+209
+208
+208
+235
+235
+235
+254
+254
+254
+237
+237
+237
+98
+98
+98
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+190
+190
+190
+255
+255
+255
+235
+235
+235
+134
+127
+122
+170
+166
+163
+237
+237
+236
+254
+254
+254
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+249
+249
+249
+182
+181
+180
+110
+87
+72
+76
+65
+59
+157
+154
+151
+147
+144
+140
+231
+227
+217
+233
+229
+220
+233
+229
+221
+234
+229
+222
+233
+228
+222
+234
+229
+223
+235
+230
+224
+235
+230
+224
+234
+230
+222
+232
+228
+219
+233
+229
+220
+233
+229
+220
+232
+228
+219
+231
+227
+218
+231
+227
+218
+231
+227
+218
+233
+228
+221
+231
+222
+214
+213
+197
+187
+184
+159
+146
+158
+121
+107
+161
+92
+67
+140
+69
+43
+67
+32
+21
+82
+43
+30
+59
+35
+29
+59
+59
+58
+219
+219
+218
+251
+251
+251
+255
+255
+255
+255
+255
+255
+255
+255
+255
+249
+249
+249
+173
+173
+173
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+132
+132
+132
+245
+245
+245
+253
+253
+253
+182
+179
+178
+134
+92
+60
+126
+96
+78
+167
+160
+157
+205
+203
+201
+218
+217
+215
+215
+213
+213
+194
+190
+188
+131
+119
+112
+119
+80
+52
+121
+81
+51
+110
+76
+52
+60
+51
+45
+56
+47
+42
+204
+201
+193
+232
+228
+218
+232
+228
+219
+232
+228
+220
+233
+228
+222
+234
+229
+223
+235
+230
+224
+235
+230
+224
+234
+229
+223
+234
+230
+221
+233
+229
+220
+233
+229
+220
+231
+227
+218
+232
+228
+219
+232
+228
+219
+231
+227
+218
+226
+221
+213
+121
+114
+109
+134
+130
+129
+175
+174
+173
+195
+195
+194
+169
+167
+167
+145
+139
+138
+168
+168
+167
+231
+231
+230
+238
+238
+238
+245
+245
+244
+254
+254
+254
+253
+253
+253
+234
+234
+234
+212
+212
+212
+190
+190
+190
+114
+114
+114
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+64
+64
+64
+219
+219
+219
+255
+255
+255
+240
+240
+239
+140
+131
+126
+132
+85
+49
+141
+89
+46
+130
+80
+37
+128
+80
+43
+125
+78
+42
+128
+78
+36
+133
+85
+48
+136
+88
+54
+137
+90
+55
+124
+83
+55
+88
+60
+40
+87
+60
+42
+140
+138
+133
+229
+225
+216
+230
+226
+217
+232
+228
+219
+232
+228
+220
+234
+230
+222
+234
+229
+223
+233
+229
+221
+233
+229
+221
+233
+229
+220
+232
+228
+219
+232
+228
+219
+232
+228
+219
+231
+227
+218
+231
+227
+218
+231
+227
+218
+228
+223
+214
+122
+121
+119
+250
+250
+250
+255
+255
+255
+255
+255
+255
+255
+255
+255
+253
+253
+253
+247
+247
+247
+254
+254
+254
+255
+255
+255
+255
+255
+255
+251
+251
+251
+208
+208
+208
+88
+88
+88
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+118
+118
+118
+248
+248
+248
+255
+255
+255
+233
+232
+232
+114
+104
+100
+116
+78
+52
+133
+86
+51
+149
+96
+55
+150
+96
+55
+138
+90
+55
+126
+82
+49
+146
+94
+53
+137
+90
+55
+150
+98
+57
+103
+70
+46
+123
+83
+55
+80
+77
+75
+208
+204
+196
+232
+228
+219
+231
+227
+218
+231
+227
+218
+232
+228
+220
+233
+228
+222
+233
+229
+221
+233
+229
+219
+233
+229
+220
+233
+229
+220
+233
+229
+220
+233
+229
+220
+232
+228
+219
+231
+227
+218
+205
+203
+195
+224
+220
+211
+138
+137
+134
+248
+248
+247
+255
+255
+255
+231
+231
+231
+237
+237
+237
+246
+246
+246
+250
+250
+250
+245
+245
+245
+184
+184
+184
+168
+168
+168
+114
+114
+114
+56
+56
+56
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+173
+173
+173
+247
+247
+247
+255
+255
+255
+231
+231
+231
+162
+155
+153
+125
+96
+79
+127
+84
+48
+119
+78
+48
+129
+85
+51
+146
+95
+54
+144
+94
+52
+156
+101
+57
+138
+91
+53
+114
+78
+51
+116
+79
+52
+56
+41
+32
+166
+162
+158
+229
+225
+217
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+231
+227
+218
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+231
+227
+218
+137
+136
+132
+128
+129
+129
+135
+136
+136
+240
+240
+239
+254
+254
+254
+159
+159
+159
+0
+0
+0
+101
+101
+101
+140
+140
+140
+104
+104
+104
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+38
+38
+38
+175
+175
+175
+251
+251
+251
+255
+255
+255
+247
+247
+247
+182
+179
+178
+106
+72
+44
+149
+95
+54
+154
+98
+57
+152
+98
+56
+157
+101
+57
+144
+93
+54
+86
+56
+36
+122
+82
+52
+102
+68
+43
+111
+75
+48
+102
+97
+93
+223
+219
+210
+232
+228
+219
+232
+228
+219
+231
+227
+218
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+232
+228
+219
+233
+229
+220
+232
+228
+219
+232
+228
+219
+202
+199
+192
+196
+196
+195
+241
+241
+241
+252
+252
+252
+254
+254
+254
+142
+142
+142
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+79
+79
+79
+214
+214
+214
+254
+254
+254
+251
+251
+251
+203
+200
+198
+115
+84
+65
+118
+78
+49
+149
+96
+57
+150
+97
+54
+157
+101
+56
+146
+94
+55
+104
+68
+42
+137
+89
+52
+133
+87
+54
+135
+90
+53
+130
+85
+50
+75
+49
+29
+193
+188
+181
+232
+227
+218
+231
+227
+218
+233
+229
+220
+232
+228
+219
+232
+228
+219
+231
+227
+218
+232
+228
+219
+232
+228
+219
+231
+227
+218
+231
+227
+218
+232
+228
+219
+233
+229
+220
+225
+221
+212
+176
+175
+171
+246
+246
+246
+255
+255
+255
+242
+242
+242
+110
+110
+110
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+199
+199
+199
+254
+254
+254
+252
+252
+252
+190
+185
+182
+126
+93
+72
+123
+82
+50
+146
+96
+54
+147
+95
+53
+157
+102
+57
+150
+97
+57
+106
+70
+44
+137
+89
+54
+139
+89
+53
+144
+94
+55
+148
+95
+56
+133
+88
+53
+56
+38
+24
+123
+121
+117
+226
+221
+212
+231
+227
+218
+231
+227
+218
+230
+226
+217
+231
+227
+218
+232
+228
+219
+231
+227
+218
+231
+227
+218
+233
+229
+220
+233
+229
+220
+233
+229
+220
+233
+229
+220
+234
+230
+221
+196
+194
+187
+194
+194
+192
+255
+255
+255
+255
+255
+255
+235
+235
+235
+169
+169
+169
+115
+115
+115
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+167
+167
+167
+252
+252
+252
+254
+254
+254
+195
+192
+189
+128
+89
+61
+125
+82
+49
+150
+97
+54
+151
+97
+53
+154
+100
+56
+149
+98
+55
+104
+69
+42
+122
+81
+51
+125
+82
+48
+146
+96
+56
+155
+100
+55
+144
+93
+53
+105
+71
+44
+78
+55
+38
+62
+59
+55
+199
+195
+187
+228
+224
+215
+228
+224
+215
+229
+225
+216
+230
+226
+217
+231
+227
+218
+232
+228
+219
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+220
+234
+229
+222
+233
+229
+222
+232
+228
+221
+151
+150
+146
+194
+194
+194
+248
+248
+247
+255
+255
+255
+251
+251
+251
+247
+247
+247
+229
+229
+229
+185
+185
+185
+108
+108
+108
+53
+53
+53
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+108
+108
+108
+238
+238
+238
+255
+255
+255
+216
+214
+213
+134
+97
+73
+129
+84
+50
+150
+96
+54
+155
+100
+55
+153
+99
+54
+151
+97
+56
+109
+72
+42
+98
+67
+42
+125
+84
+50
+143
+93
+53
+147
+95
+53
+144
+93
+53
+129
+84
+49
+103
+69
+46
+108
+73
+48
+53
+43
+37
+172
+170
+162
+229
+225
+216
+230
+226
+217
+230
+226
+217
+230
+226
+217
+231
+227
+218
+232
+228
+219
+233
+229
+220
+232
+228
+219
+233
+229
+219
+233
+229
+221
+234
+230
+223
+235
+230
+224
+236
+229
+224
+229
+225
+218
+185
+183
+177
+172
+172
+170
+214
+214
+214
+243
+243
+242
+253
+253
+253
+255
+255
+255
+255
+255
+255
+248
+248
+248
+213
+213
+213
+174
+174
+174
+154
+154
+154
+137
+137
+137
+105
+105
+105
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+38
+38
+38
+190
+190
+190
+254
+254
+254
+242
+241
+240
+154
+135
+123
+125
+81
+46
+143
+93
+53
+158
+101
+56
+151
+98
+55
+153
+100
+57
+94
+60
+35
+69
+46
+28
+111
+74
+43
+149
+97
+55
+145
+94
+54
+147
+95
+53
+133
+86
+48
+133
+88
+53
+112
+75
+47
+99
+65
+41
+102
+99
+95
+214
+210
+201
+228
+224
+215
+230
+226
+217
+230
+226
+217
+230
+226
+217
+231
+227
+218
+231
+227
+218
+233
+229
+220
+232
+228
+219
+233
+229
+221
+233
+229
+222
+234
+229
+223
+234
+230
+222
+235
+230
+223
+235
+230
+224
+235
+230
+224
+221
+217
+210
+187
+184
+179
+141
+140
+139
+146
+147
+146
+196
+196
+196
+240
+240
+240
+254
+254
+254
+255
+255
+255
+254
+254
+254
+251
+251
+251
+246
+246
+246
+239
+239
+239
+231
+231
+231
+203
+203
+203
+141
+141
+141
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+64
+64
+64
+228
+228
+228
+255
+255
+255
+207
+204
+201
+127
+82
+46
+121
+78
+46
+158
+102
+56
+155
+100
+56
+151
+97
+55
+115
+75
+45
+72
+49
+30
+113
+74
+43
+147
+96
+53
+141
+91
+53
+147
+95
+53
+144
+94
+53
+142
+93
+52
+120
+79
+46
+106
+73
+47
+105
+100
+95
+210
+206
+198
+228
+224
+215
+229
+225
+216
+230
+226
+217
+231
+227
+218
+231
+227
+218
+231
+227
+218
+232
+228
+219
+233
+229
+220
+233
+229
+220
+233
+228
+220
+233
+228
+222
+235
+230
+224
+235
+230
+222
+235
+230
+223
+236
+231
+225
+235
+230
+224
+236
+230
+223
+235
+230
+223
+197
+193
+187
+59
+60
+61
+47
+52
+55
+81
+84
+85
+162
+162
+162
+216
+216
+216
+234
+234
+233
+240
+240
+240
+245
+245
+245
+251
+251
+251
+255
+255
+255
+255
+255
+255
+253
+253
+253
+221
+221
+221
+144
+144
+144
+59
+59
+59
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+99
+99
+99
+249
+249
+249
+254
+254
+254
+155
+145
+139
+118
+78
+44
+147
+96
+54
+157
+101
+56
+150
+97
+54
+143
+93
+54
+75
+50
+30
+112
+73
+43
+136
+88
+49
+145
+94
+54
+131
+86
+50
+148
+96
+54
+139
+90
+53
+141
+92
+53
+89
+59
+37
+113
+107
+102
+209
+204
+197
+229
+225
+216
+229
+225
+216
+229
+225
+216
+230
+226
+217
+231
+227
+218
+230
+226
+217
+231
+227
+218
+232
+228
+219
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+229
+221
+234
+229
+223
+235
+230
+224
+235
+230
+224
+234
+229
+223
+235
+230
+224
+234
+230
+224
+232
+228
+222
+160
+158
+153
+36
+40
+42
+34
+39
+42
+38
+46
+48
+26
+37
+40
+46
+53
+54
+80
+84
+84
+113
+115
+114
+134
+136
+136
+158
+160
+159
+186
+187
+186
+225
+225
+225
+253
+253
+253
+255
+255
+255
+250
+250
+250
+209
+209
+209
+102
+102
+102
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+132
+132
+132
+255
+255
+255
+247
+246
+246
+110
+91
+78
+128
+84
+49
+151
+97
+54
+154
+99
+54
+151
+98
+55
+107
+70
+43
+84
+55
+34
+127
+82
+46
+145
+95
+55
+124
+80
+46
+146
+96
+55
+137
+88
+50
+133
+86
+50
+111
+73
+46
+107
+103
+99
+216
+212
+204
+231
+226
+218
+230
+225
+216
+229
+225
+216
+230
+226
+217
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+233
+229
+220
+233
+229
+221
+233
+228
+222
+234
+229
+223
+235
+230
+224
+235
+230
+224
+234
+229
+223
+235
+229
+224
+221
+216
+209
+105
+105
+102
+31
+35
+38
+31
+36
+39
+32
+36
+39
+31
+36
+39
+35
+40
+43
+31
+37
+39
+36
+42
+44
+35
+41
+44
+39
+46
+48
+51
+58
+59
+81
+85
+86
+146
+147
+147
+227
+227
+227
+252
+252
+252
+254
+254
+254
+230
+230
+230
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+134
+134
+134
+255
+255
+255
+244
+244
+243
+94
+78
+65
+128
+84
+48
+153
+100
+55
+152
+99
+54
+140
+92
+53
+71
+47
+29
+121
+80
+48
+137
+90
+50
+133
+86
+49
+126
+82
+48
+140
+91
+52
+128
+83
+50
+98
+66
+41
+126
+121
+116
+216
+212
+205
+232
+228
+218
+231
+227
+218
+230
+226
+217
+230
+226
+217
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+230
+226
+217
+231
+227
+218
+232
+228
+219
+233
+229
+219
+233
+229
+220
+233
+228
+222
+234
+229
+223
+234
+229
+223
+234
+229
+223
+234
+229
+223
+234
+229
+223
+183
+180
+175
+32
+37
+39
+28
+33
+36
+29
+34
+37
+32
+37
+40
+33
+38
+41
+33
+38
+41
+31
+36
+39
+33
+38
+41
+32
+37
+40
+34
+41
+44
+34
+41
+44
+34
+42
+44
+41
+50
+52
+76
+82
+82
+182
+182
+182
+247
+247
+247
+254
+254
+254
+213
+213
+213
+77
+77
+77
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+118
+118
+118
+255
+255
+255
+251
+251
+251
+99
+92
+87
+125
+80
+45
+155
+99
+55
+152
+98
+55
+105
+68
+40
+95
+64
+39
+132
+86
+49
+129
+84
+46
+132
+86
+50
+134
+88
+53
+117
+78
+49
+69
+43
+23
+120
+117
+113
+217
+213
+206
+231
+227
+218
+231
+227
+218
+230
+226
+217
+229
+225
+216
+230
+226
+217
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+229
+225
+216
+230
+226
+217
+231
+227
+218
+231
+227
+218
+232
+228
+219
+232
+228
+220
+233
+229
+221
+233
+228
+222
+234
+229
+223
+235
+230
+222
+234
+230
+223
+215
+210
+204
+78
+78
+77
+23
+29
+32
+26
+31
+34
+31
+36
+39
+32
+36
+39
+32
+37
+40
+31
+36
+39
+33
+38
+41
+32
+37
+40
+34
+39
+42
+37
+43
+46
+36
+44
+46
+35
+43
+45
+41
+49
+51
+51
+59
+61
+70
+75
+77
+185
+185
+185
+252
+252
+252
+254
+254
+254
+196
+196
+196
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+98
+98
+98
+250
+250
+250
+254
+254
+254
+130
+129
+127
+126
+80
+42
+156
+99
+55
+145
+94
+55
+71
+45
+27
+112
+75
+44
+130
+85
+48
+134
+87
+50
+127
+83
+50
+95
+65
+42
+41
+31
+25
+0
+3
+8
+162
+160
+156
+233
+229
+220
+231
+227
+218
+230
+226
+217
+230
+226
+217
+229
+225
+216
+230
+226
+217
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+230
+226
+217
+230
+226
+217
+230
+226
+217
+230
+226
+217
+232
+228
+219
+232
+228
+219
+233
+229
+220
+233
+229
+222
+234
+229
+223
+233
+228
+220
+223
+218
+212
+119
+118
+115
+31
+35
+38
+27
+32
+35
+28
+33
+36
+28
+33
+36
+25
+29
+32
+25
+30
+33
+30
+35
+38
+29
+34
+37
+31
+36
+39
+35
+40
+43
+38
+43
+46
+39
+48
+50
+37
+45
+47
+40
+48
+50
+45
+53
+55
+50
+57
+59
+63
+70
+71
+197
+197
+196
+254
+254
+253
+254
+254
+254
+190
+190
+190
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+69
+69
+69
+233
+233
+233
+254
+254
+254
+179
+177
+175
+127
+79
+36
+155
+100
+55
+133
+85
+49
+73
+48
+30
+112
+75
+46
+134
+88
+51
+133
+88
+53
+82
+54
+33
+27
+24
+22
+21
+24
+27
+14
+19
+22
+104
+103
+99
+230
+225
+217
+230
+226
+217
+230
+226
+217
+230
+226
+217
+230
+226
+217
+229
+225
+216
+231
+227
+218
+231
+227
+218
+230
+226
+217
+230
+226
+217
+229
+225
+216
+229
+225
+216
+229
+225
+216
+231
+227
+218
+231
+227
+218
+232
+228
+219
+233
+229
+220
+233
+229
+221
+233
+228
+220
+226
+222
+213
+146
+143
+139
+39
+43
+45
+31
+35
+39
+28
+33
+36
+24
+29
+32
+26
+30
+33
+21
+25
+28
+25
+29
+32
+27
+32
+35
+29
+34
+37
+31
+36
+39
+35
+40
+43
+35
+41
+44
+35
+43
+45
+37
+46
+48
+41
+49
+51
+44
+52
+54
+45
+53
+55
+54
+61
+63
+82
+87
+87
+208
+208
+208
+254
+254
+254
+250
+250
+250
+170
+170
+170
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+50
+50
+50
+209
+209
+209
+255
+255
+255
+210
+208
+207
+128
+81
+39
+151
+98
+54
+125
+80
+46
+96
+64
+42
+94
+64
+41
+86
+57
+36
+46
+31
+20
+26
+27
+26
+23
+27
+28
+23
+27
+28
+16
+20
+21
+58
+59
+58
+198
+195
+188
+230
+226
+217
+230
+226
+217
+231
+227
+218
+230
+226
+217
+229
+225
+216
+230
+226
+217
+231
+227
+218
+230
+226
+217
+229
+225
+216
+227
+223
+214
+226
+222
+213
+229
+225
+216
+231
+227
+218
+232
+228
+219
+231
+227
+218
+233
+228
+220
+232
+227
+219
+221
+218
+210
+138
+136
+132
+36
+39
+41
+25
+30
+33
+28
+33
+36
+28
+33
+36
+24
+29
+32
+24
+28
+31
+22
+26
+29
+24
+29
+32
+29
+34
+37
+31
+36
+39
+35
+40
+43
+34
+39
+42
+33
+38
+41
+33
+42
+44
+37
+45
+47
+41
+49
+51
+44
+52
+54
+43
+51
+53
+46
+54
+55
+47
+56
+57
+88
+92
+91
+220
+221
+220
+255
+255
+255
+246
+246
+246
+126
+126
+126
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+184
+184
+184
+255
+255
+255
+229
+227
+227
+132
+89
+54
+146
+95
+53
+107
+71
+43
+47
+37
+29
+27
+21
+20
+13
+16
+18
+19
+23
+23
+19
+25
+26
+20
+25
+25
+18
+22
+23
+17
+21
+22
+26
+29
+30
+142
+141
+136
+226
+222
+212
+229
+225
+217
+229
+225
+216
+229
+225
+216
+228
+224
+215
+229
+225
+216
+229
+225
+216
+228
+224
+215
+227
+223
+214
+226
+222
+213
+226
+222
+213
+229
+225
+216
+231
+227
+218
+231
+227
+218
+231
+227
+218
+231
+227
+218
+204
+200
+191
+118
+119
+114
+31
+36
+39
+27
+32
+35
+22
+27
+31
+24
+29
+32
+24
+29
+32
+29
+34
+37
+28
+33
+36
+26
+31
+34
+24
+29
+32
+30
+35
+38
+32
+37
+40
+36
+43
+45
+36
+41
+44
+33
+39
+42
+35
+43
+45
+36
+44
+46
+37
+45
+47
+38
+45
+48
+41
+49
+51
+42
+50
+52
+46
+54
+56
+45
+54
+55
+107
+110
+109
+233
+233
+233
+255
+255
+255
+236
+236
+236
+108
+108
+108
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+167
+167
+167
+253
+253
+253
+235
+235
+234
+141
+107
+85
+129
+86
+51
+47
+38
+34
+21
+25
+29
+22
+26
+29
+18
+22
+25
+15
+20
+21
+16
+20
+21
+17
+21
+22
+17
+21
+22
+16
+20
+21
+17
+21
+24
+49
+51
+51
+166
+163
+157
+227
+223
+213
+228
+224
+216
+229
+225
+216
+228
+224
+215
+230
+226
+217
+229
+225
+216
+228
+224
+215
+228
+224
+215
+227
+223
+214
+225
+221
+212
+228
+224
+215
+230
+226
+217
+231
+225
+216
+220
+216
+208
+163
+161
+156
+82
+83
+81
+29
+35
+38
+30
+35
+38
+25
+30
+31
+21
+26
+29
+20
+25
+28
+22
+27
+30
+26
+31
+35
+28
+33
+36
+28
+33
+36
+24
+29
+31
+27
+32
+35
+30
+35
+38
+32
+37
+40
+35
+40
+43
+34
+39
+42
+33
+39
+42
+35
+43
+44
+34
+42
+44
+38
+44
+46
+38
+45
+47
+43
+51
+53
+44
+52
+54
+46
+54
+56
+47
+55
+56
+139
+140
+140
+243
+243
+243
+254
+254
+254
+220
+220
+220
+83
+83
+83
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+159
+159
+159
+252
+252
+252
+236
+236
+236
+140
+112
+94
+98
+66
+41
+15
+23
+25
+19
+23
+25
+19
+23
+24
+17
+21
+22
+15
+19
+21
+19
+23
+24
+18
+22
+23
+18
+22
+23
+15
+19
+20
+14
+18
+19
+19
+22
+24
+32
+34
+36
+130
+129
+125
+204
+200
+192
+224
+220
+211
+230
+226
+217
+230
+225
+216
+228
+224
+216
+228
+223
+215
+227
+223
+214
+227
+223
+214
+226
+222
+213
+223
+219
+211
+212
+209
+201
+177
+175
+168
+88
+89
+87
+29
+34
+36
+27
+32
+35
+24
+28
+30
+22
+26
+27
+21
+25
+26
+23
+28
+31
+22
+26
+29
+21
+25
+27
+22
+26
+28
+23
+28
+31
+28
+33
+36
+26
+31
+34
+24
+29
+32
+32
+37
+40
+29
+34
+37
+32
+37
+40
+33
+38
+41
+30
+36
+38
+32
+37
+40
+33
+40
+43
+37
+45
+47
+36
+44
+46
+39
+46
+49
+41
+49
+51
+42
+50
+52
+41
+49
+51
+52
+59
+61
+180
+181
+180
+252
+252
+252
+254
+254
+254
+171
+171
+171
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+172
+172
+172
+254
+254
+254
+238
+238
+238
+140
+118
+105
+55
+39
+30
+18
+22
+24
+16
+20
+21
+16
+20
+21
+14
+18
+19
+15
+19
+21
+18
+21
+23
+15
+17
+19
+19
+22
+24
+19
+23
+24
+14
+18
+19
+14
+18
+19
+19
+23
+24
+15
+20
+24
+72
+72
+71
+140
+137
+134
+182
+179
+172
+207
+204
+196
+220
+216
+208
+223
+219
+211
+220
+215
+206
+203
+200
+192
+172
+169
+162
+136
+135
+130
+87
+86
+85
+12
+20
+24
+23
+28
+32
+23
+28
+31
+19
+23
+26
+20
+25
+26
+18
+23
+23
+21
+25
+26
+19
+23
+25
+19
+23
+26
+17
+21
+23
+21
+25
+27
+23
+27
+30
+24
+29
+32
+25
+30
+33
+30
+35
+38
+31
+36
+39
+27
+32
+35
+34
+39
+42
+32
+37
+40
+28
+33
+36
+31
+36
+39
+32
+37
+40
+33
+40
+42
+34
+41
+43
+36
+43
+46
+43
+51
+53
+43
+51
+53
+40
+48
+50
+45
+53
+55
+81
+87
+88
+211
+211
+211
+255
+255
+255
+245
+245
+245
+130
+130
+130
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+143
+143
+143
+209
+209
+209
+201
+201
+201
+117
+117
+117
+38
+38
+38
+46
+46
+46
+190
+190
+190
+255
+255
+255
+236
+236
+235
+110
+97
+89
+33
+32
+30
+19
+23
+25
+19
+23
+26
+15
+19
+20
+13
+16
+17
+14
+15
+17
+12
+13
+15
+11
+12
+14
+15
+18
+19
+17
+21
+22
+14
+17
+18
+14
+18
+19
+18
+22
+23
+17
+22
+22
+20
+24
+25
+21
+25
+27
+45
+46
+46
+62
+62
+61
+74
+74
+72
+81
+81
+79
+74
+73
+70
+60
+61
+59
+40
+42
+41
+21
+25
+26
+21
+26
+26
+21
+26
+28
+18
+22
+25
+17
+22
+23
+18
+22
+23
+16
+20
+21
+12
+16
+17
+13
+16
+17
+13
+14
+16
+14
+15
+17
+12
+14
+15
+14
+16
+18
+22
+26
+29
+24
+29
+32
+24
+29
+32
+26
+31
+34
+29
+34
+37
+29
+34
+37
+30
+35
+38
+32
+37
+40
+27
+32
+35
+26
+31
+34
+27
+32
+35
+33
+40
+42
+38
+46
+48
+41
+49
+51
+42
+50
+52
+45
+53
+55
+47
+55
+57
+43
+51
+54
+54
+62
+63
+109
+113
+112
+233
+233
+233
+255
+255
+255
+230
+230
+230
+96
+96
+96
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+137
+137
+137
+248
+248
+248
+255
+255
+255
+255
+255
+255
+245
+245
+245
+196
+196
+196
+186
+186
+186
+241
+241
+241
+255
+255
+255
+213
+212
+211
+56
+44
+36
+24
+28
+29
+18
+21
+24
+16
+21
+23
+14
+17
+18
+12
+15
+16
+13
+14
+16
+11
+12
+13
+11
+12
+14
+12
+15
+17
+13
+16
+18
+14
+15
+17
+12
+14
+15
+11
+15
+16
+14
+16
+18
+13
+14
+16
+11
+14
+16
+16
+20
+21
+15
+18
+19
+12
+15
+16
+13
+16
+17
+12
+15
+16
+12
+15
+17
+14
+17
+19
+16
+19
+20
+18
+22
+22
+18
+22
+23
+14
+17
+18
+15
+17
+19
+13
+14
+16
+11
+12
+14
+12
+13
+15
+14
+19
+20
+15
+17
+19
+15
+16
+18
+12
+13
+15
+11
+12
+14
+17
+20
+22
+20
+24
+27
+21
+25
+29
+23
+26
+30
+26
+30
+33
+25
+30
+33
+25
+30
+33
+28
+33
+36
+26
+31
+34
+27
+32
+35
+30
+35
+38
+33
+38
+41
+40
+48
+50
+42
+50
+52
+42
+50
+52
+46
+54
+56
+50
+58
+60
+48
+56
+58
+45
+53
+55
+64
+72
+73
+155
+156
+156
+247
+247
+247
+254
+254
+254
+205
+205
+205
+56
+56
+56
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+184
+184
+184
+253
+253
+253
+244
+244
+244
+243
+243
+243
+255
+254
+254
+255
+255
+255
+255
+255
+255
+255
+255
+255
+246
+245
+244
+140
+131
+126
+42
+30
+24
+13
+17
+17
+14
+18
+20
+14
+18
+19
+13
+14
+16
+12
+13
+15
+12
+13
+15
+9
+10
+12
+9
+10
+12
+10
+11
+13
+11
+12
+14
+10
+11
+13
+10
+11
+13
+10
+12
+13
+10
+11
+13
+12
+13
+15
+13
+14
+16
+15
+18
+19
+13
+14
+16
+9
+10
+12
+9
+10
+12
+8
+9
+11
+8
+9
+11
+9
+10
+12
+10
+11
+13
+10
+11
+13
+12
+12
+14
+9
+11
+12
+9
+10
+12
+12
+13
+15
+12
+13
+15
+12
+14
+15
+13
+18
+18
+14
+16
+18
+14
+15
+17
+13
+13
+15
+11
+12
+14
+14
+15
+17
+13
+16
+18
+15
+19
+20
+18
+22
+24
+19
+23
+25
+23
+28
+30
+21
+27
+29
+26
+31
+34
+30
+35
+38
+32
+37
+40
+33
+38
+41
+34
+39
+42
+37
+44
+46
+34
+42
+44
+36
+44
+46
+43
+51
+53
+49
+57
+59
+49
+57
+59
+46
+54
+56
+46
+54
+56
+63
+70
+72
+183
+184
+184
+254
+254
+254
+252
+252
+252
+190
+190
+190
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+158
+158
+158
+251
+251
+251
+249
+249
+248
+165
+163
+162
+194
+190
+187
+229
+227
+225
+236
+233
+231
+220
+213
+208
+162
+132
+114
+112
+75
+50
+9
+15
+18
+13
+17
+18
+12
+15
+17
+9
+11
+13
+9
+10
+12
+9
+10
+12
+7
+8
+10
+7
+8
+10
+7
+9
+10
+8
+9
+11
+7
+8
+10
+9
+10
+12
+9
+10
+12
+8
+9
+11
+10
+11
+13
+12
+13
+15
+12
+13
+15
+12
+13
+15
+10
+11
+13
+8
+8
+10
+7
+8
+10
+7
+8
+10
+7
+8
+10
+8
+9
+11
+8
+8
+10
+8
+8
+10
+9
+9
+11
+11
+12
+14
+9
+10
+12
+10
+11
+13
+10
+11
+13
+12
+13
+15
+13
+17
+18
+14
+18
+19
+12
+14
+16
+11
+11
+13
+10
+11
+13
+10
+11
+13
+12
+14
+16
+13
+17
+19
+16
+20
+21
+18
+23
+24
+20
+26
+27
+22
+28
+31
+25
+30
+33
+31
+37
+39
+34
+41
+43
+33
+38
+41
+36
+41
+44
+39
+47
+49
+34
+42
+44
+37
+45
+47
+36
+44
+46
+41
+48
+51
+43
+51
+53
+43
+51
+53
+42
+50
+52
+44
+52
+54
+63
+69
+70
+205
+206
+205
+254
+254
+254
+251
+251
+251
+168
+168
+168
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+75
+75
+75
+231
+231
+231
+255
+255
+255
+235
+235
+235
+140
+130
+123
+120
+82
+51
+142
+105
+77
+132
+84
+45
+144
+95
+54
+57
+40
+27
+12
+17
+20
+15
+20
+21
+13
+15
+17
+9
+9
+12
+10
+11
+13
+11
+12
+14
+8
+9
+11
+8
+9
+11
+9
+10
+12
+10
+11
+13
+7
+8
+10
+8
+9
+11
+11
+12
+14
+9
+10
+12
+12
+13
+15
+14
+15
+17
+10
+11
+13
+8
+9
+11
+7
+8
+10
+8
+9
+11
+8
+9
+11
+8
+9
+11
+7
+8
+10
+7
+8
+10
+7
+7
+9
+8
+9
+11
+9
+10
+12
+9
+10
+12
+9
+10
+12
+9
+10
+12
+9
+10
+12
+11
+12
+14
+15
+16
+18
+13
+15
+17
+11
+12
+14
+9
+10
+12
+9
+10
+12
+10
+11
+13
+15
+18
+19
+18
+23
+24
+20
+25
+25
+21
+26
+26
+22
+27
+29
+24
+29
+32
+24
+29
+32
+28
+34
+36
+30
+35
+38
+32
+36
+39
+38
+43
+46
+41
+49
+51
+37
+45
+47
+35
+43
+45
+35
+43
+45
+35
+42
+44
+42
+50
+52
+43
+51
+53
+44
+52
+54
+39
+47
+49
+44
+53
+55
+94
+98
+98
+219
+219
+219
+254
+254
+254
+244
+244
+244
+143
+143
+143
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+129
+129
+129
+246
+246
+246
+255
+255
+255
+244
+243
+243
+180
+177
+174
+102
+76
+57
+126
+83
+49
+112
+74
+45
+19
+18
+19
+11
+14
+16
+16
+18
+20
+11
+13
+15
+12
+13
+15
+13
+15
+16
+10
+11
+13
+9
+10
+12
+8
+9
+11
+11
+12
+14
+12
+13
+15
+10
+11
+13
+8
+9
+11
+8
+9
+11
+8
+8
+10
+8
+8
+10
+8
+8
+10
+8
+8
+10
+7
+8
+10
+8
+9
+11
+7
+8
+10
+7
+8
+10
+6
+7
+9
+6
+7
+9
+7
+8
+10
+6
+7
+9
+7
+9
+11
+9
+11
+12
+10
+11
+13
+10
+11
+13
+14
+14
+14
+17
+16
+16
+13
+14
+16
+13
+16
+17
+11
+12
+14
+10
+11
+13
+9
+10
+12
+9
+10
+12
+10
+11
+13
+18
+20
+22
+20
+24
+24
+25
+30
+32
+21
+27
+29
+23
+29
+31
+24
+29
+32
+24
+29
+32
+24
+29
+32
+26
+31
+34
+28
+33
+36
+32
+36
+39
+35
+42
+44
+33
+39
+41
+32
+38
+41
+32
+38
+40
+33
+40
+42
+36
+44
+46
+41
+49
+51
+46
+53
+55
+42
+50
+52
+38
+46
+48
+49
+56
+58
+112
+115
+115
+235
+235
+235
+255
+255
+255
+244
+244
+244
+133
+133
+133
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+122
+122
+122
+242
+242
+242
+255
+255
+255
+242
+241
+240
+183
+169
+161
+144
+98
+62
+128
+83
+47
+62
+41
+26
+11
+11
+12
+9
+11
+13
+11
+13
+15
+14
+15
+16
+17
+20
+21
+15
+19
+20
+12
+15
+17
+8
+9
+11
+9
+10
+12
+11
+12
+14
+13
+14
+16
+12
+13
+15
+12
+12
+14
+9
+10
+12
+8
+9
+11
+8
+9
+12
+7
+7
+9
+9
+9
+11
+4
+7
+12
+0
+1
+10
+0
+0
+10
+0
+1
+11
+5
+9
+14
+0
+0
+6
+0
+3
+13
+13
+14
+16
+13
+17
+19
+17
+21
+23
+17
+21
+22
+21
+23
+24
+132
+112
+59
+109
+92
+50
+22
+26
+26
+21
+25
+28
+18
+22
+24
+15
+19
+21
+9
+11
+12
+10
+11
+13
+11
+12
+14
+12
+13
+15
+14
+16
+18
+20
+24
+26
+23
+28
+30
+22
+28
+30
+24
+29
+32
+23
+28
+31
+23
+28
+31
+23
+28
+31
+22
+26
+29
+24
+28
+31
+27
+32
+35
+31
+36
+39
+29
+34
+37
+28
+33
+36
+30
+35
+38
+30
+36
+38
+39
+47
+49
+46
+54
+56
+43
+51
+53
+39
+47
+49
+42
+50
+52
+48
+57
+58
+125
+127
+127
+236
+236
+235
+255
+255
+255
+236
+236
+236
+118
+118
+118
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+222
+222
+222
+255
+255
+255
+238
+237
+236
+161
+139
+126
+139
+92
+54
+130
+83
+47
+101
+66
+40
+32
+23
+18
+8
+9
+11
+13
+15
+17
+15
+17
+18
+12
+14
+16
+16
+18
+20
+15
+18
+19
+14
+18
+18
+12
+13
+15
+17
+16
+17
+20
+18
+17
+14
+14
+17
+15
+17
+19
+24
+24
+21
+21
+22
+20
+25
+24
+21
+38
+33
+21
+28
+26
+22
+16
+17
+19
+77
+65
+35
+118
+101
+53
+125
+106
+55
+123
+105
+54
+72
+60
+33
+198
+164
+83
+201
+166
+81
+188
+156
+79
+13
+22
+28
+23
+29
+31
+24
+29
+31
+37
+35
+31
+219
+182
+87
+144
+120
+60
+22
+26
+27
+21
+25
+28
+18
+22
+25
+15
+19
+21
+12
+13
+16
+11
+12
+14
+10
+11
+13
+11
+11
+13
+14
+16
+18
+17
+21
+22
+18
+23
+24
+20
+26
+27
+25
+30
+33
+23
+28
+31
+23
+28
+31
+24
+29
+32
+23
+28
+31
+21
+26
+29
+24
+29
+32
+28
+33
+36
+28
+33
+36
+26
+31
+34
+28
+33
+36
+27
+32
+35
+38
+45
+48
+40
+48
+50
+38
+46
+48
+38
+46
+48
+40
+48
+50
+40
+48
+50
+45
+53
+54
+137
+138
+138
+242
+242
+242
+255
+255
+255
+232
+232
+232
+120
+120
+120
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+121
+121
+121
+248
+248
+248
+252
+252
+252
+174
+159
+152
+137
+90
+54
+132
+85
+48
+125
+81
+47
+77
+52
+34
+7
+10
+12
+8
+9
+11
+10
+11
+13
+13
+14
+16
+13
+14
+16
+12
+13
+15
+14
+15
+16
+13
+15
+17
+27
+23
+18
+136
+113
+59
+164
+137
+72
+28
+31
+29
+23
+27
+30
+185
+154
+77
+151
+126
+65
+165
+136
+72
+231
+190
+88
+151
+124
+63
+24
+25
+26
+164
+135
+64
+214
+177
+87
+200
+166
+80
+181
+148
+68
+101
+83
+43
+240
+196
+93
+213
+175
+82
+227
+185
+85
+53
+49
+36
+25
+29
+32
+20
+27
+32
+86
+73
+44
+232
+190
+88
+111
+94
+50
+21
+24
+28
+23
+27
+30
+19
+23
+27
+18
+20
+24
+11
+12
+15
+9
+10
+12
+9
+10
+12
+13
+14
+16
+16
+18
+20
+15
+19
+20
+15
+19
+20
+15
+20
+21
+20
+25
+28
+24
+29
+32
+26
+31
+34
+24
+29
+32
+29
+34
+37
+32
+37
+40
+29
+34
+37
+28
+32
+35
+28
+33
+36
+32
+37
+40
+30
+35
+38
+32
+37
+40
+41
+48
+50
+37
+45
+47
+36
+42
+45
+38
+46
+48
+37
+45
+47
+36
+44
+46
+35
+42
+44
+32
+40
+42
+159
+159
+159
+245
+245
+245
+255
+255
+255
+238
+238
+238
+88
+88
+88
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+151
+151
+151
+250
+250
+250
+238
+237
+237
+153
+124
+108
+130
+86
+50
+131
+84
+48
+116
+74
+45
+28
+20
+17
+8
+9
+11
+7
+9
+11
+9
+11
+13
+12
+15
+17
+22
+23
+24
+17
+17
+18
+10
+11
+13
+11
+13
+14
+48
+40
+23
+203
+166
+76
+221
+181
+85
+34
+36
+33
+58
+53
+40
+236
+194
+90
+175
+144
+67
+199
+163
+75
+250
+202
+88
+162
+132
+62
+34
+32
+23
+181
+148
+67
+203
+168
+80
+211
+174
+82
+172
+140
+65
+114
+94
+46
+240
+196
+91
+189
+155
+74
+233
+189
+85
+95
+81
+46
+22
+26
+29
+6
+20
+29
+144
+120
+63
+227
+187
+86
+65
+57
+38
+25
+29
+33
+23
+28
+31
+19
+23
+26
+15
+18
+21
+10
+11
+13
+9
+10
+12
+10
+11
+13
+11
+12
+14
+13
+14
+16
+15
+19
+20
+16
+20
+21
+14
+18
+19
+17
+21
+23
+21
+26
+29
+28
+33
+36
+26
+31
+34
+30
+35
+38
+27
+32
+35
+27
+32
+35
+29
+35
+37
+33
+39
+41
+33
+38
+41
+35
+42
+44
+41
+49
+51
+43
+51
+53
+39
+47
+49
+38
+46
+48
+34
+42
+44
+35
+43
+45
+37
+45
+47
+34
+43
+44
+37
+45
+46
+38
+46
+48
+154
+154
+154
+245
+245
+244
+251
+251
+251
+155
+155
+155
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+151
+151
+151
+250
+250
+250
+235
+234
+233
+138
+115
+101
+129
+85
+48
+127
+83
+48
+63
+40
+24
+7
+8
+11
+9
+10
+12
+8
+9
+11
+10
+10
+12
+28
+28
+29
+117
+117
+115
+72
+72
+71
+10
+11
+13
+9
+11
+12
+59
+49
+25
+218
+178
+81
+202
+166
+79
+33
+35
+35
+90
+78
+48
+239
+194
+86
+163
+133
+66
+212
+175
+80
+251
+203
+88
+165
+135
+63
+48
+41
+25
+198
+162
+73
+190
+156
+75
+222
+181
+87
+167
+136
+63
+119
+98
+48
+238
+194
+90
+161
+132
+67
+238
+194
+85
+122
+102
+52
+21
+24
+27
+0
+10
+27
+186
+153
+73
+209
+173
+81
+16
+25
+31
+27
+32
+35
+22
+27
+30
+21
+25
+27
+18
+22
+23
+13
+15
+17
+10
+11
+13
+11
+12
+14
+11
+12
+14
+13
+15
+17
+19
+22
+25
+18
+22
+24
+16
+20
+22
+17
+21
+22
+27
+32
+35
+33
+38
+41
+32
+37
+40
+29
+34
+37
+27
+32
+35
+28
+33
+36
+24
+30
+32
+34
+42
+44
+38
+46
+48
+40
+48
+50
+42
+50
+52
+38
+46
+48
+37
+45
+47
+40
+48
+50
+36
+44
+46
+41
+49
+51
+47
+54
+56
+38
+45
+47
+31
+37
+40
+36
+41
+43
+127
+127
+127
+244
+244
+244
+251
+251
+251
+155
+155
+155
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+150
+150
+150
+250
+250
+250
+238
+237
+237
+140
+118
+107
+111
+72
+43
+110
+73
+45
+28
+19
+14
+8
+9
+12
+9
+10
+12
+8
+9
+11
+0
+0
+2
+101
+100
+99
+136
+136
+134
+19
+19
+21
+9
+10
+12
+10
+12
+14
+69
+56
+26
+233
+190
+86
+179
+148
+70
+24
+27
+29
+115
+96
+53
+240
+195
+86
+151
+124
+62
+224
+185
+83
+252
+203
+87
+170
+138
+64
+60
+51
+28
+212
+175
+80
+173
+141
+68
+231
+189
+89
+160
+129
+59
+121
+98
+50
+236
+192
+89
+130
+107
+54
+241
+197
+89
+142
+117
+57
+23
+26
+30
+21
+26
+30
+214
+175
+82
+183
+150
+74
+0
+16
+29
+28
+32
+35
+26
+31
+34
+24
+28
+31
+20
+24
+26
+15
+17
+19
+9
+11
+13
+11
+14
+15
+14
+17
+18
+20
+23
+25
+24
+27
+31
+22
+26
+29
+19
+22
+24
+19
+22
+23
+22
+27
+30
+33
+38
+41
+31
+36
+39
+27
+32
+35
+24
+29
+32
+23
+27
+30
+21
+25
+28
+32
+38
+41
+41
+49
+51
+47
+55
+57
+42
+50
+52
+44
+52
+54
+39
+47
+49
+40
+48
+50
+36
+46
+48
+53
+46
+45
+97
+49
+35
+55
+27
+19
+5
+11
+13
+104
+104
+104
+230
+229
+229
+255
+255
+255
+237
+237
+237
+93
+93
+93
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+132
+132
+132
+249
+249
+249
+245
+245
+245
+150
+130
+119
+103
+68
+44
+74
+49
+32
+12
+12
+13
+10
+11
+13
+10
+11
+13
+5
+7
+8
+67
+68
+66
+164
+163
+159
+51
+51
+51
+13
+14
+16
+8
+9
+11
+11
+11
+14
+82
+66
+31
+245
+199
+91
+156
+128
+63
+17
+26
+28
+137
+115
+59
+241
+195
+86
+146
+121
+61
+231
+188
+83
+252
+203
+87
+174
+142
+65
+70
+58
+32
+227
+185
+86
+156
+128
+59
+239
+195
+92
+150
+123
+58
+119
+97
+51
+233
+191
+88
+107
+89
+42
+238
+195
+91
+158
+130
+60
+23
+27
+27
+71
+61
+37
+228
+187
+85
+145
+119
+63
+6
+19
+28
+23
+28
+31
+25
+30
+32
+27
+32
+35
+17
+21
+23
+14
+16
+17
+11
+12
+14
+13
+17
+18
+16
+20
+21
+20
+23
+26
+21
+25
+29
+22
+26
+29
+1
+8
+12
+168
+168
+168
+124
+124
+123
+22
+28
+32
+29
+34
+37
+31
+36
+39
+25
+30
+33
+27
+31
+34
+23
+27
+30
+31
+36
+39
+44
+50
+53
+44
+51
+53
+44
+52
+54
+48
+56
+58
+38
+46
+48
+41
+47
+49
+75
+49
+41
+152
+73
+37
+175
+80
+38
+132
+62
+33
+85
+86
+86
+223
+223
+222
+255
+255
+255
+246
+246
+246
+142
+142
+142
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+75
+75
+75
+109
+109
+109
+124
+124
+124
+125
+125
+125
+125
+125
+125
+106
+106
+106
+66
+66
+66
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+138
+138
+138
+249
+249
+249
+243
+243
+243
+138
+124
+115
+96
+66
+44
+26
+18
+15
+8
+9
+11
+10
+11
+13
+10
+11
+13
+40
+40
+39
+157
+155
+150
+79
+80
+77
+11
+16
+17
+15
+18
+20
+8
+10
+12
+7
+9
+13
+105
+84
+41
+250
+204
+94
+133
+108
+52
+12
+21
+26
+155
+129
+65
+241
+196
+87
+140
+119
+58
+236
+190
+83
+252
+203
+88
+177
+145
+67
+77
+64
+33
+235
+192
+90
+149
+122
+56
+242
+197
+92
+142
+118
+56
+114
+96
+49
+231
+190
+88
+100
+83
+42
+225
+185
+87
+175
+143
+66
+29
+29
+26
+109
+92
+48
+234
+192
+87
+96
+80
+43
+17
+24
+29
+23
+28
+31
+25
+30
+33
+27
+32
+35
+16
+20
+22
+11
+15
+16
+12
+16
+17
+15
+19
+20
+18
+22
+25
+25
+29
+32
+21
+25
+28
+19
+23
+26
+91
+91
+91
+234
+234
+234
+223
+223
+223
+77
+79
+79
+30
+35
+38
+31
+36
+39
+27
+32
+35
+34
+41
+44
+30
+36
+38
+30
+35
+38
+37
+42
+45
+43
+50
+53
+49
+57
+59
+40
+47
+49
+41
+41
+43
+100
+54
+39
+168
+77
+38
+181
+81
+38
+181
+81
+37
+169
+78
+38
+156
+147
+144
+248
+248
+248
+254
+254
+254
+182
+182
+182
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+42
+42
+42
+163
+163
+163
+223
+223
+223
+242
+242
+242
+252
+252
+252
+253
+253
+253
+252
+252
+252
+241
+241
+241
+218
+218
+218
+151
+151
+151
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+90
+90
+90
+209
+209
+209
+253
+253
+253
+232
+231
+231
+114
+102
+96
+89
+61
+41
+2
+5
+9
+6
+7
+9
+9
+10
+12
+12
+13
+15
+105
+104
+102
+136
+134
+131
+26
+27
+28
+16
+20
+23
+17
+20
+23
+8
+9
+11
+0
+4
+11
+140
+115
+58
+245
+200
+91
+117
+96
+46
+5
+20
+24
+170
+140
+67
+242
+196
+90
+136
+113
+56
+238
+193
+84
+248
+201
+87
+183
+149
+68
+90
+74
+36
+239
+196
+92
+154
+127
+59
+241
+196
+90
+134
+111
+55
+111
+94
+48
+229
+189
+87
+98
+82
+42
+207
+170
+81
+193
+157
+73
+44
+40
+29
+138
+113
+55
+228
+187
+88
+52
+45
+28
+21
+25
+29
+25
+30
+33
+26
+31
+34
+24
+29
+32
+18
+22
+23
+13
+17
+18
+14
+18
+19
+16
+20
+22
+19
+23
+25
+24
+28
+31
+21
+25
+28
+33
+36
+38
+171
+171
+170
+252
+252
+252
+251
+251
+251
+173
+173
+173
+43
+47
+49
+30
+35
+38
+31
+37
+40
+38
+45
+48
+36
+42
+44
+33
+38
+41
+35
+40
+43
+43
+51
+53
+42
+50
+52
+35
+37
+38
+117
+57
+34
+172
+78
+37
+182
+82
+37
+182
+81
+37
+181
+82
+37
+179
+80
+37
+143
+92
+77
+229
+229
+229
+255
+255
+255
+205
+205
+205
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+172
+172
+172
+249
+249
+249
+254
+254
+254
+251
+251
+251
+248
+248
+248
+246
+246
+246
+248
+248
+248
+251
+251
+251
+255
+255
+255
+248
+248
+248
+182
+182
+182
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+71
+71
+71
+230
+230
+230
+254
+254
+254
+254
+254
+254
+203
+203
+203
+84
+66
+56
+36
+24
+18
+6
+7
+10
+7
+8
+10
+9
+10
+12
+27
+27
+27
+157
+156
+154
+60
+59
+59
+13
+15
+18
+15
+19
+22
+16
+17
+21
+8
+9
+11
+0
+0
+9
+169
+139
+68
+239
+193
+87
+105
+86
+45
+3
+18
+23
+184
+150
+72
+240
+194
+89
+139
+114
+56
+240
+196
+87
+232
+187
+82
+188
+153
+70
+112
+92
+47
+239
+196
+91
+169
+138
+70
+240
+195
+86
+123
+103
+53
+113
+95
+48
+229
+188
+87
+96
+80
+43
+186
+153
+73
+208
+171
+79
+56
+49
+32
+160
+131
+61
+214
+176
+84
+29
+28
+24
+22
+25
+28
+24
+29
+32
+26
+31
+34
+24
+29
+32
+15
+18
+20
+14
+17
+18
+14
+18
+19
+16
+20
+21
+17
+21
+21
+20
+24
+25
+22
+26
+29
+81
+82
+82
+236
+236
+235
+255
+255
+255
+255
+255
+255
+241
+241
+240
+108
+109
+108
+31
+36
+40
+39
+47
+49
+40
+46
+49
+37
+43
+45
+33
+38
+41
+36
+41
+44
+34
+41
+43
+53
+41
+37
+131
+61
+34
+176
+79
+39
+182
+81
+39
+183
+82
+38
+183
+82
+38
+182
+82
+38
+182
+81
+37
+160
+69
+27
+180
+174
+173
+254
+254
+254
+245
+245
+245
+98
+98
+98
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+86
+86
+86
+239
+239
+239
+255
+255
+255
+224
+224
+224
+200
+200
+199
+201
+201
+200
+200
+199
+199
+198
+198
+197
+201
+201
+200
+227
+227
+227
+254
+254
+255
+251
+251
+251
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+166
+166
+166
+254
+254
+254
+249
+249
+249
+204
+204
+203
+100
+99
+98
+2
+0
+0
+7
+7
+8
+7
+8
+9
+8
+8
+11
+1
+2
+4
+82
+81
+79
+144
+143
+140
+0
+0
+0
+11
+14
+16
+16
+19
+23
+13
+14
+18
+8
+9
+12
+0
+0
+8
+191
+158
+75
+231
+186
+82
+92
+77
+42
+16
+21
+24
+193
+158
+73
+232
+190
+87
+145
+119
+56
+240
+197
+91
+215
+175
+81
+194
+157
+73
+135
+112
+58
+237
+193
+88
+180
+148
+76
+237
+192
+84
+111
+94
+50
+120
+99
+51
+230
+187
+87
+94
+78
+43
+160
+131
+63
+224
+184
+86
+72
+60
+33
+183
+150
+68
+193
+159
+76
+26
+26
+24
+20
+24
+27
+23
+28
+31
+29
+34
+37
+26
+30
+33
+13
+17
+19
+14
+18
+19
+14
+18
+19
+17
+21
+22
+15
+19
+20
+17
+21
+23
+0
+5
+9
+172
+172
+171
+255
+255
+255
+249
+249
+249
+248
+248
+248
+255
+255
+255
+217
+217
+217
+72
+74
+74
+34
+41
+43
+32
+37
+40
+29
+34
+37
+33
+39
+42
+46
+53
+56
+60
+43
+41
+136
+63
+34
+180
+80
+39
+184
+81
+38
+182
+81
+37
+183
+82
+38
+183
+82
+38
+183
+82
+38
+182
+81
+38
+179
+80
+37
+130
+93
+84
+242
+242
+242
+255
+255
+255
+188
+188
+188
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+132
+132
+132
+255
+255
+255
+249
+249
+249
+169
+169
+168
+247
+247
+247
+255
+255
+255
+255
+255
+255
+254
+254
+254
+245
+245
+245
+196
+195
+195
+218
+218
+217
+255
+255
+255
+246
+246
+246
+121
+121
+121
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+162
+162
+162
+254
+254
+254
+252
+252
+252
+224
+224
+224
+201
+201
+200
+145
+145
+144
+21
+22
+22
+6
+8
+9
+7
+8
+10
+3
+4
+7
+65
+65
+63
+142
+142
+139
+0
+0
+0
+13
+16
+18
+16
+20
+23
+12
+14
+17
+8
+8
+11
+0
+0
+5
+210
+172
+82
+223
+181
+80
+78
+67
+39
+33
+32
+25
+200
+164
+73
+224
+184
+85
+152
+124
+58
+237
+195
+93
+206
+169
+79
+198
+162
+74
+154
+128
+63
+233
+189
+85
+187
+154
+77
+235
+191
+83
+100
+86
+48
+128
+105
+53
+230
+187
+87
+91
+75
+43
+135
+110
+52
+236
+193
+91
+87
+72
+39
+205
+168
+80
+165
+135
+64
+21
+23
+21
+19
+23
+25
+22
+27
+30
+27
+32
+35
+22
+26
+29
+13
+17
+18
+14
+18
+19
+12
+16
+17
+15
+18
+19
+15
+19
+20
+13
+17
+19
+92
+93
+92
+239
+239
+238
+255
+255
+255
+202
+202
+202
+181
+181
+181
+253
+253
+253
+252
+252
+252
+178
+178
+178
+39
+44
+46
+33
+38
+41
+31
+37
+40
+40
+46
+49
+68
+49
+48
+150
+70
+38
+180
+80
+39
+182
+82
+37
+182
+81
+38
+183
+82
+38
+182
+81
+37
+183
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+156
+74
+38
+190
+189
+188
+255
+255
+255
+238
+238
+238
+66
+66
+66
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+160
+160
+160
+255
+255
+255
+236
+236
+235
+184
+184
+183
+255
+255
+255
+246
+246
+246
+218
+218
+218
+235
+235
+235
+254
+254
+254
+253
+253
+253
+191
+190
+189
+234
+234
+233
+255
+255
+255
+218
+218
+218
+53
+53
+53
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+64
+64
+64
+221
+221
+221
+252
+252
+252
+255
+255
+255
+255
+255
+255
+251
+251
+251
+174
+174
+173
+59
+59
+59
+5
+6
+8
+7
+8
+10
+19
+19
+20
+158
+158
+155
+14
+16
+17
+12
+16
+18
+16
+20
+21
+11
+13
+15
+7
+8
+10
+0
+0
+5
+226
+185
+87
+214
+173
+79
+61
+53
+35
+46
+42
+28
+208
+169
+75
+219
+178
+83
+161
+131
+61
+231
+190
+92
+200
+163
+77
+204
+168
+77
+171
+141
+68
+229
+185
+82
+193
+158
+78
+235
+191
+83
+95
+79
+45
+137
+114
+54
+228
+187
+86
+87
+73
+41
+116
+95
+46
+240
+197
+92
+109
+90
+46
+219
+180
+86
+138
+113
+54
+17
+20
+21
+19
+22
+25
+22
+26
+29
+24
+28
+31
+17
+21
+22
+14
+17
+18
+14
+16
+18
+14
+16
+17
+13
+15
+17
+18
+21
+22
+26
+29
+30
+186
+186
+185
+253
+253
+253
+244
+244
+244
+122
+122
+122
+59
+59
+59
+206
+206
+206
+254
+254
+254
+238
+238
+238
+112
+113
+113
+34
+39
+41
+36
+43
+45
+75
+48
+41
+151
+70
+37
+181
+82
+38
+183
+81
+37
+182
+81
+38
+182
+82
+38
+183
+82
+38
+182
+81
+37
+182
+81
+37
+183
+82
+38
+183
+82
+38
+182
+81
+38
+178
+81
+39
+146
+129
+125
+248
+248
+248
+251
+251
+251
+159
+159
+159
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+167
+167
+167
+255
+255
+255
+229
+229
+228
+195
+195
+194
+255
+255
+255
+218
+218
+218
+0
+0
+0
+88
+88
+88
+211
+211
+211
+255
+255
+255
+247
+247
+247
+196
+196
+195
+250
+250
+250
+247
+247
+247
+139
+139
+139
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+77
+77
+77
+159
+159
+159
+194
+194
+194
+230
+230
+230
+254
+254
+254
+252
+252
+251
+203
+203
+203
+80
+80
+80
+0
+0
+0
+16
+17
+18
+142
+140
+136
+97
+96
+94
+12
+16
+18
+17
+19
+21
+10
+10
+13
+7
+7
+9
+28
+23
+14
+237
+194
+89
+205
+167
+76
+36
+31
+24
+55
+48
+29
+213
+173
+78
+210
+172
+80
+170
+138
+63
+224
+184
+89
+192
+157
+73
+212
+172
+79
+188
+154
+73
+224
+182
+81
+197
+162
+77
+234
+189
+84
+88
+75
+44
+147
+122
+59
+227
+185
+84
+84
+70
+40
+100
+84
+43
+234
+192
+88
+143
+118
+59
+228
+187
+90
+116
+95
+46
+18
+23
+25
+22
+26
+28
+24
+28
+31
+23
+28
+30
+16
+19
+21
+12
+14
+16
+12
+13
+15
+13
+14
+16
+14
+16
+18
+15
+19
+20
+90
+90
+90
+230
+230
+230
+254
+254
+254
+200
+200
+200
+34
+34
+34
+0
+0
+0
+106
+106
+106
+242
+242
+242
+255
+255
+255
+195
+195
+195
+21
+25
+29
+81
+44
+34
+159
+76
+40
+182
+82
+37
+183
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+182
+81
+37
+183
+82
+38
+182
+81
+37
+182
+81
+37
+183
+81
+38
+181
+81
+37
+151
+95
+80
+221
+222
+221
+255
+255
+255
+216
+216
+216
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+166
+166
+166
+255
+255
+255
+232
+232
+232
+196
+196
+196
+255
+255
+255
+210
+210
+210
+0
+0
+0
+0
+0
+0
+104
+104
+104
+234
+234
+234
+254
+254
+254
+213
+213
+213
+235
+235
+235
+255
+255
+255
+192
+192
+192
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+28
+28
+28
+38
+38
+38
+53
+53
+53
+64
+64
+64
+73
+73
+73
+88
+88
+88
+127
+127
+127
+159
+159
+159
+202
+202
+202
+216
+216
+216
+239
+239
+239
+255
+255
+255
+255
+255
+255
+254
+254
+254
+231
+231
+231
+126
+126
+125
+31
+32
+32
+99
+98
+96
+143
+141
+138
+29
+29
+29
+14
+15
+17
+10
+10
+12
+4
+6
+10
+75
+63
+33
+241
+197
+87
+195
+159
+74
+12
+18
+20
+63
+54
+32
+217
+176
+80
+201
+166
+77
+178
+145
+67
+218
+178
+87
+181
+149
+70
+220
+179
+81
+199
+164
+79
+220
+178
+81
+200
+164
+80
+233
+189
+83
+82
+72
+45
+158
+131
+65
+225
+182
+83
+78
+64
+36
+82
+69
+36
+224
+184
+82
+184
+152
+74
+228
+189
+87
+100
+84
+43
+22
+27
+30
+24
+28
+31
+27
+31
+34
+26
+31
+33
+15
+17
+19
+13
+14
+16
+12
+14
+15
+13
+14
+16
+13
+17
+18
+24
+27
+29
+174
+175
+173
+254
+254
+254
+247
+247
+247
+130
+130
+130
+0
+0
+0
+0
+0
+0
+0
+0
+0
+186
+186
+186
+255
+255
+255
+248
+248
+247
+158
+158
+157
+120
+58
+35
+178
+80
+38
+181
+81
+37
+183
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+182
+81
+37
+182
+81
+37
+183
+82
+38
+183
+82
+38
+183
+82
+38
+182
+81
+36
+164
+74
+35
+185
+179
+179
+253
+252
+253
+246
+246
+246
+121
+121
+121
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+150
+150
+150
+255
+255
+255
+241
+241
+240
+184
+184
+183
+255
+255
+255
+230
+230
+230
+0
+0
+0
+0
+0
+0
+13
+13
+13
+185
+185
+185
+253
+253
+253
+231
+231
+231
+208
+208
+207
+255
+255
+255
+228
+228
+228
+66
+66
+66
+53
+53
+53
+96
+96
+96
+119
+119
+119
+151
+151
+151
+166
+166
+166
+186
+186
+186
+194
+194
+194
+212
+212
+212
+223
+223
+223
+236
+236
+236
+247
+247
+247
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+255
+254
+254
+254
+249
+249
+249
+238
+238
+237
+226
+226
+226
+204
+205
+204
+122
+123
+120
+83
+82
+80
+145
+144
+141
+71
+71
+70
+10
+11
+13
+9
+10
+11
+1
+3
+9
+107
+89
+45
+243
+196
+87
+181
+150
+70
+8
+18
+24
+71
+61
+35
+220
+178
+79
+195
+161
+77
+187
+153
+70
+210
+172
+82
+169
+139
+66
+225
+184
+83
+208
+171
+83
+215
+175
+79
+201
+166
+80
+232
+188
+83
+75
+65
+41
+169
+140
+70
+221
+181
+82
+73
+61
+34
+57
+47
+29
+212
+174
+79
+228
+185
+84
+223
+184
+84
+83
+69
+40
+24
+29
+32
+26
+31
+34
+29
+34
+37
+24
+29
+31
+14
+17
+18
+11
+15
+16
+15
+20
+20
+12
+15
+17
+4
+8
+11
+105
+106
+106
+242
+242
+241
+255
+255
+255
+203
+203
+203
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+93
+93
+93
+238
+238
+238
+255
+255
+255
+238
+238
+238
+110
+101
+100
+166
+75
+38
+182
+80
+37
+182
+82
+37
+182
+82
+38
+182
+82
+38
+182
+82
+38
+182
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+183
+82
+38
+182
+82
+38
+183
+81
+38
+176
+79
+35
+137
+103
+95
+242
+241
+241
+255
+255
+255
+191
+191
+191
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+122
+122
+122
+255
+255
+255
+252
+252
+251
+163
+163
+162
+255
+255
+255
+245
+245
+245
+98
+98
+98
+0
+0
+0
+0
+0
+0
+131
+131
+131
+249
+249
+249
+249
+248
+248
+171
+171
+170
+254
+254
+254
+251
+251
+251
+221
+221
+221
+230
+230
+230
+238
+238
+238
+242
+242
+242
+250
+250
+250
+253
+253
+253
+255
+255
+255
+255
+255
+255
+255
+255
+255
+254
+254
+254
+254
+254
+254
+254
+254
+254
+250
+250
+250
+239
+239
+239
+220
+220
+220
+201
+201
+200
+183
+183
+182
+165
+165
+163
+169
+170
+166
+184
+183
+178
+198
+196
+189
+208
+204
+197
+213
+209
+201
+205
+202
+193
+155
+154
+149
+54
+54
+53
+9
+11
+12
+8
+8
+10
+0
+0
+7
+128
+107
+52
+242
+197
+85
+170
+140
+65
+10
+19
+27
+77
+66
+38
+223
+182
+81
+189
+156
+77
+196
+159
+73
+201
+165
+79
+158
+130
+60
+231
+190
+88
+214
+177
+84
+212
+173
+78
+203
+166
+79
+231
+187
+83
+67
+59
+38
+179
+148
+73
+218
+178
+81
+65
+56
+32
+23
+22
+19
+197
+162
+75
+251
+202
+87
+213
+174
+79
+61
+54
+35
+26
+30
+33
+30
+35
+38
+32
+37
+40
+25
+30
+32
+14
+16
+18
+14
+17
+18
+16
+21
+21
+12
+15
+16
+0
+0
+0
+184
+184
+183
+255
+255
+255
+240
+240
+240
+101
+101
+101
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+143
+143
+143
+244
+244
+244
+253
+253
+253
+177
+178
+177
+112
+61
+46
+179
+82
+39
+180
+81
+37
+179
+81
+37
+180
+82
+37
+180
+82
+37
+180
+82
+37
+182
+82
+38
+182
+82
+37
+182
+82
+37
+183
+82
+38
+183
+82
+38
+182
+81
+37
+182
+81
+37
+147
+64
+23
+185
+182
+181
+255
+255
+255
+246
+246
+246
+95
+95
+95
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+83
+83
+83
+243
+243
+243
+254
+254
+254
+189
+188
+188
+239
+239
+238
+252
+252
+252
+181
+181
+181
+96
+96
+96
+129
+129
+129
+182
+182
+182
+251
+251
+251
+255
+255
+255
+169
+169
+169
+246
+246
+246
+255
+255
+255
+255
+255
+255
+255
+255
+255
+251
+251
+251
+246
+246
+246
+241
+241
+240
+235
+235
+235
+227
+227
+225
+219
+219
+218
+211
+210
+209
+193
+192
+191
+182
+180
+177
+161
+160
+156
+157
+156
+151
+162
+160
+153
+179
+178
+170
+199
+196
+188
+212
+209
+200
+219
+215
+206
+223
+219
+210
+224
+220
+210
+225
+221
+211
+226
+222
+212
+225
+222
+212
+227
+223
+213
+230
+226
+216
+122
+120
+114
+0
+2
+4
+7
+7
+9
+0
+0
+7
+146
+121
+60
+243
+197
+85
+156
+130
+63
+7
+17
+24
+82
+69
+39
+225
+184
+82
+185
+151
+75
+202
+164
+76
+192
+158
+75
+149
+122
+57
+238
+194
+91
+218
+180
+85
+210
+172
+77
+205
+169
+79
+229
+187
+84
+60
+52
+34
+184
+153
+73
+215
+176
+80
+60
+51
+29
+5
+14
+19
+176
+145
+67
+250
+201
+88
+200
+164
+76
+38
+39
+34
+26
+31
+34
+29
+34
+37
+27
+32
+35
+21
+26
+28
+13
+15
+17
+12
+15
+16
+14
+18
+18
+12
+15
+17
+11
+13
+13
+213
+213
+212
+255
+255
+255
+208
+208
+208
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+205
+205
+205
+255
+255
+255
+242
+242
+241
+119
+115
+113
+146
+68
+33
+180
+81
+37
+179
+81
+37
+179
+81
+36
+180
+82
+37
+180
+81
+37
+179
+81
+36
+179
+81
+36
+180
+82
+37
+182
+82
+38
+183
+82
+38
+181
+81
+37
+182
+81
+37
+177
+81
+39
+119
+95
+90
+243
+243
+243
+254
+254
+254
+183
+183
+183
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+50
+50
+50
+209
+209
+209
+255
+255
+255
+227
+228
+227
+208
+208
+208
+254
+254
+254
+244
+244
+244
+236
+236
+236
+251
+251
+251
+255
+255
+255
+255
+255
+255
+255
+255
+255
+185
+184
+184
+218
+218
+218
+222
+222
+222
+199
+199
+198
+179
+179
+178
+175
+175
+173
+175
+174
+171
+177
+174
+170
+175
+172
+165
+175
+171
+162
+182
+176
+167
+190
+184
+176
+199
+194
+185
+210
+204
+195
+217
+212
+202
+221
+216
+206
+223
+218
+208
+223
+219
+209
+224
+220
+211
+225
+221
+212
+226
+222
+213
+227
+223
+214
+229
+225
+216
+229
+225
+216
+229
+225
+216
+225
+221
+212
+225
+221
+212
+229
+225
+216
+157
+155
+148
+0
+0
+0
+7
+7
+9
+0
+0
+6
+161
+132
+64
+244
+196
+86
+140
+117
+58
+9
+18
+23
+88
+73
+40
+228
+185
+84
+180
+147
+72
+207
+169
+77
+186
+152
+72
+139
+113
+53
+241
+196
+92
+223
+183
+86
+209
+171
+77
+206
+170
+80
+228
+187
+85
+56
+49
+33
+190
+157
+75
+214
+174
+78
+56
+48
+29
+6
+15
+20
+150
+124
+61
+246
+198
+86
+185
+152
+73
+10
+19
+26
+22
+27
+30
+31
+36
+39
+25
+30
+32
+20
+23
+26
+14
+15
+17
+10
+13
+14
+14
+18
+19
+18
+22
+23
+73
+74
+73
+234
+233
+233
+254
+254
+254
+180
+180
+180
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+102
+102
+102
+238
+238
+238
+255
+255
+255
+219
+219
+218
+99
+73
+65
+166
+76
+38
+179
+81
+37
+179
+81
+37
+179
+80
+38
+180
+81
+38
+180
+81
+37
+180
+82
+37
+180
+82
+37
+182
+81
+38
+182
+82
+37
+180
+82
+37
+181
+81
+36
+181
+81
+38
+151
+80
+56
+196
+196
+196
+255
+255
+255
+231
+231
+231
+71
+71
+71
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+50
+50
+50
+182
+182
+182
+253
+253
+253
+250
+250
+250
+185
+185
+184
+243
+243
+243
+255
+255
+255
+253
+253
+252
+248
+248
+248
+237
+237
+236
+210
+210
+209
+173
+173
+172
+113
+112
+111
+114
+112
+109
+178
+175
+169
+195
+190
+180
+209
+203
+193
+208
+202
+192
+208
+202
+191
+211
+205
+194
+214
+208
+197
+219
+212
+202
+220
+215
+204
+221
+217
+206
+221
+217
+206
+222
+218
+207
+224
+220
+211
+223
+219
+210
+223
+219
+210
+225
+221
+212
+226
+222
+213
+226
+222
+213
+226
+222
+213
+227
+223
+214
+228
+224
+215
+227
+223
+214
+229
+225
+216
+227
+223
+214
+227
+223
+214
+226
+221
+213
+163
+161
+154
+0
+0
+0
+7
+7
+9
+0
+0
+7
+172
+142
+67
+243
+196
+86
+126
+105
+53
+9
+17
+21
+91
+75
+39
+231
+187
+84
+174
+143
+68
+211
+172
+79
+179
+148
+70
+128
+104
+47
+241
+197
+90
+229
+188
+83
+209
+170
+75
+207
+170
+81
+227
+187
+84
+51
+44
+28
+193
+159
+76
+213
+173
+78
+53
+47
+29
+13
+19
+22
+113
+95
+50
+242
+196
+87
+164
+136
+65
+11
+21
+28
+27
+32
+35
+31
+36
+39
+24
+29
+31
+19
+23
+25
+13
+16
+17
+12
+14
+16
+17
+21
+22
+17
+21
+23
+114
+114
+114
+241
+241
+241
+250
+250
+250
+149
+149
+149
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+161
+161
+161
+252
+252
+252
+252
+252
+252
+190
+190
+189
+112
+63
+50
+175
+79
+38
+179
+81
+37
+179
+80
+38
+179
+81
+38
+180
+82
+37
+180
+82
+37
+180
+80
+38
+180
+82
+37
+180
+82
+37
+179
+82
+37
+179
+81
+37
+181
+82
+37
+173
+81
+38
+159
+147
+144
+248
+248
+248
+247
+247
+247
+140
+140
+140
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+184
+184
+184
+252
+252
+252
+255
+255
+255
+255
+255
+255
+205
+205
+204
+176
+176
+176
+209
+209
+209
+192
+191
+189
+165
+163
+158
+158
+155
+146
+182
+177
+168
+204
+199
+189
+195
+190
+182
+191
+186
+177
+216
+211
+199
+217
+211
+200
+219
+213
+203
+218
+213
+202
+219
+215
+204
+220
+216
+205
+220
+216
+205
+221
+216
+205
+221
+217
+206
+221
+217
+206
+222
+218
+207
+223
+219
+208
+223
+219
+210
+224
+220
+211
+224
+220
+211
+225
+221
+212
+226
+222
+213
+226
+222
+213
+225
+221
+212
+227
+223
+214
+227
+223
+214
+228
+224
+215
+228
+224
+215
+229
+225
+216
+230
+226
+217
+230
+225
+216
+176
+173
+166
+0
+0
+0
+6
+6
+8
+0
+0
+8
+184
+151
+70
+243
+197
+86
+108
+89
+48
+9
+15
+19
+94
+78
+39
+233
+189
+85
+169
+139
+67
+216
+176
+82
+174
+143
+68
+119
+97
+45
+242
+197
+89
+239
+194
+84
+209
+170
+76
+210
+173
+81
+227
+186
+83
+42
+36
+23
+195
+162
+78
+212
+172
+77
+51
+45
+27
+16
+21
+24
+90
+76
+43
+241
+197
+89
+171
+140
+67
+7
+20
+25
+30
+34
+37
+29
+34
+37
+23
+27
+30
+15
+19
+21
+14
+17
+18
+14
+17
+18
+18
+23
+25
+21
+25
+28
+149
+149
+149
+249
+249
+249
+242
+242
+242
+115
+115
+115
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+61
+61
+61
+203
+203
+203
+254
+254
+254
+245
+245
+245
+143
+143
+143
+130
+61
+32
+179
+81
+38
+179
+80
+38
+180
+81
+38
+180
+82
+37
+180
+82
+37
+179
+81
+37
+180
+81
+37
+180
+82
+37
+179
+81
+37
+179
+81
+36
+180
+82
+37
+178
+81
+37
+146
+96
+82
+231
+231
+231
+255
+255
+255
+197
+197
+197
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+99
+99
+99
+245
+245
+245
+255
+254
+254
+221
+221
+221
+162
+162
+161
+140
+139
+137
+165
+162
+154
+192
+189
+180
+202
+197
+188
+211
+204
+194
+216
+210
+198
+216
+212
+201
+219
+215
+204
+220
+216
+205
+219
+215
+204
+219
+215
+204
+220
+216
+205
+219
+215
+204
+219
+215
+204
+219
+215
+204
+220
+216
+205
+220
+216
+205
+220
+216
+205
+220
+216
+205
+221
+217
+206
+222
+218
+208
+223
+219
+210
+223
+219
+210
+224
+220
+211
+224
+220
+211
+225
+221
+212
+225
+221
+212
+225
+221
+212
+226
+222
+213
+228
+224
+215
+227
+223
+214
+229
+225
+216
+229
+225
+216
+230
+226
+217
+231
+227
+218
+230
+226
+217
+189
+187
+180
+0
+0
+0
+5
+5
+6
+2
+7
+12
+194
+158
+74
+243
+197
+89
+85
+71
+37
+11
+17
+19
+96
+80
+39
+235
+190
+85
+165
+135
+65
+220
+179
+84
+170
+138
+66
+111
+90
+43
+242
+195
+87
+249
+201
+86
+210
+171
+77
+214
+175
+83
+227
+184
+84
+27
+22
+19
+196
+163
+78
+213
+172
+78
+52
+45
+29
+16
+22
+26
+125
+104
+56
+245
+198
+87
+195
+160
+75
+28
+28
+25
+29
+34
+37
+28
+33
+36
+19
+25
+26
+14
+18
+19
+14
+18
+19
+16
+20
+21
+18
+22
+24
+27
+30
+31
+173
+173
+172
+254
+254
+254
+231
+231
+231
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+229
+229
+229
+255
+255
+255
+240
+240
+240
+126
+117
+114
+154
+69
+32
+179
+81
+37
+179
+81
+37
+180
+81
+37
+180
+81
+37
+180
+81
+37
+180
+80
+38
+179
+80
+38
+179
+80
+38
+180
+81
+37
+179
+81
+36
+179
+81
+36
+155
+67
+25
+190
+184
+184
+255
+255
+254
+239
+239
+239
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+133
+133
+133
+249
+249
+249
+244
+244
+244
+126
+126
+124
+182
+180
+174
+155
+152
+146
+214
+210
+200
+217
+213
+202
+218
+214
+203
+220
+215
+204
+221
+217
+206
+220
+216
+206
+221
+216
+205
+222
+218
+207
+219
+216
+205
+221
+217
+206
+221
+217
+206
+219
+215
+204
+219
+215
+204
+220
+216
+205
+220
+216
+205
+218
+214
+203
+220
+216
+205
+222
+218
+207
+222
+218
+207
+222
+218
+209
+223
+219
+210
+224
+220
+211
+223
+219
+210
+224
+220
+211
+224
+220
+211
+226
+222
+213
+226
+222
+213
+226
+222
+213
+227
+223
+214
+228
+224
+215
+229
+225
+216
+229
+225
+216
+230
+226
+217
+230
+226
+217
+230
+226
+217
+195
+192
+185
+0
+0
+0
+5
+5
+5
+28
+27
+22
+200
+164
+76
+242
+197
+90
+64
+54
+33
+14
+19
+21
+97
+81
+39
+235
+192
+85
+160
+131
+65
+224
+181
+84
+166
+135
+65
+102
+83
+40
+236
+191
+85
+253
+203
+86
+210
+172
+77
+219
+179
+84
+225
+183
+84
+4
+10
+16
+195
+161
+79
+213
+173
+78
+56
+49
+30
+9
+18
+23
+153
+127
+62
+247
+199
+88
+213
+175
+78
+61
+53
+31
+23
+28
+30
+23
+28
+31
+17
+22
+23
+15
+19
+20
+14
+18
+19
+13
+17
+18
+17
+21
+21
+50
+51
+51
+203
+203
+202
+255
+255
+255
+218
+218
+218
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+117
+117
+117
+240
+240
+240
+255
+255
+255
+228
+228
+228
+115
+94
+90
+166
+77
+39
+180
+80
+39
+179
+80
+38
+179
+80
+38
+180
+81
+39
+179
+80
+38
+179
+80
+38
+178
+79
+37
+179
+81
+36
+180
+82
+37
+180
+81
+36
+178
+79
+36
+130
+103
+96
+246
+246
+246
+255
+255
+255
+184
+184
+184
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+104
+104
+104
+248
+248
+248
+252
+252
+252
+137
+136
+135
+205
+202
+193
+149
+147
+141
+217
+213
+204
+222
+218
+208
+223
+219
+209
+222
+218
+209
+223
+219
+209
+222
+218
+208
+222
+218
+209
+223
+219
+210
+221
+217
+207
+222
+218
+208
+221
+217
+207
+220
+216
+205
+221
+217
+206
+221
+217
+206
+220
+216
+205
+220
+216
+205
+221
+217
+206
+222
+218
+207
+222
+218
+207
+222
+218
+209
+222
+218
+209
+223
+219
+210
+223
+219
+210
+224
+220
+211
+225
+221
+212
+225
+221
+212
+226
+222
+213
+226
+222
+213
+227
+223
+214
+228
+224
+215
+227
+223
+214
+228
+224
+215
+230
+226
+217
+230
+226
+217
+230
+225
+217
+207
+203
+194
+0
+0
+0
+6
+6
+6
+44
+37
+25
+205
+168
+77
+240
+195
+89
+37
+32
+21
+12
+15
+17
+99
+82
+39
+237
+194
+86
+156
+127
+62
+226
+184
+85
+163
+132
+64
+92
+76
+38
+230
+186
+83
+253
+203
+87
+212
+173
+78
+223
+182
+85
+224
+182
+83
+0
+0
+13
+193
+159
+77
+216
+175
+78
+61
+52
+31
+4
+14
+19
+175
+145
+68
+250
+202
+88
+229
+186
+84
+90
+76
+40
+23
+27
+29
+23
+27
+30
+18
+22
+23
+12
+16
+17
+13
+17
+18
+14
+18
+19
+17
+21
+22
+71
+71
+71
+233
+232
+232
+254
+254
+254
+180
+180
+180
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+150
+150
+150
+246
+246
+246
+254
+254
+253
+205
+206
+205
+108
+70
+60
+169
+77
+40
+180
+81
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+180
+82
+37
+180
+82
+37
+180
+81
+36
+183
+81
+37
+146
+70
+39
+194
+193
+192
+255
+255
+255
+235
+235
+235
+59
+59
+59
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+50
+50
+50
+238
+238
+238
+255
+255
+255
+164
+164
+163
+198
+195
+187
+147
+145
+139
+216
+211
+203
+223
+219
+210
+223
+219
+210
+223
+219
+210
+224
+220
+211
+224
+220
+211
+224
+220
+211
+224
+220
+211
+222
+218
+209
+223
+219
+210
+222
+218
+207
+221
+217
+206
+221
+217
+206
+221
+217
+206
+221
+217
+206
+221
+217
+206
+221
+217
+206
+222
+218
+207
+222
+218
+207
+221
+217
+208
+222
+218
+209
+223
+219
+210
+223
+219
+210
+223
+219
+210
+224
+220
+211
+226
+222
+213
+226
+222
+213
+226
+222
+213
+225
+221
+212
+227
+223
+214
+227
+223
+213
+227
+223
+214
+230
+226
+217
+231
+227
+218
+230
+226
+217
+212
+208
+200
+0
+0
+0
+5
+5
+7
+55
+45
+26
+213
+172
+76
+233
+190
+87
+12
+16
+17
+12
+14
+16
+101
+84
+39
+237
+194
+88
+153
+126
+61
+227
+185
+85
+159
+129
+62
+81
+66
+34
+224
+181
+82
+253
+204
+87
+215
+175
+79
+225
+184
+87
+224
+181
+84
+0
+0
+10
+190
+156
+74
+219
+178
+80
+68
+58
+33
+18
+22
+21
+194
+158
+75
+230
+186
+84
+237
+194
+89
+115
+94
+44
+23
+27
+31
+22
+26
+28
+18
+22
+22
+12
+16
+17
+12
+16
+17
+14
+18
+19
+11
+16
+18
+118
+118
+118
+254
+254
+254
+252
+252
+252
+119
+119
+119
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+85
+85
+85
+224
+224
+224
+255
+255
+255
+254
+254
+254
+193
+192
+191
+109
+57
+41
+172
+78
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+81
+37
+179
+81
+37
+179
+81
+37
+180
+82
+37
+177
+80
+40
+141
+129
+127
+248
+248
+248
+251
+251
+251
+158
+158
+158
+22
+22
+22
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+215
+215
+215
+255
+255
+255
+201
+201
+201
+179
+175
+169
+164
+160
+154
+193
+190
+183
+224
+220
+211
+222
+218
+209
+223
+219
+210
+224
+220
+211
+224
+220
+211
+224
+220
+211
+224
+220
+211
+223
+219
+210
+223
+219
+210
+222
+218
+208
+221
+217
+207
+222
+218
+208
+222
+218
+206
+221
+217
+206
+221
+217
+206
+220
+216
+205
+221
+217
+206
+221
+217
+207
+222
+218
+209
+223
+219
+210
+224
+220
+211
+224
+220
+211
+224
+220
+211
+225
+221
+212
+225
+221
+212
+225
+221
+212
+226
+222
+213
+227
+223
+214
+227
+223
+214
+227
+223
+214
+228
+224
+215
+230
+226
+217
+229
+225
+216
+229
+225
+215
+206
+203
+195
+0
+0
+0
+6
+7
+8
+65
+53
+29
+218
+175
+78
+225
+184
+87
+0
+5
+14
+12
+14
+16
+102
+85
+41
+239
+195
+90
+150
+123
+59
+228
+186
+85
+158
+128
+62
+63
+53
+28
+216
+176
+80
+254
+204
+86
+218
+177
+80
+225
+184
+87
+224
+183
+84
+0
+0
+13
+184
+150
+72
+223
+180
+81
+77
+65
+37
+45
+41
+28
+208
+171
+79
+198
+162
+79
+231
+189
+88
+146
+119
+58
+25
+29
+31
+23
+26
+29
+17
+21
+21
+15
+19
+20
+15
+19
+20
+14
+18
+19
+0
+0
+0
+185
+185
+184
+255
+255
+255
+232
+232
+232
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+90
+90
+90
+222
+222
+222
+254
+254
+254
+254
+254
+254
+230
+230
+230
+193
+189
+188
+118
+83
+75
+162
+73
+36
+178
+80
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+180
+82
+37
+179
+81
+37
+180
+81
+38
+180
+82
+37
+180
+81
+38
+145
+90
+76
+217
+217
+217
+255
+255
+255
+232
+232
+232
+183
+183
+183
+162
+162
+162
+85
+85
+85
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+181
+181
+181
+255
+255
+255
+230
+230
+229
+141
+139
+134
+192
+188
+182
+156
+154
+149
+226
+221
+213
+223
+219
+210
+224
+220
+211
+224
+220
+211
+225
+221
+212
+224
+220
+211
+224
+220
+211
+223
+219
+210
+223
+219
+210
+225
+220
+210
+225
+221
+211
+225
+221
+212
+224
+220
+210
+221
+217
+206
+220
+216
+205
+220
+216
+205
+220
+216
+205
+221
+217
+208
+223
+219
+209
+223
+219
+210
+223
+219
+210
+224
+220
+211
+224
+220
+211
+224
+220
+211
+225
+221
+212
+225
+221
+212
+225
+221
+212
+226
+222
+213
+226
+222
+213
+226
+222
+213
+227
+223
+214
+229
+225
+216
+228
+224
+215
+229
+225
+216
+171
+169
+162
+0
+0
+0
+7
+8
+9
+72
+60
+33
+220
+179
+80
+218
+179
+84
+0
+0
+14
+12
+15
+15
+104
+85
+42
+240
+195
+89
+147
+121
+58
+228
+187
+87
+157
+128
+60
+45
+39
+22
+209
+169
+76
+254
+203
+86
+220
+179
+80
+220
+181
+87
+225
+185
+84
+29
+23
+17
+175
+144
+69
+228
+184
+82
+86
+72
+41
+74
+63
+38
+220
+180
+83
+167
+139
+68
+210
+171
+80
+185
+152
+72
+26
+26
+26
+19
+23
+24
+13
+16
+17
+13
+17
+18
+13
+17
+18
+13
+17
+18
+0
+0
+0
+231
+231
+231
+255
+255
+255
+190
+190
+190
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+175
+175
+175
+255
+255
+255
+251
+250
+250
+190
+188
+187
+145
+105
+96
+162
+74
+38
+172
+77
+36
+178
+79
+37
+178
+79
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+37
+179
+81
+36
+179
+81
+37
+179
+81
+36
+180
+81
+37
+166
+74
+38
+158
+149
+147
+249
+249
+249
+255
+255
+255
+255
+255
+255
+252
+252
+252
+231
+231
+231
+130
+130
+130
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+125
+125
+125
+254
+254
+254
+253
+252
+252
+141
+140
+137
+204
+201
+193
+126
+124
+119
+227
+222
+214
+223
+219
+210
+224
+220
+211
+224
+220
+211
+225
+221
+212
+225
+221
+212
+225
+221
+211
+223
+219
+210
+225
+221
+212
+212
+208
+200
+193
+189
+182
+216
+212
+202
+222
+218
+208
+220
+216
+205
+220
+216
+205
+220
+216
+204
+221
+217
+206
+222
+218
+208
+222
+218
+208
+222
+218
+208
+222
+218
+209
+224
+220
+211
+224
+220
+211
+223
+219
+210
+224
+220
+211
+225
+221
+212
+225
+221
+212
+225
+221
+212
+226
+222
+213
+226
+222
+213
+227
+223
+214
+227
+223
+214
+227
+223
+214
+226
+222
+213
+101
+100
+96
+1
+1
+3
+10
+11
+13
+79
+67
+37
+224
+182
+81
+213
+174
+81
+0
+0
+11
+11
+14
+14
+104
+86
+40
+240
+196
+89
+147
+121
+58
+228
+186
+87
+158
+129
+60
+26
+23
+17
+196
+160
+73
+252
+203
+87
+224
+181
+80
+212
+175
+84
+229
+187
+83
+57
+46
+26
+164
+135
+66
+231
+188
+85
+92
+77
+43
+91
+78
+42
+229
+188
+87
+134
+110
+54
+182
+148
+68
+218
+179
+85
+31
+29
+23
+17
+22
+22
+13
+15
+16
+12
+13
+15
+12
+13
+15
+10
+11
+13
+51
+52
+51
+242
+242
+242
+255
+255
+255
+154
+154
+154
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+182
+182
+182
+255
+255
+255
+241
+241
+241
+141
+132
+131
+144
+82
+63
+155
+74
+36
+156
+73
+38
+145
+68
+36
+166
+74
+38
+178
+80
+37
+178
+80
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+180
+82
+37
+180
+81
+36
+180
+80
+38
+178
+80
+39
+136
+60
+28
+173
+167
+165
+221
+220
+220
+227
+227
+226
+252
+252
+252
+255
+255
+255
+232
+232
+232
+69
+69
+69
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+75
+75
+75
+235
+235
+235
+254
+254
+254
+182
+182
+181
+194
+191
+184
+140
+139
+134
+215
+211
+203
+224
+220
+211
+225
+221
+212
+225
+221
+212
+225
+221
+212
+225
+221
+212
+224
+220
+211
+218
+215
+206
+216
+212
+204
+115
+113
+109
+0
+0
+0
+188
+185
+178
+214
+210
+200
+168
+164
+157
+189
+185
+178
+223
+219
+208
+221
+217
+206
+222
+218
+207
+222
+218
+207
+223
+219
+208
+222
+218
+209
+223
+219
+210
+224
+220
+211
+224
+220
+211
+224
+220
+211
+224
+220
+211
+224
+220
+211
+226
+222
+213
+225
+221
+212
+225
+221
+212
+227
+223
+214
+227
+223
+214
+226
+222
+213
+199
+196
+189
+55
+54
+52
+5
+5
+7
+11
+12
+16
+85
+71
+38
+227
+184
+82
+208
+170
+79
+0
+0
+8
+11
+12
+14
+106
+86
+40
+240
+196
+90
+145
+120
+57
+227
+186
+85
+160
+130
+62
+2
+6
+12
+183
+150
+70
+251
+202
+87
+226
+183
+81
+205
+167
+80
+233
+188
+84
+79
+65
+36
+153
+126
+63
+235
+190
+86
+97
+81
+44
+107
+89
+45
+236
+193
+91
+97
+80
+40
+151
+124
+59
+238
+194
+91
+72
+61
+34
+13
+18
+20
+9
+11
+12
+9
+10
+12
+10
+12
+14
+12
+13
+15
+0
+0
+0
+234
+234
+234
+255
+255
+255
+178
+178
+178
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+136
+136
+136
+253
+253
+253
+255
+255
+255
+237
+237
+237
+112
+112
+112
+95
+44
+27
+151
+70
+36
+175
+80
+37
+180
+80
+37
+179
+80
+38
+178
+79
+37
+179
+80
+38
+180
+81
+39
+179
+80
+38
+179
+80
+38
+179
+81
+38
+179
+81
+36
+179
+80
+38
+180
+82
+38
+177
+81
+40
+128
+56
+23
+55
+23
+6
+96
+95
+94
+207
+207
+206
+254
+254
+254
+248
+248
+248
+127
+127
+127
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+46
+46
+46
+204
+204
+204
+255
+255
+255
+219
+219
+219
+169
+166
+161
+179
+177
+170
+190
+187
+180
+225
+221
+212
+225
+221
+212
+225
+221
+212
+224
+220
+211
+224
+219
+210
+187
+183
+178
+112
+111
+108
+147
+145
+143
+36
+36
+36
+71
+69
+67
+201
+197
+190
+141
+138
+133
+24
+24
+24
+84
+82
+80
+214
+209
+201
+220
+216
+206
+221
+217
+206
+222
+218
+208
+223
+219
+209
+223
+219
+209
+222
+218
+208
+223
+219
+209
+224
+220
+210
+225
+221
+212
+224
+220
+211
+225
+221
+212
+226
+222
+213
+225
+221
+212
+226
+222
+213
+226
+222
+213
+226
+222
+214
+226
+221
+212
+155
+151
+146
+21
+20
+21
+6
+6
+7
+11
+12
+15
+91
+75
+38
+230
+187
+83
+201
+164
+79
+0
+0
+8
+11
+12
+15
+106
+87
+40
+241
+197
+90
+143
+118
+57
+226
+185
+85
+163
+134
+63
+0
+5
+12
+166
+136
+64
+250
+201
+87
+230
+185
+82
+195
+159
+79
+235
+189
+83
+94
+78
+42
+142
+117
+57
+238
+193
+87
+102
+84
+42
+122
+100
+47
+234
+192
+91
+76
+63
+32
+116
+95
+48
+237
+193
+87
+138
+114
+59
+0
+10
+19
+9
+9
+12
+9
+10
+12
+12
+14
+16
+16
+19
+20
+0
+0
+0
+213
+212
+211
+255
+255
+255
+203
+203
+203
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+230
+230
+230
+255
+255
+255
+249
+248
+248
+157
+154
+154
+125
+63
+40
+170
+78
+38
+176
+80
+37
+177
+80
+37
+179
+81
+38
+178
+79
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+81
+37
+179
+80
+37
+180
+81
+37
+169
+76
+38
+137
+66
+39
+78
+50
+40
+144
+144
+144
+247
+247
+247
+255
+255
+255
+220
+220
+220
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+169
+169
+169
+253
+253
+253
+236
+236
+236
+159
+157
+153
+207
+203
+195
+161
+159
+153
+224
+220
+211
+225
+221
+212
+225
+221
+212
+224
+218
+210
+195
+191
+184
+71
+70
+68
+51
+51
+51
+48
+49
+49
+17
+18
+18
+141
+138
+133
+165
+162
+156
+10
+10
+10
+0
+0
+0
+144
+143
+137
+221
+217
+207
+221
+217
+206
+220
+216
+206
+221
+217
+207
+222
+218
+207
+222
+218
+207
+220
+216
+205
+221
+217
+206
+222
+218
+209
+223
+219
+211
+223
+219
+210
+223
+219
+210
+224
+220
+210
+224
+220
+211
+225
+221
+212
+226
+222
+213
+226
+222
+213
+215
+211
+202
+99
+97
+94
+6
+6
+8
+5
+5
+6
+10
+11
+13
+94
+77
+38
+232
+188
+84
+194
+160
+78
+0
+0
+9
+12
+13
+15
+107
+88
+40
+242
+197
+90
+141
+117
+57
+225
+183
+85
+166
+136
+65
+6
+8
+13
+145
+119
+58
+248
+200
+86
+233
+188
+84
+183
+151
+77
+236
+191
+83
+104
+88
+46
+132
+108
+53
+240
+196
+90
+107
+88
+43
+142
+115
+55
+228
+186
+88
+66
+54
+28
+62
+52
+28
+226
+185
+84
+189
+156
+74
+0
+2
+19
+9
+11
+12
+11
+12
+14
+13
+14
+16
+13
+14
+16
+0
+0
+0
+180
+180
+179
+255
+255
+255
+231
+231
+231
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+90
+90
+90
+216
+216
+216
+254
+254
+254
+247
+247
+246
+161
+160
+159
+124
+57
+27
+174
+80
+38
+177
+80
+37
+177
+80
+37
+178
+80
+38
+178
+79
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+180
+81
+39
+180
+81
+39
+165
+75
+40
+138
+64
+34
+111
+51
+21
+100
+90
+88
+182
+182
+182
+248
+247
+247
+255
+255
+255
+235
+235
+235
+120
+120
+120
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+133
+133
+133
+245
+245
+245
+246
+246
+246
+164
+163
+161
+216
+212
+205
+148
+146
+141
+218
+215
+206
+226
+222
+213
+225
+221
+212
+217
+213
+205
+104
+102
+99
+13
+13
+13
+61
+61
+61
+17
+18
+17
+56
+55
+53
+173
+170
+165
+85
+84
+81
+3
+3
+4
+63
+62
+61
+206
+203
+195
+213
+209
+201
+221
+217
+207
+219
+215
+203
+219
+215
+205
+221
+217
+206
+221
+217
+206
+221
+217
+206
+220
+216
+205
+221
+217
+207
+221
+217
+207
+222
+218
+207
+222
+218
+207
+222
+218
+207
+223
+219
+210
+225
+221
+212
+226
+222
+213
+225
+221
+212
+186
+183
+177
+12
+12
+13
+7
+7
+8
+5
+5
+6
+11
+12
+14
+97
+80
+39
+234
+190
+84
+189
+156
+74
+0
+0
+10
+10
+12
+14
+107
+87
+40
+242
+197
+91
+141
+117
+57
+222
+180
+83
+171
+140
+66
+11
+12
+12
+116
+96
+49
+247
+199
+87
+237
+191
+84
+175
+143
+71
+239
+194
+84
+119
+97
+48
+121
+100
+51
+242
+197
+91
+112
+92
+44
+167
+138
+66
+213
+175
+81
+56
+47
+26
+0
+0
+10
+200
+164
+78
+222
+181
+85
+41
+36
+25
+9
+11
+13
+10
+11
+13
+13
+14
+16
+13
+14
+16
+9
+14
+16
+136
+135
+134
+255
+255
+255
+246
+246
+246
+69
+69
+69
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+42
+42
+42
+212
+212
+212
+254
+254
+254
+251
+251
+251
+173
+172
+171
+131
+69
+47
+174
+79
+38
+178
+80
+38
+179
+80
+38
+178
+79
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+37
+180
+81
+37
+176
+80
+38
+144
+67
+34
+58
+21
+5
+159
+159
+158
+242
+242
+242
+255
+255
+255
+239
+239
+239
+128
+128
+128
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+98
+98
+98
+238
+238
+238
+251
+251
+251
+165
+164
+163
+215
+211
+203
+148
+146
+140
+217
+212
+204
+226
+222
+213
+226
+222
+213
+168
+166
+160
+0
+0
+0
+53
+53
+53
+32
+32
+32
+0
+0
+0
+111
+110
+108
+148
+147
+143
+1
+1
+3
+16
+16
+17
+131
+131
+128
+93
+93
+91
+47
+46
+45
+150
+148
+142
+217
+214
+203
+220
+216
+205
+223
+219
+208
+221
+217
+206
+221
+217
+206
+222
+218
+208
+222
+218
+209
+223
+219
+210
+223
+219
+210
+223
+219
+210
+224
+220
+211
+225
+221
+212
+226
+222
+213
+227
+223
+214
+225
+221
+212
+115
+114
+110
+0
+0
+0
+7
+7
+8
+5
+5
+5
+12
+13
+14
+100
+81
+40
+236
+191
+86
+185
+153
+73
+0
+0
+10
+9
+11
+13
+107
+87
+40
+243
+197
+90
+140
+115
+56
+219
+178
+82
+177
+145
+69
+16
+15
+13
+81
+68
+36
+243
+198
+88
+241
+193
+85
+163
+133
+68
+241
+196
+87
+130
+105
+51
+109
+90
+44
+243
+198
+92
+118
+96
+45
+190
+157
+74
+199
+162
+74
+46
+39
+25
+0
+0
+9
+152
+126
+62
+235
+192
+86
+107
+89
+48
+12
+13
+16
+12
+13
+14
+13
+14
+15
+13
+14
+16
+12
+16
+17
+97
+97
+97
+253
+253
+253
+252
+252
+252
+106
+106
+106
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+175
+175
+175
+254
+254
+254
+252
+251
+251
+181
+179
+178
+123
+58
+30
+172
+79
+37
+177
+80
+36
+178
+80
+37
+179
+80
+38
+178
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+178
+79
+37
+179
+80
+38
+180
+80
+38
+180
+80
+38
+178
+81
+38
+153
+71
+36
+108
+85
+81
+163
+161
+161
+236
+236
+236
+255
+255
+255
+214
+214
+214
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+61
+61
+61
+230
+230
+230
+255
+255
+255
+176
+176
+175
+206
+201
+194
+163
+160
+155
+217
+210
+203
+225
+221
+212
+214
+210
+202
+81
+80
+78
+7
+7
+9
+40
+40
+40
+6
+6
+7
+0
+0
+0
+145
+143
+141
+52
+52
+51
+4
+4
+7
+61
+61
+61
+98
+97
+97
+16
+16
+17
+27
+27
+27
+52
+51
+51
+210
+206
+196
+220
+216
+206
+221
+217
+206
+221
+217
+206
+221
+217
+206
+222
+218
+209
+223
+220
+211
+224
+220
+211
+225
+221
+212
+226
+221
+213
+227
+222
+214
+226
+222
+213
+220
+217
+208
+215
+211
+203
+189
+186
+179
+35
+35
+33
+6
+6
+8
+6
+6
+7
+5
+5
+5
+11
+12
+14
+102
+82
+41
+237
+192
+86
+180
+150
+72
+0
+0
+11
+8
+10
+12
+107
+87
+40
+242
+198
+91
+139
+115
+57
+215
+175
+80
+183
+149
+71
+18
+17
+14
+38
+30
+20
+235
+191
+88
+244
+196
+86
+149
+121
+59
+243
+198
+89
+139
+114
+53
+99
+82
+41
+241
+197
+91
+121
+99
+46
+209
+172
+81
+180
+148
+67
+33
+30
+24
+6
+10
+14
+81
+66
+36
+239
+196
+91
+151
+125
+59
+13
+14
+14
+9
+10
+12
+12
+15
+17
+14
+16
+18
+14
+17
+19
+80
+80
+80
+243
+243
+243
+254
+254
+254
+147
+147
+147
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+153
+153
+153
+247
+247
+247
+254
+254
+254
+203
+203
+202
+129
+72
+55
+172
+78
+37
+177
+79
+36
+177
+80
+37
+177
+80
+37
+177
+80
+37
+178
+80
+38
+178
+79
+37
+178
+79
+37
+178
+79
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+180
+80
+39
+180
+80
+37
+175
+80
+39
+136
+61
+28
+150
+144
+141
+223
+223
+222
+254
+254
+254
+255
+255
+255
+248
+248
+248
+142
+142
+142
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+222
+222
+222
+255
+255
+255
+192
+191
+191
+191
+187
+182
+169
+165
+159
+214
+209
+201
+225
+221
+212
+175
+172
+165
+38
+37
+37
+39
+39
+39
+45
+45
+45
+6
+6
+8
+31
+30
+30
+99
+99
+97
+0
+0
+0
+13
+13
+14
+102
+102
+100
+50
+51
+50
+7
+7
+10
+73
+73
+71
+90
+89
+87
+217
+213
+204
+218
+214
+203
+218
+213
+203
+216
+212
+203
+217
+213
+204
+210
+206
+198
+196
+194
+186
+182
+180
+174
+167
+166
+161
+148
+146
+142
+126
+124
+120
+98
+96
+93
+71
+70
+68
+67
+66
+64
+66
+66
+65
+8
+8
+9
+6
+6
+8
+5
+5
+7
+5
+6
+6
+12
+13
+15
+104
+85
+41
+239
+193
+86
+177
+146
+70
+0
+0
+9
+9
+11
+13
+107
+87
+39
+242
+198
+91
+139
+114
+57
+209
+171
+79
+188
+153
+74
+21
+19
+16
+0
+0
+5
+221
+181
+86
+245
+198
+86
+134
+110
+50
+244
+199
+92
+148
+121
+57
+99
+80
+41
+240
+196
+91
+120
+98
+45
+224
+184
+85
+163
+133
+62
+20
+21
+21
+14
+18
+19
+29
+27
+19
+215
+177
+84
+189
+155
+71
+39
+33
+20
+8
+9
+12
+12
+14
+15
+12
+14
+16
+14
+16
+18
+64
+65
+65
+222
+221
+221
+255
+255
+255
+190
+190
+190
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+151
+151
+151
+247
+247
+247
+255
+255
+255
+226
+224
+224
+137
+98
+88
+171
+78
+38
+176
+79
+36
+176
+79
+36
+176
+79
+36
+177
+80
+37
+177
+80
+37
+178
+80
+37
+178
+79
+37
+178
+79
+37
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+179
+80
+38
+171
+78
+39
+131
+83
+70
+195
+193
+192
+249
+249
+249
+255
+255
+255
+249
+249
+249
+215
+215
+215
+129
+129
+129
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+202
+202
+202
+255
+255
+255
+215
+215
+214
+168
+166
+161
+170
+166
+160
+207
+203
+195
+221
+217
+209
+138
+136
+131
+12
+12
+13
+70
+70
+70
+48
+48
+48
+16
+15
+16
+109
+107
+107
+49
+49
+49
+0
+0
+0
+77
+77
+76
+94
+94
+94
+0
+0
+0
+20
+19
+20
+88
+87
+85
+138
+137
+132
+187
+183
+175
+168
+164
+158
+145
+143
+137
+117
+115
+112
+81
+80
+78
+46
+46
+46
+0
+2
+7
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+1
+3
+3
+6
+8
+8
+10
+53
+53
+53
+51
+51
+51
+7
+7
+9
+6
+6
+8
+5
+5
+6
+6
+7
+7
+14
+17
+18
+106
+86
+40
+240
+194
+87
+174
+143
+69
+0
+0
+7
+9
+10
+13
+107
+87
+40
+242
+198
+91
+138
+114
+57
+206
+167
+78
+193
+159
+75
+23
+20
+17
+0
+0
+10
+200
+164
+78
+247
+200
+88
+128
+104
+48
+241
+196
+92
+162
+132
+61
+118
+96
+49
+237
+195
+90
+114
+94
+45
+234
+192
+90
+147
+120
+56
+14
+17
+18
+13
+16
+17
+20
+21
+19
+168
+138
+65
+224
+184
+85
+64
+53
+27
+9
+10
+12
+12
+13
+15
+13
+14
+16
+13
+16
+17
+45
+47
+47
+197
+197
+196
+255
+255
+255
+219
+219
+219
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+149
+149
+149
+246
+246
+246
+255
+255
+255
+229
+229
+229
+148
+120
+113
+167
+74
+30
+176
+79
+36
+176
+79
+36
+176
+79
+36
+176
+79
+36
+177
+80
+37
+176
+79
+36
+177
+80
+37
+179
+80
+38
+178
+79
+37
+178
+79
+37
+179
+80
+38
+178
+79
+37
+179
+80
+38
+178
+80
+38
+160
+70
+27
+137
+103
+96
+208
+208
+208
+254
+254
+254
+254
+254
+254
+228
+228
+228
+150
+150
+150
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+167
+167
+167
+254
+254
+254
+235
+235
+234
+136
+135
+131
+174
+172
+165
+199
+196
+188
+216
+212
+204
+113
+112
+108
+13
+13
+15
+64
+64
+64
+39
+39
+39
+12
+12
+13
+63
+61
+62
+20
+20
+21
+0
+0
+0
+75
+74
+73
+28
+28
+29
+4
+4
+7
+8
+8
+10
+35
+35
+34
+51
+50
+48
+42
+41
+40
+10
+10
+10
+0
+0
+0
+0
+0
+0
+2
+2
+3
+5
+5
+8
+7
+7
+8
+7
+7
+9
+7
+8
+10
+7
+7
+9
+7
+7
+9
+7
+7
+9
+18
+18
+19
+57
+57
+57
+20
+20
+22
+7
+8
+11
+8
+8
+10
+5
+5
+6
+6
+7
+7
+10
+11
+12
+108
+88
+40
+241
+196
+87
+169
+139
+68
+0
+0
+6
+9
+11
+13
+107
+88
+40
+242
+198
+90
+136
+113
+54
+201
+163
+75
+201
+165
+78
+23
+21
+16
+0
+0
+12
+176
+144
+69
+249
+202
+89
+128
+104
+48
+226
+185
+86
+183
+149
+68
+168
+138
+68
+227
+186
+84
+112
+93
+49
+236
+193
+91
+129
+106
+51
+12
+13
+15
+12
+14
+16
+14
+17
+18
+119
+98
+46
+240
+196
+91
+103
+84
+40
+5
+8
+12
+13
+14
+16
+13
+14
+16
+13
+14
+16
+22
+24
+25
+162
+162
+161
+252
+252
+252
+237
+237
+237
+95
+95
+95
+0
+0
+0
+0
+0
+0
+13
+13
+13
+155
+155
+155
+246
+246
+246
+255
+255
+255
+230
+230
+230
+147
+121
+115
+166
+76
+36
+175
+79
+36
+176
+80
+36
+176
+79
+36
+176
+79
+36
+177
+80
+37
+176
+79
+36
+176
+79
+37
+177
+80
+37
+178
+80
+37
+177
+80
+37
+177
+79
+37
+178
+79
+37
+178
+80
+36
+177
+80
+38
+141
+70
+45
+155
+144
+142
+231
+231
+230
+254
+254
+254
+253
+253
+253
+200
+200
+200
+90
+90
+90
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+118
+118
+118
+253
+253
+253
+252
+252
+252
+127
+126
+123
+178
+175
+168
+187
+185
+178
+220
+215
+207
+139
+137
+132
+19
+18
+19
+0
+0
+0
+0
+0
+0
+9
+9
+8
+48
+48
+47
+13
+13
+13
+26
+26
+26
+56
+56
+55
+40
+39
+39
+73
+72
+72
+83
+83
+82
+86
+86
+86
+106
+105
+105
+107
+106
+106
+94
+93
+93
+58
+58
+57
+0
+0
+0
+0
+0
+0
+6
+6
+8
+7
+7
+9
+8
+8
+10
+8
+8
+11
+9
+10
+12
+8
+9
+11
+3
+4
+6
+64
+64
+63
+54
+54
+54
+6
+6
+8
+6
+7
+9
+8
+8
+10
+5
+5
+6
+5
+5
+5
+7
+7
+9
+110
+89
+39
+243
+197
+87
+163
+133
+65
+0
+0
+6
+8
+9
+10
+105
+86
+40
+241
+197
+90
+133
+109
+53
+195
+159
+72
+208
+170
+80
+23
+20
+14
+0
+1
+11
+144
+120
+59
+251
+203
+93
+131
+105
+49
+191
+156
+73
+239
+194
+88
+243
+197
+89
+202
+166
+77
+121
+100
+54
+234
+191
+87
+105
+87
+45
+9
+11
+13
+9
+10
+12
+10
+11
+12
+80
+66
+33
+224
+183
+83
+171
+140
+69
+0
+0
+10
+13
+14
+16
+13
+14
+16
+12
+13
+15
+14
+17
+18
+133
+133
+133
+245
+245
+245
+247
+247
+247
+156
+156
+156
+22
+22
+22
+42
+42
+42
+156
+156
+156
+249
+249
+249
+255
+255
+255
+233
+233
+232
+149
+125
+119
+165
+75
+36
+175
+79
+35
+174
+80
+36
+176
+80
+36
+175
+80
+36
+176
+79
+36
+177
+79
+37
+176
+80
+37
+177
+80
+37
+176
+80
+37
+177
+80
+37
+177
+80
+37
+177
+80
+37
+177
+80
+36
+167
+75
+36
+138
+100
+90
+188
+187
+186
+250
+250
+249
+255
+255
+255
+246
+246
+246
+177
+177
+177
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+64
+64
+64
+245
+245
+245
+255
+255
+255
+154
+153
+152
+148
+145
+141
+136
+134
+130
+150
+147
+142
+144
+142
+139
+156
+156
+155
+165
+165
+164
+124
+124
+123
+159
+159
+158
+212
+212
+211
+193
+192
+192
+196
+196
+196
+215
+215
+215
+211
+210
+210
+222
+222
+222
+227
+227
+227
+229
+229
+229
+241
+240
+240
+241
+241
+241
+233
+233
+233
+216
+215
+215
+182
+182
+181
+130
+130
+129
+52
+52
+51
+0
+0
+0
+0
+0
+0
+6
+6
+9
+7
+7
+10
+6
+6
+8
+51
+51
+52
+90
+90
+88
+0
+0
+1
+7
+7
+9
+5
+6
+8
+7
+7
+9
+5
+5
+6
+5
+5
+5
+5
+6
+8
+110
+89
+39
+244
+198
+88
+153
+125
+64
+0
+0
+6
+4
+7
+11
+103
+84
+40
+240
+195
+90
+127
+104
+50
+188
+152
+69
+214
+174
+81
+23
+19
+13
+2
+5
+10
+110
+90
+44
+251
+204
+94
+133
+108
+50
+106
+88
+43
+221
+182
+84
+227
+186
+85
+122
+101
+51
+144
+119
+64
+228
+188
+87
+71
+58
+30
+7
+7
+9
+6
+7
+9
+7
+7
+9
+27
+23
+15
+164
+135
+66
+166
+138
+73
+0
+0
+8
+12
+13
+15
+11
+12
+14
+12
+14
+16
+13
+17
+18
+70
+70
+70
+228
+228
+228
+255
+255
+255
+241
+241
+241
+115
+115
+115
+189
+189
+189
+248
+248
+248
+255
+255
+255
+224
+223
+223
+121
+111
+109
+156
+70
+31
+173
+79
+36
+174
+79
+36
+175
+80
+36
+175
+80
+36
+175
+80
+36
+176
+79
+36
+176
+79
+36
+176
+79
+36
+176
+79
+36
+177
+80
+37
+177
+80
+37
+177
+80
+37
+176
+80
+38
+147
+69
+37
+157
+142
+140
+225
+225
+224
+255
+255
+255
+255
+255
+255
+224
+224
+224
+142
+142
+142
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+28
+28
+28
+220
+220
+220
+255
+255
+255
+211
+211
+210
+118
+118
+118
+160
+160
+159
+192
+192
+192
+191
+190
+190
+249
+249
+249
+252
+252
+252
+249
+249
+249
+251
+251
+251
+255
+255
+255
+254
+254
+254
+254
+254
+254
+254
+254
+254
+254
+254
+254
+253
+253
+253
+252
+252
+252
+252
+252
+252
+251
+251
+251
+250
+250
+250
+252
+252
+252
+255
+255
+255
+253
+253
+253
+249
+249
+249
+239
+238
+238
+201
+201
+201
+140
+139
+138
+79
+79
+79
+52
+52
+52
+23
+23
+23
+84
+83
+82
+39
+38
+38
+7
+8
+10
+6
+7
+9
+6
+7
+9
+7
+8
+10
+7
+7
+9
+4
+4
+5
+5
+5
+7
+109
+88
+40
+242
+197
+89
+168
+138
+68
+127
+105
+54
+63
+53
+29
+95
+79
+37
+230
+189
+89
+117
+95
+47
+168
+139
+69
+201
+166
+85
+21
+17
+11
+5
+7
+9
+59
+48
+25
+167
+139
+72
+81
+66
+34
+19
+18
+14
+62
+51
+24
+66
+54
+24
+16
+16
+14
+78
+66
+40
+99
+82
+42
+16
+13
+11
+6
+6
+9
+6
+6
+8
+7
+7
+9
+9
+9
+12
+39
+33
+21
+43
+36
+25
+10
+11
+14
+11
+13
+14
+13
+14
+16
+12
+15
+16
+13
+17
+18
+7
+10
+12
+114
+115
+115
+244
+243
+243
+255
+255
+255
+239
+239
+239
+253
+253
+253
+254
+254
+254
+225
+225
+225
+102
+102
+101
+40
+18
+13
+106
+49
+31
+161
+74
+36
+174
+80
+36
+176
+80
+37
+176
+81
+37
+175
+80
+36
+175
+80
+36
+176
+79
+37
+176
+79
+36
+176
+79
+36
+177
+79
+36
+176
+79
+37
+168
+79
+41
+133
+86
+73
+185
+181
+181
+248
+247
+247
+255
+255
+255
+248
+248
+248
+188
+188
+188
+73
+73
+73
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+167
+167
+167
+253
+253
+253
+255
+255
+255
+254
+254
+254
+255
+255
+255
+249
+249
+249
+192
+192
+191
+249
+249
+249
+255
+255
+255
+251
+251
+251
+245
+245
+245
+222
+222
+222
+219
+219
+219
+217
+217
+217
+202
+202
+202
+198
+198
+198
+187
+187
+187
+168
+168
+168
+167
+167
+167
+151
+151
+151
+142
+142
+142
+169
+169
+169
+206
+206
+206
+231
+231
+231
+249
+249
+249
+255
+255
+255
+255
+255
+255
+255
+255
+255
+241
+241
+241
+210
+210
+210
+167
+167
+167
+69
+69
+69
+6
+6
+8
+6
+7
+9
+7
+8
+10
+8
+9
+11
+7
+8
+10
+6
+7
+9
+5
+5
+7
+4
+4
+5
+90
+73
+35
+201
+165
+76
+198
+162
+78
+178
+147
+72
+77
+65
+32
+42
+35
+22
+100
+84
+45
+41
+35
+20
+33
+27
+17
+30
+25
+15
+6
+8
+10
+6
+7
+9
+5
+6
+9
+0
+0
+5
+3
+5
+9
+7
+8
+10
+7
+8
+11
+8
+9
+11
+10
+10
+12
+9
+10
+14
+4
+5
+10
+6
+6
+8
+6
+6
+8
+6
+6
+8
+7
+8
+10
+12
+13
+15
+12
+16
+17
+11
+15
+16
+12
+14
+16
+14
+17
+18
+13
+15
+17
+12
+15
+16
+13
+17
+18
+12
+18
+20
+97
+97
+97
+247
+247
+247
+255
+255
+255
+255
+255
+255
+251
+251
+251
+202
+202
+201
+78
+76
+75
+14
+0
+0
+23
+6
+0
+22
+4
+1
+89
+39
+24
+144
+66
+34
+172
+77
+35
+175
+80
+36
+175
+80
+36
+175
+80
+36
+176
+80
+37
+176
+80
+36
+175
+80
+37
+172
+77
+34
+144
+70
+40
+158
+146
+143
+225
+225
+225
+255
+255
+255
+255
+255
+255
+229
+229
+229
+149
+149
+149
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+69
+69
+69
+192
+192
+192
+241
+241
+241
+252
+252
+252
+255
+255
+255
+255
+255
+255
+190
+189
+189
+245
+245
+245
+255
+255
+255
+183
+183
+183
+115
+115
+115
+71
+71
+71
+64
+64
+64
+59
+59
+59
+28
+28
+28
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+38
+38
+38
+88
+88
+88
+126
+126
+126
+173
+173
+173
+223
+223
+223
+251
+251
+251
+255
+255
+255
+255
+255
+255
+227
+227
+227
+62
+62
+62
+7
+8
+10
+8
+9
+11
+8
+10
+12
+8
+9
+11
+8
+8
+10
+7
+8
+10
+8
+9
+11
+9
+10
+11
+24
+21
+17
+49
+41
+22
+26
+20
+11
+0
+0
+4
+2
+4
+7
+6
+7
+9
+2
+4
+9
+5
+6
+8
+6
+7
+9
+6
+7
+10
+6
+7
+9
+7
+7
+10
+7
+7
+9
+7
+8
+10
+7
+8
+10
+7
+8
+10
+8
+9
+11
+7
+8
+10
+8
+9
+11
+14
+15
+17
+12
+13
+15
+10
+11
+13
+9
+10
+12
+8
+9
+11
+10
+11
+13
+12
+13
+15
+14
+17
+19
+13
+17
+18
+13
+17
+18
+11
+15
+16
+13
+15
+16
+12
+14
+15
+20
+24
+25
+24
+29
+30
+67
+68
+68
+191
+190
+190
+216
+216
+215
+202
+202
+201
+147
+146
+146
+59
+56
+54
+21
+3
+0
+23
+7
+0
+24
+7
+0
+23
+6
+0
+24
+7
+1
+112
+54
+33
+168
+78
+38
+174
+79
+36
+175
+80
+36
+176
+80
+35
+175
+80
+36
+176
+79
+36
+161
+77
+41
+129
+99
+91
+204
+202
+201
+246
+246
+246
+255
+255
+255
+252
+252
+252
+199
+199
+199
+95
+95
+95
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+53
+53
+53
+73
+73
+73
+212
+212
+212
+255
+255
+255
+206
+205
+205
+237
+237
+236
+255
+255
+255
+172
+172
+172
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+22
+22
+22
+168
+168
+168
+255
+255
+255
+253
+253
+253
+155
+155
+155
+0
+0
+0
+7
+8
+10
+8
+10
+12
+8
+9
+11
+9
+10
+12
+9
+10
+12
+9
+10
+12
+8
+9
+11
+8
+9
+11
+10
+11
+13
+7
+7
+8
+5
+5
+5
+6
+6
+7
+6
+6
+8
+7
+7
+9
+6
+6
+8
+7
+7
+9
+6
+7
+9
+7
+7
+9
+7
+7
+9
+7
+7
+9
+6
+6
+7
+5
+5
+7
+6
+7
+9
+6
+7
+9
+7
+8
+10
+6
+7
+9
+9
+10
+13
+13
+14
+16
+11
+12
+14
+12
+13
+15
+13
+14
+16
+12
+13
+15
+11
+12
+14
+12
+14
+15
+15
+18
+19
+13
+17
+18
+13
+17
+18
+12
+16
+17
+13
+16
+17
+12
+14
+16
+21
+21
+24
+16
+16
+18
+14
+14
+16
+24
+24
+25
+28
+28
+29
+26
+20
+18
+24
+10
+5
+22
+6
+0
+23
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+7
+0
+29
+7
+2
+98
+45
+25
+169
+78
+38
+174
+79
+35
+173
+79
+37
+162
+74
+37
+143
+95
+82
+161
+156
+155
+237
+237
+237
+255
+255
+255
+254
+254
+254
+237
+237
+237
+159
+159
+159
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+192
+192
+192
+255
+255
+255
+219
+219
+218
+226
+226
+226
+255
+255
+255
+183
+183
+183
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+59
+59
+59
+232
+232
+232
+255
+255
+255
+221
+221
+220
+44
+43
+43
+6
+7
+9
+7
+8
+10
+7
+9
+11
+8
+9
+11
+10
+11
+13
+9
+10
+12
+10
+11
+13
+10
+11
+13
+10
+11
+13
+11
+12
+14
+9
+9
+11
+5
+6
+6
+5
+5
+6
+6
+6
+8
+7
+7
+8
+7
+7
+8
+6
+6
+9
+7
+7
+10
+7
+7
+9
+6
+6
+8
+6
+6
+7
+6
+6
+7
+6
+6
+6
+7
+8
+9
+7
+7
+9
+7
+7
+9
+7
+7
+9
+8
+9
+11
+9
+10
+12
+8
+9
+11
+11
+12
+14
+12
+14
+16
+13
+16
+17
+12
+16
+17
+11
+13
+15
+11
+15
+16
+14
+18
+19
+14
+19
+19
+17
+21
+22
+15
+17
+20
+14
+8
+8
+21
+5
+2
+21
+5
+0
+20
+6
+0
+20
+5
+0
+22
+6
+0
+24
+6
+0
+23
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+6
+1
+59
+26
+12
+131
+61
+34
+159
+72
+28
+129
+76
+59
+176
+167
+165
+223
+223
+222
+253
+252
+252
+255
+255
+255
+250
+250
+250
+191
+191
+191
+105
+105
+105
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+189
+189
+189
+255
+255
+255
+222
+222
+222
+223
+223
+223
+255
+255
+255
+183
+183
+183
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+178
+178
+178
+252
+252
+252
+249
+249
+249
+136
+136
+135
+10
+10
+12
+7
+7
+9
+7
+8
+10
+6
+7
+9
+8
+9
+11
+10
+11
+13
+10
+11
+13
+10
+11
+13
+10
+11
+13
+11
+12
+14
+11
+12
+14
+10
+11
+13
+7
+8
+10
+6
+6
+7
+6
+6
+8
+6
+6
+8
+6
+6
+8
+6
+6
+7
+6
+6
+7
+5
+5
+6
+5
+5
+6
+5
+5
+6
+5
+5
+5
+5
+5
+6
+6
+6
+8
+7
+7
+9
+7
+7
+9
+8
+8
+10
+9
+10
+12
+10
+11
+13
+10
+11
+13
+10
+11
+13
+12
+13
+15
+14
+16
+18
+12
+15
+16
+13
+15
+17
+13
+14
+16
+15
+16
+18
+15
+18
+19
+18
+20
+22
+16
+7
+5
+22
+5
+0
+23
+5
+1
+23
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+6
+0
+23
+6
+0
+27
+16
+12
+81
+66
+63
+157
+150
+147
+231
+230
+229
+251
+251
+251
+255
+255
+255
+249
+249
+249
+215
+215
+215
+126
+126
+126
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+196
+196
+196
+255
+255
+255
+211
+211
+211
+227
+227
+226
+255
+255
+255
+183
+183
+183
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+110
+110
+110
+235
+235
+235
+254
+254
+254
+212
+212
+211
+61
+61
+61
+7
+8
+10
+8
+8
+10
+8
+9
+11
+7
+8
+10
+10
+11
+13
+10
+11
+13
+9
+11
+12
+10
+11
+13
+10
+11
+13
+11
+12
+14
+11
+12
+14
+10
+11
+13
+10
+11
+13
+8
+9
+11
+8
+8
+11
+7
+7
+10
+7
+7
+9
+7
+8
+9
+8
+9
+10
+5
+5
+6
+4
+4
+5
+5
+5
+5
+6
+6
+7
+6
+6
+8
+7
+7
+9
+8
+8
+10
+8
+9
+11
+7
+8
+11
+9
+9
+12
+9
+10
+12
+11
+12
+14
+11
+12
+14
+12
+13
+15
+14
+16
+17
+15
+18
+19
+15
+18
+20
+13
+15
+17
+13
+14
+16
+16
+15
+16
+19
+7
+4
+23
+6
+0
+24
+6
+0
+23
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+7
+0
+24
+6
+0
+22
+4
+0
+0
+0
+0
+59
+56
+55
+152
+151
+151
+218
+218
+218
+254
+253
+253
+255
+255
+255
+249
+249
+249
+215
+215
+215
+149
+149
+149
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+218
+218
+218
+255
+255
+255
+201
+201
+200
+244
+244
+243
+255
+255
+255
+162
+162
+162
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+209
+209
+209
+255
+255
+255
+247
+247
+247
+131
+130
+130
+1
+1
+3
+7
+7
+9
+8
+9
+11
+9
+10
+12
+8
+9
+11
+10
+11
+13
+10
+11
+13
+9
+10
+12
+10
+11
+13
+11
+12
+14
+10
+11
+13
+10
+11
+13
+10
+11
+13
+11
+12
+14
+10
+11
+13
+9
+10
+12
+10
+11
+13
+9
+10
+12
+9
+10
+12
+10
+11
+13
+8
+9
+11
+5
+6
+7
+5
+5
+7
+7
+7
+9
+6
+6
+8
+6
+7
+9
+7
+8
+10
+8
+9
+11
+8
+10
+12
+9
+10
+12
+10
+11
+13
+9
+10
+12
+11
+12
+14
+15
+16
+18
+14
+15
+17
+14
+17
+18
+12
+15
+16
+12
+14
+16
+12
+12
+13
+21
+9
+6
+23
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+6
+0
+23
+6
+0
+24
+6
+0
+25
+13
+8
+53
+49
+49
+153
+152
+152
+224
+223
+223
+249
+249
+249
+255
+255
+255
+254
+254
+254
+218
+218
+218
+135
+135
+135
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+85
+85
+85
+235
+235
+235
+254
+254
+254
+194
+194
+193
+248
+248
+247
+253
+253
+253
+137
+137
+137
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+69
+69
+69
+247
+247
+247
+255
+255
+255
+172
+171
+170
+0
+0
+0
+7
+8
+9
+6
+6
+8
+7
+8
+11
+9
+10
+12
+9
+10
+12
+10
+11
+13
+10
+11
+13
+10
+11
+13
+9
+10
+12
+10
+11
+13
+10
+11
+13
+12
+13
+15
+11
+12
+14
+10
+11
+13
+11
+12
+14
+10
+11
+13
+11
+12
+14
+9
+10
+12
+8
+9
+11
+10
+11
+13
+8
+9
+11
+7
+8
+10
+6
+8
+9
+7
+7
+9
+6
+7
+9
+7
+8
+10
+9
+10
+12
+9
+10
+12
+9
+10
+12
+10
+11
+13
+11
+12
+13
+12
+13
+15
+14
+15
+17
+14
+15
+17
+13
+15
+16
+14
+16
+18
+17
+18
+19
+41
+41
+41
+41
+40
+40
+16
+5
+2
+23
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+6
+0
+22
+5
+0
+21
+5
+0
+21
+10
+6
+89
+88
+88
+164
+164
+164
+229
+229
+229
+253
+253
+253
+255
+255
+255
+250
+250
+250
+226
+226
+226
+153
+153
+153
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+141
+141
+141
+247
+247
+247
+246
+246
+246
+201
+201
+200
+251
+251
+251
+241
+241
+241
+106
+106
+106
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+92
+92
+92
+251
+251
+251
+254
+254
+254
+150
+150
+149
+0
+0
+0
+6
+6
+6
+6
+6
+8
+6
+6
+9
+7
+7
+10
+9
+10
+12
+9
+10
+12
+10
+11
+13
+10
+11
+13
+9
+10
+12
+10
+11
+13
+12
+13
+15
+12
+13
+15
+11
+12
+14
+11
+12
+13
+10
+11
+13
+11
+12
+14
+10
+11
+13
+8
+10
+12
+9
+10
+12
+10
+11
+13
+8
+9
+11
+6
+7
+9
+7
+8
+10
+7
+7
+10
+7
+7
+10
+6
+7
+10
+8
+9
+11
+9
+10
+12
+12
+13
+15
+12
+13
+15
+12
+13
+15
+12
+13
+15
+13
+14
+16
+12
+13
+15
+9
+10
+11
+30
+30
+30
+55
+54
+52
+66
+65
+63
+65
+64
+61
+36
+34
+33
+20
+6
+1
+23
+6
+0
+24
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+22
+6
+0
+19
+5
+2
+74
+74
+73
+216
+215
+215
+255
+255
+255
+255
+255
+255
+252
+252
+252
+222
+222
+222
+166
+166
+166
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+188
+188
+188
+255
+255
+255
+234
+234
+234
+211
+211
+210
+254
+254
+254
+222
+222
+222
+73
+73
+73
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+42
+42
+42
+230
+230
+230
+255
+255
+255
+247
+247
+246
+170
+170
+169
+19
+20
+18
+6
+6
+7
+6
+6
+8
+6
+7
+9
+8
+9
+11
+8
+9
+11
+11
+12
+13
+12
+13
+15
+13
+15
+16
+10
+12
+14
+11
+12
+14
+9
+10
+12
+7
+8
+10
+8
+9
+11
+8
+10
+12
+9
+10
+12
+11
+12
+14
+9
+10
+12
+8
+9
+11
+8
+9
+12
+7
+8
+10
+6
+7
+9
+7
+7
+9
+7
+7
+9
+7
+7
+9
+8
+9
+11
+9
+10
+12
+9
+11
+13
+15
+16
+18
+10
+11
+13
+12
+13
+15
+13
+14
+16
+13
+13
+15
+21
+21
+20
+52
+51
+50
+65
+64
+63
+68
+67
+65
+68
+67
+64
+68
+67
+64
+59
+58
+55
+23
+18
+17
+22
+6
+1
+23
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+23
+6
+0
+21
+10
+8
+158
+157
+157
+253
+253
+253
+253
+253
+253
+210
+210
+210
+125
+125
+125
+61
+61
+61
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+71
+71
+71
+231
+231
+231
+255
+255
+255
+211
+211
+209
+229
+229
+229
+254
+254
+254
+190
+190
+190
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+159
+159
+159
+255
+255
+255
+251
+251
+250
+154
+154
+153
+55
+54
+51
+41
+41
+39
+17
+17
+18
+5
+6
+7
+6
+7
+9
+7
+7
+10
+8
+9
+11
+11
+12
+14
+13
+15
+16
+9
+11
+12
+8
+8
+9
+7
+7
+9
+7
+7
+9
+7
+8
+10
+8
+9
+11
+8
+9
+12
+8
+9
+11
+8
+9
+11
+7
+8
+10
+7
+8
+10
+6
+7
+10
+6
+7
+9
+7
+7
+9
+6
+7
+9
+7
+7
+10
+9
+9
+11
+10
+11
+13
+11
+12
+14
+12
+14
+16
+12
+13
+15
+11
+12
+14
+25
+25
+25
+45
+45
+43
+63
+62
+59
+68
+67
+65
+68
+67
+65
+68
+67
+65
+68
+67
+65
+68
+67
+65
+68
+67
+64
+50
+48
+47
+16
+6
+4
+22
+6
+0
+23
+6
+0
+24
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+22
+5
+1
+19
+14
+14
+187
+187
+186
+255
+255
+255
+248
+248
+248
+139
+139
+139
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+130
+130
+130
+254
+254
+254
+253
+253
+253
+176
+176
+175
+251
+251
+251
+249
+249
+249
+132
+132
+132
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+34
+218
+218
+218
+255
+255
+255
+232
+232
+231
+71
+70
+68
+67
+67
+63
+67
+67
+64
+61
+61
+59
+30
+29
+30
+8
+8
+10
+5
+6
+7
+6
+7
+9
+8
+9
+11
+7
+8
+10
+7
+7
+10
+7
+7
+8
+7
+7
+9
+7
+7
+9
+6
+7
+9
+7
+7
+9
+7
+8
+10
+6
+7
+9
+7
+9
+10
+8
+9
+11
+7
+8
+10
+8
+9
+11
+7
+8
+10
+8
+8
+10
+9
+10
+12
+9
+10
+12
+13
+15
+16
+15
+17
+18
+14
+17
+18
+13
+15
+16
+16
+18
+19
+46
+46
+45
+63
+62
+58
+67
+66
+63
+68
+67
+64
+68
+67
+65
+68
+67
+64
+68
+67
+63
+68
+67
+65
+68
+67
+65
+68
+67
+64
+68
+66
+64
+45
+43
+42
+15
+5
+3
+23
+5
+1
+23
+6
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+24
+7
+0
+15
+3
+0
+83
+40
+25
+128
+108
+103
+233
+232
+232
+255
+255
+255
+238
+238
+238
+127
+127
+127
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+210
+210
+210
+255
+255
+255
+226
+226
+226
+203
+203
+202
+255
+255
+255
+231
+231
+231
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+113
+113
+113
+251
+251
+251
+255
+255
+255
+168
+167
+166
+58
+57
+54
+68
+67
+63
+69
+68
+64
+62
+61
+58
+45
+44
+43
+60
+59
+57
+44
+44
+41
+27
+26
+25
+14
+14
+15
+3
+3
+6
+4
+4
+6
+5
+5
+7
+5
+6
+8
+6
+7
+9
+6
+7
+9
+7
+8
+10
+6
+7
+9
+6
+7
+9
+6
+8
+10
+8
+9
+11
+8
+9
+11
+9
+10
+12
+8
+9
+11
+9
+10
+12
+8
+9
+12
+9
+9
+12
+13
+13
+16
+21
+21
+22
+32
+32
+31
+50
+49
+47
+64
+63
+61
+68
+67
+63
+68
+67
+63
+68
+67
+63
+68
+67
+63
+68
+67
+63
+67
+66
+64
+68
+67
+65
+68
+67
+65
+67
+66
+64
+68
+67
+64
+68
+67
+65
+66
+65
+63
+48
+48
+45
+27
+24
+23
+20
+10
+7
+20
+5
+1
+23
+6
+0
+23
+6
+0
+23
+6
+0
+7
+2
+1
+82
+38
+23
+143
+68
+36
+152
+141
+138
+241
+241
+241
+255
+255
+255
+240
+240
+240
+133
+133
+133
+38
+38
+38
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+99
+99
+99
+245
+245
+245
+254
+254
+254
+182
+182
+181
+246
+246
+245
+255
+255
+255
+173
+173
+173
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+196
+196
+196
+255
+255
+255
+240
+240
+240
+92
+92
+90
+67
+66
+63
+68
+67
+63
+65
+64
+60
+48
+47
+45
+62
+61
+59
+66
+65
+61
+68
+67
+64
+65
+64
+61
+57
+56
+54
+42
+42
+40
+18
+18
+18
+0
+0
+1
+0
+0
+2
+2
+2
+4
+3
+3
+5
+5
+5
+7
+6
+7
+8
+6
+6
+8
+6
+7
+9
+7
+8
+10
+5
+6
+7
+5
+6
+7
+11
+11
+12
+23
+23
+23
+36
+36
+35
+46
+45
+43
+52
+51
+49
+60
+59
+56
+67
+66
+63
+69
+68
+63
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+68
+67
+65
+68
+67
+65
+68
+67
+65
+69
+68
+64
+68
+67
+63
+67
+66
+62
+67
+66
+62
+62
+62
+59
+52
+52
+50
+38
+37
+35
+21
+15
+13
+14
+2
+0
+16
+3
+0
+3
+1
+1
+17
+7
+6
+124
+61
+39
+140
+63
+28
+149
+140
+138
+239
+239
+238
+255
+255
+255
+246
+246
+246
+194
+194
+194
+95
+95
+95
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+175
+175
+175
+252
+252
+252
+239
+239
+239
+202
+202
+202
+254
+254
+254
+243
+243
+243
+88
+88
+88
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+99
+99
+99
+235
+235
+235
+255
+255
+255
+198
+198
+197
+72
+71
+70
+67
+66
+62
+64
+63
+61
+43
+42
+40
+59
+58
+55
+64
+63
+60
+69
+68
+64
+68
+67
+63
+68
+67
+63
+68
+67
+63
+67
+66
+63
+65
+65
+62
+57
+56
+54
+44
+43
+43
+26
+25
+25
+12
+12
+13
+10
+10
+10
+12
+12
+12
+20
+19
+19
+28
+28
+27
+39
+39
+38
+55
+54
+52
+59
+59
+56
+65
+65
+63
+66
+65
+63
+67
+66
+64
+67
+66
+64
+69
+68
+64
+69
+68
+64
+68
+67
+63
+69
+68
+63
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+68
+67
+64
+67
+66
+64
+68
+67
+65
+67
+66
+64
+68
+67
+63
+68
+67
+63
+67
+66
+62
+68
+67
+64
+67
+66
+63
+66
+65
+62
+65
+64
+61
+63
+63
+59
+58
+58
+54
+48
+47
+45
+31
+31
+29
+21
+18
+18
+82
+42
+28
+129
+62
+38
+149
+75
+42
+142
+132
+129
+233
+233
+233
+253
+253
+253
+253
+253
+253
+241
+241
+241
+176
+176
+176
+75
+75
+75
+22
+22
+22
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+69
+69
+69
+220
+220
+220
+255
+255
+255
+215
+215
+215
+230
+230
+229
+255
+255
+255
+200
+200
+200
+46
+46
+46
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+66
+66
+66
+153
+153
+153
+211
+211
+211
+252
+252
+252
+248
+248
+247
+143
+143
+143
+63
+63
+60
+56
+55
+52
+40
+38
+38
+56
+55
+54
+65
+64
+61
+67
+66
+64
+68
+67
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+68
+67
+64
+68
+67
+65
+68
+67
+65
+69
+68
+65
+68
+67
+65
+61
+60
+58
+57
+56
+54
+61
+60
+58
+65
+64
+62
+67
+67
+63
+69
+68
+64
+69
+68
+63
+65
+64
+60
+68
+67
+64
+68
+67
+65
+68
+67
+63
+68
+67
+64
+69
+68
+64
+68
+67
+64
+68
+67
+64
+68
+67
+64
+69
+68
+64
+68
+67
+64
+68
+67
+64
+68
+67
+63
+68
+67
+63
+68
+67
+64
+68
+67
+64
+62
+61
+59
+66
+65
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+63
+67
+66
+63
+67
+66
+63
+67
+66
+64
+67
+66
+63
+66
+65
+62
+67
+66
+62
+66
+65
+61
+66
+64
+61
+64
+63
+60
+61
+34
+27
+142
+66
+34
+140
+67
+39
+148
+68
+30
+130
+93
+85
+194
+192
+191
+243
+243
+242
+255
+255
+255
+255
+255
+255
+229
+229
+229
+175
+175
+175
+112
+112
+112
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+120
+120
+120
+248
+248
+248
+251
+251
+251
+202
+202
+201
+245
+245
+244
+249
+249
+249
+153
+153
+153
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+79
+79
+79
+211
+211
+211
+250
+250
+250
+255
+255
+255
+254
+254
+254
+228
+228
+228
+84
+83
+82
+42
+41
+39
+51
+50
+48
+62
+60
+58
+67
+66
+64
+68
+67
+65
+68
+67
+64
+68
+67
+65
+68
+67
+63
+69
+68
+64
+69
+68
+64
+68
+67
+64
+68
+67
+65
+69
+68
+63
+69
+68
+63
+69
+68
+65
+69
+68
+65
+68
+67
+64
+69
+68
+66
+67
+66
+63
+66
+65
+61
+68
+67
+63
+69
+68
+64
+66
+65
+61
+67
+66
+64
+68
+67
+63
+68
+67
+62
+68
+67
+63
+68
+67
+64
+67
+66
+64
+68
+67
+65
+68
+67
+63
+68
+67
+63
+67
+66
+64
+67
+66
+64
+67
+66
+63
+68
+67
+62
+68
+67
+63
+67
+66
+62
+60
+59
+57
+61
+60
+56
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+62
+67
+66
+62
+67
+66
+64
+67
+66
+64
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+64
+64
+60
+77
+36
+22
+167
+76
+38
+166
+76
+37
+143
+68
+37
+161
+74
+38
+152
+77
+51
+138
+119
+114
+198
+198
+198
+250
+250
+250
+255
+255
+255
+253
+253
+253
+241
+241
+241
+210
+210
+210
+130
+130
+130
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+156
+156
+156
+255
+255
+255
+246
+246
+246
+193
+193
+192
+254
+254
+254
+236
+236
+236
+92
+92
+92
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+167
+167
+167
+255
+255
+255
+251
+251
+251
+226
+226
+225
+174
+174
+173
+84
+84
+82
+53
+52
+49
+62
+61
+57
+64
+63
+60
+67
+66
+62
+68
+67
+64
+67
+66
+64
+68
+67
+64
+68
+67
+63
+68
+67
+64
+68
+67
+63
+69
+68
+64
+68
+67
+65
+68
+67
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+67
+66
+62
+66
+65
+62
+68
+67
+63
+69
+68
+64
+66
+65
+61
+65
+64
+62
+67
+66
+64
+68
+67
+62
+67
+66
+62
+68
+66
+64
+67
+66
+65
+67
+66
+65
+68
+66
+63
+68
+67
+63
+68
+67
+63
+68
+67
+63
+67
+66
+62
+67
+66
+63
+68
+67
+64
+67
+66
+62
+60
+59
+56
+51
+50
+47
+64
+63
+59
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+63
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+57
+56
+54
+97
+43
+22
+175
+79
+37
+174
+79
+36
+169
+76
+37
+141
+66
+35
+161
+75
+39
+168
+78
+39
+133
+68
+44
+141
+126
+123
+212
+211
+209
+241
+241
+241
+253
+253
+253
+255
+255
+255
+251
+251
+251
+213
+213
+213
+122
+122
+122
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+212
+212
+212
+255
+255
+255
+222
+222
+221
+213
+213
+213
+255
+255
+255
+209
+209
+209
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+207
+207
+207
+255
+255
+255
+213
+213
+212
+59
+59
+57
+49
+48
+44
+62
+61
+57
+63
+62
+58
+62
+61
+57
+65
+64
+60
+67
+66
+62
+67
+66
+62
+67
+66
+63
+68
+67
+64
+67
+66
+64
+67
+66
+63
+68
+67
+62
+68
+67
+63
+68
+67
+64
+68
+67
+63
+68
+66
+62
+68
+67
+63
+68
+67
+63
+68
+67
+64
+68
+67
+64
+69
+68
+64
+67
+66
+62
+65
+64
+62
+67
+66
+64
+68
+67
+64
+66
+65
+62
+64
+63
+60
+68
+67
+63
+67
+66
+62
+66
+65
+62
+67
+66
+63
+67
+66
+62
+67
+66
+63
+67
+66
+62
+67
+66
+62
+67
+66
+63
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+64
+63
+59
+49
+49
+46
+55
+54
+51
+65
+64
+60
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+61
+66
+65
+63
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+65
+64
+60
+49
+48
+45
+120
+55
+30
+175
+79
+36
+174
+78
+35
+174
+78
+37
+170
+77
+36
+149
+69
+36
+152
+69
+37
+172
+79
+38
+164
+73
+30
+140
+68
+37
+144
+120
+114
+176
+174
+173
+230
+230
+229
+255
+255
+255
+255
+255
+255
+245
+245
+245
+203
+203
+203
+129
+129
+129
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+104
+104
+104
+249
+249
+249
+255
+255
+255
+178
+178
+177
+244
+243
+243
+254
+254
+254
+160
+160
+160
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+219
+219
+219
+255
+255
+255
+185
+185
+185
+14
+12
+10
+62
+61
+57
+63
+62
+58
+62
+61
+57
+65
+64
+60
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+68
+67
+63
+68
+67
+63
+66
+65
+61
+66
+65
+61
+67
+66
+62
+68
+67
+63
+68
+67
+65
+69
+68
+64
+67
+66
+62
+64
+63
+61
+68
+67
+65
+68
+67
+65
+67
+66
+64
+63
+62
+60
+68
+67
+63
+67
+66
+62
+66
+65
+61
+66
+65
+61
+67
+66
+62
+68
+67
+63
+67
+66
+62
+66
+65
+61
+67
+66
+63
+67
+66
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+61
+55
+54
+51
+39
+39
+37
+59
+59
+56
+65
+64
+60
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+63
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+48
+46
+44
+125
+56
+31
+172
+78
+36
+172
+79
+35
+173
+78
+36
+174
+78
+36
+169
+77
+35
+164
+75
+38
+143
+67
+37
+162
+74
+36
+172
+78
+36
+170
+77
+36
+158
+77
+45
+126
+87
+76
+160
+156
+155
+237
+236
+236
+252
+253
+252
+254
+254
+254
+245
+245
+245
+173
+173
+173
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+143
+143
+143
+254
+254
+254
+252
+251
+251
+168
+167
+167
+255
+255
+255
+249
+249
+249
+88
+88
+88
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+22
+22
+22
+206
+206
+206
+255
+255
+255
+205
+204
+204
+5
+4
+1
+62
+61
+57
+63
+62
+58
+62
+61
+57
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+63
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+68
+67
+62
+67
+66
+62
+67
+66
+63
+67
+66
+64
+68
+67
+64
+66
+65
+62
+66
+65
+61
+67
+66
+62
+67
+66
+63
+68
+67
+63
+68
+67
+64
+64
+63
+61
+68
+67
+65
+68
+67
+65
+67
+66
+63
+63
+62
+59
+68
+67
+63
+67
+66
+62
+66
+65
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+63
+67
+66
+64
+67
+66
+63
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+61
+64
+63
+60
+40
+39
+37
+41
+40
+39
+50
+49
+47
+61
+60
+57
+66
+65
+61
+67
+66
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+65
+64
+60
+53
+52
+49
+103
+47
+27
+159
+73
+38
+160
+73
+37
+172
+79
+36
+173
+78
+36
+174
+78
+36
+170
+76
+35
+169
+76
+35
+159
+72
+37
+169
+76
+36
+173
+77
+35
+172
+77
+35
+173
+79
+37
+153
+67
+29
+131
+90
+81
+186
+183
+181
+238
+238
+238
+255
+255
+255
+255
+255
+255
+218
+218
+218
+132
+132
+132
+13
+13
+13
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+166
+166
+166
+254
+254
+254
+233
+233
+233
+191
+191
+191
+255
+255
+255
+228
+228
+228
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+187
+187
+187
+255
+255
+255
+220
+220
+219
+0
+0
+0
+60
+59
+55
+61
+60
+56
+64
+63
+59
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+61
+67
+66
+62
+67
+66
+63
+67
+66
+63
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+62
+67
+66
+62
+66
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+68
+67
+63
+63
+62
+60
+67
+66
+64
+68
+67
+64
+67
+66
+62
+63
+62
+58
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+63
+67
+66
+63
+67
+66
+63
+67
+66
+62
+67
+66
+62
+67
+66
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+60
+59
+55
+38
+37
+36
+32
+30
+30
+42
+41
+39
+61
+60
+57
+62
+61
+58
+63
+62
+58
+65
+64
+60
+67
+66
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+60
+59
+56
+69
+33
+21
+135
+66
+36
+151
+71
+38
+150
+69
+37
+172
+77
+36
+173
+78
+36
+173
+78
+36
+170
+77
+34
+169
+75
+34
+172
+77
+35
+174
+77
+35
+168
+77
+37
+172
+78
+37
+173
+78
+37
+170
+77
+37
+156
+77
+45
+138
+114
+108
+211
+210
+209
+253
+253
+253
+255
+255
+255
+243
+243
+243
+175
+175
+175
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+197
+197
+197
+255
+255
+255
+215
+215
+214
+214
+213
+213
+255
+255
+255
+212
+212
+212
+28
+28
+28
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+177
+177
+177
+255
+255
+255
+227
+227
+227
+0
+0
+0
+56
+55
+51
+62
+61
+57
+64
+63
+59
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+67
+66
+62
+66
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+61
+60
+58
+66
+65
+63
+67
+66
+62
+67
+66
+62
+62
+61
+57
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+61
+67
+66
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+65
+64
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+64
+63
+59
+50
+49
+47
+39
+38
+38
+36
+35
+34
+44
+43
+41
+49
+47
+46
+54
+53
+52
+65
+64
+60
+67
+66
+62
+65
+64
+60
+65
+64
+60
+65
+64
+61
+75
+36
+25
+150
+70
+37
+139
+66
+37
+151
+70
+40
+153
+71
+37
+170
+77
+36
+173
+78
+36
+174
+78
+36
+170
+77
+34
+168
+75
+32
+172
+77
+35
+159
+73
+37
+142
+68
+37
+166
+76
+36
+173
+77
+35
+174
+78
+35
+171
+79
+39
+136
+72
+50
+166
+157
+154
+236
+236
+235
+255
+255
+255
+253
+253
+253
+186
+186
+186
+59
+59
+59
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+19
+18
+18
+0
+0
+0
+0
+0
+0
+38
+38
+38
+218
+218
+218
+255
+255
+255
+200
+200
+199
+223
+223
+222
+255
+255
+255
+245
+245
+245
+136
+136
+136
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+161
+161
+161
+255
+255
+255
+235
+235
+235
+37
+36
+35
+55
+54
+51
+63
+62
+58
+63
+62
+58
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+65
+64
+60
+66
+65
+61
+60
+59
+56
+66
+65
+62
+66
+65
+61
+66
+65
+61
+62
+61
+57
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+61
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+60
+59
+56
+52
+51
+49
+51
+50
+48
+53
+52
+49
+61
+60
+57
+65
+64
+60
+67
+66
+62
+66
+65
+61
+65
+64
+60
+66
+65
+61
+68
+42
+35
+154
+70
+32
+165
+75
+36
+152
+70
+38
+151
+70
+36
+154
+72
+38
+165
+75
+37
+174
+78
+36
+173
+77
+35
+172
+77
+35
+170
+76
+35
+170
+76
+34
+165
+76
+37
+147
+69
+37
+158
+74
+38
+173
+79
+36
+174
+78
+36
+174
+79
+37
+158
+71
+28
+145
+119
+112
+211
+210
+209
+255
+255
+255
+253
+253
+253
+199
+199
+199
+69
+69
+69
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+34
+34
+33
+0
+0
+0
+0
+0
+0
+128
+128
+128
+244
+244
+244
+254
+254
+254
+195
+195
+194
+175
+174
+173
+240
+240
+240
+255
+255
+255
+221
+221
+221
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+142
+142
+142
+255
+255
+255
+245
+244
+244
+69
+68
+67
+53
+52
+49
+63
+62
+58
+63
+62
+58
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+66
+65
+61
+66
+65
+61
+65
+64
+61
+59
+58
+54
+61
+61
+57
+65
+64
+60
+65
+64
+60
+61
+60
+56
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+64
+63
+59
+65
+64
+60
+64
+63
+59
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+60
+63
+62
+59
+63
+62
+58
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+65
+64
+60
+61
+45
+41
+144
+65
+31
+169
+76
+36
+169
+77
+35
+161
+74
+37
+156
+71
+37
+151
+70
+39
+164
+74
+39
+173
+77
+35
+173
+77
+35
+173
+77
+35
+171
+77
+35
+167
+74
+34
+171
+77
+36
+148
+69
+38
+155
+72
+37
+174
+78
+36
+173
+79
+36
+173
+78
+35
+170
+78
+37
+138
+90
+77
+202
+201
+200
+252
+252
+252
+254
+254
+254
+199
+199
+199
+50
+50
+50
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+19
+18
+18
+0
+0
+0
+0
+0
+0
+155
+155
+155
+251
+251
+251
+239
+239
+239
+107
+106
+105
+0
+0
+0
+160
+160
+159
+251
+251
+251
+240
+240
+240
+109
+109
+109
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+122
+122
+122
+249
+249
+249
+249
+249
+249
+121
+120
+120
+42
+41
+38
+63
+62
+58
+62
+61
+57
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+64
+63
+59
+64
+63
+59
+61
+61
+57
+52
+51
+48
+58
+57
+54
+58
+57
+55
+55
+54
+52
+63
+62
+58
+65
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+65
+64
+60
+53
+50
+48
+99
+48
+25
+152
+70
+35
+170
+77
+35
+173
+77
+35
+169
+76
+36
+163
+74
+35
+160
+72
+38
+167
+75
+36
+173
+77
+35
+174
+78
+36
+175
+79
+36
+171
+77
+35
+169
+75
+33
+171
+77
+35
+150
+71
+37
+154
+72
+37
+173
+78
+35
+173
+77
+35
+173
+78
+36
+171
+78
+35
+136
+78
+60
+199
+198
+197
+253
+253
+253
+254
+254
+254
+195
+195
+195
+56
+56
+56
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+155
+155
+155
+251
+251
+251
+237
+237
+237
+94
+94
+93
+1
+1
+3
+126
+126
+125
+244
+244
+244
+246
+246
+246
+134
+134
+134
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+99
+99
+99
+237
+237
+237
+252
+252
+252
+165
+164
+164
+19
+17
+16
+63
+62
+59
+63
+62
+58
+64
+63
+59
+65
+64
+60
+64
+63
+59
+64
+63
+59
+64
+63
+59
+64
+63
+59
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+64
+63
+59
+63
+62
+58
+46
+45
+43
+54
+53
+49
+63
+62
+58
+64
+63
+59
+62
+61
+57
+61
+60
+56
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+64
+63
+59
+64
+63
+59
+65
+64
+60
+66
+65
+61
+65
+64
+60
+65
+64
+60
+66
+65
+61
+64
+63
+59
+64
+63
+59
+64
+63
+59
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+57
+55
+52
+118
+55
+30
+141
+67
+36
+151
+69
+35
+172
+77
+36
+174
+77
+36
+172
+77
+36
+173
+77
+35
+172
+77
+35
+173
+77
+35
+174
+78
+36
+174
+78
+36
+173
+77
+35
+173
+77
+35
+171
+77
+34
+167
+74
+34
+147
+69
+37
+156
+72
+37
+173
+78
+35
+174
+77
+36
+174
+78
+35
+172
+78
+35
+143
+86
+68
+194
+193
+193
+253
+253
+253
+251
+251
+251
+185
+185
+185
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+142
+142
+142
+248
+248
+248
+240
+240
+240
+107
+107
+107
+0
+0
+0
+125
+125
+124
+244
+244
+244
+246
+246
+246
+136
+136
+136
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+66
+66
+66
+219
+219
+219
+254
+254
+254
+201
+201
+200
+32
+31
+31
+60
+59
+56
+63
+62
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+60
+53
+52
+49
+21
+20
+20
+33
+32
+30
+55
+54
+50
+59
+58
+55
+60
+58
+55
+65
+64
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+63
+62
+58
+57
+57
+56
+107
+51
+30
+164
+72
+36
+146
+68
+35
+152
+70
+34
+171
+77
+36
+169
+76
+36
+173
+78
+37
+173
+78
+36
+173
+77
+35
+173
+77
+35
+174
+78
+35
+174
+78
+36
+173
+77
+35
+173
+77
+35
+172
+77
+35
+167
+75
+36
+138
+64
+37
+161
+74
+38
+162
+74
+37
+173
+78
+36
+173
+78
+36
+172
+79
+37
+138
+85
+68
+212
+209
+209
+254
+254
+254
+251
+251
+251
+159
+159
+159
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+140
+140
+140
+247
+247
+247
+246
+246
+246
+146
+146
+145
+119
+118
+115
+175
+175
+175
+250
+250
+250
+244
+244
+244
+130
+130
+130
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+13
+13
+13
+189
+189
+189
+253
+253
+253
+226
+226
+226
+79
+79
+79
+51
+50
+47
+63
+62
+58
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+63
+62
+58
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+49
+48
+46
+11
+11
+12
+6
+6
+7
+29
+28
+28
+48
+47
+45
+62
+61
+58
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+60
+60
+56
+85
+45
+33
+163
+73
+34
+168
+74
+35
+151
+69
+36
+139
+65
+34
+155
+72
+38
+150
+70
+36
+173
+78
+37
+173
+77
+35
+174
+78
+36
+174
+78
+36
+173
+77
+35
+174
+78
+36
+173
+77
+35
+174
+78
+36
+172
+77
+35
+167
+75
+36
+142
+66
+35
+160
+73
+37
+156
+71
+38
+174
+79
+36
+175
+80
+36
+170
+76
+34
+135
+93
+81
+216
+215
+215
+255
+255
+255
+243
+243
+243
+139
+139
+139
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+105
+105
+105
+238
+238
+238
+255
+255
+255
+199
+199
+199
+105
+104
+103
+207
+207
+206
+255
+255
+255
+227
+227
+227
+66
+66
+66
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+146
+146
+146
+250
+250
+250
+244
+244
+244
+115
+115
+115
+39
+38
+36
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+63
+62
+58
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+64
+63
+59
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+66
+65
+61
+61
+60
+57
+30
+30
+29
+21
+21
+21
+5
+5
+5
+7
+6
+6
+55
+55
+53
+64
+63
+58
+64
+63
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+66
+65
+61
+67
+66
+62
+66
+65
+61
+66
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+64
+63
+59
+62
+61
+56
+58
+39
+32
+160
+73
+36
+168
+75
+34
+171
+76
+35
+158
+73
+37
+141
+67
+37
+152
+72
+39
+150
+71
+37
+174
+79
+38
+174
+79
+37
+174
+78
+36
+174
+78
+36
+174
+78
+36
+174
+78
+36
+174
+78
+36
+174
+78
+36
+173
+77
+36
+156
+74
+35
+151
+71
+38
+164
+76
+38
+163
+74
+36
+168
+77
+39
+153
+70
+36
+169
+78
+39
+140
+114
+108
+233
+233
+232
+255
+255
+255
+229
+229
+229
+98
+98
+98
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+196
+196
+196
+255
+255
+255
+247
+247
+247
+243
+243
+242
+253
+253
+253
+255
+255
+255
+178
+178
+178
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+88
+88
+88
+242
+242
+242
+255
+255
+255
+171
+171
+170
+30
+30
+29
+62
+61
+57
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+65
+64
+60
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+61
+65
+64
+60
+50
+49
+48
+39
+39
+38
+24
+23
+23
+14
+13
+14
+46
+46
+44
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+65
+64
+60
+64
+63
+59
+65
+64
+60
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+66
+65
+61
+66
+65
+61
+67
+66
+62
+66
+65
+61
+66
+65
+61
+64
+63
+59
+42
+38
+36
+146
+67
+37
+168
+75
+34
+171
+76
+34
+173
+78
+37
+158
+72
+34
+144
+69
+35
+155
+73
+38
+152
+72
+37
+171
+78
+38
+175
+78
+36
+174
+78
+36
+174
+78
+36
+174
+78
+36
+174
+78
+36
+174
+78
+36
+173
+78
+35
+173
+79
+36
+142
+65
+35
+160
+74
+36
+155
+70
+38
+167
+76
+38
+111
+52
+28
+124
+57
+31
+152
+71
+34
+160
+147
+144
+246
+246
+246
+255
+255
+255
+206
+206
+206
+42
+42
+42
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+93
+93
+93
+227
+227
+227
+254
+254
+254
+254
+254
+254
+251
+251
+251
+199
+199
+199
+64
+64
+64
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+203
+203
+203
+255
+255
+255
+217
+217
+216
+29
+29
+29
+56
+55
+51
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+58
+57
+55
+40
+40
+38
+42
+41
+40
+35
+34
+34
+34
+33
+32
+65
+64
+60
+66
+65
+61
+65
+64
+60
+66
+65
+61
+65
+65
+61
+65
+64
+60
+65
+64
+60
+65
+64
+60
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+65
+65
+61
+65
+64
+59
+41
+43
+41
+119
+58
+34
+153
+70
+34
+171
+76
+35
+173
+77
+36
+173
+77
+36
+163
+75
+37
+144
+67
+35
+160
+76
+38
+149
+70
+37
+170
+77
+36
+174
+79
+35
+174
+78
+36
+174
+78
+36
+174
+78
+35
+174
+78
+35
+173
+77
+36
+173
+77
+35
+168
+78
+39
+138
+64
+33
+163
+75
+37
+149
+68
+35
+163
+76
+38
+76
+33
+18
+79
+36
+20
+110
+58
+38
+172
+170
+169
+254
+254
+254
+252
+252
+252
+170
+170
+170
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+66
+66
+66
+150
+150
+150
+158
+158
+158
+114
+114
+114
+34
+34
+34
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+153
+153
+153
+255
+255
+255
+244
+244
+244
+58
+57
+56
+46
+45
+42
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+64
+63
+59
+64
+63
+59
+64
+63
+59
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+65
+64
+61
+57
+56
+54
+51
+50
+48
+42
+41
+40
+43
+43
+42
+27
+26
+26
+60
+59
+56
+65
+64
+60
+65
+64
+60
+66
+65
+61
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+65
+64
+60
+48
+49
+46
+105
+50
+31
+146
+68
+35
+162
+73
+37
+173
+78
+34
+173
+77
+34
+173
+77
+36
+160
+74
+36
+148
+69
+36
+167
+76
+38
+153
+71
+36
+172
+78
+37
+174
+78
+35
+173
+77
+35
+173
+77
+35
+174
+78
+36
+174
+78
+36
+173
+77
+36
+173
+77
+36
+154
+72
+37
+163
+76
+36
+151
+67
+35
+165
+75
+37
+140
+64
+35
+31
+24
+24
+68
+64
+63
+69
+62
+61
+210
+210
+209
+255
+255
+255
+239
+239
+239
+115
+115
+115
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+99
+99
+99
+250
+250
+250
+254
+254
+254
+132
+132
+131
+24
+23
+22
+63
+62
+59
+64
+63
+59
+65
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+64
+63
+59
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+59
+58
+56
+55
+54
+52
+48
+48
+46
+49
+48
+46
+33
+31
+30
+49
+48
+46
+65
+64
+61
+65
+64
+60
+66
+65
+61
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+51
+50
+47
+41
+20
+15
+128
+59
+32
+145
+67
+37
+165
+76
+36
+173
+77
+35
+173
+77
+35
+174
+79
+36
+159
+74
+36
+148
+68
+34
+168
+76
+37
+154
+70
+36
+173
+78
+37
+173
+77
+35
+173
+77
+35
+174
+78
+36
+175
+79
+37
+174
+78
+36
+174
+78
+36
+167
+76
+37
+157
+72
+36
+169
+77
+36
+146
+67
+33
+169
+76
+39
+89
+48
+38
+168
+168
+168
+147
+147
+146
+115
+115
+114
+240
+240
+240
+255
+255
+255
+207
+207
+207
+53
+53
+53
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+64
+64
+64
+228
+228
+228
+255
+255
+255
+183
+183
+182
+0
+0
+0
+59
+59
+56
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+61
+63
+62
+60
+58
+57
+56
+51
+50
+48
+51
+50
+48
+54
+53
+52
+40
+39
+37
+64
+63
+59
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+50
+50
+47
+15
+16
+17
+55
+38
+35
+141
+67
+36
+147
+68
+38
+168
+76
+38
+173
+77
+35
+173
+78
+35
+174
+77
+36
+156
+73
+36
+157
+72
+35
+166
+76
+38
+155
+70
+36
+174
+77
+36
+172
+78
+35
+173
+77
+35
+174
+78
+36
+174
+78
+36
+173
+78
+37
+172
+78
+36
+154
+70
+36
+171
+78
+36
+154
+71
+36
+163
+75
+35
+139
+62
+30
+141
+142
+141
+242
+242
+242
+173
+173
+172
+183
+182
+182
+254
+254
+254
+252
+252
+252
+119
+119
+119
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+42
+42
+42
+200
+200
+200
+255
+255
+255
+223
+223
+222
+34
+34
+33
+47
+47
+44
+64
+63
+59
+64
+63
+59
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+63
+56
+55
+53
+57
+56
+54
+55
+54
+52
+60
+59
+57
+46
+46
+44
+60
+60
+56
+65
+64
+60
+66
+65
+61
+66
+65
+61
+66
+65
+61
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+63
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+66
+65
+61
+48
+49
+46
+60
+59
+59
+160
+159
+159
+70
+46
+40
+151
+70
+37
+159
+72
+36
+172
+77
+35
+172
+76
+34
+172
+76
+34
+171
+77
+36
+148
+68
+35
+167
+77
+36
+161
+73
+36
+164
+74
+37
+172
+76
+35
+172
+76
+34
+172
+76
+34
+172
+76
+35
+172
+76
+35
+173
+78
+35
+152
+70
+34
+170
+76
+38
+159
+73
+36
+160
+74
+37
+158
+73
+34
+85
+68
+62
+240
+240
+240
+249
+249
+249
+196
+195
+195
+248
+248
+248
+255
+255
+255
+134
+134
+134
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+42
+41
+40
+53
+53
+51
+11
+11
+10
+0
+0
+0
+0
+0
+0
+13
+13
+13
+161
+161
+161
+251
+251
+251
+239
+239
+239
+110
+109
+108
+28
+27
+26
+65
+65
+61
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+67
+66
+62
+68
+67
+63
+68
+67
+63
+68
+67
+63
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+65
+68
+67
+65
+56
+55
+54
+60
+59
+57
+64
+63
+61
+52
+52
+50
+61
+60
+57
+68
+67
+63
+68
+67
+63
+68
+67
+63
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+65
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+69
+68
+64
+68
+68
+64
+48
+48
+45
+88
+88
+87
+239
+239
+239
+130
+129
+129
+91
+43
+26
+158
+75
+40
+167
+78
+38
+174
+79
+38
+173
+79
+38
+174
+80
+38
+166
+79
+41
+143
+67
+39
+173
+80
+39
+152
+71
+38
+174
+80
+39
+174
+79
+38
+174
+79
+38
+174
+79
+38
+174
+79
+38
+174
+80
+39
+165
+77
+38
+161
+74
+39
+172
+80
+39
+148
+70
+37
+172
+79
+42
+99
+39
+7
+209
+209
+207
+254
+254
+254
+254
+254
+254
+254
+254
+254
+239
+239
+239
+90
+90
+90
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
+0
diff --git a/other/assets/xenia.xcf b/other/assets/xenia.xcf
new file mode 100644
index 0000000..b2d72b7
Binary files /dev/null and b/other/assets/xenia.xcf differ
diff --git a/other/config.nu b/other/config.nu
new file mode 100644
index 0000000..2903d1d
--- /dev/null
+++ b/other/config.nu
@@ -0,0 +1,836 @@
+# Nushell Config File
+#
+# version = "0.84.0"
+
+# For more information on defining custom themes, see
+# https://www.nushell.sh/book/coloring_and_theming.html
+# And here is the theme collection
+# https://github.com/nushell/nu_scripts/tree/main/themes
+let dark_theme = {
+ # color for nushell primitives
+ separator: white
+ leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
+ header: green_bold
+ empty: blue
+ # Closures can be used to choose colors for specific values.
+ # The value (in this case, a bool) is piped into the closure.
+ # eg) {|| if $in { 'light_cyan' } else { 'light_gray' } }
+ bool: light_cyan
+ int: white
+ filesize: cyan
+ duration: white
+ date: purple
+ range: white
+ float: white
+ string: white
+ nothing: white
+ binary: white
+ cellpath: white
+ row_index: green_bold
+ record: white
+ list: white
+ block: white
+ hints: dark_gray
+ search_result: {bg: red fg: white}
+ shape_and: purple_bold
+ shape_binary: purple_bold
+ shape_block: blue_bold
+ shape_bool: light_cyan
+ shape_closure: green_bold
+ shape_custom: green
+ shape_datetime: cyan_bold
+ shape_directory: cyan
+ shape_external: cyan
+ shape_externalarg: green_bold
+ shape_filepath: cyan
+ shape_flag: blue_bold
+ shape_float: purple_bold
+ # shapes are used to change the cli syntax highlighting
+ shape_garbage: { fg: white bg: red attr: b}
+ shape_globpattern: cyan_bold
+ shape_int: purple_bold
+ shape_internalcall: cyan_bold
+ shape_list: cyan_bold
+ shape_literal: blue
+ shape_match_pattern: green
+ shape_matching_brackets: { attr: u }
+ shape_nothing: light_cyan
+ shape_operator: yellow
+ shape_or: purple_bold
+ shape_pipe: purple_bold
+ shape_range: yellow_bold
+ shape_record: cyan_bold
+ shape_redirection: purple_bold
+ shape_signature: green_bold
+ shape_string: green
+ shape_string_interpolation: cyan_bold
+ shape_table: blue_bold
+ shape_variable: purple
+ shape_vardecl: purple
+}
+
+let light_theme = {
+ # color for nushell primitives
+ separator: dark_gray
+ leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
+ header: green_bold
+ empty: blue
+ # Closures can be used to choose colors for specific values.
+ # The value (in this case, a bool) is piped into the closure.
+ # eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
+ bool: dark_cyan
+ int: dark_gray
+ filesize: cyan_bold
+ duration: dark_gray
+ date: purple
+ range: dark_gray
+ float: dark_gray
+ string: dark_gray
+ nothing: dark_gray
+ binary: dark_gray
+ cellpath: dark_gray
+ row_index: green_bold
+ record: white
+ list: white
+ block: white
+ hints: dark_gray
+ search_result: {fg: white bg: red}
+ shape_and: purple_bold
+ shape_binary: purple_bold
+ shape_block: blue_bold
+ shape_bool: light_cyan
+ shape_closure: green_bold
+ shape_custom: green
+ shape_datetime: cyan_bold
+ shape_directory: cyan
+ shape_external: cyan
+ shape_externalarg: green_bold
+ shape_filepath: cyan
+ shape_flag: blue_bold
+ shape_float: purple_bold
+ # shapes are used to change the cli syntax highlighting
+ shape_garbage: { fg: white bg: red attr: b}
+ shape_globpattern: cyan_bold
+ shape_int: purple_bold
+ shape_internalcall: cyan_bold
+ shape_list: cyan_bold
+ shape_literal: blue
+ shape_match_pattern: green
+ shape_matching_brackets: { attr: u }
+ shape_nothing: light_cyan
+ shape_operator: yellow
+ shape_or: purple_bold
+ shape_pipe: purple_bold
+ shape_range: yellow_bold
+ shape_record: cyan_bold
+ shape_redirection: purple_bold
+ shape_signature: green_bold
+ shape_string: green
+ shape_string_interpolation: cyan_bold
+ shape_table: blue_bold
+ shape_variable: purple
+ shape_vardecl: purple
+}
+
+# External completer example
+# let carapace_completer = {|spans|
+# carapace $spans.0 nushell $spans | from json
+# }
+
+# The default config record. This is where much of your global configuration is setup.
+$env.config = {
+ show_banner: false # true or false to enable or disable the welcome banner at startup
+
+ ls: {
+ use_ls_colors: true # use the LS_COLORS environment variable to colorize output
+ clickable_links: true # enable or disable clickable links. Your terminal has to support links.
+ }
+
+ rm: {
+ always_trash: true # always act as if -t was given. Can be overridden with -p
+ }
+
+ table: {
+ mode: reinforced # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
+ index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
+ show_empty: true # show 'empty list' and 'empty record' placeholders for command output
+ padding: { left: 1, right: 1 } # a left right padding of each column in a table
+ trim: {
+ methodology: wrapping # wrapping or truncating
+ wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
+ truncating_suffix: "..." # A suffix used by the 'truncating' methodology
+ }
+ header_on_separator: false # show header text on separator/border line
+ }
+
+ # datetime_format determines what a datetime rendered in the shell would look like.
+ # Behavior without this configuration point will be to "humanize" the datetime display,
+ # showing something like "a day ago."
+ datetime_format: {
+ # normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables
+ # table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format
+ }
+
+ explore: {
+ try: {
+ border_color: {fg: "white"}
+ },
+ status_bar_background: {fg: "#ebdbb2", bg: "#504945"},
+ command_bar_text: {fg: "#ebdbb2"},
+ highlight: {fg: "black", bg: "yellow"},
+ status: {
+ error: {fg: "white", bg: "red"},
+ warn: {}
+ info: {}
+ },
+ table: {
+ split_line: {fg: "#404040"},
+ selected_cell: {},
+ selected_row: {},
+ selected_column: {},
+ show_cursor: true,
+ line_head_top: true,
+ line_head_bottom: true,
+ line_shift: true,
+ line_index: true,
+ },
+ config: {
+ border_color: {fg: "white"}
+ cursor_color: {fg: "black", bg: "light_yellow"}
+ },
+ }
+
+ history: {
+ max_size: 100_000 # Session has to be reloaded for this to take effect
+ sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
+ file_format: "sqlite" # "sqlite" or "plaintext"
+ isolation: false # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions.
+ }
+
+ completions: {
+ case_sensitive: false # set to true to enable case-sensitive completions
+ quick: true # set this to false to prevent auto-selecting completions when only one remains
+ partial: true # set this to false to prevent partial filling of the prompt
+ algorithm: "fuzzy" # prefix or fuzzy
+ external: {
+ enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow
+ max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
+ # completer: $carapace_completer # check 'carapace_completer' above as an example
+ }
+ }
+
+ filesize: {
+ metric: true # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
+ format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto
+ }
+
+ cursor_shape: {
+ emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line (line is the default)
+ vi_insert: line # block, underscore, line , blink_block, blink_underscore, blink_line (block is the default)
+ vi_normal: block # block, underscore, line, blink_block, blink_underscore, blink_line (underscore is the default)
+ }
+
+ color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
+ use_grid_icons: true
+ footer_mode: "25" # always, never, number_of_rows, auto
+ float_precision: 2 # the precision for displaying floats in tables
+ buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
+ use_ansi_coloring: true
+ bracketed_paste: true # enable bracketed paste, currently useless on windows
+ edit_mode: vi # emacs, vi
+ shell_integration: true # enables terminal shell integration. Off by default, as some terminals have issues with this.
+ render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
+
+ hooks: {
+ pre_execution: [{ null }] # run before the repl input is run
+ env_change: {
+ PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input
+ }
+ display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline
+ command_not_found: { null } # return an error message when a command is not found
+ }
+
+ menus: [
+ # Configuration for default nushell menus
+ # Note the lack of source parameter
+ {
+ name: completion_menu
+ only_buffer_difference: false
+ marker: "| "
+ type: {
+ layout: columnar
+ columns: 4
+ col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
+ col_padding: 2
+ }
+ style: {
+ text: green
+ selected_text: green_reverse
+ description_text: yellow
+ }
+ }
+ {
+ name: history_menu
+ only_buffer_difference: true
+ marker: "? "
+ type: {
+ layout: list
+ page_size: 10
+ }
+ style: {
+ text: green
+ selected_text: green_reverse
+ description_text: yellow
+ }
+ }
+ {
+ name: help_menu
+ only_buffer_difference: true
+ marker: "? "
+ type: {
+ layout: description
+ columns: 4
+ col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
+ col_padding: 2
+ selection_rows: 4
+ description_rows: 10
+ }
+ style: {
+ text: green
+ selected_text: green_reverse
+ description_text: yellow
+ }
+ }
+ ]
+
+ keybindings: [
+ {
+ name: completion_menu
+ modifier: none
+ keycode: tab
+ mode: [emacs vi_normal vi_insert]
+ event: {
+ until: [
+ { send: menu name: completion_menu }
+ { send: menunext }
+ ]
+ }
+ }
+ {
+ name: history_menu
+ modifier: control
+ keycode: char_r
+ mode: [emacs, vi_insert, vi_normal]
+ event: { send: menu name: history_menu }
+ }
+ {
+ name: help_menu
+ modifier: none
+ keycode: f1
+ mode: [emacs, vi_insert, vi_normal]
+ event: { send: menu name: help_menu }
+ }
+ {
+ name: completion_previous_menu
+ modifier: shift
+ keycode: backtab
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: menuprevious }
+ }
+ {
+ name: next_page_menu
+ modifier: control
+ keycode: char_x
+ mode: emacs
+ event: { send: menupagenext }
+ }
+ {
+ name: undo_or_previous_page_menu
+ modifier: control
+ keycode: char_z
+ mode: emacs
+ event: {
+ until: [
+ { send: menupageprevious }
+ { edit: undo }
+ ]
+ }
+ }
+ {
+ name: escape
+ modifier: none
+ keycode: escape
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: esc } # NOTE: does not appear to work
+ }
+ {
+ name: cancel_command
+ modifier: control
+ keycode: char_c
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: ctrlc }
+ }
+ {
+ name: quit_shell
+ modifier: control
+ keycode: char_d
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: ctrld }
+ }
+ {
+ name: clear_screen
+ modifier: control
+ keycode: char_l
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: clearscreen }
+ }
+ {
+ name: search_history
+ modifier: control
+ keycode: char_q
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: searchhistory }
+ }
+ {
+ name: open_command_editor
+ modifier: control
+ keycode: char_o
+ mode: [emacs, vi_normal, vi_insert]
+ event: { send: openeditor }
+ }
+ {
+ name: move_up
+ modifier: none
+ keycode: up
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: menuup}
+ {send: up}
+ ]
+ }
+ }
+ {
+ name: move_down
+ modifier: none
+ keycode: down
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: menudown}
+ {send: down}
+ ]
+ }
+ }
+ {
+ name: move_left
+ modifier: none
+ keycode: left
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: menuleft}
+ {send: left}
+ ]
+ }
+ }
+ {
+ name: move_right_or_take_history_hint
+ modifier: none
+ keycode: right
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: historyhintcomplete}
+ {send: menuright}
+ {send: right}
+ ]
+ }
+ }
+ {
+ name: move_one_word_left
+ modifier: control
+ keycode: left
+ mode: [emacs, vi_normal, vi_insert]
+ event: {edit: movewordleft}
+ }
+ {
+ name: move_one_word_right_or_take_history_hint
+ modifier: control
+ keycode: right
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: historyhintwordcomplete}
+ {edit: movewordright}
+ ]
+ }
+ }
+ {
+ name: move_to_line_start
+ modifier: none
+ keycode: home
+ mode: [emacs, vi_normal, vi_insert]
+ event: {edit: movetolinestart}
+ }
+ {
+ name: move_to_line_start
+ modifier: control
+ keycode: char_a
+ mode: [emacs, vi_normal, vi_insert]
+ event: {edit: movetolinestart}
+ }
+ {
+ name: move_to_line_end_or_take_history_hint
+ modifier: none
+ keycode: end
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: historyhintcomplete}
+ {edit: movetolineend}
+ ]
+ }
+ }
+ {
+ name: move_to_line_end_or_take_history_hint
+ modifier: control
+ keycode: char_e
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: historyhintcomplete}
+ {edit: movetolineend}
+ ]
+ }
+ }
+ {
+ name: move_to_line_start
+ modifier: control
+ keycode: home
+ mode: [emacs, vi_normal, vi_insert]
+ event: {edit: movetolinestart}
+ }
+ {
+ name: move_to_line_end
+ modifier: control
+ keycode: end
+ mode: [emacs, vi_normal, vi_insert]
+ event: {edit: movetolineend}
+ }
+ {
+ name: move_up
+ modifier: control
+ keycode: char_p
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: menuup}
+ {send: up}
+ ]
+ }
+ }
+ {
+ name: move_down
+ modifier: control
+ keycode: char_t
+ mode: [emacs, vi_normal, vi_insert]
+ event: {
+ until: [
+ {send: menudown}
+ {send: down}
+ ]
+ }
+ }
+ {
+ name: delete_one_character_backward
+ modifier: none
+ keycode: backspace
+ mode: [emacs, vi_insert]
+ event: {edit: backspace}
+ }
+ {
+ name: delete_one_word_backward
+ modifier: control
+ keycode: backspace
+ mode: [emacs, vi_insert]
+ event: {edit: backspaceword}
+ }
+ {
+ name: delete_one_character_forward
+ modifier: none
+ keycode: delete
+ mode: [emacs, vi_insert]
+ event: {edit: delete}
+ }
+ {
+ name: delete_one_character_forward
+ modifier: control
+ keycode: delete
+ mode: [emacs, vi_insert]
+ event: {edit: delete}
+ }
+ {
+ name: delete_one_character_forward
+ modifier: control
+ keycode: char_h
+ mode: [emacs, vi_insert]
+ event: {edit: backspace}
+ }
+ {
+ name: delete_one_word_backward
+ modifier: control
+ keycode: char_w
+ mode: [emacs, vi_insert]
+ event: {edit: backspaceword}
+ }
+ {
+ name: move_left
+ modifier: none
+ keycode: backspace
+ mode: vi_normal
+ event: {edit: moveleft}
+ }
+ {
+ name: newline_or_run_command
+ modifier: none
+ keycode: enter
+ mode: emacs
+ event: {send: enter}
+ }
+ {
+ name: move_left
+ modifier: control
+ keycode: char_b
+ mode: emacs
+ event: {
+ until: [
+ {send: menuleft}
+ {send: left}
+ ]
+ }
+ }
+ {
+ name: move_right_or_take_history_hint
+ modifier: control
+ keycode: char_f
+ mode: emacs
+ event: {
+ until: [
+ {send: historyhintcomplete}
+ {send: menuright}
+ {send: right}
+ ]
+ }
+ }
+ {
+ name: redo_change
+ modifier: control
+ keycode: char_g
+ mode: emacs
+ event: {edit: redo}
+ }
+ {
+ name: undo_change
+ modifier: control
+ keycode: char_z
+ mode: emacs
+ event: {edit: undo}
+ }
+ {
+ name: paste_before
+ modifier: control
+ keycode: char_y
+ mode: emacs
+ event: {edit: pastecutbufferbefore}
+ }
+ {
+ name: cut_word_left
+ modifier: control
+ keycode: char_w
+ mode: emacs
+ event: {edit: cutwordleft}
+ }
+ {
+ name: cut_line_to_end
+ modifier: control
+ keycode: char_k
+ mode: emacs
+ event: {edit: cuttoend}
+ }
+ {
+ name: cut_line_from_start
+ modifier: control
+ keycode: char_u
+ mode: emacs
+ event: {edit: cutfromstart}
+ }
+ {
+ name: swap_graphemes
+ modifier: control
+ keycode: char_t
+ mode: emacs
+ event: {edit: swapgraphemes}
+ }
+ {
+ name: move_one_word_left
+ modifier: alt
+ keycode: left
+ mode: emacs
+ event: {edit: movewordleft}
+ }
+ {
+ name: move_one_word_right_or_take_history_hint
+ modifier: alt
+ keycode: right
+ mode: emacs
+ event: {
+ until: [
+ {send: historyhintwordcomplete}
+ {edit: movewordright}
+ ]
+ }
+ }
+ {
+ name: move_one_word_left
+ modifier: alt
+ keycode: char_b
+ mode: emacs
+ event: {edit: movewordleft}
+ }
+ {
+ name: move_one_word_right_or_take_history_hint
+ modifier: alt
+ keycode: char_f
+ mode: emacs
+ event: {
+ until: [
+ {send: historyhintwordcomplete}
+ {edit: movewordright}
+ ]
+ }
+ }
+ {
+ name: delete_one_word_forward
+ modifier: alt
+ keycode: delete
+ mode: emacs
+ event: {edit: deleteword}
+ }
+ {
+ name: delete_one_word_backward
+ modifier: alt
+ keycode: backspace
+ mode: emacs
+ event: {edit: backspaceword}
+ }
+ {
+ name: delete_one_word_backward
+ modifier: alt
+ keycode: char_m
+ mode: emacs
+ event: {edit: backspaceword}
+ }
+ {
+ name: cut_word_to_right
+ modifier: alt
+ keycode: char_d
+ mode: emacs
+ event: {edit: cutwordright}
+ }
+ {
+ name: upper_case_word
+ modifier: alt
+ keycode: char_u
+ mode: emacs
+ event: {edit: uppercaseword}
+ }
+ {
+ name: lower_case_word
+ modifier: alt
+ keycode: char_l
+ mode: emacs
+ event: {edit: lowercaseword}
+ }
+ {
+ name: capitalize_char
+ modifier: alt
+ keycode: char_c
+ mode: emacs
+ event: {edit: capitalizechar}
+ }
+ ]
+}
+
+
+# STOLEN FROM: https://www.grailbox.com/2023/07/autostart-zellij-in-nushell/
+# zellij
+def start_zellij [] {
+ if 'ZELLIJ' not-in ($env | columns) {
+ if 'ZELLIJ_AUTO_ATTACH' in ($env | columns) and $env.ZELLIJ_AUTO_ATTACH == 'true' {
+ zellij attach -c
+ } else {
+ zellij
+ }
+
+ if 'ZELLIJ_AUTO_EXIT' in ($env | columns) and $env.ZELLIJ_AUTO_EXIT == 'true' {
+ exit
+ }
+ }
+}
+
+start_zellij
+
+def nsp [
+ ...programs: string
+] {
+ nix shell ...($programs | each {|it| $"nixpkgs#($it)" })
+}
+
+def lcr [
+ file_extension: string
+] {
+ ls $"**/*.($file_extension)"
+ | each {|file|
+ open $file.name
+ | lines --skip-empty
+ | length }
+ | math sum
+}
+
+def glog [
+ amount: int
+] {
+ git log --pretty=%h»¦«%s»¦«%aN»¦«%aE»¦«%aD -n $amount
+ | lines
+ | split column "»¦«" commit subject name email date
+}
+
+def ed [
+ file: path
+ ...cmdargs: string
+] {
+ let ext = $file | path parse | get extension;
+ match $ext {
+ "typ" => {|| zellij run --direction down -- typst watch $file ($cmdargs | prepend '--open' | str join ' ') }
+ };
+ hx $file
+}
+
+alias gnix = cd ~/nix-configs;
+alias grepo = cd ~/Documents/repos;
+alias wh = wormhole-rs;
+
+alias gg = gitui;
+alias ga = git add;
+alias gc = git commit;
+alias gca = git commit --all;
+alias gp = git push;
+alias gl = git pull;
+alias gs = git status;
+alias clip = xclip -selection c;
+
+alias cr = cargo run;
+alias cl = cargo clippy;
+alias cb = cargo build;
+alias cch = cargo check;
diff --git a/modules/shell/nu/env.nu b/other/env.nu
similarity index 65%
rename from modules/shell/nu/env.nu
rename to other/env.nu
index 91332be..57878d8 100644
--- a/modules/shell/nu/env.nu
+++ b/other/env.nu
@@ -2,20 +2,36 @@
#
# version = "0.84.0"
-source /home/jade/.config/nushell/shell-startup.nu;
-$env.STARSHIP_SHELL = "nu";
-$env.CMD_COUNT = 0;
-$env.EDITOR = "hx";
-$env.S10E_JRNL_FILE_LOC = "~/Docs/jrnl.md";
+def create_left_prompt [] {
+ mut home = ""
+ try {
+ if $nu.os-info.name == "windows" {
+ $home = $env.USERPROFILE
+ } else {
+ $home = $env.HOME
+ }
+ }
+
+ let dir = ([
+ ($env.PWD | str substring 0..($home | str length) | str replace $home "~"),
+ ($env.PWD | str substring ($home | str length)..)
+ ] | str join)
+
+ let path_color = (if (is-admin) { ansi red_bold } else { ansi green_bold })
+ let separator_color = (if (is-admin) { ansi light_red_bold } else { ansi light_green_bold })
+ let path_segment = $"($path_color)($dir)"
+
+ $path_segment | str replace --all (char path_sep) $"($separator_color)/($path_color)"
+}
def create_right_prompt [] {
# create a right prompt in magenta with green separators and am/pm underlined
-
let time_segment = ([
(ansi reset)
- (ansi purple)
- (date now | format date '%Y/%m/%d %R')
- ]) | str join;
+ (ansi magenta)
+ (date now | format date '%Y/%m/%d %r')
+ ] | str join | str replace --regex --all "([/:])" $"(ansi green)${1}(ansi magenta)" |
+ str replace --regex --all "([AP]M)" $"(ansi magenta_underline)${1}")
let last_exit_code = if ($env.LAST_EXIT_CODE != 0) {([
(ansi rb)
@@ -27,26 +43,8 @@ def create_right_prompt [] {
}
# Use nushell functions to define your right and left prompt
-$env.PROMPT_COMMAND = {||
- starship prompt --cmd-duration $env.CMD_DURATION_MS $'--status=($env.LAST_EXIT_CODE)'
- | lines
- | filter { is-not-empty }
- | update 0 {|item|
- let len = (term size | get columns) - ($item | ansi strip | str length --grapheme-clusters) - (create_right_prompt | ansi strip | str length --grapheme-clusters);
- # $item | append (flag $TRANS "-" $len) | str join
- let deco = if ($env.CMD_COUNT == 0) {
- flag $TRANS "=" $len
- } else if ($env.CMD_COUNT | is even) {
- flag $LESBIAN "–" $len
- } else {
- flag $TRANS "–" $len
- };
-
- $item | append $deco | str join
- }
- | str join "\n"
-}
-$env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
+$env.PROMPT_COMMAND = {|| create_left_prompt }
+# $env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
# The prompt indicators are environmental variables that represent
# the state of the prompt
diff --git a/other/evremap.Cargo.lock b/other/evremap.Cargo.lock
new file mode 100644
index 0000000..f9e7e9b
--- /dev/null
+++ b/other/evremap.Cargo.lock
@@ -0,0 +1,693 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "aho-corasick"
+version = "0.7.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e"
+dependencies = [
+ "memchr",
+]
+
+[[package]]
+name = "android_system_properties"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "ansi_term"
+version = "0.12.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "anyhow"
+version = "1.0.65"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "98161a4e3e2184da77bb14f02184cdd111e83bbbcc9979dfee3c44b9a85f5602"
+
+[[package]]
+name = "atty"
+version = "0.2.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8"
+dependencies = [
+ "hermit-abi",
+ "libc",
+ "winapi",
+]
+
+[[package]]
+name = "autocfg"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bumpalo"
+version = "3.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c1ad822118d20d2c234f427000d5acc36eabe1e29a348c89b63dd60b13f28e5d"
+
+[[package]]
+name = "cc"
+version = "1.0.73"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
+
+[[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.22"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1"
+dependencies = [
+ "iana-time-zone",
+ "js-sys",
+ "num-integer",
+ "num-traits",
+ "time",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "clap"
+version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [
+ "ansi_term",
+ "atty",
+ "bitflags",
+ "strsim",
+ "textwrap",
+ "unicode-width",
+ "vec_map",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
+]
+
+[[package]]
+name = "core-foundation-sys"
+version = "0.8.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc"
+
+[[package]]
+name = "cxx"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3f83d0ebf42c6eafb8d7c52f7e5f2d3003b89c7aa4fd2b79229209459a849af8"
+dependencies = [
+ "cc",
+ "cxxbridge-flags",
+ "cxxbridge-macro",
+ "link-cplusplus",
+]
+
+[[package]]
+name = "cxx-build"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07d050484b55975889284352b0ffc2ecbda25c0c55978017c132b29ba0818a86"
+dependencies = [
+ "cc",
+ "codespan-reporting",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "scratch",
+ "syn",
+]
+
+[[package]]
+name = "cxxbridge-flags"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "99d2199b00553eda8012dfec8d3b1c75fce747cf27c169a270b3b99e3448ab78"
+
+[[package]]
+name = "cxxbridge-macro"
+version = "1.0.79"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcb67a6de1f602736dd7eaead0080cf3435df806c61b24b13328db128c58868f"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "env_logger"
+version = "0.6.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aafcde04e90a5226a6443b7aabdb016ba2f8307c847d524724bd9b346dd1a2d3"
+dependencies = [
+ "atty",
+ "humantime",
+ "log",
+ "regex",
+ "termcolor",
+]
+
+[[package]]
+name = "evdev-rs"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "95f73dad019df28348aad51f059684bdf628822325c26d34fbe126e513369799"
+dependencies = [
+ "bitflags",
+ "evdev-sys",
+ "libc",
+ "log",
+ "nix",
+]
+
+[[package]]
+name = "evdev-sys"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "14ead42b547b15d47089c1243d907bcf0eb94e457046d3b315a26ac9c9e9ea6d"
+dependencies = [
+ "cc",
+ "libc",
+ "pkg-config",
+]
+
+[[package]]
+name = "evremap"
+version = "0.1.0"
+dependencies = [
+ "anyhow",
+ "evdev-rs",
+ "libc",
+ "log",
+ "pretty_env_logger",
+ "serde",
+ "structopt",
+ "thiserror",
+ "toml",
+]
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "hermit-abi"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33"
+dependencies = [
+ "libc",
+]
+
+[[package]]
+name = "humantime"
+version = "1.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "df004cfca50ef23c36850aaaa59ad52cc70d0e90243c3c7737a4dd32dc7a3c4f"
+dependencies = [
+ "quick-error",
+]
+
+[[package]]
+name = "iana-time-zone"
+version = "0.1.51"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f5a6ef98976b22b3b7f2f3a806f858cb862044cfa66805aa3ad84cb3d3b785ed"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "winapi",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0703ae284fc167426161c2e3f1da3ea71d94b21bedbcc9494e92b28e334e3dca"
+dependencies = [
+ "cxx",
+ "cxx-build",
+]
+
+[[package]]
+name = "js-sys"
+version = "0.3.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47"
+dependencies = [
+ "wasm-bindgen",
+]
+
+[[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.135"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c"
+
+[[package]]
+name = "link-cplusplus"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369"
+dependencies = [
+ "cc",
+]
+
+[[package]]
+name = "log"
+version = "0.4.17"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
+dependencies = [
+ "cfg-if 1.0.0",
+]
+
+[[package]]
+name = "memchr"
+version = "2.5.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
+
+[[package]]
+name = "nix"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4dbdc256eaac2e3bd236d93ad999d3479ef775c863dbda3068c4006a92eec51b"
+dependencies = [
+ "bitflags",
+ "cc",
+ "cfg-if 0.1.10",
+ "libc",
+ "void",
+]
+
+[[package]]
+name = "num-integer"
+version = "0.1.45"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9"
+dependencies = [
+ "autocfg",
+ "num-traits",
+]
+
+[[package]]
+name = "num-traits"
+version = "0.2.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd"
+dependencies = [
+ "autocfg",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.15.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
+
+[[package]]
+name = "pkg-config"
+version = "0.3.25"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1df8c4ec4b0627e53bdf214615ad287367e482558cf84b109250b37464dc03ae"
+
+[[package]]
+name = "pretty_env_logger"
+version = "0.3.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "717ee476b1690853d222af4634056d830b5197ffd747726a9a1eee6da9f49074"
+dependencies = [
+ "chrono",
+ "env_logger",
+ "log",
+]
+
+[[package]]
+name = "proc-macro-error"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c"
+dependencies = [
+ "proc-macro-error-attr",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro-error-attr"
+version = "1.0.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "version_check",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.47"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725"
+dependencies = [
+ "unicode-ident",
+]
+
+[[package]]
+name = "quick-error"
+version = "1.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1d01941d82fa2ab50be1e79e6714289dd7cde78eba4c074bc5a4374f650dfe0"
+
+[[package]]
+name = "quote"
+version = "1.0.21"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "regex"
+version = "1.6.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b"
+dependencies = [
+ "aho-corasick",
+ "memchr",
+ "regex-syntax",
+]
+
+[[package]]
+name = "regex-syntax"
+version = "0.6.27"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244"
+
+[[package]]
+name = "scratch"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898"
+
+[[package]]
+name = "serde"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.145"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "strsim"
+version = "0.8.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a"
+
+[[package]]
+name = "structopt"
+version = "0.3.26"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10"
+dependencies = [
+ "clap",
+ "lazy_static",
+ "structopt-derive",
+]
+
+[[package]]
+name = "structopt-derive"
+version = "0.4.18"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0"
+dependencies = [
+ "heck",
+ "proc-macro-error",
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "syn"
+version = "1.0.102"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-ident",
+]
+
+[[package]]
+name = "termcolor"
+version = "1.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bab24d30b911b2376f3a13cc2cd443142f0c81dda04c118693e35b3835757755"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "time"
+version = "0.1.44"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255"
+dependencies = [
+ "libc",
+ "wasi",
+ "winapi",
+]
+
+[[package]]
+name = "toml"
+version = "0.5.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "unicode-ident"
+version = "1.0.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3"
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.10.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0fdbf052a0783de01e944a6ce7a8cb939e295b1e7be835a1112c3b9a7f047a5a"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.10"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
+
+[[package]]
+name = "vec_map"
+version = "0.8.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "void"
+version = "1.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d"
+
+[[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.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268"
+dependencies = [
+ "cfg-if 1.0.0",
+ "wasm-bindgen-macro",
+]
+
+[[package]]
+name = "wasm-bindgen-backend"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142"
+dependencies = [
+ "bumpalo",
+ "log",
+ "once_cell",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-macro"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810"
+dependencies = [
+ "quote",
+ "wasm-bindgen-macro-support",
+]
+
+[[package]]
+name = "wasm-bindgen-macro-support"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+ "wasm-bindgen-backend",
+ "wasm-bindgen-shared",
+]
+
+[[package]]
+name = "wasm-bindgen-shared"
+version = "0.2.83"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f"
+
+[[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-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[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/other/remaps-catbook-j.toml b/other/remaps-catbook-j.toml
new file mode 100644
index 0000000..6a6067f
--- /dev/null
+++ b/other/remaps-catbook-j.toml
@@ -0,0 +1,22 @@
+device_name = "AT Translated Set 2 keyboard"
+
+[[remap]]
+input = [ "KEY_Y" ]
+output = [ "KEY_Z" ]
+
+[[remap]]
+input = [ "KEY_Z" ]
+output = [ "KEY_Y" ]
+
+[[remap]]
+input = [ "KEY_LEFTALT" ]
+output = [ "KEY_LEFTMETA" ]
+
+[[remap]]
+input = [ "KEY_LEFTMETA" ]
+output = [ "KEY_LEFTALT" ]
+
+[[dual_role]]
+input = "KEY_CAPSLOCK"
+hold = ["KEY_LEFTCTRL"]
+tap = ["KEY_ESC"]
diff --git a/other/remaps-potatobook-g.toml b/other/remaps-potatobook-g.toml
new file mode 100644
index 0000000..a026f94
--- /dev/null
+++ b/other/remaps-potatobook-g.toml
@@ -0,0 +1,18 @@
+device_name = "Apple Inc. Apple Internal Keyboard / Trackpad"
+
+[[remap]]
+input = [ "KEY_RIGHTMETA" ]
+output = [ "KEY_SPACE" ]
+
+[[remap]]
+input = [ "KEY_Y" ]
+output = [ "KEY_Z" ]
+
+[[remap]]
+input = [ "KEY_Z" ]
+output = [ "KEY_Y" ]
+
+[[dual_role]]
+input = "KEY_CAPSLOCK"
+hold = ["KEY_LEFTCTRL"]
+tap = ["KEY_ESC"]
diff --git a/other/rofi-themes/applauncher.rasi b/other/rofi-themes/applauncher.rasi
new file mode 100644
index 0000000..f099de8
--- /dev/null
+++ b/other/rofi-themes/applauncher.rasi
@@ -0,0 +1,79 @@
+* {
+ background-color: #282828;
+ text-color: #ebdbb2;
+}
+
+
+window {
+ width: 1024px;
+ background-color: #1d2021;
+ border-radius: 12px;
+}
+
+mainbox {
+ spacing: 0px;
+ children: [inputbar,listview];
+}
+
+element {
+ background: #1d2021;
+ children: [ element-icon, element-text ];
+}
+element,element-text,element-icon, button {
+ cursor: pointer;
+}
+
+inputbar {
+ margin: 0px 0px 0.5em 0em;
+ spacing: 0.4em;
+ background-color: #1d2021;
+ children: [entry,overlay];
+}
+
+listview, inputbar, message {
+ columns: 5;
+ lines: 3;
+}
+
+listview {
+ padding: 20px;
+ border-radius: inherit;
+}
+
+
+element {
+ border: 0;
+ padding: 10px;
+ font: "Atkinson Hyperlegible 8";
+ orientation: vertical;
+ border-radius: 10px;
+}
+
+element-icon {
+ padding: 1.5em 1.5em 0.5em;
+ size: 4.5em;
+}
+
+element selected {
+ background-color: #1d2021;
+}
+
+element-text {
+ padding: 0 0 7px 0;
+}
+
+element-text selected, element-icon selected {
+ background-color: #1d2021;
+}
+
+element-text, element-icon {
+ font-size: 2em;
+ font: "Atkinson Hyperlegible";
+ horizontal-align: 0.5;
+}
+
+entry {
+ padding: 15px;
+ background-color: #1d2021;
+}
+
diff --git a/other/scripts/desktop/desktopctl.nix b/other/scripts/desktop/desktopctl.nix
new file mode 100644
index 0000000..117f6ea
--- /dev/null
+++ b/other/scripts/desktop/desktopctl.nix
@@ -0,0 +1,35 @@
+{pkgs, ...}:
+pkgs.writeShellScriptBin "desktopctl" ''
+ case $@ in
+ "Lock Screen")
+ loginctl lock-session
+ exit 0
+ ;;
+ "Log Out")
+ pkill xmonad
+ exit 0
+ ;;
+ "Shut Down")
+ shutdown now
+ exit 0
+ ;;
+ "Reboot")
+ systemctl reboot
+ exit 0
+ ;;
+ esac
+
+ # resizes grid
+ echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
+ # resizes window, moves it to top of screen, adjusts rounded corners
+ echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
+ # swaps grid and input bar
+ echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
+ # fixes brown line below input bar
+ echo -en "\0theme\x1finputbar{margin:0;}\n"
+
+ echo -en "Lock Screen\0icon\x1f${../../../other/assets/desktopctl/lock-screen.svg}\n"
+ echo -en "Log Out\0icon\x1f${../../../other/assets/desktopctl/logout.svg}\n"
+ echo -en "Shut Down\0icon\x1f${../../../other/assets/desktopctl/shutdown.svg}\n"
+ echo -en "Reboot\0icon\x1f${../../../other/assets/desktopctl/reboot.svg}\n"
+''
diff --git a/other/scripts/desktop/macros/play-loop.sh b/other/scripts/desktop/macros/play-loop.sh
new file mode 100644
index 0000000..a38f47e
--- /dev/null
+++ b/other/scripts/desktop/macros/play-loop.sh
@@ -0,0 +1,9 @@
+mkdir -p $HOME/xmacros
+
+register=$(ls $HOME/xmacros | rofi -dmenu)
+count=$(echo "2;5;10;20;50;100" | rofi -dmenu -sep ";" -l 5)
+
+for i in $(seq $count); do
+ echo $i
+ xmacroplay "$DISPLAY" < $HOME/xmacros/$register
+done
diff --git a/other/scripts/desktop/macros/play.sh b/other/scripts/desktop/macros/play.sh
new file mode 100644
index 0000000..60587fd
--- /dev/null
+++ b/other/scripts/desktop/macros/play.sh
@@ -0,0 +1,5 @@
+mkdir -p $HOME/xmacros
+
+register=$(ls $HOME/xmacros | rofi -dmenu)
+
+xmacroplay "$DISPLAY" < $HOME/xmacros/$register
diff --git a/other/scripts/desktop/macros/record.sh b/other/scripts/desktop/macros/record.sh
new file mode 100644
index 0000000..f08ce07
--- /dev/null
+++ b/other/scripts/desktop/macros/record.sh
@@ -0,0 +1,5 @@
+mkdir -p $HOME/xmacros
+
+register=$(ls $HOME/xmacros | rofi -dmenu)
+
+xmacrorec2 > $HOME/xmacros/$register
diff --git a/other/scripts/desktop/menu-qalc.sh b/other/scripts/desktop/menu-qalc.sh
new file mode 100644
index 0000000..ae6c153
--- /dev/null
+++ b/other/scripts/desktop/menu-qalc.sh
@@ -0,0 +1,87 @@
+# Copy-pasted from https://raw.githubusercontent.com/BarbUk/menu-qalc/master/%3D
+# I hope this is even legal but OH WELL
+
+# https://github.com/onespaceman/menu-calc
+# Calculator for use with rofi/dmenu(2)
+# Copying to the clipboard requires xclip
+
+usage() {
+ echo "$(tput bold)menu-calc$(tput sgr0)"
+ echo "A calculator for Rofi/dmenu(2)"
+ echo
+ echo "$(tput bold)Usage:$(tput sgr0)"
+ echo " = 4+2"
+ echo " = (4+2)/(4+3)"
+ echo " = 4^2"
+ echo " = sqrt(4)"
+ echo " = c(2)"
+ echo
+ echo "$(tput bold)Force Rofi/dmenu(2):$(tput sgr0)"
+ echo "By default, if rofi exists, it will be used. To force menu-calc to"
+ echo "use one or the other, use the --dmenu argument"
+ echo
+ echo " = --dmenu="
+ echo
+ echo "$(tput bold)Passing arguments to Rofi/dmenu(2):$(tput sgr0)"
+ echo "Any parameters after ' -- ' will be passed to Rofi/dmenu(2)."
+ echo
+ echo " = -- "
+ echo
+ echo "The answer can be copied to the clipboard and used for further calculations inside (or outside) Rofi/dmenu."
+ echo
+ echo "If launched outside of Rofi/dmenu the expression may need quotation marks."
+ exit
+}
+
+# Process CLI parameters
+for var in "$@"
+do
+ case $var in
+ -h|--help) usage ;;
+ -d=*|--dmenu=*)
+ menu=$(echo $var | cut -d'=' -f 2);
+ ;;
+ --) break ;;
+ esac
+done
+
+# Grab the answer
+if [ -n "$1" ]; then
+ answer=$(echo "$1" | qalc +u8 -color=never -terse | awk '!/^>/ && !/^$/ {gsub(/^[ \t]+|[ \t]+$/, "", $0); print}')
+fi
+
+# Path to menu application
+if [ -z "${menu+1}" ]; then
+ if [[ -n $(command -v rofi) ]]; then
+ menu="$(command -v rofi)"
+ elif [[ -n $(command -v dmenu) ]]; then
+ menu=$(command -v dmenu)
+ else
+ >&2 echo "Rofi or dmenu not found"
+ exit
+ fi
+fi
+
+# If using rofi, add the necessary parameters
+if [[ $menu == "rofi" || $menu == $(command -v rofi) ]]; then
+ menu="$menu -dmenu -lines 3"
+elif [[ $menu == "dmenu" || $menu == $(command -v dmenu) ]]; then
+ menu="$menu ""$DMENU_OPTIONS"
+fi
+
+# Determine args to pass to dmenu/rofi
+while [[ $# -gt 0 && $1 != "--" ]]; do
+ shift
+done
+[[ $1 == "--" ]] && shift
+
+action=$(echo -e "Copy to clipboard\nClear\nClose" | $menu "$@" -p "= $answer")
+
+case $action in
+ "Clear") $0 ;;
+ "Copy to clipboard") echo -n "$answer" | xclip -selection clipboard ;;
+ "Close") ;;
+ "") ;;
+ *) $0 "$answer $action" "--dmenu=$menu" "--" "$@" ;;
+esac
+
diff --git a/other/scripts/desktop/ocr-screenshot.sh b/other/scripts/desktop/ocr-screenshot.sh
new file mode 100755
index 0000000..6cf3da8
--- /dev/null
+++ b/other/scripts/desktop/ocr-screenshot.sh
@@ -0,0 +1,27 @@
+langs="eng deu spa osd"
+langs=$(tesseract --list-langs | tail +2)
+first_menu="$langs exit"
+selection_menu1=$(echo $first_menu | rofi -sep " " -dmenu)
+
+tmp_img=`mktemp`
+trap "rm $tmp_img*" EXIT
+
+
+echo $selection_menu1
+
+case $selection_menu1 in
+ "eng"|"deu"|"spa"|"osd"|"fra")
+ tesseract_lang=$selection_menu1
+ flameshot gui -p $tmp_img.png -d 100
+ mogrify -modulate 100,0 -resize 400% $tmp_img.png
+ ;;
+ "exit")
+ exit
+ ;;
+esac
+
+tesseract $tmp_img.png $tmp_img
+cat $tmp_img
+xclip -i $tmp_img -selection clipboard
+exit
+
diff --git a/other/scripts/desktop/window-screenshot.nu b/other/scripts/desktop/window-screenshot.nu
new file mode 100755
index 0000000..89785b2
--- /dev/null
+++ b/other/scripts/desktop/window-screenshot.nu
@@ -0,0 +1,19 @@
+#!/usr/bin/env nu
+
+def main [ ] {
+ let reg = (
+ xwininfo -id (xdotool getactivewindow)
+ | lines
+ | parse '{key}: {value}'
+ | str trim
+ | get value
+ | echo {
+ x: $in.1
+ y: $in.2
+ w: $in.5
+ h: $in.6
+ }
+ );
+
+ flameshot gui --region $"($reg.w)x($reg.h)+($reg.x)+($reg.y)" -c -p ~/Pictures/screenshots
+}
\ No newline at end of file
diff --git a/other/scripts/desktop/window-screenshot.sh b/other/scripts/desktop/window-screenshot.sh
new file mode 100644
index 0000000..5ff7359
--- /dev/null
+++ b/other/scripts/desktop/window-screenshot.sh
@@ -0,0 +1,8 @@
+unset x y w h
+eval $(xwininfo -id $(xdotool getactivewindow) |
+ sed -n -e "s/^ \+Absolute upper-left X: \+\([0-9]\+\).*/x=\1/p" \
+ -e "s/^ \+Absolute upper-left Y: \+\([0-9]\+\).*/y=\1/p" \
+ -e "s/^ \+Width: \+\([0-9]\+\).*/w=\1/p" \
+ -e "s/^ \+Height: \+\([0-9]\+\).*/h=\1/p" )
+echo -n "$x $y $w $h"
+flameshot gui --region "${w}x${h}+${x}+${y}" -c -p ~/Pictures/screenshots/
diff --git a/modules/net/dispatchers/dispatcher.nu b/other/scripts/dispatcher.nu
similarity index 78%
rename from modules/net/dispatchers/dispatcher.nu
rename to other/scripts/dispatcher.nu
index 6416f50..466732d 100755
--- a/modules/net/dispatchers/dispatcher.nu
+++ b/other/scripts/dispatcher.nu
@@ -14,8 +14,6 @@ def main [
systemd-cat echo $"($currentnet) \(($interface)): ($type)";
if $interface starts-with 'wlp' {
- let p = $"/etc/networkhooks/($currentnet).nu";
- systemd-cat echo $p;
- ^$p $interface $type
+ ^$"/etc/networkhooks/($currentnet).nu" $interface $type
}
}
diff --git a/modules/net/dispatchers/hooks/WIFI@DB.nu b/other/scripts/networkhooks/WIFI@DB.nu
similarity index 100%
rename from modules/net/dispatchers/hooks/WIFI@DB.nu
rename to other/scripts/networkhooks/WIFI@DB.nu
diff --git a/other/scripts/networkhooks/WIFIonICE.nu b/other/scripts/networkhooks/WIFIonICE.nu
new file mode 100644
index 0000000..2de9902
--- /dev/null
+++ b/other/scripts/networkhooks/WIFIonICE.nu
@@ -0,0 +1,22 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl htmlq
+
+# echo "Fetching cookie and CSRF token..."
+# form=$(curl --silent --location --junk-session-cookies --cookie-jar /tmp/wifionice "https://login.wifionice.de/en/" --resolve login.wifionice.de:443:10.101.64.10 -i | htmlq "input")
+
+# keys=$(htmlq "input" --attribute "name" <<< "$form")
+# values=$(htmlq "input" --attribute "value" <<< "$form")
+# payload=$(paste --delimiters="=" <(echo "$keys") <(echo "$values") | tr "\n" "&")
+
+# echo "Payload: \"$payload\""
+# echo "POSTing payload..."
+
+# curl --cookie /tmp/wifionice "https://login.wifionice.de/en/" --resolve login.wifionice.de:443:10.101.64.10 -d "$payload"
+
+def main [
+ interface: string
+ type: string
+] {
+ let form = curl --silent --location --junk-session-cookies --cookie-jar /tmp/wifionice 'https://login.wifionice.de/en/' --resolve 'login.wifionice.de:443:10.101.64.10' -i | htmlq 'input';
+ # TODO
+}
diff --git a/modules/net/dispatchers/hooks/ccchh.nu b/other/scripts/networkhooks/ccchh.nu
similarity index 100%
rename from modules/net/dispatchers/hooks/ccchh.nu
rename to other/scripts/networkhooks/ccchh.nu
diff --git a/modules/desktop/home/niri/wallpaper.jpg b/other/wallpaper.jpg
similarity index 100%
rename from modules/desktop/home/niri/wallpaper.jpg
rename to other/wallpaper.jpg
diff --git a/programs/bar-pinger/Cargo.toml b/programs/bar-pinger/Cargo.toml
deleted file mode 100644
index 86538f0..0000000
--- a/programs/bar-pinger/Cargo.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[package]
-name = "bar-pinger"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
diff --git a/programs/bar-pinger/src/main.rs b/programs/bar-pinger/src/main.rs
deleted file mode 100644
index ddfc410..0000000
--- a/programs/bar-pinger/src/main.rs
+++ /dev/null
@@ -1,5 +0,0 @@
-// const ADDRS: [&str] = ["katzen.cafe", "fucktorio.s10e.de", "9.9.9.9"];
-
-fn main() {
- // let pingers = ADDRS.iter.map(|addr| Command::new("ping").args([addr]));
-}
diff --git a/programs/bar-ws-monitor/Cargo.toml b/programs/bar-ws-monitor/Cargo.toml
deleted file mode 100644
index f7c7ec4..0000000
--- a/programs/bar-ws-monitor/Cargo.toml
+++ /dev/null
@@ -1,9 +0,0 @@
-[package]
-name = "bar-ws-monitor"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
-serde = { version = "1.0.209", features = [ "derive" ] }
-serde_json = "1.0.127"
-niri-ipc = "25.2.0"
diff --git a/programs/bar-ws-monitor/src/main.rs b/programs/bar-ws-monitor/src/main.rs
deleted file mode 100644
index 31d7d34..0000000
--- a/programs/bar-ws-monitor/src/main.rs
+++ /dev/null
@@ -1,105 +0,0 @@
-use core::panic;
-use std::{collections::HashMap, io::Write};
-
-use niri_ipc::{
- socket::Socket,
- state::{EventStreamState, EventStreamStatePart},
- Request, Response, Workspace,
-};
-use serde::Serialize;
-
-// gruvbox colors
-const COLORS: [[&str; 2]; 7] = [
- ["#458588", "#83a598"], // blue
- ["#b16286", "#d3869b"], // purple
- ["#689d6a", "#8ec07c"], // aqua
- ["#97971a", "#b8bb26"], // green
- ["#d79921", "#fabd2f"], // yellow
- ["#d65d0e", "#fe8019"], // orange
- ["#cc241d", "#fb4934"], // red
-];
-
-fn main() -> Result<(), std::io::Error> {
- let mut state = EventStreamState::default();
- let sock = Socket::connect()?;
- let mut func = sock.send(Request::EventStream).and_then(|it| match it {
- (Ok(Response::Handled), func) => Ok(func),
- _ => unreachable!(),
- })?;
-
- while let Ok(ev) = (func)() {
- // check only relevant later, only done here to avoid a clone
- let ev_is_ws_related = matches!(
- &ev,
- niri_ipc::Event::WorkspacesChanged { .. }
- | niri_ipc::Event::WorkspaceActivated { .. }
- | niri_ipc::Event::WorkspaceActiveWindowChanged { .. }
- );
-
- // apply event to state
- state.apply(ev);
-
- if ev_is_ws_related {
- let mut workspaces = state
- .workspaces
- .workspaces
- .values()
- .map(|it| it.clone())
- .collect::>();
-
- workspaces.sort_by(|a, b| a.idx.cmp(&b.idx));
- workspaces.sort_by(|a, b| {
- a.output
- .clone()
- .expect("unreachable")
- .to_lowercase()
- .cmp(&b.output.clone().expect("unreachable").to_lowercase())
- });
-
- let output_colors_lut = workspaces
- .iter()
- .map(|it| it.output.clone().expect("unreachable"))
- .fold(Vec::new(), |mut acc, it| {
- if !acc.contains(&it) {
- acc.push(it);
- }
- acc
- })
- .into_iter()
- .enumerate()
- .map(|(idx, val)| (val, &COLORS[idx]))
- .collect::>();
-
- let results = workspaces
- .iter()
- .map(
- |Workspace {
- idx,
- output,
- is_active,
- is_focused,
- ..
- }| WsData {
- color: output_colors_lut[&output.clone().expect("unreachable")]
- [if *is_active { 1 } else { 0 }],
- idx: *idx,
- focused: *is_focused,
- active: *is_active,
- },
- )
- .collect::>();
-
- println!("{}", serde_json::to_string(&results).unwrap());
- }
- }
-
- Ok(())
-}
-
-#[derive(Debug, Serialize)]
-struct WsData {
- color: &'static str,
- idx: u8,
- focused: bool,
- active: bool,
-}
diff --git a/programs/flip-bool/Cargo.toml b/programs/flip-bool/Cargo.toml
deleted file mode 100644
index c65d2fa..0000000
--- a/programs/flip-bool/Cargo.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[package]
-name = "flip-bool"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
diff --git a/programs/flip-bool/src/main.rs b/programs/flip-bool/src/main.rs
deleted file mode 100644
index 8062888..0000000
--- a/programs/flip-bool/src/main.rs
+++ /dev/null
@@ -1,110 +0,0 @@
-#![feature(pattern, iter_array_chunks, round_char_boundary, iter_collect_into)]
-
-use std::{
- io::{Read, Write},
- str::pattern::Pattern,
-};
-
-const BOOL_COUNT: usize = BOOLS.len();
-const BOOLS: &[[&str; 2]] = &[
- ["false", "true"],
- ["False", "True"],
- ["FALSE", "TRUE"],
- ["0", "1"],
- ["no", "yes"],
-];
-
-fn main() -> std::io::Result<()> {
- let mut input = String::new();
- let mut stdin = std::io::stdin();
- let mut stdout = std::io::stdout();
-
- stdin.read_to_string(&mut input)?;
-
- let bool_locs = find_bools(&input);
-
- stdout.write_all(replace_bools(&mut input, bool_locs).as_bytes())
-}
-
-type BoolLocs = [[Vec; 2]; BOOL_COUNT];
-
-// you thought [`find_bools`] was stupid? this is *so* much worse!!!
-fn replace_bools(input: &str, mut bool_locs: BoolLocs) -> String {
- let mut result = String::with_capacity(input.len());
- let mut intermediate = input;
- let mut flattened = bool_locs
- .iter_mut()
- .flatten()
- .map(|vec| {
- vec.reverse();
- vec
- })
- .enumerate()
- .collect::>();
-
- let mut smallest = || {
- let min_idx = flattened
- .iter()
- .min_by(|va, vb| {
- va.1.last()
- .unwrap_or(&usize::MAX)
- .cmp(vb.1.last().unwrap_or(&usize::MAX))
- })?
- .0;
-
- Some((min_idx, flattened[min_idx].1.pop()?))
- };
-
- let mut input_idx = 0;
- while let Some(item) = smallest() {
- let (a, b) = intermediate.split_at(item.1 - input_idx);
- input_idx += a.len();
- result += a;
- let bool_ = &BOOLS[item.0 / 2];
- input_idx += bool_[item.0 % 2].len();
- result += bool_[if item.0 % 2 == 0 { 1 } else { 0 }];
- let (_, b) = b.split_at(bool_[item.0 % 2].len());
- intermediate = b;
- }
-
- result + intermediate
-}
-
-// this is so fucking stupid
-// it also would've been way easier using a regex crate lmao
-fn find_bools(input: &str) -> [[Vec; 2]; BOOL_COUNT] {
- let mut res = Vec::with_capacity(BOOL_COUNT);
- BOOLS
- .iter()
- .flatten()
- .map(|it| {
- input
- .match_indices(it)
- .filter_map(|it| {
- fn char_guard(c: char) -> bool {
- !(c.is_alphanumeric() || c.is_contained_in("-_"))
- }
-
- let last_idx = it.0 + it.1.len();
-
- (it.0 > 0
- && last_idx < input.len()
- && char_guard(
- input[it.1.floor_char_boundary(it.0 - 1)..it.0]
- .chars()
- .last()?,
- )
- && char_guard(
- input[(last_idx)..(input.ceil_char_boundary(last_idx + 1))]
- .chars()
- .last()?,
- ))
- .then_some(it.0)
- })
- .collect()
- })
- .array_chunks::<2>()
- .collect_into(&mut res);
-
- res.try_into().unwrap()
-}
diff --git a/programs/jrnl/Cargo.lock b/programs/jrnl/Cargo.lock
deleted file mode 100644
index b061ebc..0000000
--- a/programs/jrnl/Cargo.lock
+++ /dev/null
@@ -1,1041 +0,0 @@
-# This file is automatically @generated by Cargo.
-# It is not intended for manual editing.
-version = 3
-
-[[package]]
-name = "ahash"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011"
-dependencies = [
- "cfg-if",
- "once_cell",
- "version_check",
- "zerocopy",
-]
-
-[[package]]
-name = "aho-corasick"
-version = "1.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916"
-dependencies = [
- "memchr",
-]
-
-[[package]]
-name = "allocator-api2"
-version = "0.2.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f"
-
-[[package]]
-name = "android-tzdata"
-version = "0.1.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
-
-[[package]]
-name = "android_system_properties"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "819e7219dbd41043ac279b19830f2efc897156490d7fd6ea916720117ee66311"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "anstream"
-version = "0.6.13"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb"
-dependencies = [
- "anstyle",
- "anstyle-parse",
- "anstyle-query",
- "anstyle-wincon",
- "colorchoice",
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle"
-version = "1.0.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc"
-
-[[package]]
-name = "anstyle-parse"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c"
-dependencies = [
- "utf8parse",
-]
-
-[[package]]
-name = "anstyle-query"
-version = "1.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648"
-dependencies = [
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "anstyle-wincon"
-version = "3.0.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7"
-dependencies = [
- "anstyle",
- "windows-sys 0.52.0",
-]
-
-[[package]]
-name = "autocfg"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80"
-
-[[package]]
-name = "bitflags"
-version = "1.3.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
-
-[[package]]
-name = "bitflags"
-version = "2.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1"
-
-[[package]]
-name = "bumpalo"
-version = "3.16.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c"
-
-[[package]]
-name = "cassowary"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53"
-
-[[package]]
-name = "castaway"
-version = "0.2.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc"
-dependencies = [
- "rustversion",
-]
-
-[[package]]
-name = "cc"
-version = "1.0.95"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b"
-
-[[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.38"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401"
-dependencies = [
- "android-tzdata",
- "iana-time-zone",
- "js-sys",
- "num-traits",
- "wasm-bindgen",
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "clap"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bc066a67923782aa8515dbaea16946c5bcc5addbd668bb80af688e53e548a0"
-dependencies = [
- "clap_builder",
- "clap_derive",
-]
-
-[[package]]
-name = "clap_builder"
-version = "4.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ae129e2e766ae0ec03484e609954119f123cc1fe650337e155d03b022f24f7b4"
-dependencies = [
- "anstream",
- "anstyle",
- "clap_lex",
- "strsim",
-]
-
-[[package]]
-name = "clap_derive"
-version = "4.5.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64"
-dependencies = [
- "heck 0.5.0",
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "clap_lex"
-version = "0.7.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce"
-
-[[package]]
-name = "colorchoice"
-version = "1.0.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7"
-
-[[package]]
-name = "compact_str"
-version = "0.7.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f86b9c4c00838774a6d902ef931eff7470720c51d90c2e32cfe15dc304737b3f"
-dependencies = [
- "castaway",
- "cfg-if",
- "itoa",
- "ryu",
- "static_assertions",
-]
-
-[[package]]
-name = "core-foundation-sys"
-version = "0.8.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "06ea2b9bc92be3c2baa9334a323ebca2d6f074ff852cd1d7b11064035cd3868f"
-
-[[package]]
-name = "crossterm"
-version = "0.27.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f476fe445d41c9e991fd07515a6f463074b782242ccf4a5b7b1d1012e70824df"
-dependencies = [
- "bitflags 2.5.0",
- "crossterm_winapi",
- "libc",
- "mio",
- "parking_lot",
- "signal-hook",
- "signal-hook-mio",
- "winapi",
-]
-
-[[package]]
-name = "crossterm_winapi"
-version = "0.9.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "acdd7c62a3665c7f6830a51635d9ac9b23ed385797f70a83bb8bafe9c572ab2b"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "dirs"
-version = "5.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225"
-dependencies = [
- "dirs-sys",
-]
-
-[[package]]
-name = "dirs-sys"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
-dependencies = [
- "libc",
- "option-ext",
- "redox_users",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "ego-tree"
-version = "0.6.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3a68a4904193147e0a8dec3314640e6db742afd5f6e634f428a6af230d9b3591"
-
-[[package]]
-name = "either"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2"
-
-[[package]]
-name = "equivalent"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5"
-
-[[package]]
-name = "fixedbitset"
-version = "0.4.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80"
-
-[[package]]
-name = "getrandom"
-version = "0.2.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c"
-dependencies = [
- "cfg-if",
- "libc",
- "wasi",
-]
-
-[[package]]
-name = "hashbrown"
-version = "0.14.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
-dependencies = [
- "ahash",
- "allocator-api2",
-]
-
-[[package]]
-name = "heck"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8"
-
-[[package]]
-name = "heck"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea"
-
-[[package]]
-name = "iana-time-zone"
-version = "0.1.60"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
-dependencies = [
- "android_system_properties",
- "core-foundation-sys",
- "iana-time-zone-haiku",
- "js-sys",
- "wasm-bindgen",
- "windows-core",
-]
-
-[[package]]
-name = "iana-time-zone-haiku"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
-dependencies = [
- "cc",
-]
-
-[[package]]
-name = "indexmap"
-version = "2.2.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26"
-dependencies = [
- "equivalent",
- "hashbrown",
-]
-
-[[package]]
-name = "indoc"
-version = "2.0.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5"
-
-[[package]]
-name = "itertools"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569"
-dependencies = [
- "either",
-]
-
-[[package]]
-name = "itoa"
-version = "1.0.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
-
-[[package]]
-name = "jrnl"
-version = "0.1.0"
-dependencies = [
- "chrono",
- "clap",
- "dirs",
- "ego-tree",
- "indexmap",
- "markdown",
- "petgraph",
- "ratatui",
-]
-
-[[package]]
-name = "js-sys"
-version = "0.3.69"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d"
-dependencies = [
- "wasm-bindgen",
-]
-
-[[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.153"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd"
-
-[[package]]
-name = "libredox"
-version = "0.1.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d"
-dependencies = [
- "bitflags 2.5.0",
- "libc",
-]
-
-[[package]]
-name = "lock_api"
-version = "0.4.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45"
-dependencies = [
- "autocfg",
- "scopeguard",
-]
-
-[[package]]
-name = "log"
-version = "0.4.21"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
-
-[[package]]
-name = "lru"
-version = "0.12.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc"
-dependencies = [
- "hashbrown",
-]
-
-[[package]]
-name = "markdown"
-version = "0.3.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ef3aab6a1d529b112695f72beec5ee80e729cb45af58663ec902c8fac764ecdd"
-dependencies = [
- "lazy_static",
- "pipeline",
- "regex",
-]
-
-[[package]]
-name = "memchr"
-version = "2.7.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d"
-
-[[package]]
-name = "mio"
-version = "0.8.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c"
-dependencies = [
- "libc",
- "log",
- "wasi",
- "windows-sys 0.48.0",
-]
-
-[[package]]
-name = "num-traits"
-version = "0.2.18"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a"
-dependencies = [
- "autocfg",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.19.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
-
-[[package]]
-name = "option-ext"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
-
-[[package]]
-name = "parking_lot"
-version = "0.12.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f"
-dependencies = [
- "lock_api",
- "parking_lot_core",
-]
-
-[[package]]
-name = "parking_lot_core"
-version = "0.9.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e"
-dependencies = [
- "cfg-if",
- "libc",
- "redox_syscall",
- "smallvec",
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "paste"
-version = "1.0.14"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "de3145af08024dea9fa9914f381a17b8fc6034dfb00f3a84013f7ff43f29ed4c"
-
-[[package]]
-name = "petgraph"
-version = "0.6.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e1d3afd2628e69da2be385eb6f2fd57c8ac7977ceeff6dc166ff1657b0e386a9"
-dependencies = [
- "fixedbitset",
- "indexmap",
-]
-
-[[package]]
-name = "pipeline"
-version = "0.5.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d15b6607fa632996eb8a17c9041cb6071cb75ac057abd45dece578723ea8c7c0"
-
-[[package]]
-name = "proc-macro2"
-version = "1.0.80"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a56dea16b0a29e94408b9aa5e2940a4eedbd128a1ba20e8f7ae60fd3d465af0e"
-dependencies = [
- "unicode-ident",
-]
-
-[[package]]
-name = "quote"
-version = "1.0.36"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7"
-dependencies = [
- "proc-macro2",
-]
-
-[[package]]
-name = "ratatui"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a564a852040e82671dc50a37d88f3aa83bbc690dfc6844cfe7a2591620206a80"
-dependencies = [
- "bitflags 2.5.0",
- "cassowary",
- "compact_str",
- "crossterm",
- "indoc",
- "itertools",
- "lru",
- "paste",
- "stability",
- "strum",
- "unicode-segmentation",
- "unicode-width",
-]
-
-[[package]]
-name = "redox_syscall"
-version = "0.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
-dependencies = [
- "bitflags 1.3.2",
-]
-
-[[package]]
-name = "redox_users"
-version = "0.4.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891"
-dependencies = [
- "getrandom",
- "libredox",
- "thiserror",
-]
-
-[[package]]
-name = "regex"
-version = "1.10.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-automata",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-automata"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea"
-dependencies = [
- "aho-corasick",
- "memchr",
- "regex-syntax",
-]
-
-[[package]]
-name = "regex-syntax"
-version = "0.8.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56"
-
-[[package]]
-name = "rustversion"
-version = "1.0.15"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47"
-
-[[package]]
-name = "ryu"
-version = "1.0.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1"
-
-[[package]]
-name = "scopeguard"
-version = "1.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
-
-[[package]]
-name = "signal-hook"
-version = "0.3.17"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
-dependencies = [
- "libc",
- "signal-hook-registry",
-]
-
-[[package]]
-name = "signal-hook-mio"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "29ad2e15f37ec9a6cc544097b78a1ec90001e9f71b81338ca39f430adaca99af"
-dependencies = [
- "libc",
- "mio",
- "signal-hook",
-]
-
-[[package]]
-name = "signal-hook-registry"
-version = "1.4.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1"
-dependencies = [
- "libc",
-]
-
-[[package]]
-name = "smallvec"
-version = "1.13.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"
-
-[[package]]
-name = "stability"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2ff9eaf853dec4c8802325d8b6d3dffa86cc707fd7a1a4cdbf416e13b061787a"
-dependencies = [
- "quote",
- "syn",
-]
-
-[[package]]
-name = "static_assertions"
-version = "1.1.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
-
-[[package]]
-name = "strsim"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f"
-
-[[package]]
-name = "strum"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5d8cec3501a5194c432b2b7976db6b7d10ec95c253208b45f83f7136aa985e29"
-dependencies = [
- "strum_macros",
-]
-
-[[package]]
-name = "strum_macros"
-version = "0.26.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c6cf59daf282c0a494ba14fd21610a0325f9f90ec9d1231dea26bcb1d696c946"
-dependencies = [
- "heck 0.4.1",
- "proc-macro2",
- "quote",
- "rustversion",
- "syn",
-]
-
-[[package]]
-name = "syn"
-version = "2.0.59"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a6531ffc7b071655e4ce2e04bd464c4830bb585a61cabb96cf808f05172615a"
-dependencies = [
- "proc-macro2",
- "quote",
- "unicode-ident",
-]
-
-[[package]]
-name = "thiserror"
-version = "1.0.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297"
-dependencies = [
- "thiserror-impl",
-]
-
-[[package]]
-name = "thiserror-impl"
-version = "1.0.58"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
-
-[[package]]
-name = "unicode-ident"
-version = "1.0.12"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b"
-
-[[package]]
-name = "unicode-segmentation"
-version = "1.11.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202"
-
-[[package]]
-name = "unicode-width"
-version = "0.1.11"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85"
-
-[[package]]
-name = "utf8parse"
-version = "0.2.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a"
-
-[[package]]
-name = "version_check"
-version = "0.9.4"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
-
-[[package]]
-name = "wasi"
-version = "0.11.0+wasi-snapshot-preview1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
-
-[[package]]
-name = "wasm-bindgen"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4be2531df63900aeb2bca0daaaddec08491ee64ceecbee5076636a3b026795a8"
-dependencies = [
- "cfg-if",
- "wasm-bindgen-macro",
-]
-
-[[package]]
-name = "wasm-bindgen-backend"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "614d787b966d3989fa7bb98a654e369c762374fd3213d212cfc0251257e747da"
-dependencies = [
- "bumpalo",
- "log",
- "once_cell",
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-macro"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726"
-dependencies = [
- "quote",
- "wasm-bindgen-macro-support",
-]
-
-[[package]]
-name = "wasm-bindgen-macro-support"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
- "wasm-bindgen-backend",
- "wasm-bindgen-shared",
-]
-
-[[package]]
-name = "wasm-bindgen-shared"
-version = "0.2.92"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96"
-
-[[package]]
-name = "winapi"
-version = "0.3.9"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
-dependencies = [
- "winapi-i686-pc-windows-gnu",
- "winapi-x86_64-pc-windows-gnu",
-]
-
-[[package]]
-name = "winapi-i686-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
-
-[[package]]
-name = "winapi-x86_64-pc-windows-gnu"
-version = "0.4.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
-
-[[package]]
-name = "windows-core"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "33ab640c8d7e35bf8ba19b884ba838ceb4fba93a4e8c65a9059d08afcfc683d9"
-dependencies = [
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.48.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
-dependencies = [
- "windows-targets 0.48.5",
-]
-
-[[package]]
-name = "windows-sys"
-version = "0.52.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
-dependencies = [
- "windows-targets 0.52.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
-dependencies = [
- "windows_aarch64_gnullvm 0.48.5",
- "windows_aarch64_msvc 0.48.5",
- "windows_i686_gnu 0.48.5",
- "windows_i686_msvc 0.48.5",
- "windows_x86_64_gnu 0.48.5",
- "windows_x86_64_gnullvm 0.48.5",
- "windows_x86_64_msvc 0.48.5",
-]
-
-[[package]]
-name = "windows-targets"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb"
-dependencies = [
- "windows_aarch64_gnullvm 0.52.5",
- "windows_aarch64_msvc 0.52.5",
- "windows_i686_gnu 0.52.5",
- "windows_i686_gnullvm",
- "windows_i686_msvc 0.52.5",
- "windows_x86_64_gnu 0.52.5",
- "windows_x86_64_gnullvm 0.52.5",
- "windows_x86_64_msvc 0.52.5",
-]
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
-
-[[package]]
-name = "windows_aarch64_gnullvm"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
-
-[[package]]
-name = "windows_aarch64_msvc"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
-
-[[package]]
-name = "windows_i686_gnu"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670"
-
-[[package]]
-name = "windows_i686_gnullvm"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
-
-[[package]]
-name = "windows_i686_msvc"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
-
-[[package]]
-name = "windows_x86_64_gnu"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
-
-[[package]]
-name = "windows_x86_64_gnullvm"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.48.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
-
-[[package]]
-name = "windows_x86_64_msvc"
-version = "0.52.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0"
-
-[[package]]
-name = "zerocopy"
-version = "0.7.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be"
-dependencies = [
- "zerocopy-derive",
-]
-
-[[package]]
-name = "zerocopy-derive"
-version = "0.7.32"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6"
-dependencies = [
- "proc-macro2",
- "quote",
- "syn",
-]
diff --git a/programs/jrnl/Cargo.toml b/programs/jrnl/Cargo.toml
deleted file mode 100644
index 1fa29c5..0000000
--- a/programs/jrnl/Cargo.toml
+++ /dev/null
@@ -1,12 +0,0 @@
-[package]
-name = "j"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
-chrono = "0.4.38"
-clap = { version = "4.5.4", features = ["derive", "env"] }
-owo-colors = "4.0.0"
-temp-file = "0.1.8"
-termsize = "0.1.9"
-inquire = "0.7.5"
diff --git a/programs/jrnl/src/commands.rs b/programs/jrnl/src/commands.rs
deleted file mode 100644
index c294e5e..0000000
--- a/programs/jrnl/src/commands.rs
+++ /dev/null
@@ -1,2 +0,0 @@
-pub mod add_entry;
-pub mod list_entries;
diff --git a/programs/jrnl/src/commands/add_entry.rs b/programs/jrnl/src/commands/add_entry.rs
deleted file mode 100644
index 4b0e266..0000000
--- a/programs/jrnl/src/commands/add_entry.rs
+++ /dev/null
@@ -1,60 +0,0 @@
-use std::{
- env,
- fs::{self, OpenOptions},
- io::{self, Write},
- path::{Path, PathBuf},
- process::Command,
-};
-
-use inquire::Text;
-use temp_file::{TempFile, TempFileBuilder};
-
-use crate::md::{Entry, ToMd};
-
-// TODO: the usual (better error handling)
-pub fn add_entry(path: &Path, title: Option) -> io::Result<()> {
- if !path.exists() {
- eprintln!("Journal file does not exist at {path:?}, exiting...");
- std::process::exit(1);
- }
-
- let title = Text::new("Title").prompt().unwrap();
-
- let tmp = TempFileBuilder::new()
- .suffix(".jrnl-entry.md")
- .build()
- .unwrap();
-
- let editor = match env::var("EDITOR") {
- Ok(val) => val,
- Err(env::VarError::NotPresent) => {
- eprintln!("EDITOR not set, exiting...");
- std::process::exit(1);
- }
- _ => unreachable!(),
- };
-
- let mut editor_cmd = Command::new(&editor);
- editor_cmd.arg(tmp.path());
- editor_cmd.status().unwrap();
-
- let content = fs::read_to_string(tmp.path()).unwrap();
-
- let now = chrono::offset::Local::now();
-
- let entry = Entry {
- timestamp: now.fixed_offset(),
- title: &title,
- content: &content,
- };
-
- let mut file = OpenOptions::new()
- .write(true)
- .append(true)
- .open(path)
- .unwrap();
-
- write!(file, "{}", entry.to_md())?;
-
- Ok(())
-}
diff --git a/programs/jrnl/src/commands/list_entries.rs b/programs/jrnl/src/commands/list_entries.rs
deleted file mode 100644
index e083885..0000000
--- a/programs/jrnl/src/commands/list_entries.rs
+++ /dev/null
@@ -1,32 +0,0 @@
-use owo_colors::OwoColorize;
-use std::{
- fs, io,
- path::{Path, PathBuf},
-};
-
-use crate::md::Doc;
-
-pub fn list_entries(path: &Path) -> io::Result<()> {
- let file = fs::read_to_string(path)?;
-
- if let Some(doc) = Doc::new(&file) {
- // TODO: testing, so this shit doesn't blow the fuck up in our face anymore
- let termsize::Size { cols, .. } = termsize::get().unwrap();
- assert!(cols > 0, "we don't have a terminal width.");
-
- for (i, entry) in doc.entries.into_iter().enumerate() {
- let n = format!("{:>2}", i + 1);
- let r = format!(". {}", entry.title,);
- let l = format!(" {} ", crate::utils::format_datetime(entry.timestamp));
-
- let fuck_you_debugging = cols as usize - (n.len() + r.chars().count() + l.len());
- let padding = " ".repeat(fuck_you_debugging);
-
- println!("{}{r}{padding}{}", n.cyan(), l.white())
- }
- Ok(())
- } else {
- eprintln!("Parsing error...");
- std::process::exit(1);
- }
-}
diff --git a/programs/jrnl/src/main.rs b/programs/jrnl/src/main.rs
deleted file mode 100644
index e98d4ff..0000000
--- a/programs/jrnl/src/main.rs
+++ /dev/null
@@ -1,51 +0,0 @@
-use clap::{Parser, Subcommand};
-use std::{
- fs, io,
- path::{self, Path, PathBuf},
-};
-
-use crate::{
- commands::add_entry::add_entry,
- commands::list_entries::list_entries,
- md::{Doc, ToMd},
-};
-
-mod commands;
-mod md;
-mod utils;
-
-#[derive(Debug, Parser)]
-struct Cli {
- #[arg(env)]
- s10e_jrnl_file_loc: PathBuf,
- #[command(subcommand)]
- command: Option,
-}
-
-#[derive(Debug, Subcommand)]
-enum Command {
- #[command(aliases = ["l", "ls", "list"])]
- ListEntries,
- #[command(aliases = ["a", "add-entry"])]
- Add { title: Option },
-}
-
-fn main() -> io::Result<()> {
- let cli = Cli::parse();
- println!("Hello, world!");
- println!("cli: {cli:#?}");
- let path = dbg!(path::absolute(&cli.s10e_jrnl_file_loc)?);
-
- match cli.command {
- Some(Command::ListEntries) => list_entries(&path),
- Some(Command::Add { title }) => add_entry(&path, title),
- None => {
- // TODO: handle btter
- let file = fs::read_to_string(path)?;
-
- let doc = Doc::new(&file).unwrap();
- println!("{}", doc.to_md());
- Ok(())
- }
- }
-}
diff --git a/programs/jrnl/src/md.rs b/programs/jrnl/src/md.rs
deleted file mode 100644
index 234666e..0000000
--- a/programs/jrnl/src/md.rs
+++ /dev/null
@@ -1,67 +0,0 @@
-use chrono::{DateTime, FixedOffset};
-use std::convert::identity;
-
-pub trait ToMd {
- fn to_md(&self) -> String;
-}
-
-#[derive(Debug)]
-pub struct Doc<'src> {
- pub entries: Vec>,
-}
-
-impl<'src> Doc<'src> {
- // TODO: better parsing errors?
- pub fn new(f: &'src str) -> Option {
- let entries = f
- .split("\n## ")
- .map(|s| s.split_once("\n"))
- .skip(1)
- .filter_map(identity)
- .map(|(title, content)| (title.split_once(": "), content))
- .map(|(title, content)| {
- if let Some((ts, title)) = title {
- Some(Entry {
- timestamp: DateTime::parse_from_rfc3339(ts).unwrap(),
- title,
- content: content.trim_matches('\n'),
- })
- } else {
- None
- }
- })
- .collect::>();
-
- entries.iter().all(|it| it.is_some()).then_some(Self {
- entries: entries.into_iter().filter_map(identity).collect(),
- })
- }
-}
-
-impl ToMd for Doc<'_> {
- fn to_md(&self) -> String {
- let mut r = "# Journal\n\n".to_owned();
-
- self.entries.iter().fold(r, |mut r, it| r + &it.to_md())
- }
-}
-
-#[derive(Debug, Clone)]
-pub struct Entry<'src> {
- pub timestamp: DateTime,
- pub title: &'src str,
- pub content: &'src str,
-}
-
-impl ToMd for Entry<'_> {
- fn to_md(&self) -> String {
- format!(
- "## {}: {}\n\n{}\n\n",
- self.timestamp
- .fixed_offset()
- .to_rfc3339_opts(chrono::SecondsFormat::Secs, false),
- self.title,
- self.content
- )
- }
-}
diff --git a/programs/jrnl/src/utils.rs b/programs/jrnl/src/utils.rs
deleted file mode 100644
index 4814e42..0000000
--- a/programs/jrnl/src/utils.rs
+++ /dev/null
@@ -1,15 +0,0 @@
-use chrono::{DateTime, FixedOffset};
-
-pub fn format_datetime(ts: DateTime) -> String {
- ts.format("%A, %-d. %B %Y %R").to_string()
-}
-
-pub fn format_datetime_padded(ts: DateTime) -> String {
- format!(
- "{:>9}{}{:<9}{}",
- ts.format("%A, "),
- ts.format("%d. "),
- ts.format("%B"),
- ts.format(" %Y %R"),
- )
-}
diff --git a/programs/traveldings/Cargo.toml b/programs/traveldings/Cargo.toml
deleted file mode 100644
index c21a6d1..0000000
--- a/programs/traveldings/Cargo.toml
+++ /dev/null
@@ -1,14 +0,0 @@
-[package]
-name = "traveldings"
-version = "0.1.0"
-edition = "2021"
-
-[dependencies]
-serde = { version = "1.0.209", features = ["derive"] }
-serde_json = "1.0.128"
-reqwest = {version = "0.12.7", default-features = false, features = ["rustls-tls", "charset", "http2"]}
-tokio = { version = "1", features = ["full"] }
-thiserror = "1"
-anyhow = "1"
-chrono = { version = "0.4", features = ["serde"]}
-clap = { version = "4.5", features = ["derive"]}
diff --git a/programs/traveldings/src/commands.rs b/programs/traveldings/src/commands.rs
deleted file mode 100644
index 48676be..0000000
--- a/programs/traveldings/src/commands.rs
+++ /dev/null
@@ -1 +0,0 @@
-pub mod current_journey;
diff --git a/programs/traveldings/src/commands/current_journey.rs b/programs/traveldings/src/commands/current_journey.rs
deleted file mode 100644
index b0864bf..0000000
--- a/programs/traveldings/src/commands/current_journey.rs
+++ /dev/null
@@ -1,184 +0,0 @@
-use std::time::Duration;
-
-use chrono::Local;
-use reqwest::StatusCode;
-use serde::Serialize;
-use tokio::time::sleep;
-
-use crate::traewelling::{
- model::{JsonableData, Status, StopJourneyPart},
- RequestErr, TraewellingClient,
-};
-
-pub async fn get_current_journey() -> anyhow::Result<()> {
- let client = TraewellingClient::new()?;
-
- let mut state;
- let mut cur_active_checkin = None;
-
- loop {
- match client.get_active_checkin().await {
- Ok(status) => {
- cur_active_checkin = Some(status);
- state = State::Live;
- }
- Err(err) => {
- if err == RequestErr::WithStatus(StatusCode::NOT_FOUND) {
- state = State::NoCheckin;
- cur_active_checkin = None;
- } else {
- state = State::NoConnectionOrSomethingElseDoesntWork;
- }
- }
- };
-
- match (state, &cur_active_checkin) {
- (State::Live | State::NoConnectionOrSomethingElseDoesntWork, Some(status)) => {
- let live = state == State::Live;
- let out = CurrentJourneyOutput::new(&status, live);
-
- println!(
- "{}",
- serde_json::to_string(&out)
- .expect("serde should not make you sad but it does because it's serde")
- );
- sleep(Duration::from_secs(20)).await;
- }
- (_, None) | (State::NoCheckin, Some(_)) => {
- println!("null");
- sleep(Duration::from_secs(60)).await;
- }
- }
- }
-
- Ok(())
-}
-
-#[derive(PartialEq, Eq, Clone, Copy, Debug)]
-enum State {
- Live,
- NoConnectionOrSomethingElseDoesntWork,
- NoCheckin,
-}
-
-#[derive(Serialize)]
-struct CurrentJourneyOutput {
- live: bool,
- // Journey progress, 0.0-1.0
- progress: Option,
- time_left: Option,
- icon: String,
- line: String,
-
- // Invalid data received?
- departure_err: bool,
- departure_planned: Option,
- departure_real: Option,
- departure_station: String,
- departure_ril100: Option,
- departure_platform_data_available: bool,
- departure_platform_planned: Option,
- departure_platform_real: Option,
-
- // Invalid data received?
- arrival_err: bool,
- arrival_planned: Option,
- arrival_real: Option,
- arrival_station: String,
- arrival_ril100: Option,
- arrival_platform_data_available: bool,
- arrival_platform_planned: Option,
- arrival_platform_real: Option,
-}
-
-impl CurrentJourneyOutput {
- fn new(checkin: &Status, live: bool) -> Self {
- let JsonableData {
- time_err: departure_err,
- time_planned: departure_planned,
- time_real: departure_real,
- station: departure_station,
- ril100: departure_ril100,
- platform_data_available: departure_platform_data_available,
- platform_planned: departure_platform_planned,
- platform_real: departure_platform_real,
- } = checkin.train.origin.get_time_data(StopJourneyPart::Origin);
- let JsonableData {
- time_err: arrival_err,
- time_planned: arrival_planned,
- time_real: arrival_real,
- station: arrival_station,
- ril100: arrival_ril100,
- platform_data_available: arrival_platform_data_available,
- platform_planned: arrival_platform_planned,
- platform_real: arrival_platform_real,
- } = checkin
- .train
- .destination
- .get_time_data(StopJourneyPart::Destination);
-
- let (progress, time_left) = if !departure_err && !arrival_err {
- let departure = departure_real.unwrap_or(departure_planned.unwrap());
- let arrival = arrival_real.unwrap_or(arrival_planned.unwrap());
- let dur = arrival - departure;
-
- let now = Local::now().timestamp();
-
- let progress = ((now - departure) as f32) / dur as f32;
- let time_left = arrival - now;
-
- (Some(progress), Some(time_left))
- } else {
- (None, None)
- };
-
- let icon = match checkin.train.category.as_str() {
- "nationalExpress" | "national" => "longDistanceTrans",
- "regionalExp" | "regional" => "regionalTrans",
- "suburban" => "localTrans",
- "subway" => "subTrans",
- "bus" => "bus",
- "tram" => "tram",
- "ferry" => "ferry",
- _ => "other",
- }
- .to_string();
-
- CurrentJourneyOutput {
- live,
- progress,
- time_left,
- icon,
- line: checkin.train.line_name.clone(),
- departure_err,
- departure_planned,
- departure_real,
- departure_station,
- departure_ril100,
- departure_platform_data_available,
- departure_platform_planned,
- departure_platform_real,
- arrival_err,
- arrival_planned,
- arrival_real,
- arrival_station,
- arrival_ril100,
- arrival_platform_data_available,
- arrival_platform_planned,
- arrival_platform_real,
- }
- }
-}
-
-enum TransportType {
- // FV, ob jetzt NJ, IC, ICE... egal
- LongDistanceTrans,
- RegionalTrans,
- // S-bahn...
- LocalTrans,
- // U-bahn
- SubTrans,
- Bus,
- Tram,
- Ferry,
-}
diff --git a/programs/traveldings/src/main.rs b/programs/traveldings/src/main.rs
deleted file mode 100644
index 2c9b31c..0000000
--- a/programs/traveldings/src/main.rs
+++ /dev/null
@@ -1,35 +0,0 @@
-use std::{default, fs};
-
-use clap::{Parser, Subcommand};
-use commands::current_journey::get_current_journey;
-use reqwest::{
- header::{self, HeaderMap},
- ClientBuilder,
-};
-use traewelling::model::{Container, Status};
-
-mod commands;
-mod traewelling;
-
-#[derive(Parser)]
-struct Cli {
- #[command(subcommand)]
- subcommand: Subcommands,
-}
-
-#[derive(Subcommand, Clone)]
-enum Subcommands {
- /// Watch for a current journey and give out json info about it
- Current,
-}
-
-#[tokio::main]
-async fn main() -> anyhow::Result<()> {
- let args = Cli::parse();
-
- match args.subcommand {
- Subcommands::Current => get_current_journey().await?,
- };
-
- Ok(())
-}
diff --git a/programs/traveldings/src/traewelling.rs b/programs/traveldings/src/traewelling.rs
deleted file mode 100644
index e1537e8..0000000
--- a/programs/traveldings/src/traewelling.rs
+++ /dev/null
@@ -1,87 +0,0 @@
-use std::{fmt, fs};
-
-use model::{Container, Status};
-use reqwest::{
- header::{self, HeaderMap},
- Client, ClientBuilder, StatusCode,
-};
-
-const KEY_PATH: &str = "/home/jade/Docs/traveldings-key";
-const USER_AGENT: &str = "s10e/traveldings";
-const TRAEWELLING_API_URL: &str = "https://traewelling.de/api/v1";
-
-pub struct TraewellingClient {
- client: Client,
-}
-
-impl TraewellingClient {
- pub fn new() -> anyhow::Result {
- let mut headers = HeaderMap::new();
- let token = fs::read_to_string(KEY_PATH)?;
- let key = header::HeaderValue::from_str(&format!("Bearer {token}"))?;
- headers.insert("Authorization", key);
- headers.insert(
- header::ACCEPT,
- header::HeaderValue::from_static("application/json"),
- );
- Ok(Self {
- client: ClientBuilder::new()
- .user_agent("s10e/traveldings")
- .default_headers(headers)
- .build()?,
- })
- }
-
- pub async fn get_active_checkin(&self) -> Result {
- let res = self
- .client
- .get(Self::fmt_url("user/statuses/active"))
- .send()
- .await?;
- if res.status() != StatusCode::OK {
- return Err(RequestErr::WithStatus(res.status()));
- }
-
- let txt = res.text().await?;
-
- let res: Container = serde_json::de::from_str(&txt)?;
- Ok(res.data)
- }
-
- fn fmt_url(path: impl fmt::Display) -> String {
- format!("{TRAEWELLING_API_URL}/{path}")
- }
-}
-
-#[derive(thiserror::Error, Debug, PartialEq, Eq)]
-pub enum RequestErr {
- #[error("Couldn't deserialize the json :(")]
- DeserializationError,
- #[error("an error related to connect happened!!")]
- RelatedToConnect,
- #[error("error haz status: {0}")]
- WithStatus(StatusCode),
- #[error("fuck if i know what went wrong :333 am silly ")]
- Other,
-}
-
-impl From for RequestErr {
- fn from(value: serde_json::Error) -> Self {
- eprintln!("serde error: {value:?}");
- Self::DeserializationError
- }
-}
-
-impl From for RequestErr {
- fn from(value: reqwest::Error) -> Self {
- if let Some(status) = value.status() {
- Self::WithStatus(status)
- } else if value.is_connect() {
- Self::RelatedToConnect
- } else {
- Self::Other
- }
- }
-}
-
-pub mod model;
diff --git a/programs/traveldings/src/traewelling/model.rs b/programs/traveldings/src/traewelling/model.rs
deleted file mode 100644
index 090d36f..0000000
--- a/programs/traveldings/src/traewelling/model.rs
+++ /dev/null
@@ -1,96 +0,0 @@
-use chrono::{DateTime, FixedOffset, Timelike};
-use serde::Deserialize;
-
-#[derive(Deserialize, Debug)]
-pub struct Container {
- pub data: D,
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-pub struct Status {
- pub train: TransportResource,
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-pub struct TransportResource {
- pub category: String,
- pub line_name: String,
- pub distance: u32,
- pub duration: u32,
- pub operator: Option,
- pub origin: StopOverResource,
- pub destination: StopOverResource,
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-pub struct StopOverResource {
- pub name: String,
- pub ril_identifier: Option,
- pub arrival_planned: Option>,
- pub arrival_real: Option>,
- pub departure_planned: Option>,
- pub departure_real: Option>,
- pub platform: Option,
- pub departure_platform_planned: Option,
- pub departure_platform_real: Option,
- pub arrival_platform_planned: Option,
- pub arrival_platform_real: Option,
-}
-
-// ????
-pub struct JsonableData {
- pub time_err: bool,
- pub time_planned: Option,
- pub time_real: Option,
- pub station: String,
- pub ril100: Option,
- pub platform_data_available: bool,
- pub platform_planned: Option,
- pub platform_real: Option,
-}
-
-// What the meaning of the stop in the journey is
-pub enum StopJourneyPart {
- Origin,
- Destination,
-}
-impl StopOverResource {
- pub fn get_time_data(&self, journey_part: StopJourneyPart) -> JsonableData {
- let (time_planned, time_real, platform_planned, platform_real) = match journey_part {
- StopJourneyPart::Origin => (
- self.departure_planned,
- self.departure_real,
- self.departure_platform_planned.clone(),
- self.departure_platform_real.clone(),
- ),
- StopJourneyPart::Destination => (
- self.arrival_planned,
- self.arrival_real,
- self.arrival_platform_planned.clone(),
- self.arrival_platform_real.clone(),
- ),
- };
-
- let time_err = time_planned == None;
-
- JsonableData {
- time_err,
- time_planned: time_planned.map(|ts| ts.timestamp()),
- time_real: time_real.map(|ts| ts.timestamp()),
- station: self.name.clone(),
- ril100: self.ril_identifier.clone(),
- platform_data_available: platform_planned.is_some() || platform_real.is_some(),
- platform_planned,
- platform_real,
- }
- }
-}
-
-#[derive(Deserialize, Debug)]
-#[serde(rename_all = "camelCase")]
-pub struct OperatorResource {
- pub name: String,
-}
diff --git a/secret-data/mb-pass b/secret-data/mb-pass
new file mode 100644
index 0000000..55d07c7
Binary files /dev/null and b/secret-data/mb-pass differ
diff --git a/secret-data/nextcloud-admin-pass b/secret-data/nextcloud-admin-pass
new file mode 100644
index 0000000..7ad3b0e
Binary files /dev/null and b/secret-data/nextcloud-admin-pass differ
diff --git a/secret-data/penpot-smtp-pass b/secret-data/penpot-smtp-pass
new file mode 100644
index 0000000..1d6512f
Binary files /dev/null and b/secret-data/penpot-smtp-pass differ
diff --git a/secret-data/ssh-desktop-knownhosts-thingies b/secret-data/ssh-desktop-knownhosts-thingies
new file mode 100644
index 0000000..81ff117
Binary files /dev/null and b/secret-data/ssh-desktop-knownhosts-thingies differ
diff --git a/secret-data/vaultwarden-admin-token b/secret-data/vaultwarden-admin-token
new file mode 100644
index 0000000..7e1a87b
Binary files /dev/null and b/secret-data/vaultwarden-admin-token differ
diff --git a/todo.md b/todo.md
new file mode 100644
index 0000000..6b12575
--- /dev/null
+++ b/todo.md
@@ -0,0 +1,7 @@
+# TODOs
+
+- add rofi thingy for editing rust stuff (with nix shell integration) or config
+- project manager rofi script for opening tools in shell without open terminal
+ - sps rofi integration
+
+