From 93418edbe75c07dd4045115ecbabd36b6b794d10 Mon Sep 17 00:00:00 2001 From: Jai A Date: Tue, 29 Jun 2021 22:32:52 -0700 Subject: [PATCH 001/231] Downloading launcher files --- .gitignore | 1 + .idea/.gitignore | 8 + .idea/modules.xml | 8 + .idea/theseus.iml | 49 ++ .idea/vcs.xml | 6 + Cargo.lock | 1298 ++++++++++++++++++++++++++++++ Cargo.toml | 6 + theseus/Cargo.toml | 24 + theseus/src/launcher/auth.rs | 1 + theseus/src/launcher/download.rs | 222 +++++ theseus/src/launcher/java.rs | 31 + theseus/src/launcher/meta.rs | 161 ++++ theseus/src/launcher/mod.rs | 4 + theseus/src/lib.rs | 11 + theseus_cli/Cargo.toml | 12 + theseus_cli/src/main.rs | 28 + 16 files changed, 1870 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.gitignore create mode 100644 .idea/modules.xml create mode 100644 .idea/theseus.iml create mode 100644 .idea/vcs.xml create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 theseus/Cargo.toml create mode 100644 theseus/src/launcher/auth.rs create mode 100644 theseus/src/launcher/download.rs create mode 100644 theseus/src/launcher/java.rs create mode 100644 theseus/src/launcher/meta.rs create mode 100644 theseus/src/launcher/mod.rs create mode 100644 theseus/src/lib.rs create mode 100644 theseus_cli/Cargo.toml create mode 100644 theseus_cli/src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..ea8c4bf7f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 000000000..73f69e095 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 000000000..2303788d9 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/theseus.iml b/.idea/theseus.iml new file mode 100644 index 000000000..79c599b19 --- /dev/null +++ b/.idea/theseus.iml @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 000000000..35eb1ddfb --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 000000000..e3a4b79fd --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1298 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + +[[package]] +name = "autocfg" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "bitflags" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" + +[[package]] +name = "bumpalo" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "bytes" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" + +[[package]] +name = "bzip2" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6afcd980b5f3a45017c57e57a2fcccbb351cc43a356ce117ef760ef8052b89b0" +dependencies = [ + "bzip2-sys", + "libc", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.11+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "736a955f3fa7875102d57c82b8cac37ec45224a07fd32d58f9f7a186b6cd4cdc" +dependencies = [ + "cc", + "libc", + "pkg-config", +] + +[[package]] +name = "cc" +version = "1.0.68" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "chrono" +version = "0.4.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "670ad68c9088c2a963aaa298cb369688cf3f9465ce5e2d4ca10e6e0098a1ce73" +dependencies = [ + "libc", + "num-integer", + "num-traits", + "serde", + "time", + "winapi", +] + +[[package]] +name = "core-foundation" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "core-foundation-sys" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" + +[[package]] +name = "crc32fast" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "encoding_rs" +version = "0.8.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "flate2" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +dependencies = [ + "cfg-if", + "crc32fast", + "libc", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + +[[package]] +name = "form_urlencoded" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191" +dependencies = [ + "matches", + "percent-encoding", +] + +[[package]] +name = "futures" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +dependencies = [ + "futures-channel", + "futures-core", + "futures-executor", + "futures-io", + "futures-sink", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-channel" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +dependencies = [ + "futures-core", + "futures-sink", +] + +[[package]] +name = "futures-core" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" + +[[package]] +name = "futures-executor" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +dependencies = [ + "futures-core", + "futures-task", + "futures-util", +] + +[[package]] +name = "futures-io" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" + +[[package]] +name = "futures-macro" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +dependencies = [ + "autocfg", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "futures-sink" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" + +[[package]] +name = "futures-task" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" + +[[package]] +name = "futures-util" +version = "0.3.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +dependencies = [ + "autocfg", + "futures-channel", + "futures-core", + "futures-io", + "futures-macro", + "futures-sink", + "futures-task", + "memchr", + "pin-project-lite", + "pin-utils", + "proc-macro-hack", + "proc-macro-nested", + "slab", +] + +[[package]] +name = "getrandom" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "h2" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726" +dependencies = [ + "bytes", + "fnv", + "futures-core", + "futures-sink", + "futures-util", + "http", + "indexmap", + "slab", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "hashbrown" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "http" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +dependencies = [ + "bytes", + "fnv", + "itoa", +] + +[[package]] +name = "http-body" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" +dependencies = [ + "bytes", + "http", + "pin-project-lite", +] + +[[package]] +name = "httparse" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" + +[[package]] +name = "httpdate" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" + +[[package]] +name = "hyper" +version = "0.14.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07d6baa1b441335f3ce5098ac421fb6547c46dda735ca1bc6d0153c838f9dd83" +dependencies = [ + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "h2", + "http", + "http-body", + "httparse", + "httpdate", + "itoa", + "pin-project-lite", + "socket2", + "tokio", + "tower-service", + "tracing", + "want", +] + +[[package]] +name = "hyper-tls" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" +dependencies = [ + "bytes", + "hyper", + "native-tls", + "tokio", + "tokio-native-tls", +] + +[[package]] +name = "idna" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8" +dependencies = [ + "matches", + "unicode-bidi", + "unicode-normalization", +] + +[[package]] +name = "indexmap" +version = "1.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +dependencies = [ + "autocfg", + "hashbrown", +] + +[[package]] +name = "instant" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "ipnet" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" + +[[package]] +name = "itoa" +version = "0.4.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" + +[[package]] +name = "js-sys" +version = "0.3.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" +dependencies = [ + "wasm-bindgen", +] + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "libc" +version = "0.2.97" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" + +[[package]] +name = "lock_api" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +dependencies = [ + "scopeguard", +] + +[[package]] +name = "log" +version = "0.4.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "matches" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" + +[[package]] +name = "memchr" +version = "2.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" + +[[package]] +name = "mime" +version = "0.3.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" + +[[package]] +name = "miniz_oxide" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a92518e98c078586bc6c934028adcca4c92a53d6a958196de835170a01d84e4b" +dependencies = [ + "adler", + "autocfg", +] + +[[package]] +name = "mio" +version = "0.7.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +dependencies = [ + "libc", + "log", + "miow", + "ntapi", + "winapi", +] + +[[package]] +name = "miow" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9f1c5b025cda876f66ef43a113f91ebc9f4ccef34843000e0adf6ebbab84e21" +dependencies = [ + "winapi", +] + +[[package]] +name = "native-tls" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" +dependencies = [ + "lazy_static", + "libc", + "log", + "openssl", + "openssl-probe", + "openssl-sys", + "schannel", + "security-framework", + "security-framework-sys", + "tempfile", +] + +[[package]] +name = "ntapi" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f6bb902e437b6d86e03cce10a7e2af662292c5dfef23b65899ea3ac9354ad44" +dependencies = [ + "winapi", +] + +[[package]] +name = "num-integer" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2cc698a63b549a70bc047073d2949cce27cd1c7b0a4a862d08a8031bc2801db" +dependencies = [ + "autocfg", + "num-traits", +] + +[[package]] +name = "num-traits" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a64b1ec5cda2586e284722486d802acf1f7dbdc623e2bfc57e65ca1cd099290" +dependencies = [ + "autocfg", +] + +[[package]] +name = "num_cpus" +version = "1.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05499f3756671c15885fee9034446956fff3f243d6077b91e5767df161f766b3" +dependencies = [ + "hermit-abi", + "libc", +] + +[[package]] +name = "once_cell" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" + +[[package]] +name = "openssl" +version = "0.10.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-sys", +] + +[[package]] +name = "openssl-probe" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" + +[[package]] +name = "openssl-sys" +version = "0.9.65" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d" +dependencies = [ + "autocfg", + "cc", + "libc", + "pkg-config", + "vcpkg", +] + +[[package]] +name = "parking_lot" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +dependencies = [ + "instant", + "lock_api", + "parking_lot_core", +] + +[[package]] +name = "parking_lot_core" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +dependencies = [ + "cfg-if", + "instant", + "libc", + "redox_syscall", + "smallvec", + "winapi", +] + +[[package]] +name = "percent-encoding" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" + +[[package]] +name = "pin-project-lite" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "pkg-config" +version = "0.3.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" + +[[package]] +name = "ppv-lite86" +version = "0.2.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" + +[[package]] +name = "proc-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + +[[package]] +name = "proc-macro-nested" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" + +[[package]] +name = "proc-macro2" +version = "1.0.27" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +dependencies = [ + "unicode-xid", +] + +[[package]] +name = "quote" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" +dependencies = [ + "libc", + "rand_chacha", + "rand_core", + "rand_hc", +] + +[[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.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" +dependencies = [ + "getrandom", +] + +[[package]] +name = "rand_hc" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" +dependencies = [ + "rand_core", +] + +[[package]] +name = "redox_syscall" +version = "0.2.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +dependencies = [ + "bitflags", +] + +[[package]] +name = "regex" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + +[[package]] +name = "remove_dir_all" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3acd125665422973a33ac9d3dd2df85edad0f4ae9b00dafb1a05e43a9f5ef8e7" +dependencies = [ + "winapi", +] + +[[package]] +name = "reqwest" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22" +dependencies = [ + "base64", + "bytes", + "encoding_rs", + "futures-core", + "futures-util", + "http", + "http-body", + "hyper", + "hyper-tls", + "ipnet", + "js-sys", + "lazy_static", + "log", + "mime", + "native-tls", + "percent-encoding", + "pin-project-lite", + "serde", + "serde_json", + "serde_urlencoded", + "tokio", + "tokio-native-tls", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "winreg", +] + +[[package]] +name = "ryu" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" + +[[package]] +name = "schannel" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f05ba609c234e60bee0d547fe94a4c7e9da733d1c962cf6e59efa4cd9c8bc75" +dependencies = [ + "lazy_static", + "winapi", +] + +[[package]] +name = "scopeguard" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" + +[[package]] +name = "security-framework" +version = "2.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" +dependencies = [ + "bitflags", + "core-foundation", + "core-foundation-sys", + "libc", + "security-framework-sys", +] + +[[package]] +name = "security-framework-sys" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" +dependencies = [ + "core-foundation-sys", + "libc", +] + +[[package]] +name = "serde" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde_derive" +version = "1.0.126" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.64" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "serde_urlencoded" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "signal-hook-registry" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0" +dependencies = [ + "libc", +] + +[[package]] +name = "slab" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" + +[[package]] +name = "smallvec" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" + +[[package]] +name = "socket2" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "syn" +version = "1.0.73" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + +[[package]] +name = "tempfile" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" +dependencies = [ + "cfg-if", + "libc", + "rand", + "redox_syscall", + "remove_dir_all", + "winapi", +] + +[[package]] +name = "theseus" +version = "0.1.0" +dependencies = [ + "bytes", + "chrono", + "futures", + "lazy_static", + "regex", + "reqwest", + "serde", + "serde_json", + "thiserror", + "tokio", + "uuid", + "zip", +] + +[[package]] +name = "theseus_cli" +version = "0.1.0" +dependencies = [ + "futures", + "theseus", + "tokio", +] + +[[package]] +name = "thiserror" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "time" +version = "0.1.44" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +dependencies = [ + "libc", + "wasi", + "winapi", +] + +[[package]] +name = "tinyvec" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +dependencies = [ + "tinyvec_macros", +] + +[[package]] +name = "tinyvec_macros" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" + +[[package]] +name = "tokio" +version = "1.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fb2ed024293bb19f7a5dc54fe83bf86532a44c12a2bb8ba40d64a4509395ca2" +dependencies = [ + "autocfg", + "bytes", + "libc", + "memchr", + "mio", + "num_cpus", + "once_cell", + "parking_lot", + "pin-project-lite", + "signal-hook-registry", + "tokio-macros", + "winapi", +] + +[[package]] +name = "tokio-macros" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "tokio-native-tls" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" +dependencies = [ + "native-tls", + "tokio", +] + +[[package]] +name = "tokio-util" +version = "0.6.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592" +dependencies = [ + "bytes", + "futures-core", + "futures-sink", + "log", + "pin-project-lite", + "tokio", +] + +[[package]] +name = "tower-service" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" + +[[package]] +name = "tracing" +version = "0.1.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +dependencies = [ + "cfg-if", + "pin-project-lite", + "tracing-core", +] + +[[package]] +name = "tracing-core" +version = "0.1.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "try-lock" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" + +[[package]] +name = "unicode-bidi" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" +dependencies = [ + "matches", +] + +[[package]] +name = "unicode-normalization" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9" +dependencies = [ + "tinyvec", +] + +[[package]] +name = "unicode-xid" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3" + +[[package]] +name = "url" +version = "2.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c" +dependencies = [ + "form_urlencoded", + "idna", + "matches", + "percent-encoding", +] + +[[package]] +name = "uuid" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" + +[[package]] +name = "vcpkg" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" + +[[package]] +name = "want" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" +dependencies = [ + "log", + "try-lock", +] + +[[package]] +name = "wasi" +version = "0.10.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" + +[[package]] +name = "wasm-bindgen" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" +dependencies = [ + "cfg-if", + "serde", + "serde_json", + "wasm-bindgen-macro", +] + +[[package]] +name = "wasm-bindgen-backend" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" +dependencies = [ + "bumpalo", + "lazy_static", + "log", + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-futures" +version = "0.4.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" +dependencies = [ + "cfg-if", + "js-sys", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "wasm-bindgen-macro" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" +dependencies = [ + "quote", + "wasm-bindgen-macro-support", +] + +[[package]] +name = "wasm-bindgen-macro-support" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" +dependencies = [ + "proc-macro2", + "quote", + "syn", + "wasm-bindgen-backend", + "wasm-bindgen-shared", +] + +[[package]] +name = "wasm-bindgen-shared" +version = "0.2.74" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" + +[[package]] +name = "web-sys" +version = "0.3.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + +[[package]] +name = "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 = "winreg" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0120db82e8a1e0b9fb3345a539c478767c0048d842860994d96113d5b667bd69" +dependencies = [ + "winapi", +] + +[[package]] +name = "zip" +version = "0.5.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93ab48844d61251bb3835145c521d88aa4031d7139e8485990f60ca911fa0815" +dependencies = [ + "byteorder", + "bzip2", + "crc32fast", + "flate2", + "thiserror", + "time", +] diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 000000000..780f8c615 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,6 @@ +[workspace] + +members = [ + "theseus", + "theseus_cli" +] \ No newline at end of file diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml new file mode 100644 index 000000000..ad02590eb --- /dev/null +++ b/theseus/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "theseus" +version = "0.1.0" +authors = ["Jai A "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +thiserror = "1.0" + +reqwest = { version = "0.11", features = ["json"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +chrono = { version = "0.4", features = ["serde"] } +uuid = "0.8" +bytes = "1" +zip = "0.5" + +regex = "1.5" +lazy_static = "1.4" + +tokio = { version = "1", features = ["full"] } +futures = "0.3" \ No newline at end of file diff --git a/theseus/src/launcher/auth.rs b/theseus/src/launcher/auth.rs new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/theseus/src/launcher/auth.rs @@ -0,0 +1 @@ + diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs new file mode 100644 index 000000000..2161ce52a --- /dev/null +++ b/theseus/src/launcher/download.rs @@ -0,0 +1,222 @@ +use crate::launcher::meta::{ + Asset, AssetIndex, AssetsIndex, DownloadType, Library, Os, RuleAction, VersionInfo, +}; +use futures::future; +use std::fs::File; +use std::io::{BufReader, Write}; +use std::path::Path; + +pub async fn download_client(client_path: &Path, version_info: &VersionInfo) { + let client = download_file( + &version_info + .downloads + .get(&DownloadType::Client) + .unwrap() + .url, + ) + .await; + + save_file( + &*client_path + .join(&version_info.id) + .join(format!("{}.jar", &version_info.id)), + &client, + ); + save_file( + &*client_path + .join(&version_info.id) + .join(format!("{}.json", &version_info.id)), + &bytes::Bytes::from(serde_json::to_string(version_info).unwrap()), + ); +} + +pub async fn download_assets( + assets_path: &Path, + legacy_path: Option<&Path>, + meta: AssetIndex, + index: &AssetsIndex, +) { + save_file( + &*assets_path + .join("indexes") + .join(format!("{}.json", meta.id)), + &bytes::Bytes::from(serde_json::to_string(index).unwrap()), + ); + + future::join_all( + index + .objects + .iter() + .map(|x| download_asset(assets_path, legacy_path, x.0, x.1)), + ) + .await; +} + +async fn download_asset( + assets_path: &Path, + legacy_path: Option<&Path>, + name: &String, + asset: &Asset, +) { + let sub_hash = &&asset.hash[..2]; + + let resource = download_file(&format!( + "https://resources.download.minecraft.net/{}/{}", + sub_hash, asset.hash + )) + .await; + + let resource_path = assets_path.join(sub_hash).join(&asset.hash); + save_file(resource_path.as_path(), &resource); + + if let Some(legacy_path) = legacy_path { + let resource_path = + legacy_path.join(name.replace('/', &*std::path::MAIN_SEPARATOR.to_string())); + save_file(resource_path.as_path(), &resource); + } +} + +pub async fn download_libraries(libraries_path: &Path, natives_path: &Path, libraries: &[Library]) { + future::join_all( + libraries + .iter() + .map(|x| download_library(libraries_path, natives_path, x)), + ) + .await; +} + +async fn download_library(libraries_path: &Path, natives_path: &Path, library: &Library) { + if let Some(rules) = &library.rules { + let mut allowed = true; + + for rule in rules { + match rule.action { + RuleAction::Allow => { + if let Some(os) = &rule.os { + allowed = os.name == &get_os() + } else { + allowed = true + } + } + RuleAction::Disallow => { + if let Some(os) = &rule.os { + allowed = os.name != &get_os() + } else { + allowed = false + } + } + } + } + + if !allowed { + return; + } + } + + let name_items = library.name.split(':').collect::>(); + + let package = name_items.get(0).unwrap(); + let name = name_items.get(1).unwrap(); + let version = name_items.get(2).unwrap(); + + future::join( + download_library_jar(libraries_path, library, package, name, version), + download_native( + libraries_path, + natives_path, + library, + package, + name, + version, + ), + ) + .await; +} + +async fn download_library_jar( + libraries_path: &Path, + library: &Library, + package: &str, + name: &str, + version: &str, +) { + if let Some(library) = &library.downloads.artifact { + let bytes = download_file(&library.url).await; + + save_file( + &libraries_path + .join(package) + .join(name) + .join(version) + .join(format!("{}-{}.jar", name, version)), + &bytes, + ); + } +} + +async fn download_native( + libraries_path: &Path, + natives_path: &Path, + library: &Library, + package: &str, + name: &str, + version: &str, +) { + if let Some(natives) = &library.natives { + if let Some(os_key) = natives.get(&get_os()) { + if let Some(classifiers) = &library.downloads.classifiers { + #[cfg(target_pointer_width = "64")] + let parsed_key = os_key.replace("${arch}", "64"); + #[cfg(target_pointer_width = "32")] + let parsed_key = os_key.replace("${arch}", "32"); + + if let Some(native) = classifiers.get(&*parsed_key) { + let path = &libraries_path + .join(package) + .join(name) + .join(version) + .join(format!("{}-{}-{}.jar", name, version, parsed_key)); + + let bytes = download_file(&native.url).await; + + save_file(path, &bytes); + + let file = File::open(path).unwrap(); + let reader = BufReader::new(file); + + let mut archive = zip::ZipArchive::new(reader).unwrap(); + archive.extract(natives_path).unwrap(); + } + } + } + } +} + +fn save_file(path: &Path, bytes: &bytes::Bytes) { + std::fs::create_dir_all(path.parent().unwrap()).unwrap(); + let mut file = File::create(path).unwrap(); + file.write_all(bytes).unwrap(); +} + +async fn download_file(url: &str) -> bytes::Bytes { + reqwest::Client::builder() + .tcp_keepalive(Some(std::time::Duration::from_secs(10))) + .build() + .unwrap() + .get(url) + .send() + .await + .unwrap() + .bytes() + .await + .unwrap() +} + +fn get_os() -> Os { + match std::env::consts::OS { + "windows" => Os::Windows, + "macos" => Os::Osx, + "linux" => Os::Linux, + _ => Os::Unknown, + } +} diff --git a/theseus/src/launcher/java.rs b/theseus/src/launcher/java.rs new file mode 100644 index 000000000..addf274e0 --- /dev/null +++ b/theseus/src/launcher/java.rs @@ -0,0 +1,31 @@ +use lazy_static::lazy_static; +use regex::Regex; +use std::process::Command; + +#[derive(thiserror::Error, Debug)] +pub enum JavaError { + #[error("System Error")] + SystemError(#[from] std::io::Error), +} + +lazy_static! { + static ref JAVA_VERSION_REGEX: Regex = Regex::new(r#""(.*?)""#).unwrap(); +} + +pub fn check_java() -> Result, JavaError> { + let child = Command::new("/usr/lib/jvm/java-8-openjdk/jre/bin/java") + .arg("-version") + .output()?; + + let output = &*String::from_utf8_lossy(&*child.stderr); + + if let Some(version_raw) = JAVA_VERSION_REGEX.find(output) { + let mut raw = version_raw.as_str().chars(); + raw.next(); + raw.next_back(); + + return Ok(Some(raw.as_str().to_string())); + } + + Ok(None) +} diff --git a/theseus/src/launcher/meta.rs b/theseus/src/launcher/meta.rs new file mode 100644 index 000000000..646683362 --- /dev/null +++ b/theseus/src/launcher/meta.rs @@ -0,0 +1,161 @@ +use chrono::{DateTime, Utc}; +use serde::{Deserialize, Serialize}; +use std::collections::HashMap; + +#[derive(Serialize, Deserialize, Debug)] +#[serde(rename_all = "snake_case")] +pub enum VersionType { + Release, + Snapshot, + OldAlpha, + OldBeta, +} + +#[derive(Deserialize, Debug)] +#[serde(rename_all = "camelCase")] +pub struct Version { + pub id: String, + #[serde(rename = "type")] + pub type_: VersionType, + pub url: String, + pub time: DateTime, + pub release_time: DateTime, +} + +#[derive(Deserialize, Debug)] +pub struct LatestVersion { + pub release: String, + pub snapshot: String, +} + +#[derive(Deserialize, Debug)] +pub struct VersionManifest { + pub latest: LatestVersion, + pub versions: Vec, +} + +pub async fn fetch_version_manifest() -> Result { + reqwest::get("https://launchermeta.mojang.com/mc/game/version_manifest.json") + .await? + .json() + .await +} + +#[derive(Serialize, Deserialize, Debug)] +#[serde(rename_all = "camelCase")] +pub struct AssetIndex { + pub id: String, + pub sha1: String, + pub size: u32, + pub total_size: u32, + pub url: String, +} + +#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Hash)] +#[serde(rename_all = "snake_case")] +pub enum DownloadType { + Client, + ClientMappings, + Server, + ServerMappings, + WindowsServer, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct Download { + pub sha1: String, + pub size: u32, + pub url: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct LibraryDownload { + pub path: String, + pub sha1: String, + pub size: u32, + pub url: String, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct LibraryDownloads { + pub artifact: Option, + pub classifiers: Option>, +} + +#[derive(Serialize, Deserialize, Debug)] +#[serde(rename_all = "snake_case")] +pub enum RuleAction { + Allow, + Disallow, +} + +#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Hash)] +#[serde(rename_all = "snake_case")] +pub enum Os { + Osx, + Windows, + Linux, + Unknown, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct OsRule { + pub name: Os, + pub version: Option, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct LibraryRule { + pub action: RuleAction, + pub os: Option, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct LibraryExtract { + pub exclude: Option>, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct Library { + pub downloads: LibraryDownloads, + pub extract: Option, + pub name: String, + pub natives: Option>, + pub rules: Option>, +} + +#[derive(Serialize, Deserialize, Debug)] +#[serde(rename_all = "camelCase")] +pub struct VersionInfo { + pub asset_index: AssetIndex, + pub assets: String, + pub downloads: HashMap, + pub id: String, + pub libraries: Vec, + pub main_class: String, + pub minecraft_arguments: String, + pub minimum_launcher_version: u32, + pub release_time: DateTime, + pub time: DateTime, + #[serde(rename = "type")] + pub type_: VersionType, +} + +pub async fn fetch_version_info(version: &Version) -> Result { + reqwest::get(&version.url).await?.json().await +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct Asset { + pub hash: String, + pub size: u32, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct AssetsIndex { + pub objects: HashMap, +} + +pub async fn fetch_assets_index(version: &VersionInfo) -> Result { + reqwest::get(&version.asset_index.url).await?.json().await +} diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs new file mode 100644 index 000000000..c7674c3da --- /dev/null +++ b/theseus/src/launcher/mod.rs @@ -0,0 +1,4 @@ +mod auth; +pub mod download; +pub mod java; +pub mod meta; diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs new file mode 100644 index 000000000..5ec4e61d9 --- /dev/null +++ b/theseus/src/lib.rs @@ -0,0 +1,11 @@ +#![warn(missing_docs, unused_import_braces, missing_debug_implementations)] + +pub mod launcher; + +#[cfg(test)] +mod tests { + #[test] + fn it_works() { + assert_eq!(2 + 2, 4); + } +} diff --git a/theseus_cli/Cargo.toml b/theseus_cli/Cargo.toml new file mode 100644 index 000000000..d979fb15c --- /dev/null +++ b/theseus_cli/Cargo.toml @@ -0,0 +1,12 @@ +[package] +name = "theseus_cli" +version = "0.1.0" +authors = ["Jai A "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +theseus = { path = "../theseus" } +tokio = { version = "1", features = ["full"] } +futures = "0.3" \ No newline at end of file diff --git a/theseus_cli/src/main.rs b/theseus_cli/src/main.rs new file mode 100644 index 000000000..de7d50ec8 --- /dev/null +++ b/theseus_cli/src/main.rs @@ -0,0 +1,28 @@ +use futures::{executor, future}; +use std::path::Path; + +#[tokio::main] +async fn main() { + let mut thing1 = theseus::launcher::meta::fetch_version_manifest() + .await + .unwrap(); + + // future::join_all(thing1.versions.iter().map(|x| async move { + // println!("{}", x.url); + // let version = theseus::launcher::meta::fetch_version_info(x) + // .await + // .unwrap(); + // + // println!("{:?}", version); + // })) + // .await; + + if let Some(version) = thing1.versions.iter().find(|x| &*x.id == "1.17") { + println!("{}", version.id); + let thing = theseus::launcher::meta::fetch_version_info(&version) + .await + .unwrap(); + + theseus::launcher::download::download_client(&Path::new("./versions"), &thing).await; + } +} From a0e35ad8538e6c932940d254af346fe9cfa98c64 Mon Sep 17 00:00:00 2001 From: Jai A Date: Sun, 4 Jul 2021 22:46:56 -0700 Subject: [PATCH 002/231] Proof of concept of launching Minecraft from Rust --- .idea/theseus.iml | 1 + Cargo.lock | 15 + LICENSE.md | 674 +++++++++++++++++++++++++++++++ theseus/Cargo.toml | 6 +- theseus/src/launcher/args.rs | 219 ++++++++++ theseus/src/launcher/auth.rs | 161 ++++++++ theseus/src/launcher/download.rs | 94 ++--- theseus/src/launcher/meta.rs | 52 ++- theseus/src/launcher/mod.rs | 93 ++++- theseus/src/launcher/rules.rs | 52 +++ theseus_cli/src/main.rs | 28 +- 11 files changed, 1324 insertions(+), 71 deletions(-) create mode 100644 LICENSE.md create mode 100644 theseus/src/launcher/args.rs create mode 100644 theseus/src/launcher/rules.rs diff --git a/.idea/theseus.iml b/.idea/theseus.iml index 79c599b19..e70532b3a 100644 --- a/.idea/theseus.iml +++ b/.idea/theseus.iml @@ -41,6 +41,7 @@ + diff --git a/Cargo.lock b/Cargo.lock index e3a4b79fd..e7dbc8669 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -936,6 +936,16 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "sys-info" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33fcecee49339531cf6bd84ecf3ed94f9c8ef4a7e700f2a1cac9cc1ca485383a" +dependencies = [ + "cc", + "libc", +] + [[package]] name = "tempfile" version = "3.2.0" @@ -962,6 +972,7 @@ dependencies = [ "reqwest", "serde", "serde_json", + "sys-info", "thiserror", "tokio", "uuid", @@ -1151,6 +1162,10 @@ name = "uuid" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" +dependencies = [ + "getrandom", + "serde", +] [[package]] name = "vcpkg" diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 000000000..cb6622bf4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + +Copyright (C) 2007 Free Software Foundation, Inc. +Everyone is permitted to copy and distribute verbatim copies +of this license document, but changing it is not allowed. + + Preamble + +The GNU General Public License is a free, copyleft license for +software and other kinds of works. + +The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + +To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + +For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + +Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + +For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + +Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + +Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + +The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + +0. Definitions. + +"This License" refers to version 3 of the GNU General Public License. + +"Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + +"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + +To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + +A "covered work" means either the unmodified Program or a work based +on the Program. + +To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + +To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + +An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + +1. Source Code. + +The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + +A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + +The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + +The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + +The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + +The Corresponding Source for a work in source code form is that +same work. + +2. Basic Permissions. + +All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + +You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + +Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + +3. Protecting Users' Legal Rights From Anti-Circumvention Law. + +No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + +When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + +4. Conveying Verbatim Copies. + +You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + +You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + +5. Conveying Modified Source Versions. + +You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + +A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + +6. Conveying Non-Source Forms. + +You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + +A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + +A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + +"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + +If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + +The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + +Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + +7. Additional Terms. + +"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + +When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + +Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + +All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + +If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + +Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + +8. Termination. + +You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + +However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + +Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + +Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + +9. Acceptance Not Required for Having Copies. + +You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + +10. Automatic Licensing of Downstream Recipients. + +Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + +An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + +You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + +11. Patents. + +A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + +A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + +Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + +In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + +If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + +If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + +A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + +Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + +12. No Surrender of Others' Freedom. + +If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + +13. Use with the GNU Affero General Public License. + +Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + +14. Revised Versions of this License. + +The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + +If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + +Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + +15. Disclaimer of Warranty. + +THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +16. Limitation of Liability. + +IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + +17. Interpretation of Sections 15 and 16. + +If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + +If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + +You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + +The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. \ No newline at end of file diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index ad02590eb..8d3a2acbe 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -13,7 +13,7 @@ reqwest = { version = "0.11", features = ["json"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" chrono = { version = "0.4", features = ["serde"] } -uuid = "0.8" +uuid = { version = "0.8", features = ["serde", "v4"] } bytes = "1" zip = "0.5" @@ -21,4 +21,6 @@ regex = "1.5" lazy_static = "1.4" tokio = { version = "1", features = ["full"] } -futures = "0.3" \ No newline at end of file +futures = "0.3" + +sys-info = "0.9.0" \ No newline at end of file diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs new file mode 100644 index 000000000..a68abca05 --- /dev/null +++ b/theseus/src/launcher/args.rs @@ -0,0 +1,219 @@ +use crate::launcher::meta::{Argument, ArgumentValue, Library, Os, VersionType}; +use crate::launcher::rules::parse_rules; +use std::path::Path; +use uuid::Uuid; + +pub fn get_class_paths(libraries_path: &Path, libraries: &[Library], client_path: &Path) -> String { + let mut class_paths = Vec::new(); + + for library in libraries { + if library.downloads.artifact.is_some() { + if let Some(rules) = &library.rules { + if !super::rules::parse_rules(rules.as_slice()) { + continue; + } + } + + let name_items = library.name.split(':').collect::>(); + + let package = name_items.get(0).unwrap(); + let name = name_items.get(1).unwrap(); + let version = name_items.get(2).unwrap(); + + let mut path = libraries_path.to_path_buf(); + + for directory in package.split(".") { + path.push(directory); + } + + path.push(name); + path.push(version); + path.push(format!("{}-{}.jar", name, version)); + + class_paths.push( + std::fs::canonicalize(&path) + .unwrap() + .to_string_lossy() + .to_string(), + ) + } + } + + class_paths.push( + std::fs::canonicalize(&client_path) + .unwrap() + .to_string_lossy() + .to_string(), + ); + + class_paths.join(match super::download::get_os() { + Os::Osx | Os::Linux | Os::Unknown => ":", + Os::Windows => ";", + }) +} + +pub fn get_jvm_arguments( + arguments: Option<&[Argument]>, + natives_path: &Path, + class_paths: &str, +) -> Vec { + let mut parsed_arguments = Vec::new(); + + if let Some(args) = arguments { + parse_arguments(args, &mut parsed_arguments, |arg| { + parse_jvm_argument(arg, natives_path, class_paths) + }); + } else { + parsed_arguments.push(format!( + "-Djava.library.path={}", + &*std::fs::canonicalize(natives_path) + .unwrap() + .to_string_lossy() + .to_string() + )); + parsed_arguments.push("-cp".to_string()); + parsed_arguments.push(class_paths.to_string()); + } + + parsed_arguments +} + +fn parse_jvm_argument(argument: &str, natives_path: &Path, class_paths: &str) -> String { + argument + .replace( + "${natives_directory}", + &*std::fs::canonicalize(natives_path) + .unwrap() + .to_string_lossy() + .to_string(), + ) + .replace("${launcher_name}", "theseus") + .replace("${launcher_version}", env!("CARGO_PKG_VERSION")) + .replace("${classpath}", class_paths) +} + +pub fn get_minecraft_arguments( + arguments: Option<&[Argument]>, + legacy_arguments: Option<&str>, + access_token: &str, + username: &str, + uuid: &Uuid, + version: &str, + asset_index_name: &str, + game_directory: &Path, + assets_directory: &Path, + version_type: &VersionType, +) -> Vec { + if let Some(arguments) = arguments { + let mut parsed_arguments = Vec::new(); + + parse_arguments(arguments, &mut parsed_arguments, |arg| { + parse_minecraft_argument( + arg, + access_token, + username, + uuid, + version, + asset_index_name, + game_directory, + assets_directory, + version_type, + ) + }); + + parsed_arguments + } else if let Some(legacy_arguments) = legacy_arguments { + parse_minecraft_argument( + legacy_arguments, + access_token, + username, + uuid, + version, + asset_index_name, + game_directory, + assets_directory, + version_type, + ) + .split(" ") + .into_iter() + .map(|x| x.to_string()) + .collect() + } else { + Vec::new() + } +} + +fn parse_minecraft_argument( + argument: &str, + access_token: &str, + username: &str, + uuid: &Uuid, + version: &str, + asset_index_name: &str, + game_directory: &Path, + assets_directory: &Path, + version_type: &VersionType, +) -> String { + argument + .replace("${auth_access_token}", access_token) + .replace("${auth_session}", access_token) + .replace("${auth_player_name}", username) + .replace("${auth_uuid}", &*uuid.to_hyphenated().to_string()) + .replace("${user_properties}", "{}") + .replace("${user_type}", "mojang") + .replace("${version_name}", version) + .replace("${assets_index_name}", asset_index_name) + .replace( + "${game_directory}", + &*std::fs::canonicalize(game_directory) + .unwrap() + .to_string_lossy() + .to_string(), + ) + .replace( + "${assets_root}", + &*std::fs::canonicalize(assets_directory) + .unwrap() + .to_string_lossy() + .to_string(), + ) + .replace( + "${game_assets}", + &*std::fs::canonicalize(assets_directory) + .unwrap() + .to_string_lossy() + .to_string(), + ) + .replace("${version_type}", version_type.as_str()) +} + +fn parse_arguments(arguments: &[Argument], parsed_arguments: &mut Vec, parse_function: F) +where + F: Fn(&str) -> String, +{ + for argument in arguments { + match argument { + Argument::Normal(arg) => { + let parsed = parse_function(arg); + + for arg in parsed.split(" ") { + parsed_arguments.push(arg.to_string()); + } + } + Argument::Ruled { rules, value } => { + if parse_rules(rules.as_slice()) { + match value { + ArgumentValue::Single(arg) => { + //parsed_arguments.push(parse_function(arg)); + } + ArgumentValue::Many(args) => { + for arg in args { + //parsed_arguments.push(parse_function(arg)); + } + } + } + } + } + } + } +} diff --git a/theseus/src/launcher/auth.rs b/theseus/src/launcher/auth.rs index 8b1378917..68e5c2b68 100644 --- a/theseus/src/launcher/auth.rs +++ b/theseus/src/launcher/auth.rs @@ -1 +1,162 @@ +use serde::{Deserialize, Serialize}; +use uuid::Uuid; +#[derive(Debug, Serialize, Deserialize)] +pub struct GameProfile { + pub id: Uuid, + pub name: String, +} + +#[derive(Debug, Deserialize)] +pub struct UserProperty { + pub name: String, + pub value: String, +} + +#[derive(Debug, Deserialize)] +pub struct User { + pub id: String, + pub username: String, + pub properties: Option>, +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct AuthenticateResponse { + pub user: Option, + pub client_token: Uuid, + pub access_token: String, + pub available_profiles: Vec, + pub selected_profile: Option, +} + +pub async fn login(username: &str, password: &str, request_user: bool) -> AuthenticateResponse { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/authenticate") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "agent": { + "name": "Minecraft", + "version": 1 + }, + "username": username, + "password": password, + "clientToken": Uuid::new_v4(), + "requestUser": request_user + } + ) + .to_string(), + ) + .send() + .await + .unwrap() + .json() + .await + .unwrap() +} + +pub async fn sign_out(username: &str, password: &str) { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/signout") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "username": username, + "password": password + } + ) + .to_string(), + ) + .send() + .await + .unwrap(); +} + +pub async fn validate(access_token: &str, client_token: &str) { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/validate") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "accessToken": access_token, + "clientToken": client_token + } + ) + .to_string(), + ) + .send() + .await + .unwrap(); +} + +pub async fn invalidate(access_token: &str, client_token: &str) { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/invalidate") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "accessToken": access_token, + "clientToken": client_token + } + ) + .to_string(), + ) + .send() + .await + .unwrap(); +} + +#[derive(Debug, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct RefreshResponse { + pub user: Option, + pub client_token: Uuid, + pub access_token: String, + pub selected_profile: Option, +} + +pub async fn refresh( + access_token: &str, + client_token: &str, + selected_profile: &GameProfile, + request_user: bool, +) -> RefreshResponse { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/refresh") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "accessToken": access_token, + "clientToken": client_token, + "selectedProfile": { + "id": selected_profile.id, + "name": selected_profile.name, + }, + "requestUser": request_user, + } + ) + .to_string(), + ) + .send() + .await + .unwrap() + .json() + .await + .unwrap() +} diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index 2161ce52a..488f173be 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -1,7 +1,9 @@ use crate::launcher::meta::{ - Asset, AssetIndex, AssetsIndex, DownloadType, Library, Os, RuleAction, VersionInfo, + Asset, AssetIndex, AssetsIndex, DownloadType, Library, Os, OsRule, RuleAction, VersionInfo, }; use futures::future; +use regex::Regex; +use reqwest::{Error, Response}; use std::fs::File; use std::io::{BufReader, Write}; use std::path::Path; @@ -33,7 +35,7 @@ pub async fn download_client(client_path: &Path, version_info: &VersionInfo) { pub async fn download_assets( assets_path: &Path, legacy_path: Option<&Path>, - meta: AssetIndex, + meta: &AssetIndex, index: &AssetsIndex, ) { save_file( @@ -66,7 +68,7 @@ async fn download_asset( )) .await; - let resource_path = assets_path.join(sub_hash).join(&asset.hash); + let resource_path = assets_path.join("objects").join(sub_hash).join(&asset.hash); save_file(resource_path.as_path(), &resource); if let Some(legacy_path) = legacy_path { @@ -87,28 +89,7 @@ pub async fn download_libraries(libraries_path: &Path, natives_path: &Path, libr async fn download_library(libraries_path: &Path, natives_path: &Path, library: &Library) { if let Some(rules) = &library.rules { - let mut allowed = true; - - for rule in rules { - match rule.action { - RuleAction::Allow => { - if let Some(os) = &rule.os { - allowed = os.name == &get_os() - } else { - allowed = true - } - } - RuleAction::Disallow => { - if let Some(os) = &rule.os { - allowed = os.name != &get_os() - } else { - allowed = false - } - } - } - } - - if !allowed { + if !super::rules::parse_rules(rules.as_slice()) { return; } } @@ -143,14 +124,17 @@ async fn download_library_jar( if let Some(library) = &library.downloads.artifact { let bytes = download_file(&library.url).await; - save_file( - &libraries_path - .join(package) - .join(name) - .join(version) - .join(format!("{}-{}.jar", name, version)), - &bytes, - ); + let mut path = libraries_path.to_path_buf(); + + for directory in package.split(".") { + path.push(directory); + } + + path.push(name); + path.push(version); + path.push(format!("{}-{}.jar", name, version)); + + save_file(&path, &bytes); } } @@ -171,17 +155,21 @@ async fn download_native( let parsed_key = os_key.replace("${arch}", "32"); if let Some(native) = classifiers.get(&*parsed_key) { - let path = &libraries_path - .join(package) - .join(name) - .join(version) - .join(format!("{}-{}-{}.jar", name, version, parsed_key)); + let mut path = libraries_path.to_path_buf(); + + for directory in package.split(".") { + path.push(directory); + } + + path.push(name); + path.push(version); + path.push(format!("{}-{}-{}.jar", name, version, parsed_key)); let bytes = download_file(&native.url).await; - save_file(path, &bytes); + save_file(&path, &bytes); - let file = File::open(path).unwrap(); + let file = File::open(&path).unwrap(); let reader = BufReader::new(file); let mut archive = zip::ZipArchive::new(reader).unwrap(); @@ -199,20 +187,26 @@ fn save_file(path: &Path, bytes: &bytes::Bytes) { } async fn download_file(url: &str) -> bytes::Bytes { - reqwest::Client::builder() + let client = reqwest::Client::builder() + .pool_max_idle_per_host(0) .tcp_keepalive(Some(std::time::Duration::from_secs(10))) .build() - .unwrap() - .get(url) - .send() - .await - .unwrap() - .bytes() - .await - .unwrap() + .unwrap(); + + for attempt in 1..4 { + let result = client.get(url).send().await; + + match result { + Ok(x) => return x.bytes().await.unwrap(), + Err(e) if attempt <= 3 => continue, + Err(e) => panic!(e), + } + } + + unreachable!() } -fn get_os() -> Os { +pub fn get_os() -> Os { match std::env::consts::OS { "windows" => Os::Windows, "macos" => Os::Osx, diff --git a/theseus/src/launcher/meta.rs b/theseus/src/launcher/meta.rs index 646683362..bbf5475f2 100644 --- a/theseus/src/launcher/meta.rs +++ b/theseus/src/launcher/meta.rs @@ -11,6 +11,17 @@ pub enum VersionType { OldBeta, } +impl VersionType { + pub fn as_str(&self) -> &'static str { + match self { + VersionType::Release => "release", + VersionType::Snapshot => "snapshot", + VersionType::OldAlpha => "old_alpha", + VersionType::OldBeta => "old_beta", + } + } +} + #[derive(Deserialize, Debug)] #[serde(rename_all = "camelCase")] pub struct Version { @@ -100,14 +111,22 @@ pub enum Os { #[derive(Serialize, Deserialize, Debug)] pub struct OsRule { - pub name: Os, + pub name: Option, pub version: Option, + pub arch: Option, } #[derive(Serialize, Deserialize, Debug)] -pub struct LibraryRule { +pub struct FeatureRule { + pub is_demo_user: Option, + pub has_custom_resolution: Option, +} + +#[derive(Serialize, Deserialize, Debug)] +pub struct Rule { pub action: RuleAction, pub os: Option, + pub feature: Option, } #[derive(Serialize, Deserialize, Debug)] @@ -121,19 +140,44 @@ pub struct Library { pub extract: Option, pub name: String, pub natives: Option>, - pub rules: Option>, + pub rules: Option>, +} + +#[derive(Serialize, Deserialize, Debug)] +#[serde(untagged)] +pub enum ArgumentValue { + Single(String), + Many(Vec), +} + +#[derive(Serialize, Deserialize, Debug)] +#[serde(untagged)] +pub enum Argument { + Normal(String), + Ruled { + rules: Vec, + value: ArgumentValue, + }, +} + +#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Hash)] +#[serde(rename_all = "snake_case")] +pub enum ArgumentType { + Game, + Jvm, } #[derive(Serialize, Deserialize, Debug)] #[serde(rename_all = "camelCase")] pub struct VersionInfo { + pub arguments: Option>>, pub asset_index: AssetIndex, pub assets: String, pub downloads: HashMap, pub id: String, pub libraries: Vec, pub main_class: String, - pub minecraft_arguments: String, + pub minecraft_arguments: Option, pub minimum_launcher_version: u32, pub release_time: DateTime, pub time: DateTime, diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index c7674c3da..1fc4a82fa 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -1,4 +1,95 @@ -mod auth; +use std::path::Path; +use std::process::{Command, Stdio}; + +mod args; +pub mod auth; pub mod download; pub mod java; pub mod meta; +mod rules; + +pub async fn launch_minecraft(version_name: &str, root_dir: &Path) { + let manifest = meta::fetch_version_manifest().await.unwrap(); + + let version = meta::fetch_version_info( + manifest + .versions + .iter() + .find(|x| x.id == version_name) + .unwrap(), + ) + .await + .unwrap(); + + //download_minecraft(&version, root_dir).await; + + let auth = auth::login("username", "password", true).await; + + let arguments = version.arguments.unwrap(); + + let profile = auth.selected_profile.unwrap(); + + let mut child = Command::new("java") + .args(args::get_jvm_arguments( + arguments + .get(&meta::ArgumentType::Jvm) + .map(|x| x.as_slice()), + &*root_dir.join("natives").join(&version.id), + &*args::get_class_paths( + &*root_dir.join("libraries"), + version.libraries.as_slice(), + &*root_dir + .join("versions") + .join(&version.id) + .join(format!("{}.jar", &version.id)), + ), + )) + .arg(version.main_class) + .args(args::get_minecraft_arguments( + arguments + .get(&meta::ArgumentType::Game) + .map(|x| x.as_slice()), + version.minecraft_arguments.as_deref(), + &*auth.access_token, + &*profile.name, + &profile.id, + &*version.id, + &version.asset_index.id, + root_dir, + &*root_dir.join("assets"), + &version.type_, + )) + .current_dir(root_dir) + .stdout(Stdio::inherit()) + .stderr(Stdio::inherit()) + .spawn() + .unwrap(); + + child.wait().unwrap(); +} + +pub async fn download_minecraft(version: &meta::VersionInfo, root_dir: &Path) { + let assets_dir = meta::fetch_assets_index(&version).await.unwrap(); + + let legacy_dir = root_dir.join("resources"); + + futures::future::join3( + download::download_client(&*root_dir.join("versions"), &version), + download::download_assets( + &*root_dir.join("assets"), + if version.assets == "legacy" { + Some(legacy_dir.as_path()) + } else { + None + }, + &version.asset_index, + &assets_dir, + ), + download::download_libraries( + &*root_dir.join("libraries"), + &*root_dir.join("natives").join(&version.id), + version.libraries.as_slice(), + ), + ) + .await; +} diff --git a/theseus/src/launcher/rules.rs b/theseus/src/launcher/rules.rs new file mode 100644 index 000000000..9e275461b --- /dev/null +++ b/theseus/src/launcher/rules.rs @@ -0,0 +1,52 @@ +use crate::launcher::download::get_os; +use crate::launcher::meta::{OsRule, Rule, RuleAction}; +use regex::Regex; + +pub fn parse_rules(rules: &[Rule]) -> bool { + rules.iter().all(|x| parse_rule(x)) +} + +pub fn parse_rule(rule: &Rule) -> bool { + let result = if let Some(os) = &rule.os { + parse_os_rule(os) + } else if let Some(feature) = &rule.feature { + false + } else { + true + }; + + return match rule.action { + RuleAction::Allow => result, + RuleAction::Disallow => !result, + }; +} + +pub fn parse_os_rule(rule: &OsRule) -> bool { + if let Some(arch) = &rule.arch { + match arch.as_str() { + "x86" => { + #[cfg(not(any(target_arch = "x86", target_arch = "x86_64")))] + return false; + } + "arm" => { + #[cfg(not(target_arch = "arm"))] + return false; + } + _ => {} + } + } + + if let Some(name) = &rule.name { + if &get_os() != name { + return false; + } + } + if let Some(version) = &rule.version { + let regex = Regex::new(version.as_str()).unwrap(); + if !regex.is_match(&*sys_info::os_release().unwrap()) { + return false; + } + } + + true +} diff --git a/theseus_cli/src/main.rs b/theseus_cli/src/main.rs index de7d50ec8..3c1488e0e 100644 --- a/theseus_cli/src/main.rs +++ b/theseus_cli/src/main.rs @@ -1,28 +1,28 @@ use futures::{executor, future}; use std::path::Path; +use theseus::launcher::launch_minecraft; +use theseus::launcher::meta::ArgumentType; #[tokio::main] async fn main() { - let mut thing1 = theseus::launcher::meta::fetch_version_manifest() - .await - .unwrap(); + launch_minecraft("1.15.2", &Path::new("./test")).await; + // let mut thing1 = theseus::launcher::meta::fetch_version_manifest() + // .await + // .unwrap(); + // // future::join_all(thing1.versions.iter().map(|x| async move { - // println!("{}", x.url); + // //println!("{}", x.url); // let version = theseus::launcher::meta::fetch_version_info(x) // .await // .unwrap(); // - // println!("{:?}", version); + // if let Some(args) = &version.minecraft_arguments { + // println!("{:?}", args); + // } + // if let Some(args) = &version.arguments { + // println!("{:?}", args.get(&ArgumentType::Game).unwrap()); + // } // })) // .await; - - if let Some(version) = thing1.versions.iter().find(|x| &*x.id == "1.17") { - println!("{}", version.id); - let thing = theseus::launcher::meta::fetch_version_info(&version) - .await - .unwrap(); - - theseus::launcher::download::download_client(&Path::new("./versions"), &thing).await; - } } From 54cd2f873c67c71734debdf88a08f5e82323bf25 Mon Sep 17 00:00:00 2001 From: Jai A Date: Fri, 9 Jul 2021 20:05:04 -0700 Subject: [PATCH 003/231] Add error handling --- .idea/theseus.iml | 4 + Cargo.lock | 7 + theseus/Cargo.toml | 1 + theseus/src/launcher/args.rs | 156 +++++++++++----- theseus/src/launcher/auth.rs | 298 ++++++++++++++++--------------- theseus/src/launcher/download.rs | 284 +++++++++++++++++++++-------- theseus/src/launcher/java.rs | 17 +- theseus/src/launcher/meta.rs | 4 +- theseus/src/launcher/mod.rs | 95 +++++++--- theseus/src/launcher/rules.rs | 15 +- theseus/src/lib.rs | 13 +- theseus_cli/src/main.rs | 28 +-- 12 files changed, 586 insertions(+), 336 deletions(-) diff --git a/.idea/theseus.iml b/.idea/theseus.iml index e70532b3a..9cd854a33 100644 --- a/.idea/theseus.iml +++ b/.idea/theseus.iml @@ -42,6 +42,10 @@ + + + + diff --git a/Cargo.lock b/Cargo.lock index e7dbc8669..f88a687a4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -894,6 +894,12 @@ dependencies = [ "serde", ] +[[package]] +name = "sha1" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" + [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -972,6 +978,7 @@ dependencies = [ "reqwest", "serde", "serde_json", + "sha1", "sys-info", "thiserror", "tokio", diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 8d3a2acbe..c4d8a9f57 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -16,6 +16,7 @@ chrono = { version = "0.4", features = ["serde"] } uuid = { version = "0.8", features = ["serde", "v4"] } bytes = "1" zip = "0.5" +sha1 = { version = "0.6.0", features = ["std"]} regex = "1.5" lazy_static = "1.4" diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs index a68abca05..a7e9b47d4 100644 --- a/theseus/src/launcher/args.rs +++ b/theseus/src/launcher/args.rs @@ -1,9 +1,15 @@ +use crate::launcher::auth::provider::Credentials; use crate::launcher::meta::{Argument, ArgumentValue, Library, Os, VersionType}; use crate::launcher::rules::parse_rules; +use crate::launcher::LauncherError; use std::path::Path; use uuid::Uuid; -pub fn get_class_paths(libraries_path: &Path, libraries: &[Library], client_path: &Path) -> String { +pub fn get_class_paths( + libraries_path: &Path, + libraries: &[Library], + client_path: &Path, +) -> Result { let mut class_paths = Vec::new(); for library in libraries { @@ -16,13 +22,28 @@ pub fn get_class_paths(libraries_path: &Path, libraries: &[Library], client_path let name_items = library.name.split(':').collect::>(); - let package = name_items.get(0).unwrap(); - let name = name_items.get(1).unwrap(); - let version = name_items.get(2).unwrap(); + let package = name_items.get(0).ok_or_else(|| { + LauncherError::ParseError(format!( + "Unable to find package for library {}", + &library.name + )) + })?; + let name = name_items.get(1).ok_or_else(|| { + LauncherError::ParseError(format!( + "Unable to find name for library {}", + &library.name + )) + })?; + let version = name_items.get(2).ok_or_else(|| { + LauncherError::ParseError(format!( + "Unable to find version for library {}", + &library.name + )) + })?; let mut path = libraries_path.to_path_buf(); - for directory in package.split(".") { + for directory in package.split('.') { path.push(directory); } @@ -32,7 +53,12 @@ pub fn get_class_paths(libraries_path: &Path, libraries: &[Library], client_path class_paths.push( std::fs::canonicalize(&path) - .unwrap() + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Library file at path {} does not exist", + path.to_string_lossy() + )) + })? .to_string_lossy() .to_string(), ) @@ -41,33 +67,41 @@ pub fn get_class_paths(libraries_path: &Path, libraries: &[Library], client_path class_paths.push( std::fs::canonicalize(&client_path) - .unwrap() + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Specified client path {} does not exist", + client_path.to_string_lossy() + )) + })? .to_string_lossy() .to_string(), ); - class_paths.join(match super::download::get_os() { + Ok(class_paths.join(match super::download::get_os() { Os::Osx | Os::Linux | Os::Unknown => ":", Os::Windows => ";", - }) + })) } pub fn get_jvm_arguments( arguments: Option<&[Argument]>, natives_path: &Path, class_paths: &str, -) -> Vec { +) -> Result, LauncherError> { let mut parsed_arguments = Vec::new(); if let Some(args) = arguments { parse_arguments(args, &mut parsed_arguments, |arg| { parse_jvm_argument(arg, natives_path, class_paths) - }); + })?; } else { parsed_arguments.push(format!( "-Djava.library.path={}", &*std::fs::canonicalize(natives_path) - .unwrap() + .map_err(|_| LauncherError::InvalidInput(format!( + "Specified natives path {} does not exist", + natives_path.to_string_lossy() + )))? .to_string_lossy() .to_string() )); @@ -75,74 +109,83 @@ pub fn get_jvm_arguments( parsed_arguments.push(class_paths.to_string()); } - parsed_arguments + Ok(parsed_arguments) } -fn parse_jvm_argument(argument: &str, natives_path: &Path, class_paths: &str) -> String { - argument +fn parse_jvm_argument( + argument: &str, + natives_path: &Path, + class_paths: &str, +) -> Result { + Ok(argument .replace( "${natives_directory}", &*std::fs::canonicalize(natives_path) - .unwrap() + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Specified natives path {} does not exist", + natives_path.to_string_lossy() + )) + })? .to_string_lossy() .to_string(), ) .replace("${launcher_name}", "theseus") .replace("${launcher_version}", env!("CARGO_PKG_VERSION")) - .replace("${classpath}", class_paths) + .replace("${classpath}", class_paths)) } +#[allow(clippy::too_many_arguments)] pub fn get_minecraft_arguments( arguments: Option<&[Argument]>, legacy_arguments: Option<&str>, - access_token: &str, - username: &str, - uuid: &Uuid, + credentials: &Credentials, version: &str, asset_index_name: &str, game_directory: &Path, assets_directory: &Path, version_type: &VersionType, -) -> Vec { +) -> Result, LauncherError> { if let Some(arguments) = arguments { let mut parsed_arguments = Vec::new(); parse_arguments(arguments, &mut parsed_arguments, |arg| { parse_minecraft_argument( arg, - access_token, - username, - uuid, + &*credentials.access_token, + &*credentials.username, + &credentials.id, version, asset_index_name, game_directory, assets_directory, version_type, ) - }); + })?; - parsed_arguments + Ok(parsed_arguments) } else if let Some(legacy_arguments) = legacy_arguments { - parse_minecraft_argument( + Ok(parse_minecraft_argument( legacy_arguments, - access_token, - username, - uuid, + &*credentials.access_token, + &*credentials.username, + &credentials.id, version, asset_index_name, game_directory, assets_directory, version_type, - ) - .split(" ") + )? + .split(' ') .into_iter() .map(|x| x.to_string()) - .collect() + .collect()) } else { - Vec::new() + Ok(Vec::new()) } } +#[allow(clippy::too_many_arguments)] fn parse_minecraft_argument( argument: &str, access_token: &str, @@ -153,8 +196,8 @@ fn parse_minecraft_argument( game_directory: &Path, assets_directory: &Path, version_type: &VersionType, -) -> String { - argument +) -> Result { + Ok(argument .replace("${auth_access_token}", access_token) .replace("${auth_session}", access_token) .replace("${auth_player_name}", username) @@ -166,37 +209,56 @@ fn parse_minecraft_argument( .replace( "${game_directory}", &*std::fs::canonicalize(game_directory) - .unwrap() + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Specified game directory {} does not exist", + game_directory.to_string_lossy() + )) + })? .to_string_lossy() .to_string(), ) .replace( "${assets_root}", &*std::fs::canonicalize(assets_directory) - .unwrap() + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Specified assets directory {} does not exist", + assets_directory.to_string_lossy() + )) + })? .to_string_lossy() .to_string(), ) .replace( "${game_assets}", &*std::fs::canonicalize(assets_directory) - .unwrap() + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Specified assets directory {} does not exist", + assets_directory.to_string_lossy() + )) + })? .to_string_lossy() .to_string(), ) - .replace("${version_type}", version_type.as_str()) + .replace("${version_type}", version_type.as_str())) } -fn parse_arguments(arguments: &[Argument], parsed_arguments: &mut Vec, parse_function: F) +fn parse_arguments( + arguments: &[Argument], + parsed_arguments: &mut Vec, + parse_function: F, +) -> Result<(), LauncherError> where - F: Fn(&str) -> String, + F: Fn(&str) -> Result, { for argument in arguments { match argument { Argument::Normal(arg) => { - let parsed = parse_function(arg); + let parsed = parse_function(arg)?; - for arg in parsed.split(" ") { + for arg in parsed.split(' ') { parsed_arguments.push(arg.to_string()); } } @@ -204,11 +266,11 @@ where if parse_rules(rules.as_slice()) { match value { ArgumentValue::Single(arg) => { - //parsed_arguments.push(parse_function(arg)); + parsed_arguments.push(parse_function(arg)?); } ArgumentValue::Many(args) => { for arg in args { - //parsed_arguments.push(parse_function(arg)); + parsed_arguments.push(parse_function(arg)?); } } } @@ -216,4 +278,6 @@ where } } } + + Ok(()) } diff --git a/theseus/src/launcher/auth.rs b/theseus/src/launcher/auth.rs index 68e5c2b68..0981010d6 100644 --- a/theseus/src/launcher/auth.rs +++ b/theseus/src/launcher/auth.rs @@ -1,162 +1,178 @@ -use serde::{Deserialize, Serialize}; -use uuid::Uuid; +pub mod api { + use serde::{Deserialize, Serialize}; + use uuid::Uuid; -#[derive(Debug, Serialize, Deserialize)] -pub struct GameProfile { - pub id: Uuid, - pub name: String, -} + #[derive(Debug, Serialize, Deserialize)] + pub struct GameProfile { + pub id: Uuid, + pub name: String, + } -#[derive(Debug, Deserialize)] -pub struct UserProperty { - pub name: String, - pub value: String, -} + #[derive(Debug, Deserialize)] + pub struct UserProperty { + pub name: String, + pub value: String, + } -#[derive(Debug, Deserialize)] -pub struct User { - pub id: String, - pub username: String, - pub properties: Option>, -} + #[derive(Debug, Deserialize)] + pub struct User { + pub id: String, + pub username: String, + pub properties: Option>, + } -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct AuthenticateResponse { - pub user: Option, - pub client_token: Uuid, - pub access_token: String, - pub available_profiles: Vec, - pub selected_profile: Option, -} + #[derive(Debug, Deserialize)] + #[serde(rename_all = "camelCase")] + pub struct AuthenticateResponse { + pub user: Option, + pub client_token: Uuid, + pub access_token: String, + pub available_profiles: Vec, + pub selected_profile: Option, + } -pub async fn login(username: &str, password: &str, request_user: bool) -> AuthenticateResponse { - let client = reqwest::Client::new(); + pub async fn login( + username: &str, + password: &str, + request_user: bool, + ) -> Result { + let client = reqwest::Client::new(); - client - .post("https://authserver.mojang.com/authenticate") - .header(reqwest::header::CONTENT_TYPE, "application/json") - .body( - serde_json::json!( - { - "agent": { - "name": "Minecraft", - "version": 1 - }, - "username": username, - "password": password, - "clientToken": Uuid::new_v4(), - "requestUser": request_user - } + client + .post("https://authserver.mojang.com/authenticate") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "agent": { + "name": "Minecraft", + "version": 1 + }, + "username": username, + "password": password, + "clientToken": Uuid::new_v4(), + "requestUser": request_user + } + ) + .to_string(), ) - .to_string(), - ) - .send() - .await - .unwrap() - .json() - .await - .unwrap() -} + .send() + .await? + .json() + .await + } -pub async fn sign_out(username: &str, password: &str) { - let client = reqwest::Client::new(); + pub async fn sign_out(username: &str, password: &str) -> Result<(), reqwest::Error> { + let client = reqwest::Client::new(); - client - .post("https://authserver.mojang.com/signout") - .header(reqwest::header::CONTENT_TYPE, "application/json") - .body( - serde_json::json!( - { - "username": username, - "password": password - } + client + .post("https://authserver.mojang.com/signout") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "username": username, + "password": password + } + ) + .to_string(), ) - .to_string(), - ) - .send() - .await - .unwrap(); -} + .send() + .await?; -pub async fn validate(access_token: &str, client_token: &str) { - let client = reqwest::Client::new(); + Ok(()) + } - client - .post("https://authserver.mojang.com/validate") - .header(reqwest::header::CONTENT_TYPE, "application/json") - .body( - serde_json::json!( - { - "accessToken": access_token, - "clientToken": client_token - } + pub async fn validate(access_token: &str, client_token: &str) -> Result<(), reqwest::Error> { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/validate") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "accessToken": access_token, + "clientToken": client_token + } + ) + .to_string(), ) - .to_string(), - ) - .send() - .await - .unwrap(); -} + .send() + .await?; -pub async fn invalidate(access_token: &str, client_token: &str) { - let client = reqwest::Client::new(); + Ok(()) + } - client - .post("https://authserver.mojang.com/invalidate") - .header(reqwest::header::CONTENT_TYPE, "application/json") - .body( - serde_json::json!( - { - "accessToken": access_token, - "clientToken": client_token - } + pub async fn invalidate(access_token: &str, client_token: &str) -> Result<(), reqwest::Error> { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/invalidate") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "accessToken": access_token, + "clientToken": client_token + } + ) + .to_string(), ) - .to_string(), - ) - .send() - .await - .unwrap(); -} + .send() + .await?; -#[derive(Debug, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct RefreshResponse { - pub user: Option, - pub client_token: Uuid, - pub access_token: String, - pub selected_profile: Option, -} + Ok(()) + } -pub async fn refresh( - access_token: &str, - client_token: &str, - selected_profile: &GameProfile, - request_user: bool, -) -> RefreshResponse { - let client = reqwest::Client::new(); + #[derive(Debug, Deserialize)] + #[serde(rename_all = "camelCase")] + pub struct RefreshResponse { + pub user: Option, + pub client_token: Uuid, + pub access_token: String, + pub selected_profile: Option, + } - client - .post("https://authserver.mojang.com/refresh") - .header(reqwest::header::CONTENT_TYPE, "application/json") - .body( - serde_json::json!( - { - "accessToken": access_token, - "clientToken": client_token, - "selectedProfile": { - "id": selected_profile.id, - "name": selected_profile.name, - }, - "requestUser": request_user, - } + pub async fn refresh( + access_token: &str, + client_token: &str, + selected_profile: &GameProfile, + request_user: bool, + ) -> Result { + let client = reqwest::Client::new(); + + client + .post("https://authserver.mojang.com/refresh") + .header(reqwest::header::CONTENT_TYPE, "application/json") + .body( + serde_json::json!( + { + "accessToken": access_token, + "clientToken": client_token, + "selectedProfile": { + "id": selected_profile.id, + "name": selected_profile.name, + }, + "requestUser": request_user, + } + ) + .to_string(), ) - .to_string(), - ) - .send() - .await - .unwrap() - .json() - .await - .unwrap() + .send() + .await? + .json() + .await + } +} + +pub mod provider { + use uuid::Uuid; + + #[derive(Debug)] + pub struct Credentials { + pub id: Uuid, + pub username: String, + pub access_token: String, + } } diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index 488f173be..b26007a45 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -1,106 +1,178 @@ use crate::launcher::meta::{ - Asset, AssetIndex, AssetsIndex, DownloadType, Library, Os, OsRule, RuleAction, VersionInfo, + fetch_assets_index, fetch_version_info, Asset, AssetsIndex, DownloadType, Library, Os, Version, + VersionInfo, }; +use crate::launcher::LauncherError; use futures::future; -use regex::Regex; -use reqwest::{Error, Response}; use std::fs::File; use std::io::{BufReader, Write}; use std::path::Path; -pub async fn download_client(client_path: &Path, version_info: &VersionInfo) { - let client = download_file( - &version_info - .downloads - .get(&DownloadType::Client) - .unwrap() - .url, - ) - .await; +pub async fn download_version_info( + client_path: &Path, + version: &Version, +) -> Result { + let path = &*client_path + .join(&version.id) + .join(format!("{}.json", &version.id)); - save_file( - &*client_path - .join(&version_info.id) - .join(format!("{}.jar", &version_info.id)), - &client, - ); - save_file( - &*client_path - .join(&version_info.id) - .join(format!("{}.json", &version_info.id)), - &bytes::Bytes::from(serde_json::to_string(version_info).unwrap()), - ); + if path.exists() { + Ok(serde_json::from_str(&std::fs::read_to_string(path)?)?) + } else { + let info = fetch_version_info(version) + .await + .map_err(|err| LauncherError::FetchError { + inner: err, + item: "version info".to_string(), + })?; + + save_file(path, &bytes::Bytes::from(serde_json::to_string(&info)?))?; + + Ok(info) + } +} + +pub async fn download_client( + client_path: &Path, + version_info: &VersionInfo, +) -> Result<(), LauncherError> { + let client_download = version_info + .downloads + .get(&DownloadType::Client) + .ok_or_else(|| { + LauncherError::InvalidInput(format!( + "Version {} does not have any client downloads", + &version_info.id + )) + })?; + + let path = &*client_path + .join(&version_info.id) + .join(format!("{}.jar", &version_info.id)); + + save_and_download_file(path, &client_download.url, &client_download.sha1).await?; + + Ok(()) +} + +pub async fn download_assets_index( + assets_path: &Path, + version: &VersionInfo, +) -> Result { + let path = &*assets_path + .join("indexes") + .join(format!("{}.json", &version.asset_index.id)); + + if path.exists() { + Ok(serde_json::from_str(&std::fs::read_to_string(path)?)?) + } else { + let index = fetch_assets_index(version) + .await + .map_err(|err| LauncherError::FetchError { + inner: err, + item: "assets index".to_string(), + })?; + + save_file(path, &bytes::Bytes::from(serde_json::to_string(&index)?))?; + + Ok(index) + } } pub async fn download_assets( assets_path: &Path, legacy_path: Option<&Path>, - meta: &AssetIndex, index: &AssetsIndex, -) { - save_file( - &*assets_path - .join("indexes") - .join(format!("{}.json", meta.id)), - &bytes::Bytes::from(serde_json::to_string(index).unwrap()), - ); - +) -> Result<(), LauncherError> { future::join_all( index .objects .iter() .map(|x| download_asset(assets_path, legacy_path, x.0, x.1)), ) - .await; + .await + .into_iter() + .collect::, LauncherError>>()?; + + Ok(()) } async fn download_asset( assets_path: &Path, legacy_path: Option<&Path>, - name: &String, + name: &str, asset: &Asset, -) { +) -> Result<(), LauncherError> { let sub_hash = &&asset.hash[..2]; - let resource = download_file(&format!( - "https://resources.download.minecraft.net/{}/{}", - sub_hash, asset.hash - )) - .await; - let resource_path = assets_path.join("objects").join(sub_hash).join(&asset.hash); - save_file(resource_path.as_path(), &resource); + + let resource = save_and_download_file( + &*resource_path, + &format!( + "https://resources.download.minecraft.net/{}/{}", + sub_hash, asset.hash + ), + &*asset.hash, + ) + .await?; if let Some(legacy_path) = legacy_path { let resource_path = legacy_path.join(name.replace('/', &*std::path::MAIN_SEPARATOR.to_string())); - save_file(resource_path.as_path(), &resource); + save_file(resource_path.as_path(), &resource)?; } + + Ok(()) } -pub async fn download_libraries(libraries_path: &Path, natives_path: &Path, libraries: &[Library]) { +pub async fn download_libraries( + libraries_path: &Path, + natives_path: &Path, + libraries: &[Library], +) -> Result<(), LauncherError> { future::join_all( libraries .iter() .map(|x| download_library(libraries_path, natives_path, x)), ) - .await; + .await + .into_iter() + .collect::, LauncherError>>()?; + + Ok(()) } -async fn download_library(libraries_path: &Path, natives_path: &Path, library: &Library) { +async fn download_library( + libraries_path: &Path, + natives_path: &Path, + library: &Library, +) -> Result<(), LauncherError> { if let Some(rules) = &library.rules { if !super::rules::parse_rules(rules.as_slice()) { - return; + return Ok(()); } } let name_items = library.name.split(':').collect::>(); - let package = name_items.get(0).unwrap(); - let name = name_items.get(1).unwrap(); - let version = name_items.get(2).unwrap(); + let package = name_items.get(0).ok_or_else(|| { + LauncherError::ParseError(format!( + "Unable to find package for library {}", + &library.name + )) + })?; + let name = name_items.get(1).ok_or_else(|| { + LauncherError::ParseError(format!("Unable to find name for library {}", &library.name)) + })?; + let version = name_items.get(2).ok_or_else(|| { + LauncherError::ParseError(format!( + "Unable to find version for library {}", + &library.name + )) + })?; - future::join( + let (a, b) = future::join( download_library_jar(libraries_path, library, package, name, version), download_native( libraries_path, @@ -112,6 +184,11 @@ async fn download_library(libraries_path: &Path, natives_path: &Path, library: & ), ) .await; + + a?; + b?; + + Ok(()) } async fn download_library_jar( @@ -120,13 +197,11 @@ async fn download_library_jar( package: &str, name: &str, version: &str, -) { +) -> Result<(), LauncherError> { if let Some(library) = &library.downloads.artifact { - let bytes = download_file(&library.url).await; - let mut path = libraries_path.to_path_buf(); - for directory in package.split(".") { + for directory in package.split('.') { path.push(directory); } @@ -134,8 +209,10 @@ async fn download_library_jar( path.push(version); path.push(format!("{}-{}.jar", name, version)); - save_file(&path, &bytes); + save_and_download_file(&*path, &library.url, &library.sha1).await?; } + + Ok(()) } async fn download_native( @@ -145,7 +222,7 @@ async fn download_native( package: &str, name: &str, version: &str, -) { +) -> Result<(), LauncherError> { if let Some(natives) = &library.natives { if let Some(os_key) = natives.get(&get_os()) { if let Some(classifiers) = &library.downloads.classifiers { @@ -157,7 +234,7 @@ async fn download_native( if let Some(native) = classifiers.get(&*parsed_key) { let mut path = libraries_path.to_path_buf(); - for directory in package.split(".") { + for directory in package.split('.') { path.push(directory); } @@ -165,9 +242,7 @@ async fn download_native( path.push(version); path.push(format!("{}-{}-{}.jar", name, version, parsed_key)); - let bytes = download_file(&native.url).await; - - save_file(&path, &bytes); + save_and_download_file(&*path, &native.url, &native.sha1).await?; let file = File::open(&path).unwrap(); let reader = BufReader::new(file); @@ -178,34 +253,99 @@ async fn download_native( } } } + + Ok(()) } -fn save_file(path: &Path, bytes: &bytes::Bytes) { - std::fs::create_dir_all(path.parent().unwrap()).unwrap(); - let mut file = File::create(path).unwrap(); - file.write_all(bytes).unwrap(); +async fn save_and_download_file( + path: &Path, + url: &str, + sha1: &str, +) -> Result { + let read = std::fs::read(path).ok().map(bytes::Bytes::from); + + if let Some(bytes) = read { + Ok(bytes) + } else { + let file = download_file(url, Some(sha1)).await?; + + save_file(path, &file)?; + + Ok(file) + } } -async fn download_file(url: &str) -> bytes::Bytes { +fn save_file(path: &Path, bytes: &bytes::Bytes) -> Result<(), std::io::Error> { + if let Some(parent) = path.parent() { + std::fs::create_dir_all(parent)?; + } + + let mut file = File::create(path)?; + file.write_all(bytes)?; + + Ok(()) +} + +async fn download_file(url: &str, sha1: Option<&str>) -> Result { let client = reqwest::Client::builder() - .pool_max_idle_per_host(0) .tcp_keepalive(Some(std::time::Duration::from_secs(10))) .build() - .unwrap(); + .map_err(|err| LauncherError::FetchError { + inner: err, + item: url.to_string(), + })?; for attempt in 1..4 { let result = client.get(url).send().await; match result { - Ok(x) => return x.bytes().await.unwrap(), - Err(e) if attempt <= 3 => continue, - Err(e) => panic!(e), + Ok(x) => { + let bytes = x.bytes().await; + + if let Ok(bytes) = bytes { + if let Some(sha1) = sha1 { + if &*get_hash(bytes.clone()).await? != sha1 { + if attempt <= 3 { + continue; + } else { + return Err(LauncherError::ChecksumFailure { + hash: sha1.to_string(), + url: url.to_string(), + tries: attempt, + }); + } + } + } + + return Ok(bytes); + } else if attempt <= 3 { + continue; + } else if let Err(err) = bytes { + return Err(LauncherError::FetchError { + inner: err, + item: url.to_string(), + }); + } + } + Err(_) if attempt <= 3 => continue, + Err(err) => { + return Err(LauncherError::FetchError { + inner: err, + item: url.to_string(), + }) + } } } unreachable!() } +async fn get_hash(bytes: bytes::Bytes) -> Result { + let hash = tokio::task::spawn_blocking(|| sha1::Sha1::from(bytes).hexdigest()).await?; + + Ok(hash) +} + pub fn get_os() -> Os { match std::env::consts::OS { "windows" => Os::Windows, diff --git a/theseus/src/launcher/java.rs b/theseus/src/launcher/java.rs index addf274e0..8848d66bf 100644 --- a/theseus/src/launcher/java.rs +++ b/theseus/src/launcher/java.rs @@ -1,21 +1,20 @@ +use crate::launcher::LauncherError; use lazy_static::lazy_static; use regex::Regex; use std::process::Command; -#[derive(thiserror::Error, Debug)] -pub enum JavaError { - #[error("System Error")] - SystemError(#[from] std::io::Error), -} - lazy_static! { static ref JAVA_VERSION_REGEX: Regex = Regex::new(r#""(.*?)""#).unwrap(); } -pub fn check_java() -> Result, JavaError> { - let child = Command::new("/usr/lib/jvm/java-8-openjdk/jre/bin/java") +pub fn check_java() -> Result, LauncherError> { + let child = Command::new("java") .arg("-version") - .output()?; + .output() + .map_err(|err| LauncherError::ProcessError { + inner: err, + process: "java".to_string(), + })?; let output = &*String::from_utf8_lossy(&*child.stderr); diff --git a/theseus/src/launcher/meta.rs b/theseus/src/launcher/meta.rs index bbf5475f2..ac964b400 100644 --- a/theseus/src/launcher/meta.rs +++ b/theseus/src/launcher/meta.rs @@ -119,14 +119,14 @@ pub struct OsRule { #[derive(Serialize, Deserialize, Debug)] pub struct FeatureRule { pub is_demo_user: Option, - pub has_custom_resolution: Option, + pub has_demo_resolution: Option, } #[derive(Serialize, Deserialize, Debug)] pub struct Rule { pub action: RuleAction, pub os: Option, - pub feature: Option, + pub features: Option, } #[derive(Serialize, Deserialize, Debug)] diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index 1fc4a82fa..2b7994eae 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -1,34 +1,65 @@ +use crate::launcher::auth::provider::Credentials; use std::path::Path; use std::process::{Command, Stdio}; +use thiserror::Error; -mod args; +pub mod args; pub mod auth; pub mod download; pub mod java; pub mod meta; -mod rules; +pub mod rules; -pub async fn launch_minecraft(version_name: &str, root_dir: &Path) { +#[derive(Error, Debug)] +pub enum LauncherError { + #[error("Failed to violate file checksum at url {url} with hash {hash} after {tries} tries")] + ChecksumFailure { + hash: String, + url: String, + tries: u32, + }, + #[error("Invalid input: {0}")] + InvalidInput(String), + #[error("Error while managing asynchronous tasks")] + TaskError(#[from] tokio::task::JoinError), + #[error("Error while reading/writing to the disk")] + IoError(#[from] std::io::Error), + #[error("Error while spawning child process {process}")] + ProcessError { + inner: std::io::Error, + process: String, + }, + #[error("Error while deserializing JSON")] + SerdeError(#[from] serde_json::Error), + #[error("Unable to fetch {item}")] + FetchError { inner: reqwest::Error, item: String }, + #[error("{0}")] + ParseError(String), +} + +pub async fn launch_minecraft( + version_name: &str, + root_dir: &Path, + credentials: &Credentials, +) -> Result<(), LauncherError> { let manifest = meta::fetch_version_manifest().await.unwrap(); - let version = meta::fetch_version_info( + let version = download::download_version_info( + &*root_dir.join("versions"), manifest .versions .iter() .find(|x| x.id == version_name) - .unwrap(), + .ok_or_else(|| { + LauncherError::InvalidInput(format!("Version {} does not exist", version_name)) + })?, ) - .await - .unwrap(); + .await?; - //download_minecraft(&version, root_dir).await; - - let auth = auth::login("username", "password", true).await; + download_minecraft(&version, root_dir).await?; let arguments = version.arguments.unwrap(); - let profile = auth.selected_profile.unwrap(); - let mut child = Command::new("java") .args(args::get_jvm_arguments( arguments @@ -42,38 +73,47 @@ pub async fn launch_minecraft(version_name: &str, root_dir: &Path) { .join("versions") .join(&version.id) .join(format!("{}.jar", &version.id)), - ), - )) + )?, + )?) .arg(version.main_class) .args(args::get_minecraft_arguments( arguments .get(&meta::ArgumentType::Game) .map(|x| x.as_slice()), version.minecraft_arguments.as_deref(), - &*auth.access_token, - &*profile.name, - &profile.id, + credentials, &*version.id, &version.asset_index.id, root_dir, &*root_dir.join("assets"), &version.type_, - )) + )?) .current_dir(root_dir) .stdout(Stdio::inherit()) .stderr(Stdio::inherit()) .spawn() - .unwrap(); + .map_err(|err| LauncherError::ProcessError { + inner: err, + process: "minecraft".to_string(), + })?; - child.wait().unwrap(); + child.wait().map_err(|err| LauncherError::ProcessError { + inner: err, + process: "minecraft".to_string(), + })?; + + Ok(()) } -pub async fn download_minecraft(version: &meta::VersionInfo, root_dir: &Path) { - let assets_dir = meta::fetch_assets_index(&version).await.unwrap(); +pub async fn download_minecraft( + version: &meta::VersionInfo, + root_dir: &Path, +) -> Result<(), LauncherError> { + let assets_index = download::download_assets_index(&*root_dir.join("assets"), &version).await?; let legacy_dir = root_dir.join("resources"); - futures::future::join3( + let (a, b, c) = futures::future::join3( download::download_client(&*root_dir.join("versions"), &version), download::download_assets( &*root_dir.join("assets"), @@ -82,8 +122,7 @@ pub async fn download_minecraft(version: &meta::VersionInfo, root_dir: &Path) { } else { None }, - &version.asset_index, - &assets_dir, + &assets_index, ), download::download_libraries( &*root_dir.join("libraries"), @@ -92,4 +131,10 @@ pub async fn download_minecraft(version: &meta::VersionInfo, root_dir: &Path) { ), ) .await; + + a?; + b?; + c?; + + Ok(()) } diff --git a/theseus/src/launcher/rules.rs b/theseus/src/launcher/rules.rs index 9e275461b..1970c8852 100644 --- a/theseus/src/launcher/rules.rs +++ b/theseus/src/launcher/rules.rs @@ -9,16 +9,16 @@ pub fn parse_rules(rules: &[Rule]) -> bool { pub fn parse_rule(rule: &Rule) -> bool { let result = if let Some(os) = &rule.os { parse_os_rule(os) - } else if let Some(feature) = &rule.feature { + } else if rule.features.is_some() { false } else { true }; - return match rule.action { + match rule.action { RuleAction::Allow => result, RuleAction::Disallow => !result, - }; + } } pub fn parse_os_rule(rule: &OsRule) -> bool { @@ -42,9 +42,12 @@ pub fn parse_os_rule(rule: &OsRule) -> bool { } } if let Some(version) = &rule.version { - let regex = Regex::new(version.as_str()).unwrap(); - if !regex.is_match(&*sys_info::os_release().unwrap()) { - return false; + let regex = Regex::new(version.as_str()); + + if let Ok(regex) = regex { + if !regex.is_match(&*sys_info::os_release().unwrap_or_default()) { + return false; + } } } diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index 5ec4e61d9..da52d023b 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -1,11 +1,8 @@ +//! # Theseus +//! +//! Theseus is a library which provides utilities for launching minecraft, creating Modrinth mod packs, +//! and launching Modrinth mod packs + #![warn(missing_docs, unused_import_braces, missing_debug_implementations)] pub mod launcher; - -#[cfg(test)] -mod tests { - #[test] - fn it_works() { - assert_eq!(2 + 2, 4); - } -} diff --git a/theseus_cli/src/main.rs b/theseus_cli/src/main.rs index 3c1488e0e..7f755fb76 100644 --- a/theseus_cli/src/main.rs +++ b/theseus_cli/src/main.rs @@ -1,28 +1,2 @@ -use futures::{executor, future}; -use std::path::Path; -use theseus::launcher::launch_minecraft; -use theseus::launcher::meta::ArgumentType; - #[tokio::main] -async fn main() { - launch_minecraft("1.15.2", &Path::new("./test")).await; - - // let mut thing1 = theseus::launcher::meta::fetch_version_manifest() - // .await - // .unwrap(); - // - // future::join_all(thing1.versions.iter().map(|x| async move { - // //println!("{}", x.url); - // let version = theseus::launcher::meta::fetch_version_info(x) - // .await - // .unwrap(); - // - // if let Some(args) = &version.minecraft_arguments { - // println!("{:?}", args); - // } - // if let Some(args) = &version.arguments { - // println!("{:?}", args.get(&ArgumentType::Game).unwrap()); - // } - // })) - // .await; -} +async fn main() {} From 45b9ac6c8e8124b2cf9e00f865272f0207367d0c Mon Sep 17 00:00:00 2001 From: Geometrically <18202329+Geometrically@users.noreply.github.com> Date: Thu, 22 Jul 2021 18:59:33 -0700 Subject: [PATCH 004/231] Create README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 000000000..8b57018be --- /dev/null +++ b/README.md @@ -0,0 +1,9 @@ +# theseus +A game launcher which can be used as a CLI, GUI, and a library for creating and playing modrinth projects + +Theseus aims to provide three components: +- A library (theseus) +- A CLI (theseus-cli) +- A GUI (theseus-gui) + +Feel free to contribute! From b0214cfcf855cb689fb24f110919b68e34f405a9 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Sep 2021 21:44:20 -0700 Subject: [PATCH 005/231] Modify theseus to more permissive license --- .idea/runConfigurations.xml | 10 + LICENSE.md | 675 +----------------------------------- 2 files changed, 14 insertions(+), 671 deletions(-) create mode 100644 .idea/runConfigurations.xml diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 000000000..797acea53 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md index cb6622bf4..eaa18bb67 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,674 +1,7 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 +Copyright 2021 Guavy LLC -Copyright (C) 2007 Free Software Foundation, Inc. -Everyone is permitted to copy and distribute verbatim copies -of this license document, but changing it is not allowed. +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - Preamble +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -The GNU General Public License is a free, copyleft license for -software and other kinds of works. - -The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - -When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - -To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - -For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - -Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - -For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - -Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - -Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - -The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - -0. Definitions. - -"This License" refers to version 3 of the GNU General Public License. - -"Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - -"The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - -To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - -A "covered work" means either the unmodified Program or a work based -on the Program. - -To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - -To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - -An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - -1. Source Code. - -The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - -A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - -The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - -The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - -The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - -The Corresponding Source for a work in source code form is that -same work. - -2. Basic Permissions. - -All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - -You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - -Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - -3. Protecting Users' Legal Rights From Anti-Circumvention Law. - -No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - -When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - -4. Conveying Verbatim Copies. - -You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - -You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - -5. Conveying Modified Source Versions. - -You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - -A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - -6. Conveying Non-Source Forms. - -You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - -A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - -A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - -"Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - -If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - -The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - -Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - -7. Additional Terms. - -"Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - -When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - -Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - -All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - -If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - -Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - -8. Termination. - -You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - -However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - -Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - -Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - -9. Acceptance Not Required for Having Copies. - -You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - -10. Automatic Licensing of Downstream Recipients. - -Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - -An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - -You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - -11. Patents. - -A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - -A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - -Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - -In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - -If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - -If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - -A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - -Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - -12. No Surrender of Others' Freedom. - -If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - -13. Use with the GNU Affero General Public License. - -Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - -14. Revised Versions of this License. - -The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - -If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - -Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - -15. Disclaimer of Warranty. - -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - -16. Limitation of Liability. - -IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - -17. Interpretation of Sections 15 and 16. - -If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - -If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - -To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - -If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - {project} Copyright (C) {year} {fullname} - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - -You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - -The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. \ No newline at end of file +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. \ No newline at end of file From 359e81083e6c22008c454af44e662a857fab37c3 Mon Sep 17 00:00:00 2001 From: Jai A Date: Wed, 10 Nov 2021 21:52:55 -0700 Subject: [PATCH 006/231] Finish launching modded versions of Minecraft --- .idea/discord.xml | 7 + Cargo.lock | 26 +++ theseus/Cargo.toml | 3 + theseus/src/launcher/args.rs | 174 +++++++++++++------- theseus/src/launcher/auth.rs | 27 ++++ theseus/src/launcher/download.rs | 173 ++++++++------------ theseus/src/launcher/meta.rs | 205 ----------------------- theseus/src/launcher/mod.rs | 269 ++++++++++++++++++++++++++----- theseus/src/launcher/rules.rs | 6 +- theseus/src/lib.rs | 1 + theseus/src/util.rs | 17 ++ 11 files changed, 496 insertions(+), 412 deletions(-) create mode 100644 .idea/discord.xml delete mode 100644 theseus/src/launcher/meta.rs create mode 100644 theseus/src/util.rs diff --git a/.idea/discord.xml b/.idea/discord.xml new file mode 100644 index 000000000..d8e956166 --- /dev/null +++ b/.idea/discord.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock index f88a687a4..84bfe7104 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,5 +1,7 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. +version = 3 + [[package]] name = "adler" version = "1.0.2" @@ -123,6 +125,22 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "daedalus" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "667dec20054908ee40916a3fd8ea5bfc6ed8b1bde6f7741dbea18500a1049ea6" +dependencies = [ + "bytes", + "chrono", + "reqwest", + "serde", + "serde_json", + "sha1", + "thiserror", + "tokio", +] + [[package]] name = "encoding_rs" version = "0.8.28" @@ -636,6 +654,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "path-clean" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" + [[package]] name = "percent-encoding" version = "2.1.0" @@ -972,8 +996,10 @@ version = "0.1.0" dependencies = [ "bytes", "chrono", + "daedalus", "futures", "lazy_static", + "path-clean", "regex", "reqwest", "serde", diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index c4d8a9f57..a1750dcfe 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -9,6 +9,8 @@ edition = "2018" [dependencies] thiserror = "1.0" +daedalus = "0.1.6" + reqwest = { version = "0.11", features = ["json"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" @@ -17,6 +19,7 @@ uuid = { version = "0.8", features = ["serde", "v4"] } bytes = "1" zip = "0.5" sha1 = { version = "0.6.0", features = ["std"]} +path-clean = "0.1.0" regex = "1.5" lazy_static = "1.4" diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs index a7e9b47d4..46dc99fc2 100644 --- a/theseus/src/launcher/args.rs +++ b/theseus/src/launcher/args.rs @@ -1,7 +1,11 @@ use crate::launcher::auth::provider::Credentials; -use crate::launcher::meta::{Argument, ArgumentValue, Library, Os, VersionType}; use crate::launcher::rules::parse_rules; use crate::launcher::LauncherError; +use daedalus::get_path_from_artifact; +use daedalus::minecraft::{Argument, ArgumentValue, Library, Os, VersionType}; +use daedalus::modded::SidedDataEntry; +use std::collections::HashMap; +use std::io::{BufRead, BufReader}; use std::path::Path; use uuid::Uuid; @@ -13,63 +17,24 @@ pub fn get_class_paths( let mut class_paths = Vec::new(); for library in libraries { - if library.downloads.artifact.is_some() { - if let Some(rules) = &library.rules { - if !super::rules::parse_rules(rules.as_slice()) { - continue; - } + if let Some(rules) = &library.rules { + if !super::rules::parse_rules(rules.as_slice()) { + continue; } - - let name_items = library.name.split(':').collect::>(); - - let package = name_items.get(0).ok_or_else(|| { - LauncherError::ParseError(format!( - "Unable to find package for library {}", - &library.name - )) - })?; - let name = name_items.get(1).ok_or_else(|| { - LauncherError::ParseError(format!( - "Unable to find name for library {}", - &library.name - )) - })?; - let version = name_items.get(2).ok_or_else(|| { - LauncherError::ParseError(format!( - "Unable to find version for library {}", - &library.name - )) - })?; - - let mut path = libraries_path.to_path_buf(); - - for directory in package.split('.') { - path.push(directory); - } - - path.push(name); - path.push(version); - path.push(format!("{}-{}.jar", name, version)); - - class_paths.push( - std::fs::canonicalize(&path) - .map_err(|_| { - LauncherError::InvalidInput(format!( - "Library file at path {} does not exist", - path.to_string_lossy() - )) - })? - .to_string_lossy() - .to_string(), - ) } + + if !library.include_in_classpath { + continue; + } + + class_paths.push(get_lib_path(libraries_path, &library.name)?); } class_paths.push( - std::fs::canonicalize(&client_path) + crate::util::absolute_path(&client_path) .map_err(|_| { LauncherError::InvalidInput(format!( - "Specified client path {} does not exist", + "Specified class path {} does not exist", client_path.to_string_lossy() )) })? @@ -83,6 +48,45 @@ pub fn get_class_paths( })) } +pub fn get_class_paths_jar>( + libraries_path: &Path, + libraries: &[T], +) -> Result { + let mut class_paths = Vec::new(); + + for library in libraries { + class_paths.push(get_lib_path(libraries_path, library)?) + } + + Ok(class_paths.join(match super::download::get_os() { + Os::Osx | Os::Linux | Os::Unknown => ":", + Os::Windows => ";", + })) +} + +pub fn get_lib_path>(libraries_path: &Path, lib: T) -> Result { + let mut path = libraries_path.to_path_buf(); + + path.push(get_path_from_artifact(lib.as_ref())?); + + let path = crate::util::absolute_path(&path).map_err(|_| { + LauncherError::InvalidInput(format!( + "Library file at path {} does not exist", + path.to_string_lossy() + )) + })?; + + /*if !path.exists() { + if let Some(parent) = &path.parent() { + std::fs::create_dir_all(parent)?; + } + + std::fs::File::create(&path)?; + }*/ + + Ok(path.to_string_lossy().to_string()) +} + pub fn get_jvm_arguments( arguments: Option<&[Argument]>, natives_path: &Path, @@ -97,7 +101,7 @@ pub fn get_jvm_arguments( } else { parsed_arguments.push(format!( "-Djava.library.path={}", - &*std::fs::canonicalize(natives_path) + &*crate::util::absolute_path(natives_path) .map_err(|_| LauncherError::InvalidInput(format!( "Specified natives path {} does not exist", natives_path.to_string_lossy() @@ -117,10 +121,12 @@ fn parse_jvm_argument( natives_path: &Path, class_paths: &str, ) -> Result { + let mut argument = argument.to_string(); + argument.retain(|c| !c.is_whitespace()); Ok(argument .replace( "${natives_directory}", - &*std::fs::canonicalize(natives_path) + &*crate::util::absolute_path(natives_path) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified natives path {} does not exist", @@ -208,7 +214,7 @@ fn parse_minecraft_argument( .replace("${assets_index_name}", asset_index_name) .replace( "${game_directory}", - &*std::fs::canonicalize(game_directory) + &*crate::util::absolute_path(game_directory) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified game directory {} does not exist", @@ -220,7 +226,7 @@ fn parse_minecraft_argument( ) .replace( "${assets_root}", - &*std::fs::canonicalize(assets_directory) + &*crate::util::absolute_path(assets_directory) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified assets directory {} does not exist", @@ -232,7 +238,7 @@ fn parse_minecraft_argument( ) .replace( "${game_assets}", - &*std::fs::canonicalize(assets_directory) + &*crate::util::absolute_path(assets_directory) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified assets directory {} does not exist", @@ -281,3 +287,59 @@ where Ok(()) } + +pub fn get_processor_arguments>( + libraries_path: &Path, + arguments: &[T], + data: &HashMap, +) -> Result, LauncherError> { + let mut new_arguments = Vec::new(); + + for argument in arguments { + let trimmed_arg = &argument.as_ref()[1..argument.as_ref().len() - 1]; + if argument.as_ref().starts_with('{') { + if let Some(entry) = data.get(trimmed_arg) { + new_arguments.push(if entry.client.starts_with('[') { + get_lib_path(libraries_path, &entry.client[1..entry.client.len() - 1])? + } else { + entry.client.clone() + }) + } + } else if argument.as_ref().starts_with('[') { + new_arguments.push(get_lib_path(libraries_path, trimmed_arg)?) + } else { + new_arguments.push(argument.as_ref().to_string()) + } + } + + Ok(new_arguments) +} + +pub async fn get_processor_main_class(path: String) -> Result, LauncherError> { + Ok(tokio::task::spawn_blocking(move || { + let zipfile = std::fs::File::open(&path)?; + let mut archive = zip::ZipArchive::new(zipfile).map_err(|_| { + LauncherError::ProcessorError(format!("Cannot read processor at {}", path)) + })?; + + let file = archive.by_name("META-INF/MANIFEST.MF").map_err(|_| { + LauncherError::ProcessorError(format!("Cannot read processor manifest at {}", path)) + })?; + + let reader = BufReader::new(file); + + for line in reader.lines() { + let mut line = line?; + line.retain(|c| !c.is_whitespace()); + + if line.starts_with("Main-Class:") { + if let Some(class) = line.split(':').nth(1) { + return Ok(Some(class.to_string())); + } + } + } + + Ok::, LauncherError>(None) + }) + .await??) +} diff --git a/theseus/src/launcher/auth.rs b/theseus/src/launcher/auth.rs index 0981010d6..909eb5d27 100644 --- a/theseus/src/launcher/auth.rs +++ b/theseus/src/launcher/auth.rs @@ -167,12 +167,39 @@ pub mod api { } pub mod provider { + use crate::launcher::auth::api::login; + use crate::launcher::LauncherError; use uuid::Uuid; #[derive(Debug)] + /// The credentials of a user pub struct Credentials { + /// The user UUID the credentials belong to pub id: Uuid, + /// The username of the user pub username: String, + /// The access token associated with the credentials pub access_token: String, } + + impl Credentials { + /// Gets a credentials instance from a user's login + pub async fn from_login(username: &str, password: &str) -> Result { + let login = + login(username, password, true) + .await + .map_err(|err| LauncherError::FetchError { + inner: err, + item: "authentication credentials".to_string(), + })?; + + let profile = login.selected_profile.unwrap(); + + Ok(Credentials { + id: profile.id, + username: profile.name, + access_token: login.access_token, + }) + } + } } diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index b26007a45..e50de820a 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -1,30 +1,36 @@ -use crate::launcher::meta::{ +use crate::launcher::LauncherError; +use daedalus::get_path_from_artifact; +use daedalus::minecraft::{ fetch_assets_index, fetch_version_info, Asset, AssetsIndex, DownloadType, Library, Os, Version, VersionInfo, }; -use crate::launcher::LauncherError; +use daedalus::modded::{fetch_partial_version, merge_partial_version, LoaderVersion}; use futures::future; use std::fs::File; -use std::io::{BufReader, Write}; +use std::io::Write; use std::path::Path; pub async fn download_version_info( client_path: &Path, version: &Version, + loader_version: Option<&LoaderVersion>, ) -> Result { - let path = &*client_path - .join(&version.id) - .join(format!("{}.json", &version.id)); + let id = loader_version.map(|x| &x.id).unwrap_or(&version.id); + + let path = &*client_path.join(id).join(format!("{}.json", id)); if path.exists() { Ok(serde_json::from_str(&std::fs::read_to_string(path)?)?) } else { - let info = fetch_version_info(version) - .await - .map_err(|err| LauncherError::FetchError { - inner: err, - item: "version info".to_string(), - })?; + let mut info = fetch_version_info(version).await?; + + if let Some(loader_version) = loader_version { + let partial = fetch_partial_version(&*loader_version.url).await?; + + info = merge_partial_version(partial, info); + + info.id = loader_version.id.clone(); + } save_file(path, &bytes::Bytes::from(serde_json::to_string(&info)?))?; @@ -50,7 +56,7 @@ pub async fn download_client( .join(&version_info.id) .join(format!("{}.jar", &version_info.id)); - save_and_download_file(path, &client_download.url, &client_download.sha1).await?; + save_and_download_file(path, &client_download.url, Some(&client_download.sha1)).await?; Ok(()) } @@ -66,12 +72,7 @@ pub async fn download_assets_index( if path.exists() { Ok(serde_json::from_str(&std::fs::read_to_string(path)?)?) } else { - let index = fetch_assets_index(version) - .await - .map_err(|err| LauncherError::FetchError { - inner: err, - item: "assets index".to_string(), - })?; + let index = fetch_assets_index(version).await?; save_file(path, &bytes::Bytes::from(serde_json::to_string(&index)?))?; @@ -113,7 +114,7 @@ async fn download_asset( "https://resources.download.minecraft.net/{}/{}", sub_hash, asset.hash ), - &*asset.hash, + Some(&*asset.hash), ) .await?; @@ -154,34 +155,9 @@ async fn download_library( } } - let name_items = library.name.split(':').collect::>(); - - let package = name_items.get(0).ok_or_else(|| { - LauncherError::ParseError(format!( - "Unable to find package for library {}", - &library.name - )) - })?; - let name = name_items.get(1).ok_or_else(|| { - LauncherError::ParseError(format!("Unable to find name for library {}", &library.name)) - })?; - let version = name_items.get(2).ok_or_else(|| { - LauncherError::ParseError(format!( - "Unable to find version for library {}", - &library.name - )) - })?; - let (a, b) = future::join( - download_library_jar(libraries_path, library, package, name, version), - download_native( - libraries_path, - natives_path, - library, - package, - name, - version, - ), + download_library_jar(libraries_path, library), + download_native(natives_path, library), ) .await; @@ -194,61 +170,51 @@ async fn download_library( async fn download_library_jar( libraries_path: &Path, library: &Library, - package: &str, - name: &str, - version: &str, ) -> Result<(), LauncherError> { - if let Some(library) = &library.downloads.artifact { - let mut path = libraries_path.to_path_buf(); + let mut path = libraries_path.to_path_buf(); + path.push(get_path_from_artifact(&*library.name)?); - for directory in package.split('.') { - path.push(directory); + if let Some(downloads) = &library.downloads { + if let Some(library) = &downloads.artifact { + save_and_download_file(&*path, &library.url, Some(&library.sha1)).await?; } - - path.push(name); - path.push(version); - path.push(format!("{}-{}.jar", name, version)); - - save_and_download_file(&*path, &library.url, &library.sha1).await?; + } else { + save_and_download_file( + &*path, + &format!( + "{}{}", + library + .url + .as_deref() + .unwrap_or("https://libraries.minecraft.net/"), + get_path_from_artifact(&*library.name)? + ), + None, + ) + .await?; } Ok(()) } -async fn download_native( - libraries_path: &Path, - natives_path: &Path, - library: &Library, - package: &str, - name: &str, - version: &str, -) -> Result<(), LauncherError> { +async fn download_native(natives_path: &Path, library: &Library) -> Result<(), LauncherError> { if let Some(natives) = &library.natives { if let Some(os_key) = natives.get(&get_os()) { - if let Some(classifiers) = &library.downloads.classifiers { - #[cfg(target_pointer_width = "64")] - let parsed_key = os_key.replace("${arch}", "64"); - #[cfg(target_pointer_width = "32")] - let parsed_key = os_key.replace("${arch}", "32"); + if let Some(downloads) = &library.downloads { + if let Some(classifiers) = &downloads.classifiers { + #[cfg(target_pointer_width = "64")] + let parsed_key = os_key.replace("${arch}", "64"); + #[cfg(target_pointer_width = "32")] + let parsed_key = os_key.replace("${arch}", "32"); - if let Some(native) = classifiers.get(&*parsed_key) { - let mut path = libraries_path.to_path_buf(); + if let Some(native) = classifiers.get(&*parsed_key) { + let file = download_file(&native.url, Some(&native.sha1)).await?; - for directory in package.split('.') { - path.push(directory); + let reader = std::io::Cursor::new(&*file); + + let mut archive = zip::ZipArchive::new(reader).unwrap(); + archive.extract(natives_path).unwrap(); } - - path.push(name); - path.push(version); - path.push(format!("{}-{}-{}.jar", name, version, parsed_key)); - - save_and_download_file(&*path, &native.url, &native.sha1).await?; - - let file = File::open(&path).unwrap(); - let reader = BufReader::new(file); - - let mut archive = zip::ZipArchive::new(reader).unwrap(); - archive.extract(natives_path).unwrap(); } } } @@ -260,14 +226,14 @@ async fn download_native( async fn save_and_download_file( path: &Path, url: &str, - sha1: &str, + sha1: Option<&str>, ) -> Result { let read = std::fs::read(path).ok().map(bytes::Bytes::from); if let Some(bytes) = read { Ok(bytes) } else { - let file = download_file(url, Some(sha1)).await?; + let file = download_file(url, sha1).await?; save_file(path, &file)?; @@ -286,7 +252,16 @@ fn save_file(path: &Path, bytes: &bytes::Bytes) -> Result<(), std::io::Error> { Ok(()) } -async fn download_file(url: &str, sha1: Option<&str>) -> Result { +pub fn get_os() -> Os { + match std::env::consts::OS { + "windows" => Os::Windows, + "macos" => Os::Osx, + "linux" => Os::Linux, + _ => Os::Unknown, + } +} + +pub async fn download_file(url: &str, sha1: Option<&str>) -> Result { let client = reqwest::Client::builder() .tcp_keepalive(Some(std::time::Duration::from_secs(10))) .build() @@ -295,7 +270,7 @@ async fn download_file(url: &str, sha1: Option<&str>) -> Result) -> Result Result { +/// Computes a checksum of the input bytes +pub async fn get_hash(bytes: bytes::Bytes) -> Result { let hash = tokio::task::spawn_blocking(|| sha1::Sha1::from(bytes).hexdigest()).await?; Ok(hash) } - -pub fn get_os() -> Os { - match std::env::consts::OS { - "windows" => Os::Windows, - "macos" => Os::Osx, - "linux" => Os::Linux, - _ => Os::Unknown, - } -} diff --git a/theseus/src/launcher/meta.rs b/theseus/src/launcher/meta.rs deleted file mode 100644 index ac964b400..000000000 --- a/theseus/src/launcher/meta.rs +++ /dev/null @@ -1,205 +0,0 @@ -use chrono::{DateTime, Utc}; -use serde::{Deserialize, Serialize}; -use std::collections::HashMap; - -#[derive(Serialize, Deserialize, Debug)] -#[serde(rename_all = "snake_case")] -pub enum VersionType { - Release, - Snapshot, - OldAlpha, - OldBeta, -} - -impl VersionType { - pub fn as_str(&self) -> &'static str { - match self { - VersionType::Release => "release", - VersionType::Snapshot => "snapshot", - VersionType::OldAlpha => "old_alpha", - VersionType::OldBeta => "old_beta", - } - } -} - -#[derive(Deserialize, Debug)] -#[serde(rename_all = "camelCase")] -pub struct Version { - pub id: String, - #[serde(rename = "type")] - pub type_: VersionType, - pub url: String, - pub time: DateTime, - pub release_time: DateTime, -} - -#[derive(Deserialize, Debug)] -pub struct LatestVersion { - pub release: String, - pub snapshot: String, -} - -#[derive(Deserialize, Debug)] -pub struct VersionManifest { - pub latest: LatestVersion, - pub versions: Vec, -} - -pub async fn fetch_version_manifest() -> Result { - reqwest::get("https://launchermeta.mojang.com/mc/game/version_manifest.json") - .await? - .json() - .await -} - -#[derive(Serialize, Deserialize, Debug)] -#[serde(rename_all = "camelCase")] -pub struct AssetIndex { - pub id: String, - pub sha1: String, - pub size: u32, - pub total_size: u32, - pub url: String, -} - -#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Hash)] -#[serde(rename_all = "snake_case")] -pub enum DownloadType { - Client, - ClientMappings, - Server, - ServerMappings, - WindowsServer, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct Download { - pub sha1: String, - pub size: u32, - pub url: String, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct LibraryDownload { - pub path: String, - pub sha1: String, - pub size: u32, - pub url: String, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct LibraryDownloads { - pub artifact: Option, - pub classifiers: Option>, -} - -#[derive(Serialize, Deserialize, Debug)] -#[serde(rename_all = "snake_case")] -pub enum RuleAction { - Allow, - Disallow, -} - -#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Hash)] -#[serde(rename_all = "snake_case")] -pub enum Os { - Osx, - Windows, - Linux, - Unknown, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct OsRule { - pub name: Option, - pub version: Option, - pub arch: Option, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct FeatureRule { - pub is_demo_user: Option, - pub has_demo_resolution: Option, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct Rule { - pub action: RuleAction, - pub os: Option, - pub features: Option, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct LibraryExtract { - pub exclude: Option>, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct Library { - pub downloads: LibraryDownloads, - pub extract: Option, - pub name: String, - pub natives: Option>, - pub rules: Option>, -} - -#[derive(Serialize, Deserialize, Debug)] -#[serde(untagged)] -pub enum ArgumentValue { - Single(String), - Many(Vec), -} - -#[derive(Serialize, Deserialize, Debug)] -#[serde(untagged)] -pub enum Argument { - Normal(String), - Ruled { - rules: Vec, - value: ArgumentValue, - }, -} - -#[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Hash)] -#[serde(rename_all = "snake_case")] -pub enum ArgumentType { - Game, - Jvm, -} - -#[derive(Serialize, Deserialize, Debug)] -#[serde(rename_all = "camelCase")] -pub struct VersionInfo { - pub arguments: Option>>, - pub asset_index: AssetIndex, - pub assets: String, - pub downloads: HashMap, - pub id: String, - pub libraries: Vec, - pub main_class: String, - pub minecraft_arguments: Option, - pub minimum_launcher_version: u32, - pub release_time: DateTime, - pub time: DateTime, - #[serde(rename = "type")] - pub type_: VersionType, -} - -pub async fn fetch_version_info(version: &Version) -> Result { - reqwest::get(&version.url).await?.json().await -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct Asset { - pub hash: String, - pub size: u32, -} - -#[derive(Serialize, Deserialize, Debug)] -pub struct AssetsIndex { - pub objects: HashMap, -} - -pub async fn fetch_assets_index(version: &VersionInfo) -> Result { - reqwest::get(&version.asset_index.url).await?.json().await -} diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index 2b7994eae..8bf104060 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -1,14 +1,15 @@ -use crate::launcher::auth::provider::Credentials; +use daedalus::minecraft::{ArgumentType, VersionInfo}; use std::path::Path; use std::process::{Command, Stdio}; use thiserror::Error; -pub mod args; -pub mod auth; -pub mod download; -pub mod java; -pub mod meta; -pub mod rules; +pub use crate::launcher::auth::provider::Credentials; + +mod args; +mod auth; +mod download; +mod java; +mod rules; #[derive(Error, Debug)] pub enum LauncherError { @@ -18,11 +19,13 @@ pub enum LauncherError { url: String, tries: u32, }, + #[error("Failed to run processor: {0}")] + ProcessorError(String), #[error("Invalid input: {0}")] InvalidInput(String), #[error("Error while managing asynchronous tasks")] TaskError(#[from] tokio::task::JoinError), - #[error("Error while reading/writing to the disk")] + #[error("Error while reading/writing to the disk: {0}")] IoError(#[from] std::io::Error), #[error("Error while spawning child process {process}")] ProcessError { @@ -35,57 +38,237 @@ pub enum LauncherError { FetchError { inner: reqwest::Error, item: String }, #[error("{0}")] ParseError(String), + #[error("Error while fetching metadata: {0}")] + DaedalusError(#[from] daedalus::Error), +} + +const META_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; + +pub async fn fetch_metadata() -> Result< + ( + daedalus::minecraft::VersionManifest, + daedalus::modded::Manifest, + daedalus::modded::Manifest, + ), + LauncherError, +> { + let (game, forge, fabric) = futures::future::join3( + daedalus::minecraft::fetch_version_manifest(Some(&*format!( + "{}/minecraft/v0/manifest.json", + META_URL + ))), + daedalus::modded::fetch_manifest(&*format!("{}/forge/v0/manifest.json", META_URL)), + daedalus::modded::fetch_manifest(&*format!("{}/fabric/v0/manifest.json", META_URL)), + ) + .await; + + Ok((game?, forge?, fabric?)) +} + +#[derive(Debug, Eq, PartialEq, Clone, Copy)] +pub enum ModLoader { + Vanilla, + Forge, + Fabric, +} + +impl Default for ModLoader { + fn default() -> Self { + ModLoader::Vanilla + } } pub async fn launch_minecraft( version_name: &str, + mod_loader: Option, root_dir: &Path, credentials: &Credentials, ) -> Result<(), LauncherError> { - let manifest = meta::fetch_version_manifest().await.unwrap(); + let (game, forge, fabric) = fetch_metadata().await?; - let version = download::download_version_info( - &*root_dir.join("versions"), - manifest - .versions + let versions_path = crate::util::absolute_path(root_dir.join("versions"))?; + let libraries_path = crate::util::absolute_path(root_dir.join("libraries"))?; + let assets_path = crate::util::absolute_path(root_dir.join("assets"))?; + let legacy_assets_path = crate::util::absolute_path(root_dir.join("resources"))?; + + let mut version = download::download_version_info( + &versions_path, + game.versions .iter() .find(|x| x.id == version_name) .ok_or_else(|| { LauncherError::InvalidInput(format!("Version {} does not exist", version_name)) })?, + match mod_loader.unwrap_or_default() { + ModLoader::Vanilla => None, + ModLoader::Forge | ModLoader::Fabric => { + let loaders = if mod_loader.unwrap_or_default() == ModLoader::Forge { + &forge + .game_versions + .iter() + .find(|x| x.id == version_name) + .ok_or_else(|| { + LauncherError::InvalidInput(format!( + "Version {} for mod loader Forge does not exist", + version_name + )) + })? + .loaders + } else { + &fabric + .game_versions + .iter() + .find(|x| x.id == version_name) + .ok_or_else(|| { + LauncherError::InvalidInput(format!( + "Version {} for mod loader Fabric does not exist", + version_name + )) + })? + .loaders + }; + + let loader = if let Some(version) = + loaders.get(&daedalus::modded::LoaderType::Stable) + { + Some(version.clone()) + } else if let Some(version) = loaders.get(&daedalus::modded::LoaderType::Latest) { + Some(version.clone()) + } else { + None + }; + + Some(loader.ok_or_else(|| { + LauncherError::InvalidInput(format!( + "No mod loader version found for version {}", + version_name + )) + })?) + } + } + .as_ref(), ) .await?; - download_minecraft(&version, root_dir).await?; + let client_path = crate::util::absolute_path( + root_dir + .join("versions") + .join(&version.id) + .join(format!("{}.jar", &version.id)), + )?; + let natives_path = crate::util::absolute_path(root_dir.join("natives").join(&version.id))?; - let arguments = version.arguments.unwrap(); + download_minecraft( + &version, + &versions_path, + &assets_path, + &legacy_assets_path, + &libraries_path, + &natives_path, + ) + .await?; + + if let Some(processors) = &version.processors { + if let Some(ref mut data) = version.data { + data.insert( + "SIDE".to_string(), + daedalus::modded::SidedDataEntry { + client: "client".to_string(), + server: "".to_string(), + }, + ); + data.insert( + "MINECRAFT_JAR".to_string(), + daedalus::modded::SidedDataEntry { + client: client_path.to_string_lossy().to_string(), + server: "".to_string(), + }, + ); + data.insert( + "MINECRAFT_VERSION".to_string(), + daedalus::modded::SidedDataEntry { + client: version_name.to_string(), + server: "".to_string(), + }, + ); + data.insert( + "ROOT".to_string(), + daedalus::modded::SidedDataEntry { + client: root_dir.to_string_lossy().to_string(), + server: "".to_string(), + }, + ); + data.insert( + "LIBRARY_DIR".to_string(), + daedalus::modded::SidedDataEntry { + client: libraries_path.to_string_lossy().to_string(), + server: "".to_string(), + }, + ); + + for processor in processors { + if let Some(sides) = &processor.sides { + if !sides.contains(&"client".to_string()) { + continue; + } + } + + let mut cp = processor.classpath.clone(); + cp.push(processor.jar.clone()); + + let child = Command::new("java") + .arg("-cp") + .arg(args::get_class_paths_jar(&libraries_path, &cp)?) + .arg( + args::get_processor_main_class(args::get_lib_path( + &libraries_path, + &processor.jar, + )?) + .await? + .ok_or_else(|| { + LauncherError::ProcessorError(format!( + "Could not find processor main class for {}", + processor.jar + )) + })?, + ) + .args(args::get_processor_arguments( + &libraries_path, + &processor.args, + data, + )?) + .output() + .map_err(|err| LauncherError::ProcessError { + inner: err, + process: "java".to_string(), + })?; + + if !child.status.success() { + return Err(LauncherError::ProcessorError( + String::from_utf8_lossy(&*child.stderr).to_string(), + )); + } + } + } + } + + let arguments = version.arguments.unwrap_or_default(); let mut child = Command::new("java") .args(args::get_jvm_arguments( - arguments - .get(&meta::ArgumentType::Jvm) - .map(|x| x.as_slice()), - &*root_dir.join("natives").join(&version.id), - &*args::get_class_paths( - &*root_dir.join("libraries"), - version.libraries.as_slice(), - &*root_dir - .join("versions") - .join(&version.id) - .join(format!("{}.jar", &version.id)), - )?, + arguments.get(&ArgumentType::Jvm).map(|x| x.as_slice()), + &natives_path, + &*args::get_class_paths(&libraries_path, version.libraries.as_slice(), &client_path)?, )?) .arg(version.main_class) .args(args::get_minecraft_arguments( - arguments - .get(&meta::ArgumentType::Game) - .map(|x| x.as_slice()), + arguments.get(&ArgumentType::Game).map(|x| x.as_slice()), version.minecraft_arguments.as_deref(), credentials, &*version.id, &version.asset_index.id, root_dir, - &*root_dir.join("assets"), + &assets_path, &version.type_, )?) .current_dir(root_dir) @@ -106,29 +289,27 @@ pub async fn launch_minecraft( } pub async fn download_minecraft( - version: &meta::VersionInfo, - root_dir: &Path, + version: &VersionInfo, + versions_dir: &Path, + assets_dir: &Path, + legacy_assets_dir: &Path, + libraries_dir: &Path, + natives_dir: &Path, ) -> Result<(), LauncherError> { - let assets_index = download::download_assets_index(&*root_dir.join("assets"), &version).await?; - - let legacy_dir = root_dir.join("resources"); + let assets_index = download::download_assets_index(assets_dir, version).await?; let (a, b, c) = futures::future::join3( - download::download_client(&*root_dir.join("versions"), &version), + download::download_client(versions_dir, version), download::download_assets( - &*root_dir.join("assets"), + assets_dir, if version.assets == "legacy" { - Some(legacy_dir.as_path()) + Some(legacy_assets_dir) } else { None }, &assets_index, ), - download::download_libraries( - &*root_dir.join("libraries"), - &*root_dir.join("natives").join(&version.id), - version.libraries.as_slice(), - ), + download::download_libraries(libraries_dir, natives_dir, version.libraries.as_slice()), ) .await; diff --git a/theseus/src/launcher/rules.rs b/theseus/src/launcher/rules.rs index 1970c8852..43c40b814 100644 --- a/theseus/src/launcher/rules.rs +++ b/theseus/src/launcher/rules.rs @@ -1,5 +1,5 @@ use crate::launcher::download::get_os; -use crate::launcher::meta::{OsRule, Rule, RuleAction}; +use daedalus::minecraft::{OsRule, Rule, RuleAction}; use regex::Regex; pub fn parse_rules(rules: &[Rule]) -> bool { @@ -9,10 +9,8 @@ pub fn parse_rules(rules: &[Rule]) -> bool { pub fn parse_rule(rule: &Rule) -> bool { let result = if let Some(os) = &rule.os { parse_os_rule(os) - } else if rule.features.is_some() { - false } else { - true + rule.features.is_none() }; match rule.action { diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index da52d023b..dbf0e2036 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -6,3 +6,4 @@ #![warn(missing_docs, unused_import_braces, missing_debug_implementations)] pub mod launcher; +mod util; diff --git a/theseus/src/util.rs b/theseus/src/util.rs new file mode 100644 index 000000000..48d4fdc5a --- /dev/null +++ b/theseus/src/util.rs @@ -0,0 +1,17 @@ +use std::path::{Path, PathBuf}; +use std::{env, io}; + +use path_clean::PathClean; + +pub fn absolute_path(path: impl AsRef) -> io::Result { + let path = path.as_ref(); + + let absolute_path = if path.is_absolute() { + path.to_path_buf() + } else { + env::current_dir()?.join(path) + } + .clean(); + + Ok(absolute_path) +} From a204df5e11445cedb59c947500396c7ae1a25463 Mon Sep 17 00:00:00 2001 From: Daniel Hutzley Date: Wed, 17 Nov 2021 20:34:21 -0800 Subject: [PATCH 007/231] First draft of modpack module --- Cargo.lock | 311 ++++++++++++++++---------------- shell.nix | 7 + theseus/Cargo.toml | 3 +- theseus/src/lib.rs | 1 + theseus/src/modpack/manifest.rs | 230 +++++++++++++++++++++++ theseus/src/modpack/mod.rs | 68 +++++++ 6 files changed, 464 insertions(+), 156 deletions(-) create mode 100644 shell.nix create mode 100644 theseus/src/modpack/manifest.rs create mode 100644 theseus/src/modpack/mod.rs diff --git a/Cargo.lock b/Cargo.lock index 84bfe7104..bb4915eeb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -31,15 +31,15 @@ checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" [[package]] name = "bitflags" -version = "1.2.1" +version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bumpalo" -version = "3.7.0" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c59e7af012c713f529e7a3ee57ce9b31ddd858d4b512923602f74608b009631" +checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" [[package]] name = "byteorder" @@ -49,9 +49,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "bytes" -version = "1.0.1" +version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040" +checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" [[package]] name = "bzip2" @@ -76,9 +76,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a72c244c1ff497a746a7e1fb3d14bd08420ecda70c8f25c7112f2781652d787" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -102,9 +102,9 @@ dependencies = [ [[package]] name = "core-foundation" -version = "0.9.1" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a89e2ae426ea83155dccf10c0fa6b1463ef6d5fcb44cee0b224a408fa640a62" +checksum = "6888e10551bb93e424d8df1d07f1a8b4fceb0001a3a4b048bfc47554946f47b3" dependencies = [ "core-foundation-sys", "libc", @@ -112,9 +112,9 @@ dependencies = [ [[package]] name = "core-foundation-sys" -version = "0.8.2" +version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea221b5284a47e40033bf9b66f35f984ec0ea2931eb03505246cd27a963f981b" +checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "crc32fast" @@ -127,9 +127,9 @@ dependencies = [ [[package]] name = "daedalus" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "667dec20054908ee40916a3fd8ea5bfc6ed8b1bde6f7741dbea18500a1049ea6" +checksum = "3e8ea161abae801020f48a909a7174024945e924c2f16c27fdf9264422dcf1a6" dependencies = [ "bytes", "chrono", @@ -143,18 +143,18 @@ dependencies = [ [[package]] name = "encoding_rs" -version = "0.8.28" +version = "0.8.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80df024fbc5ac80f87dfef0d9f5209a252f2a497f7f42944cff24d8253cac065" +checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746" dependencies = [ "cfg-if", ] [[package]] name = "flate2" -version = "1.0.20" +version = "1.0.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd3aec53de10fe96d7d8c565eb17f2c687bb5518a2ec453b5b1252964526abe0" +checksum = "1e6988e897c1c9c485f43b47a529cef42fde0547f9d8d41a7062518f1d8fc53f" dependencies = [ "cfg-if", "crc32fast", @@ -194,10 +194,16 @@ dependencies = [ ] [[package]] -name = "futures" -version = "0.3.15" +name = "fs_extra" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e7e43a803dae2fa37c1f6a8fe121e1f7bf9548b4dfc0522a42f34145dadfc27" +checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" + +[[package]] +name = "futures" +version = "0.3.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" dependencies = [ "futures-channel", "futures-core", @@ -210,9 +216,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e682a68b29a882df0545c143dc3646daefe80ba479bcdede94d5a703de2871e2" +checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" dependencies = [ "futures-core", "futures-sink", @@ -220,15 +226,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0402f765d8a89a26043b889b26ce3c4679d268fa6bb22cd7c6aad98340e179d1" +checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" [[package]] name = "futures-executor" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "badaa6a909fac9e7236d0620a2f57f7664640c56575b71a7552fbd68deafab79" +checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" dependencies = [ "futures-core", "futures-task", @@ -237,15 +243,15 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acc499defb3b348f8d8f3f66415835a9131856ff7714bf10dadfc4ec4bdb29a1" +checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" [[package]] name = "futures-macro" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c40298486cdf52cc00cd6d6987892ba502c7656a16a4192a9992b1ccedd121" +checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" dependencies = [ "autocfg", "proc-macro-hack", @@ -256,21 +262,21 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a57bead0ceff0d6dde8f465ecd96c9338121bb7717d3e7b108059531870c4282" +checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" [[package]] name = "futures-task" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a16bef9fc1a4dddb5bee51c989e3fbba26569cbb0e31f5b303c184e3dd33dae" +checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" [[package]] name = "futures-util" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feb5c238d27e2bf94ffdfd27b2c29e3df4a68c4193bb6427384259e2bf191967" +checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" dependencies = [ "autocfg", "futures-channel", @@ -300,9 +306,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.3" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "825343c4eef0b63f541f8903f395dc5beb362a979b5799a84062527ef1e37726" +checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55" dependencies = [ "bytes", "fnv", @@ -319,9 +325,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.9.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7afe4a420e3fe79967a00898cc1f4db7c8a49a9333a29f8a4bd76a253d5cd04" +checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" [[package]] name = "hermit-abi" @@ -334,9 +340,9 @@ dependencies = [ [[package]] name = "http" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "527e8c9ac747e28542699a951517aa9a6945af506cd1f2e1b53a576c17b6cc11" +checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" dependencies = [ "bytes", "fnv", @@ -345,9 +351,9 @@ dependencies = [ [[package]] name = "http-body" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60daa14be0e0786db0f03a9e57cb404c9d756eed2b6c62b9ea98ec5743ec75a9" +checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" dependencies = [ "bytes", "http", @@ -356,21 +362,21 @@ dependencies = [ [[package]] name = "httparse" -version = "1.4.1" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3a87b616e37e93c22fb19bcd386f02f3af5ea98a25670ad0fce773de23c5e68" +checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.9" +version = "0.14.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07d6baa1b441335f3ce5098ac421fb6547c46dda735ca1bc6d0153c838f9dd83" +checksum = "436ec0091e4f20e655156a30a0df3770fe2900aa301e548e08446ec794b6953c" dependencies = [ "bytes", "futures-channel", @@ -416,9 +422,9 @@ dependencies = [ [[package]] name = "indexmap" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "824845a0bf897a9042383849b02c1bc219c2383772efcd5c6f9766fa4b81aef3" +checksum = "bc633605454125dec4b66843673f01c7df2b89479b32e0ed634e43a91cff62a5" dependencies = [ "autocfg", "hashbrown", @@ -426,9 +432,9 @@ dependencies = [ [[package]] name = "instant" -version = "0.1.9" +version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61124eeebbd69b8190558df225adf7e4caafce0d743919e5d6b19652314ec5ec" +checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" dependencies = [ "cfg-if", ] @@ -441,15 +447,15 @@ checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" [[package]] name = "itoa" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd25036021b0de88a0aff6b850051563c6516d0bf53f8638938edbb9de732736" +checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" [[package]] name = "js-sys" -version = "0.3.51" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83bdfbace3a0e81a4253f73b49e960b053e396a11012cbd49b9b74d6a2b67062" +checksum = "7cc9ffccd38c451a86bf13657df244e9c3f37493cce8e5e21e940963777acc84" dependencies = [ "wasm-bindgen", ] @@ -462,15 +468,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.97" +version = "0.2.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b8adadd720df158f4d70dfe7ccc6adb0472d7c55ca83445f6a5ab3e36f8fb6" +checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219" [[package]] name = "lock_api" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0382880606dff6d15c9476c416d18690b72742aa7b605bb6dd6ec9030fbf07eb" +checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" dependencies = [ "scopeguard", ] @@ -486,15 +492,15 @@ dependencies = [ [[package]] name = "matches" -version = "0.1.8" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ffc5c5338469d4d3ea17d269fa8ea3512ad247247c30bd2df69e68309ed0a08" +checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f" [[package]] name = "memchr" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b16bd47d9e329435e309c58469fe0791c2d0d1ba96ec0954152a5ae2b04387dc" +checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "mime" @@ -514,9 +520,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.13" +version = "0.7.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c2bdb6314ec10835cd3293dd268473a835c02b7b352e788be788b3c6ca6bb16" +checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" dependencies = [ "libc", "log", @@ -536,9 +542,9 @@ dependencies = [ [[package]] name = "native-tls" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8d96b2e1c8da3957d58100b09f102c6d9cfdfced01b7ec5a8974044bb09dbd4" +checksum = "48ba9f7719b5a0f42f338907614285fb5fd70e53858141f69898a1fb7203b24d" dependencies = [ "lazy_static", "libc", @@ -598,9 +604,9 @@ checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" [[package]] name = "openssl" -version = "0.10.35" +version = "0.10.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885" +checksum = "0c7ae222234c30df141154f159066c5093ff73b63204dcda7121eb082fc56a95" dependencies = [ "bitflags", "cfg-if", @@ -618,9 +624,9 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-sys" -version = "0.9.65" +version = "0.9.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a7907e3bfa08bb85105209cdfcb6c63d109f8f6c1ed6ca318fff5c1853fbc1d" +checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73" dependencies = [ "autocfg", "cc", @@ -631,9 +637,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.11.1" +version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d7744ac029df22dca6284efe4e898991d28e3085c706c972bcd7da4a27a15eb" +checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", @@ -642,9 +648,9 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.8.3" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa7a782938e745763fe6907fc6ba86946d72f49fe7e21de074e08128a99fb018" +checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216" dependencies = [ "cfg-if", "instant", @@ -668,9 +674,9 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" [[package]] name = "pin-project-lite" -version = "0.2.6" +version = "0.2.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc0e1f259c92177c30a4c9d177246edd0a3568b25756a977d0632cf8fa37e905" +checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "pin-utils" @@ -680,15 +686,15 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.19" +version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3831453b3449ceb48b6d9c7ad7c96d5ea673e9b470a1dc578c2ce6521230884c" +checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" [[package]] name = "ppv-lite86" -version = "0.2.10" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" [[package]] name = "proc-macro-hack" @@ -704,18 +710,18 @@ checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" [[package]] name = "proc-macro2" -version = "1.0.27" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0d8caf72986c1a598726adc988bb5984792ef84f5ee5aa50209145ee8077038" +checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" dependencies = [ "unicode-xid", ] [[package]] name = "quote" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" dependencies = [ "proc-macro2", ] @@ -762,9 +768,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.2.9" +version = "0.2.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ab49abadf3f9e1c4bc499e8845e152ad87d2ad2d30371841171169e9d75feee" +checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff" dependencies = [ "bitflags", ] @@ -797,9 +803,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.4" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "246e9f61b9bb77df069a947682be06e31ac43ea37862e244a69f177694ea6d22" +checksum = "66d2927ca2f685faf0fc620ac4834690d29e7abb153add10f5812eef20b5e280" dependencies = [ "base64", "bytes", @@ -854,9 +860,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "security-framework" -version = "2.3.1" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467" +checksum = "525bc1abfda2e1998d152c45cf13e696f76d0a4972310b22fac1658b05df7c87" dependencies = [ "bitflags", "core-foundation", @@ -867,9 +873,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.3.0" +version = "2.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4effb91b4b8b6fb7732e670b6cee160278ff8e6bf485c7805d9e319d76e284" +checksum = "a9dd14d83160b528b7bfd66439110573efcfbe281b17fc2ca9f39f550d619c7e" dependencies = [ "core-foundation-sys", "libc", @@ -877,18 +883,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.126" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec7505abeacaec74ae4778d9d9328fe5a5d04253220a85c4ee022239fc996d03" +checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.126" +version = "1.0.130" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "963a7dbc9895aeac7ac90e74f34a5d5261828f79df35cbed41e10189d3804d43" +checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" dependencies = [ "proc-macro2", "quote", @@ -897,9 +903,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.64" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "799e97dc9fdae36a5c8b8f2cae9ce2ee9fdce2058c57a93e6099d919fd982f79" +checksum = "063bf466a64011ac24040a49009724ee60a57da1b437617ceb32e53ad61bfb19" dependencies = [ "itoa", "ryu", @@ -935,21 +941,21 @@ dependencies = [ [[package]] name = "slab" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f173ac3d1a7e3b28003f40de0b5ce7fe2710f9b9dc3fc38664cebee46b3b6527" +checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" [[package]] name = "smallvec" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "socket2" -version = "0.4.0" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e3dfc207c526015c632472a77be09cf1b6e46866581aecae5cc38fb4235dea2" +checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" dependencies = [ "libc", "winapi", @@ -957,9 +963,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.73" +version = "1.0.81" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f71489ff30030d2ae598524f61326b902466f72a0fb1a8564c001cc63425bcc7" +checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" dependencies = [ "proc-macro2", "quote", @@ -968,9 +974,9 @@ dependencies = [ [[package]] name = "sys-info" -version = "0.9.0" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33fcecee49339531cf6bd84ecf3ed94f9c8ef4a7e700f2a1cac9cc1ca485383a" +checksum = "0b3a0d0aba8bf96a0e1ddfdc352fc53b3df7f39318c71854910c3c4b024ae52c" dependencies = [ "cc", "libc", @@ -997,6 +1003,7 @@ dependencies = [ "bytes", "chrono", "daedalus", + "fs_extra", "futures", "lazy_static", "path-clean", @@ -1023,18 +1030,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.25" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa6f76457f59514c7eeb4e59d891395fab0b2fd1d40723ae737d64153392e9c6" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.25" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a36768c0fbf1bb15eca10defa29526bda730a2376c2ab4393ccfa16fb1a318d" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2", "quote", @@ -1043,20 +1050,19 @@ dependencies = [ [[package]] name = "time" -version = "0.1.44" +version = "0.1.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6db9e6914ab8b1ae1c260a4ae7a49b6c5611b40328a735b21862567685e73255" +checksum = "ca8a50ef2360fbd1eeb0ecd46795a87a19024eb4b53c5dc916ca1fd95fe62438" dependencies = [ "libc", - "wasi", "winapi", ] [[package]] name = "tinyvec" -version = "1.2.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b5220f05bb7de7f3f53c7c065e1199b3172696fe2db9f9c4d8ad9b4ee74c342" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -1069,9 +1075,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.7.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fb2ed024293bb19f7a5dc54fe83bf86532a44c12a2bb8ba40d64a4509395ca2" +checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" dependencies = [ "autocfg", "bytes", @@ -1089,9 +1095,9 @@ dependencies = [ [[package]] name = "tokio-macros" -version = "1.2.0" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c49e3df43841dafb86046472506755d8501c5615673955f6aa17181125d13c37" +checksum = "c9efc1aba077437943f7515666aa2b882dfabfbfdf89c819ea75a8d6e9eaba5e" dependencies = [ "proc-macro2", "quote", @@ -1110,9 +1116,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.6.7" +version = "0.6.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1caa0b0c8d94a049db56b5acf8cba99dc0623aab1b26d5b5f5e2d945846b3592" +checksum = "9e99e1983e5d376cd8eb4b66604d2e99e79f5bd988c3055891dcd8c9e2604cc0" dependencies = [ "bytes", "futures-core", @@ -1130,9 +1136,9 @@ checksum = "360dfd1d6d30e05fda32ace2c8c70e9c0a9da713275777f5a4dbb8a1893930c6" [[package]] name = "tracing" -version = "0.1.26" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09adeb8c97449311ccd28a427f96fb563e7fd31aabf994189879d9da2394b89d" +checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if", "pin-project-lite", @@ -1141,9 +1147,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.18" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9ff14f98b1a4b289c6248a023c1c2fa1491062964e9fed67ab29c4e4da4a052" +checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" dependencies = [ "lazy_static", ] @@ -1156,12 +1162,9 @@ checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" [[package]] name = "unicode-bidi" -version = "0.3.5" +version = "0.3.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eeb8be209bb1c96b7c177c7420d26e04eccacb0eeae6b980e35fcb74678107e0" -dependencies = [ - "matches", -] +checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f" [[package]] name = "unicode-normalization" @@ -1218,27 +1221,25 @@ dependencies = [ [[package]] name = "wasi" -version = "0.10.0+wasi-snapshot-preview1" +version = "0.10.2+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a143597ca7c7793eff794def352d41792a93c481eb1042423ff7ff72ba2c31f" +checksum = "fd6fbd9a79829dd1ad0cc20627bf1ed606756a7f77edff7b66b7064f9cb327c6" [[package]] name = "wasm-bindgen" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d54ee1d4ed486f78874278e63e4069fc1ab9f6a18ca492076ffb90c5eb2997fd" +checksum = "632f73e236b219150ea279196e54e610f5dbafa5d61786303d4da54f84e47fce" dependencies = [ "cfg-if", - "serde", - "serde_json", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b33f6a0694ccfea53d94db8b2ed1c3a8a4c86dd936b13b9f0a15ec4a451b900" +checksum = "a317bf8f9fba2476b4b2c85ef4c4af8ff39c3c7f0cdfeed4f82c34a880aa837b" dependencies = [ "bumpalo", "lazy_static", @@ -1251,9 +1252,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-futures" -version = "0.4.24" +version = "0.4.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fba7978c679d53ce2d0ac80c8c175840feb849a161664365d1287b41f2e67f1" +checksum = "8e8d7523cb1f2a4c96c1317ca690031b714a51cc14e05f712446691f413f5d39" dependencies = [ "cfg-if", "js-sys", @@ -1263,9 +1264,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "088169ca61430fe1e58b8096c24975251700e7b1f6fd91cc9d59b04fb9b18bd4" +checksum = "d56146e7c495528bf6587663bea13a8eb588d39b36b679d83972e1a2dbbdacf9" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -1273,9 +1274,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be2241542ff3d9f241f5e2cb6dd09b37efe786df8851c54957683a49f0987a97" +checksum = "7803e0eea25835f8abdc585cd3021b3deb11543c6fe226dcd30b228857c5c5ab" dependencies = [ "proc-macro2", "quote", @@ -1286,15 +1287,15 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.74" +version = "0.2.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7cff876b8f18eed75a66cf49b65e7f967cb354a7aa16003fb55dbfd25b44b4f" +checksum = "0237232789cf037d5480773fe568aac745bfe2afbc11a863e97901780a6b47cc" [[package]] name = "web-sys" -version = "0.3.51" +version = "0.3.55" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e828417b379f3df7111d3a2a9e5753706cae29c41f7c4029ee9fd77f3e09e582" +checksum = "38eb105f1c59d9eaa6b5cdc92b859d85b926e82cb2e0945cd0c9259faa6fe9fb" dependencies = [ "js-sys", "wasm-bindgen", diff --git a/shell.nix b/shell.nix new file mode 100644 index 000000000..a6e893830 --- /dev/null +++ b/shell.nix @@ -0,0 +1,7 @@ +{ pkgs ? import {} }: + +pkgs.mkShell { + buildInputs = with pkgs; [ + rustc cargo openssl pkg-config + ]; +} diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index a1750dcfe..d89703d58 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -20,6 +20,7 @@ bytes = "1" zip = "0.5" sha1 = { version = "0.6.0", features = ["std"]} path-clean = "0.1.0" +fs_extra = "1.2.0" regex = "1.5" lazy_static = "1.4" @@ -27,4 +28,4 @@ lazy_static = "1.4" tokio = { version = "1", features = ["full"] } futures = "0.3" -sys-info = "0.9.0" \ No newline at end of file +sys-info = "0.9.0" diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index dbf0e2036..1226d2fc1 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -6,4 +6,5 @@ #![warn(missing_docs, unused_import_braces, missing_debug_implementations)] pub mod launcher; +pub mod modpack; mod util; diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs new file mode 100644 index 000000000..0d7312fda --- /dev/null +++ b/theseus/src/modpack/manifest.rs @@ -0,0 +1,230 @@ +use std::{convert::TryFrom, path::{Path, PathBuf}, str::FromStr}; + +use daedalus::download_file_mirrors; +use tokio::fs; +use futures::future; + +use crate::launcher::ModLoader; + +use super::ModpackError; + +pub struct Manifest { + format_version: u64, + game: ModpackGame, + version_id: String, + + name: String, + summary: Option, + + files: Vec, +} + +impl Manifest { + /// Download a modpack's files for a given side to a given destination + /// Assumes the destination exists and is a directory + pub async fn download_files(&self, dest: &Path, side: &ModpackSide) -> Result<(), ModpackError> { + let handles = self.files.clone().into_iter() + .map(move |file| { + let (dest, side) = (dest.to_owned(), *side); + tokio::spawn(async move { + file.fetch(&dest, &side).await + }) + }); + future::try_join_all(handles).await?.into_iter().collect::>()?; + + // TODO Integrate instance format to save other metadata + Ok(()) + } +} + +fn try_get<'r, F, T>(manifest: &'r serde_json::Map, field: &str, caster: F) -> Result + where + F: Fn(&'r serde_json::Value) -> Option { + manifest.get(field) + .and_then(caster) + .ok_or(ModpackError::ManifestError(format!("Invalid or missing field: {}", field))) +} + +impl TryFrom for Manifest { + type Error = ModpackError; + + fn try_from(value: serde_json::Value) -> Result { + use ModpackError::ManifestError; + + let value = value.as_object() + .ok_or(ManifestError(String::from("Manifest is not a JSON object!")))?; + + let game = ModpackGame::new( + try_get(value, "game", serde_json::Value::as_str)?, + try_get(value, "dependencies", serde_json::Value::as_object)?, + )?; + + let files = try_get(value, "files", serde_json::Value::as_array)? + .iter().map(|it| -> Result { + let file = it.as_object() + .ok_or(ManifestError(String::from("Malformed file: not an object")))?; + + let path = Path::new(try_get(file, "path", serde_json::Value::as_str)?); + let hashes = ModpackFileHashes::try_from(try_get(file, "hashes", serde_json::Value::as_object)?)?; + let sources = try_get(file, "sources", serde_json::Value::as_array)?.iter() + .map(serde_json::Value::as_str) + .map(|it| it.map(String::from)) + .collect::>>() + .ok_or(ManifestError(format!("Invalid source for path {}", path.to_str().unwrap_or("?"))))?; + let env: Option<[ModpackEnv;2]> = if let Some(env) = file.get("env") { + if !env.is_object() { + return Err(ManifestError(String::from("Env is provided, but is not an object!"))); + } + Some([ModpackEnv::from_str(env.get("client").and_then(serde_json::Value::as_str).unwrap_or_default())?, + ModpackEnv::from_str(env.get("server").and_then(serde_json::Value::as_str).unwrap_or_default())?]) + } else { + None + }; + + ModpackFile::new(path, hashes, env, sources.as_slice()) + } + ).collect::, ModpackError>>()?; + + Ok(Self { + format_version: try_get(value, "formatVersion", serde_json::Value::as_u64)?, + game, + version_id: String::from(try_get(value, "versionId", serde_json::Value::as_str)?), + name: String::from(try_get(value, "name", serde_json::Value::as_str)?), + summary: value.get("summary").and_then(serde_json::Value::as_str).map(String::from), + files + }) + } +} + +pub enum ModpackGame { + // TODO: Currently, the launcher does not support specifying mod loader versions, so I just + // store the loader here. + Minecraft(String, ModLoader), +} + +impl ModpackGame { + pub fn new(game: &str, deps: &serde_json::Map) -> Result { + match game { + "minecraft" => { + let game_version = String::from( + deps.get("minecraft") + .ok_or(ModpackError::ManifestError(String::from( + "No version of minecraft given", + )))? + .as_str() + .unwrap(), + ); + + // TODO: See comment in ModpackGame, this code was designed specifically to be + // easily adapted for versioned modloaders + let loader = if let Some(_) = deps.get("fabric-loader") { + ModLoader::Fabric + } else if let Some(_) = deps.get("forge") { + ModLoader::Forge + } else { + ModLoader::Vanilla + }; + + Ok(ModpackGame::Minecraft(game_version, loader)) + } + _ => Err(ModpackError::ManifestError(format!( + "Invalid game: {}", + game + ))), + } + } +} + +#[derive(Clone)] +pub struct ModpackFile { + path: PathBuf, + hashes: ModpackFileHashes, + envs: Option<[ModpackEnv; 2]>, + sources: Vec, +} + +#[derive(Clone, Copy)] +pub enum ModpackSide { + Client = 0, + Server = 1, +} + +impl ModpackFile { + pub fn new( + path: &Path, + hashes: ModpackFileHashes, + envs: Option<[ModpackEnv;2]>, + sources: &[String], + ) -> Result { + if !path.is_dir() { + return Err(ModpackError::ManifestError(format!("Modpack file {} is a directory!", path.to_str().unwrap_or("?")))); + } + + Ok(Self { + path: PathBuf::from(path), + hashes, + envs, + sources: Vec::from(sources), + }) + } + + pub async fn fetch(&self, dest: &Path, side: &ModpackSide) -> Result<(), ModpackError> { + if let Some(envs) = &self.envs { + if envs[*side as usize] == ModpackEnv::Unsupported + || envs[(*side as usize + 1) % 2] == ModpackEnv::Required + { + return Ok(()); + } + } + + let output = dest.join(&self.path); + + // HACK: Since Daedalus appends a file name to all mirrors and the manifest supplies full + // URLs, I'm supplying it with an empty string to avoid reinventing the wheel. + let bytes = download_file_mirrors("", &self.sources.iter().map(|it| it.as_str()).collect::>().as_slice(), Some(&self.hashes.sha1)).await?; + fs::create_dir_all(output.parent().unwrap()).await?; + fs::write(output, bytes).await?; + Ok(()) + } +} + +#[derive(Clone)] +pub struct ModpackFileHashes { + sha1: String, +} + +impl TryFrom<&serde_json::Map> for ModpackFileHashes { + type Error = ModpackError; + + fn try_from(value: &serde_json::Map) -> Result { + let sha1 = String::from(try_get(&value, "sha1", serde_json::Value::as_str)?); + Ok(Self { sha1 }) + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ModpackEnv { + Required, + Optional, + Unsupported, +} + +impl FromStr for ModpackEnv { + type Err = ModpackError; + + fn from_str(s: &str) -> Result { + use ModpackEnv::*; + match s { + "required" => Ok(Required), + "optional" => Ok(Optional), + "unsupported" => Ok(Unsupported), + _ => Err(ModpackError::ManifestError(format!("Invalid environment support: {}", s))), + } + } +} + +impl Default for ModpackEnv { + fn default() -> Self { + Self::Optional + } +} diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs new file mode 100644 index 000000000..a31881755 --- /dev/null +++ b/theseus/src/modpack/mod.rs @@ -0,0 +1,68 @@ +//! Provides utilties for downloading and parsing modpacks + +use std::{convert::TryFrom, io, path::Path}; +use fs_extra::dir::CopyOptions; +use tokio::fs; + +use self::manifest::Manifest; + +mod manifest; + +pub const MANIFEST_PATH: &'static str = "index.json"; +pub const OVERRIDES_PATH: &'static str = "overrides/"; + +#[derive(thiserror::Error, Debug)] +pub enum ModpackError { + #[error("I/O error while reading modpack: {0}")] + IOError(#[from] io::Error), + + #[error("I/O error while reading modpack: {0}")] + FSExtraError(#[from] fs_extra::error::Error), + + #[error("Invalid output directory: {0}")] + InvalidDirectory(String), + + #[error("Error parsing manifest: {0}")] + ManifestError(String), + + #[error("Daedalus error: {0}")] + DaedalusError(#[from] daedalus::Error), + + #[error("Error parsing json: {0}")] + JsonError(#[from] serde_json::Error), + + #[error("Error joining futures: {0}")] + JoinError(#[from] tokio::task::JoinError), +} + +/// Realise a given modpack into an instance +pub async fn realise_modpack(dir: &Path, dest: &Path, side: &manifest::ModpackSide) -> Result<(), ModpackError> { + if dest.is_file() { + return Err(ModpackError::InvalidDirectory(String::from("Output is not a directory"))); + } + if dest.exists() && std::fs::read_dir(dest).map_or(false, |it| it.count() != 0) { + return Err(ModpackError::InvalidDirectory(String::from("Output directory is non-empty"))); + } + if !dest.exists() { + fs::create_dir_all(dest).await?; + } + + // Copy overrides + let overrides = Some(dir.join(OVERRIDES_PATH)).filter(|it| it.exists() && it.is_dir()); + if let Some(overrides) = overrides { + fs_extra::dir::copy(overrides, dest, &CopyOptions::new())?; + } + + // Parse manifest + // NOTE: I'm using standard files here, since Serde does not support async readers + let manifest_path = Some(dir.join(MANIFEST_PATH)) + .filter(|it| it.exists() && it.is_file()) + .ok_or(ModpackError::ManifestError(String::from("Manifest missing or is not a file")))?; + let manifest_file = std::fs::File::open(manifest_path)?; + let manifest_json: serde_json::Value = serde_json::from_reader(io::BufReader::new(manifest_file))?; + let manifest = Manifest::try_from(manifest_json)?; + + // Realise manifest + manifest.download_files(dest, side).await?; + Ok(()) +} From 52ed070b5b14b994f54103fb1348fd7b1b3ae313 Mon Sep 17 00:00:00 2001 From: Daniel Hutzley Date: Sat, 20 Nov 2021 11:56:44 -0800 Subject: [PATCH 008/231] Add tests and example for modpack support --- Cargo.lock | 45 ++++ theseus/Cargo.toml | 6 + theseus/examples/download-pack.rs | 53 +++++ theseus/src/modpack/manifest.rs | 358 +++++++++++++++++++++++++----- theseus/src/modpack/mod.rs | 57 ++++- 5 files changed, 459 insertions(+), 60 deletions(-) create mode 100644 theseus/examples/download-pack.rs diff --git a/Cargo.lock b/Cargo.lock index bb4915eeb..ff5ce47f3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,6 +17,35 @@ dependencies = [ "memchr", ] +[[package]] +name = "argh" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f023c76cd7975f9969f8e29f0e461decbdc7f51048ce43427107a3d192f1c9bf" +dependencies = [ + "argh_derive", + "argh_shared", +] + +[[package]] +name = "argh_derive" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "48ad219abc0c06ca788aface2e3a1970587e3413ab70acd20e54b6ec524c1f8f" +dependencies = [ + "argh_shared", + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "argh_shared" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38de00daab4eac7d753e97697066238d67ce9d7e2d823ab4f72fe14af29f3f33" + [[package]] name = "autocfg" version = "1.0.1" @@ -329,6 +358,15 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +[[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" @@ -1000,6 +1038,7 @@ dependencies = [ name = "theseus" version = "0.1.0" dependencies = [ + "argh", "bytes", "chrono", "daedalus", @@ -1175,6 +1214,12 @@ dependencies = [ "tinyvec", ] +[[package]] +name = "unicode-segmentation" +version = "1.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8895849a949e7845e06bd6dc1aa51731a103c42707010a5b591c0038fb73385b" + [[package]] name = "unicode-xid" version = "0.2.2" diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index d89703d58..b6a71ea89 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -29,3 +29,9 @@ tokio = { version = "1", features = ["full"] } futures = "0.3" sys-info = "0.9.0" + +[dev-dependencies] +argh = "0.1.6" + +[[example]] +name = "download-pack" diff --git a/theseus/examples/download-pack.rs b/theseus/examples/download-pack.rs new file mode 100644 index 000000000..e41f15fe7 --- /dev/null +++ b/theseus/examples/download-pack.rs @@ -0,0 +1,53 @@ +use std::{path::PathBuf, time::Instant}; + +use argh::FromArgs; +use theseus::modpack::{fetch_modpack, manifest::ModpackSide}; + +#[derive(FromArgs)] +/// Simple modpack download +struct ModpackDownloader { + /// where to download to + #[argh(positional)] + url: String, + + /// where to put the resulting pack + #[argh(option, short = 'o')] + output: Option, + + /// the sha1 hash, if you want it checked + #[argh(option, short = 'c')] + hash: Option, + + /// use verbose logging + #[argh(switch, short = 'v')] + verbose: bool, +} + +// Simple logging helper +fn debug(msg: &str, verbose: bool) { + if verbose { + println!("{}", msg); + } +} + +#[tokio::main] +pub async fn main() { + let args = argh::from_env::(); + let dest = args.output.unwrap_or(PathBuf::from("./pack-download/")); + + debug( + &format!( + "Downloading pack {} to {}", + args.url, + dest.to_str().unwrap_or("?") + ), + args.verbose, + ); + + let start = Instant::now(); + fetch_modpack(&args.url, args.hash.as_deref(), &dest, ModpackSide::Client).await; + let end = start.elapsed(); + + println!("Download completed in {} seconds", end.as_secs_f32()); + debug("Done!", args.verbose); +} diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index 0d7312fda..448311bfa 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -1,13 +1,18 @@ -use std::{convert::TryFrom, path::{Path, PathBuf}, str::FromStr}; +use std::{ + convert::TryFrom, + path::{Path, PathBuf}, + str::FromStr, +}; use daedalus::download_file_mirrors; -use tokio::fs; use futures::future; +use tokio::fs; use crate::launcher::ModLoader; use super::ModpackError; +#[derive(Debug, Clone, PartialEq)] pub struct Manifest { format_version: u64, game: ModpackGame, @@ -22,27 +27,36 @@ pub struct Manifest { impl Manifest { /// Download a modpack's files for a given side to a given destination /// Assumes the destination exists and is a directory - pub async fn download_files(&self, dest: &Path, side: &ModpackSide) -> Result<(), ModpackError> { - let handles = self.files.clone().into_iter() - .map(move |file| { - let (dest, side) = (dest.to_owned(), *side); - tokio::spawn(async move { - file.fetch(&dest, &side).await - }) - }); - future::try_join_all(handles).await?.into_iter().collect::>()?; + pub async fn download_files(&self, dest: &Path, side: ModpackSide) -> Result<(), ModpackError> { + let handles = self.files.clone().into_iter().map(move |file| { + let (dest, side) = (dest.to_owned(), side); + tokio::spawn(async move { file.fetch(&dest, side).await }) + }); + future::try_join_all(handles) + .await? + .into_iter() + .collect::>()?; // TODO Integrate instance format to save other metadata Ok(()) } } -fn try_get<'r, F, T>(manifest: &'r serde_json::Map, field: &str, caster: F) -> Result - where - F: Fn(&'r serde_json::Value) -> Option { - manifest.get(field) +fn try_get<'r, F, T>( + manifest: &'r serde_json::Map, + field: &str, + caster: F, +) -> Result +where + F: Fn(&'r serde_json::Value) -> Option, +{ + manifest + .get(field) .and_then(caster) - .ok_or(ModpackError::ManifestError(format!("Invalid or missing field: {}", field))) + .ok_or(ModpackError::ManifestError(format!( + "Invalid or missing field: {}", + field + ))) } impl TryFrom for Manifest { @@ -51,8 +65,9 @@ impl TryFrom for Manifest { fn try_from(value: serde_json::Value) -> Result { use ModpackError::ManifestError; - let value = value.as_object() - .ok_or(ManifestError(String::from("Manifest is not a JSON object!")))?; + let value = value.as_object().ok_or(ManifestError(String::from( + "Manifest is not a JSON object!", + )))?; let game = ModpackGame::new( try_get(value, "game", serde_json::Value::as_str)?, @@ -60,42 +75,68 @@ impl TryFrom for Manifest { )?; let files = try_get(value, "files", serde_json::Value::as_array)? - .iter().map(|it| -> Result { - let file = it.as_object() + .iter() + .map(|it| -> Result { + let file = it + .as_object() .ok_or(ManifestError(String::from("Malformed file: not an object")))?; let path = Path::new(try_get(file, "path", serde_json::Value::as_str)?); - let hashes = ModpackFileHashes::try_from(try_get(file, "hashes", serde_json::Value::as_object)?)?; - let sources = try_get(file, "sources", serde_json::Value::as_array)?.iter() + let hashes = ModpackFileHashes::try_from(try_get( + file, + "hashes", + serde_json::Value::as_object, + )?)?; + let downloads = try_get(file, "downloads", serde_json::Value::as_array)? + .iter() .map(serde_json::Value::as_str) .map(|it| it.map(String::from)) .collect::>>() - .ok_or(ManifestError(format!("Invalid source for path {}", path.to_str().unwrap_or("?"))))?; - let env: Option<[ModpackEnv;2]> = if let Some(env) = file.get("env") { - if !env.is_object() { - return Err(ManifestError(String::from("Env is provided, but is not an object!"))); - } - Some([ModpackEnv::from_str(env.get("client").and_then(serde_json::Value::as_str).unwrap_or_default())?, - ModpackEnv::from_str(env.get("server").and_then(serde_json::Value::as_str).unwrap_or_default())?]) - } else { - None - }; + .ok_or(ManifestError(format!( + "Invalid source for path {}", + path.to_str().unwrap_or("?") + )))?; + let env: Option<[ModpackEnv; 2]> = if let Some(env) = file.get("env") { + if !env.is_object() { + return Err(ManifestError(String::from( + "Env is provided, but is not an object!", + ))); + } + Some([ + ModpackEnv::from_str( + env.get("client") + .and_then(serde_json::Value::as_str) + .unwrap_or_default(), + )?, + ModpackEnv::from_str( + env.get("server") + .and_then(serde_json::Value::as_str) + .unwrap_or_default(), + )?, + ]) + } else { + None + }; - ModpackFile::new(path, hashes, env, sources.as_slice()) - } - ).collect::, ModpackError>>()?; + ModpackFile::new(path, hashes, env, &downloads) + }) + .collect::, ModpackError>>()?; Ok(Self { format_version: try_get(value, "formatVersion", serde_json::Value::as_u64)?, game, version_id: String::from(try_get(value, "versionId", serde_json::Value::as_str)?), name: String::from(try_get(value, "name", serde_json::Value::as_str)?), - summary: value.get("summary").and_then(serde_json::Value::as_str).map(String::from), - files + summary: value + .get("summary") + .and_then(serde_json::Value::as_str) + .map(String::from), + files, }) } } +#[derive(Debug, Clone, PartialEq)] pub enum ModpackGame { // TODO: Currently, the launcher does not support specifying mod loader versions, so I just // store the loader here. @@ -103,7 +144,10 @@ pub enum ModpackGame { } impl ModpackGame { - pub fn new(game: &str, deps: &serde_json::Map) -> Result { + pub fn new( + game: &str, + deps: &serde_json::Map, + ) -> Result { match game { "minecraft" => { let game_version = String::from( @@ -135,15 +179,15 @@ impl ModpackGame { } } -#[derive(Clone)] +#[derive(Debug, Clone, PartialEq)] pub struct ModpackFile { path: PathBuf, hashes: ModpackFileHashes, envs: Option<[ModpackEnv; 2]>, - sources: Vec, + downloads: Vec, } -#[derive(Clone, Copy)] +#[derive(Debug, Clone, Copy, PartialEq)] pub enum ModpackSide { Client = 0, Server = 1, @@ -153,25 +197,28 @@ impl ModpackFile { pub fn new( path: &Path, hashes: ModpackFileHashes, - envs: Option<[ModpackEnv;2]>, - sources: &[String], + envs: Option<[ModpackEnv; 2]>, + downloads: &[String], ) -> Result { - if !path.is_dir() { - return Err(ModpackError::ManifestError(format!("Modpack file {} is a directory!", path.to_str().unwrap_or("?")))); + if path.is_dir() { + return Err(ModpackError::ManifestError(format!( + "Modpack file {} is a directory!", + path.to_str().unwrap_or("?") + ))); } Ok(Self { path: PathBuf::from(path), hashes, envs, - sources: Vec::from(sources), + downloads: Vec::from(downloads), }) } - pub async fn fetch(&self, dest: &Path, side: &ModpackSide) -> Result<(), ModpackError> { + pub async fn fetch(&self, dest: &Path, side: ModpackSide) -> Result<(), ModpackError> { if let Some(envs) = &self.envs { - if envs[*side as usize] == ModpackEnv::Unsupported - || envs[(*side as usize + 1) % 2] == ModpackEnv::Required + if envs[side as usize] == ModpackEnv::Unsupported + || envs[(side as usize + 1) % 2] == ModpackEnv::Required { return Ok(()); } @@ -181,14 +228,24 @@ impl ModpackFile { // HACK: Since Daedalus appends a file name to all mirrors and the manifest supplies full // URLs, I'm supplying it with an empty string to avoid reinventing the wheel. - let bytes = download_file_mirrors("", &self.sources.iter().map(|it| it.as_str()).collect::>().as_slice(), Some(&self.hashes.sha1)).await?; + let bytes = download_file_mirrors( + "", + &self + .downloads + .iter() + .map(|it| it.as_str()) + .collect::>() + .as_slice(), + Some(&self.hashes.sha1), + ) + .await?; fs::create_dir_all(output.parent().unwrap()).await?; fs::write(output, bytes).await?; Ok(()) } } -#[derive(Clone)] +#[derive(Debug, Clone, PartialEq)] pub struct ModpackFileHashes { sha1: String, } @@ -202,7 +259,7 @@ impl TryFrom<&serde_json::Map> for ModpackFileHashes } } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Clone, Copy, PartialEq)] pub enum ModpackEnv { Required, Optional, @@ -218,7 +275,10 @@ impl FromStr for ModpackEnv { "required" => Ok(Required), "optional" => Ok(Optional), "unsupported" => Ok(Unsupported), - _ => Err(ModpackError::ManifestError(format!("Invalid environment support: {}", s))), + _ => Err(ModpackError::ManifestError(format!( + "Invalid environment support: {}", + s + ))), } } } @@ -228,3 +288,195 @@ impl Default for ModpackEnv { Self::Optional } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn parse_simple() -> Result<(), ModpackError> { + const PACK_JSON: &'static str = r#" + { + "formatVersion": 1, + "game": "minecraft", + "versionId": "deadbeef", + "name": "Example Pack", + "files": [], + "dependencies": { + "minecraft": "1.17.1" + } + } + "#; + let expected_manifest = Manifest { + format_version: 1, + game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Vanilla), + version_id: String::from("deadbeef"), + name: String::from("Example Pack"), + summary: None, + files: Vec::new(), + }; + let manifest_json: serde_json::Value = + serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); + let manifest = Manifest::try_from(manifest_json)?; + + assert_eq!(expected_manifest, manifest); + Ok(()) + } + + #[test] + fn parse_forge() -> Result<(), ModpackError> { + const PACK_JSON: &'static str = r#" + { + "formatVersion": 1, + "game": "minecraft", + "versionId": "deadbeef", + "name": "Example Pack", + "files": [ + { + "path": "mods/testmod.jar", + "hashes": { + "sha1": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + "downloads": [ + "https://example.com/testmod.jar" + ] + } + ], + "dependencies": { + "minecraft": "1.17.1", + "forge": "37.0.110" + } + } + "#; + + let expected_manifest = Manifest { + format_version: 1, + game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Forge), + version_id: String::from("deadbeef"), + name: String::from("Example Pack"), + summary: None, + files: vec![ModpackFile::new( + Path::new("mods/testmod.jar"), + ModpackFileHashes { + sha1: String::from("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + }, + None, + &[String::from("https://example.com/testmod.jar")], + )?], + }; + + let manifest_json: serde_json::Value = + serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); + let manifest = Manifest::try_from(manifest_json)?; + + assert_eq!(expected_manifest, manifest); + Ok(()) + } + + #[test] + fn parse_fabric() -> Result<(), ModpackError> { + const PACK_JSON: &'static str = r#" + { + "formatVersion": 1, + "game": "minecraft", + "versionId": "deadbeef", + "name": "Example Pack", + "files": [ + { + "path": "mods/testmod.jar", + "hashes": { + "sha1": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + "downloads": [ + "https://example.com/testmod.jar" + ] + } + ], + "dependencies": { + "minecraft": "1.17.1", + "fabric-loader": "0.9.0" + } + } + "#; + + let expected_manifest = Manifest { + format_version: 1, + game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Fabric), + version_id: String::from("deadbeef"), + name: String::from("Example Pack"), + summary: None, + files: vec![ModpackFile::new( + Path::new("mods/testmod.jar"), + ModpackFileHashes { + sha1: String::from("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + }, + None, + &[String::from("https://example.com/testmod.jar")], + )?], + }; + + let manifest_json: serde_json::Value = + serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); + let manifest = Manifest::try_from(manifest_json)?; + + assert_eq!(expected_manifest, manifest); + Ok(()) + } + + #[test] + fn parse_complete() -> Result<(), ModpackError> { + const PACK_JSON: &'static str = r#" + { + "formatVersion": 1, + "game": "minecraft", + "versionId": "deadbeef", + "name": "Example Pack", + "summary": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.", + "files": [ + { + "path": "mods/testmod.jar", + "hashes": { + "sha1": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + }, + "env": { + "client": "required", + "server": "unsupported" + }, + "downloads": [ + "https://example.com/testmod.jar" + ] + } + ], + "dependencies": { + "minecraft": "1.17.1", + "forge": "37.0.110" + } + } + "#; + + let expected_manifest = Manifest { + format_version: 1, + game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Forge), + version_id: String::from("deadbeef"), + name: String::from("Example Pack"), + summary: Some(String::from("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")), + files: vec![ + ModpackFile::new( + Path::new("mods/testmod.jar"), + ModpackFileHashes { + sha1: String::from("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + }, + Some([ ModpackEnv::Required, ModpackEnv::Unsupported ]), + &[ String::from("https://example.com/testmod.jar") ], + )? + ], + }; + + let manifest_json: serde_json::Value = + serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); + let manifest = Manifest::try_from(manifest_json)?; + + assert_eq!(expected_manifest, manifest); + Ok(()) + } +} diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index a31881755..f463fc921 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -1,12 +1,15 @@ //! Provides utilties for downloading and parsing modpacks -use std::{convert::TryFrom, io, path::Path}; +use daedalus::download_file; use fs_extra::dir::CopyOptions; +use std::{borrow::Borrow, convert::TryFrom, env, io, path::Path}; use tokio::fs; +use uuid::Uuid; +use zip::ZipArchive; use self::manifest::Manifest; -mod manifest; +pub mod manifest; pub const MANIFEST_PATH: &'static str = "index.json"; pub const OVERRIDES_PATH: &'static str = "overrides/"; @@ -19,6 +22,12 @@ pub enum ModpackError { #[error("I/O error while reading modpack: {0}")] FSExtraError(#[from] fs_extra::error::Error), + #[error("Error extracting archive: {0}")] + ZipError(#[from] zip::result::ZipError), + + #[error("Invalid modpack format: {0}")] + FormatError(String), + #[error("Invalid output directory: {0}")] InvalidDirectory(String), @@ -35,13 +44,44 @@ pub enum ModpackError { JoinError(#[from] tokio::task::JoinError), } +/// Realise a modpack from a given URL +pub async fn fetch_modpack( + url: &str, + sha1: Option<&str>, + dest: &Path, + side: manifest::ModpackSide, +) -> Result<(), ModpackError> { + let bytes = download_file(url, sha1).await?; + let mut archive = ZipArchive::new(io::Cursor::new(&bytes as &[u8]))?; + realise_modpack_zip(&mut archive, dest, side).await +} + +/// Realise a given modpack from a zip archive +pub async fn realise_modpack_zip( + archive: &mut ZipArchive, + dest: &Path, + side: manifest::ModpackSide, +) -> Result<(), ModpackError> { + let tmp = env::temp_dir().join(format!("theseus-{}/", Uuid::new_v4())); + archive.extract(&tmp)?; + realise_modpack(&tmp, dest, side).await +} + /// Realise a given modpack into an instance -pub async fn realise_modpack(dir: &Path, dest: &Path, side: &manifest::ModpackSide) -> Result<(), ModpackError> { +pub async fn realise_modpack( + dir: &Path, + dest: &Path, + side: manifest::ModpackSide, +) -> Result<(), ModpackError> { if dest.is_file() { - return Err(ModpackError::InvalidDirectory(String::from("Output is not a directory"))); + return Err(ModpackError::InvalidDirectory(String::from( + "Output is not a directory", + ))); } if dest.exists() && std::fs::read_dir(dest).map_or(false, |it| it.count() != 0) { - return Err(ModpackError::InvalidDirectory(String::from("Output directory is non-empty"))); + return Err(ModpackError::InvalidDirectory(String::from( + "Output directory is non-empty", + ))); } if !dest.exists() { fs::create_dir_all(dest).await?; @@ -57,9 +97,12 @@ pub async fn realise_modpack(dir: &Path, dest: &Path, side: &manifest::ModpackSi // NOTE: I'm using standard files here, since Serde does not support async readers let manifest_path = Some(dir.join(MANIFEST_PATH)) .filter(|it| it.exists() && it.is_file()) - .ok_or(ModpackError::ManifestError(String::from("Manifest missing or is not a file")))?; + .ok_or(ModpackError::ManifestError(String::from( + "Manifest missing or is not a file", + )))?; let manifest_file = std::fs::File::open(manifest_path)?; - let manifest_json: serde_json::Value = serde_json::from_reader(io::BufReader::new(manifest_file))?; + let manifest_json: serde_json::Value = + serde_json::from_reader(io::BufReader::new(manifest_file))?; let manifest = Manifest::try_from(manifest_json)?; // Realise manifest From fe3581756ffdcb40693deb91c53233de83c5023e Mon Sep 17 00:00:00 2001 From: Daniel Hutzley Date: Wed, 1 Dec 2021 21:06:31 -0800 Subject: [PATCH 009/231] Complete refactor of modpacks, add modpack serialization --- Cargo.lock | 73 ++-- theseus/examples/download-pack.rs | 2 +- theseus/src/modpack/manifest.rs | 601 ++++++++++++++---------------- theseus/src/modpack/mod.rs | 36 +- theseus/src/modpack/pack.rs | 106 ++++++ 5 files changed, 446 insertions(+), 372 deletions(-) create mode 100644 theseus/src/modpack/pack.rs diff --git a/Cargo.lock b/Cargo.lock index ff5ce47f3..c1b51820a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -147,9 +147,9 @@ checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" [[package]] name = "crc32fast" -version = "1.2.1" +version = "1.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +checksum = "3825b1e8580894917dc4468cb634a1b4e9745fddc854edad72d9c04644c0319f" dependencies = [ "cfg-if", ] @@ -230,9 +230,9 @@ checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" [[package]] name = "futures" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" +checksum = "8cd0210d8c325c245ff06fd95a3b13689a1a276ac8cfa8e8720cb840bfb84b9e" dependencies = [ "futures-channel", "futures-core", @@ -245,9 +245,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" +checksum = "7fc8cd39e3dbf865f7340dce6a2d401d24fd37c6fe6c4f0ee0de8bfca2252d27" dependencies = [ "futures-core", "futures-sink", @@ -255,15 +255,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" +checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445" [[package]] name = "futures-executor" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" +checksum = "7b808bf53348a36cab739d7e04755909b9fcaaa69b7d7e588b37b6ec62704c97" dependencies = [ "futures-core", "futures-task", @@ -272,18 +272,16 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" +checksum = "e481354db6b5c353246ccf6a728b0c5511d752c08da7260546fc0933869daa11" [[package]] name = "futures-macro" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" +checksum = "a89f17b21645bc4ed773c69af9c9a0effd4a3f1a3876eadd453469f8854e7fdd" dependencies = [ - "autocfg", - "proc-macro-hack", "proc-macro2", "quote", "syn", @@ -291,23 +289,22 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" +checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af" [[package]] name = "futures-task" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" +checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12" [[package]] name = "futures-util" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" +checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e" dependencies = [ - "autocfg", "futures-channel", "futures-core", "futures-io", @@ -317,8 +314,6 @@ dependencies = [ "memchr", "pin-project-lite", "pin-utils", - "proc-macro-hack", - "proc-macro-nested", "slab", ] @@ -506,9 +501,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.107" +version = "0.2.108" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbe5e23404da5b4f555ef85ebed98fb4083e55a00c317800bc2a50ede9f3d219" +checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" [[package]] name = "lock_api" @@ -734,18 +729,6 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" -[[package]] -name = "proc-macro-hack" -version = "0.5.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" - -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - [[package]] name = "proc-macro2" version = "1.0.32" @@ -876,9 +859,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" [[package]] name = "schannel" @@ -941,9 +924,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "063bf466a64011ac24040a49009724ee60a57da1b437617ceb32e53ad61bfb19" +checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ "itoa", "ryu", @@ -1001,9 +984,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" +checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" dependencies = [ "proc-macro2", "quote", diff --git a/theseus/examples/download-pack.rs b/theseus/examples/download-pack.rs index e41f15fe7..084bb44c8 100644 --- a/theseus/examples/download-pack.rs +++ b/theseus/examples/download-pack.rs @@ -1,7 +1,7 @@ use std::{path::PathBuf, time::Instant}; use argh::FromArgs; -use theseus::modpack::{fetch_modpack, manifest::ModpackSide}; +use theseus::modpack::{fetch_modpack, pack::ModpackSide}; #[derive(FromArgs)] /// Simple modpack download diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index 448311bfa..4e6973162 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -1,291 +1,266 @@ -use std::{ - convert::TryFrom, - path::{Path, PathBuf}, - str::FromStr, -}; +use std::path::{Path, PathBuf}; -use daedalus::download_file_mirrors; -use futures::future; -use tokio::fs; +use std::convert::TryFrom; use crate::launcher::ModLoader; -use super::ModpackError; +use super::pack::ModpackGame; +use super::{pack, ModpackError, ModpackResult}; +use daedalus::modded::LoaderType; +use serde::{Deserialize, Serialize}; -#[derive(Debug, Clone, PartialEq)] -pub struct Manifest { - format_version: u64, - game: ModpackGame, - version_id: String, +pub const DEFAULT_FORMAT_VERSION: u32 = 1; - name: String, - summary: Option, - - files: Vec, +#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[serde(rename_all = "camelCase")] +pub struct Manifest<'a> { + pub format_version: u32, + pub game: &'a str, + pub version_id: &'a str, + pub name: &'a str, + #[serde(borrow)] + pub summary: Option<&'a str>, + pub files: Vec>, + pub dependencies: ManifestDeps<'a>, } -impl Manifest { - /// Download a modpack's files for a given side to a given destination - /// Assumes the destination exists and is a directory - pub async fn download_files(&self, dest: &Path, side: ModpackSide) -> Result<(), ModpackError> { - let handles = self.files.clone().into_iter().map(move |file| { - let (dest, side) = (dest.to_owned(), side); - tokio::spawn(async move { file.fetch(&dest, side).await }) - }); - future::try_join_all(handles) - .await? - .into_iter() - .collect::>()?; - - // TODO Integrate instance format to save other metadata - Ok(()) - } -} - -fn try_get<'r, F, T>( - manifest: &'r serde_json::Map, - field: &str, - caster: F, -) -> Result -where - F: Fn(&'r serde_json::Value) -> Option, -{ - manifest - .get(field) - .and_then(caster) - .ok_or(ModpackError::ManifestError(format!( - "Invalid or missing field: {}", - field - ))) -} - -impl TryFrom for Manifest { +impl TryFrom> for pack::Modpack { type Error = ModpackError; - fn try_from(value: serde_json::Value) -> Result { - use ModpackError::ManifestError; - - let value = value.as_object().ok_or(ManifestError(String::from( - "Manifest is not a JSON object!", - )))?; - - let game = ModpackGame::new( - try_get(value, "game", serde_json::Value::as_str)?, - try_get(value, "dependencies", serde_json::Value::as_object)?, - )?; - - let files = try_get(value, "files", serde_json::Value::as_array)? - .iter() - .map(|it| -> Result { - let file = it - .as_object() - .ok_or(ManifestError(String::from("Malformed file: not an object")))?; - - let path = Path::new(try_get(file, "path", serde_json::Value::as_str)?); - let hashes = ModpackFileHashes::try_from(try_get( - file, - "hashes", - serde_json::Value::as_object, - )?)?; - let downloads = try_get(file, "downloads", serde_json::Value::as_array)? - .iter() - .map(serde_json::Value::as_str) - .map(|it| it.map(String::from)) - .collect::>>() - .ok_or(ManifestError(format!( - "Invalid source for path {}", - path.to_str().unwrap_or("?") - )))?; - let env: Option<[ModpackEnv; 2]> = if let Some(env) = file.get("env") { - if !env.is_object() { - return Err(ManifestError(String::from( - "Env is provided, but is not an object!", - ))); - } - Some([ - ModpackEnv::from_str( - env.get("client") - .and_then(serde_json::Value::as_str) - .unwrap_or_default(), - )?, - ModpackEnv::from_str( - env.get("server") - .and_then(serde_json::Value::as_str) - .unwrap_or_default(), - )?, - ]) - } else { - None - }; - - ModpackFile::new(path, hashes, env, &downloads) - }) - .collect::, ModpackError>>()?; + fn try_from(manifest: Manifest<'_>) -> Result { + let files = manifest + .files + .into_iter() + .map(pack::ModpackFile::try_from) + .collect::>>()?; Ok(Self { - format_version: try_get(value, "formatVersion", serde_json::Value::as_u64)?, - game, - version_id: String::from(try_get(value, "versionId", serde_json::Value::as_str)?), - name: String::from(try_get(value, "name", serde_json::Value::as_str)?), - summary: value - .get("summary") - .and_then(serde_json::Value::as_str) - .map(String::from), + name: String::from(manifest.name), + version: String::from(manifest.version_id), + summary: manifest.summary.map(String::from), + game: ModpackGame::from(manifest.dependencies), files, }) } } -#[derive(Debug, Clone, PartialEq)] -pub enum ModpackGame { - // TODO: Currently, the launcher does not support specifying mod loader versions, so I just - // store the loader here. - Minecraft(String, ModLoader), +const MODRINTH_GAMEDATA_URL: &'static str = "https://staging-cdn.modrinth.com/gamedata"; +fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult { + let source = match loader { + ModLoader::Vanilla => Err(ModpackError::VersionError(String::from( + "Attempted to get mod loader version of Vanilla", + ))), + ModLoader::Forge => Ok(format!("{}/forge/v0/manifest.json", MODRINTH_GAMEDATA_URL)), + ModLoader::Fabric => Ok(format!("{}/fabric/v0/manifest.json", MODRINTH_GAMEDATA_URL)), + }?; + let manifest = futures::executor::block_on(daedalus::modded::fetch_manifest(&source))?; + + Ok(manifest + .game_versions + .iter() + .find(|&it| it.id == version) + .ok_or(ModpackError::VersionError(format!( + "No versions of {:?} exist for Minecraft {}", + loader, version + )))? + .loaders[&LoaderType::Latest] + .id + .clone()) } -impl ModpackGame { - pub fn new( - game: &str, - deps: &serde_json::Map, - ) -> Result { - match game { - "minecraft" => { - let game_version = String::from( - deps.get("minecraft") - .ok_or(ModpackError::ManifestError(String::from( - "No version of minecraft given", - )))? - .as_str() - .unwrap(), - ); - - // TODO: See comment in ModpackGame, this code was designed specifically to be - // easily adapted for versioned modloaders - let loader = if let Some(_) = deps.get("fabric-loader") { - ModLoader::Fabric - } else if let Some(_) = deps.get("forge") { - ModLoader::Forge - } else { - ModLoader::Vanilla - }; - - Ok(ModpackGame::Minecraft(game_version, loader)) - } - _ => Err(ModpackError::ManifestError(format!( - "Invalid game: {}", - game - ))), - } - } -} - -#[derive(Debug, Clone, PartialEq)] -pub struct ModpackFile { - path: PathBuf, - hashes: ModpackFileHashes, - envs: Option<[ModpackEnv; 2]>, - downloads: Vec, -} - -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum ModpackSide { - Client = 0, - Server = 1, -} - -impl ModpackFile { - pub fn new( - path: &Path, - hashes: ModpackFileHashes, - envs: Option<[ModpackEnv; 2]>, - downloads: &[String], - ) -> Result { - if path.is_dir() { - return Err(ModpackError::ManifestError(format!( - "Modpack file {} is a directory!", - path.to_str().unwrap_or("?") - ))); - } - - Ok(Self { - path: PathBuf::from(path), - hashes, - envs, - downloads: Vec::from(downloads), - }) - } - - pub async fn fetch(&self, dest: &Path, side: ModpackSide) -> Result<(), ModpackError> { - if let Some(envs) = &self.envs { - if envs[side as usize] == ModpackEnv::Unsupported - || envs[(side as usize + 1) % 2] == ModpackEnv::Required - { - return Ok(()); - } - } - - let output = dest.join(&self.path); - - // HACK: Since Daedalus appends a file name to all mirrors and the manifest supplies full - // URLs, I'm supplying it with an empty string to avoid reinventing the wheel. - let bytes = download_file_mirrors( - "", - &self - .downloads - .iter() - .map(|it| it.as_str()) - .collect::>() - .as_slice(), - Some(&self.hashes.sha1), - ) - .await?; - fs::create_dir_all(output.parent().unwrap()).await?; - fs::write(output, bytes).await?; - Ok(()) - } -} - -#[derive(Debug, Clone, PartialEq)] -pub struct ModpackFileHashes { - sha1: String, -} - -impl TryFrom<&serde_json::Map> for ModpackFileHashes { +impl<'a> TryFrom<&'a pack::Modpack> for Manifest<'a> { type Error = ModpackError; - fn try_from(value: &serde_json::Map) -> Result { - let sha1 = String::from(try_get(&value, "sha1", serde_json::Value::as_str)?); - Ok(Self { sha1 }) + fn try_from(pack: &'a pack::Modpack) -> Result { + let game_field: &'a str = match pack.game { + ModpackGame::Minecraft(..) => "minecraft", + }; + + let files = pack + .files + .iter() + .map(ManifestFile::from) + .collect::>(); + + Ok(Manifest { + format_version: DEFAULT_FORMAT_VERSION, + game: game_field, + version_id: &pack.version, + name: &pack.name, + summary: pack.summary.as_ref().map(String::as_str), + files, + dependencies: ManifestDeps::try_from(&pack.game)?, + }) } } -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum ModpackEnv { +#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[serde(rename_all = "camelCase")] +pub struct ManifestFile<'a> { + #[serde(borrow)] + pub path: &'a Path, + pub hashes: ManifestHashes<'a>, + #[serde(default)] + pub env: ManifestEnvs, + #[serde(borrow)] + pub downloads: Vec<&'a str>, +} + +impl TryFrom> for pack::ModpackFile { + type Error = ModpackError; + + fn try_from(file: ManifestFile<'_>) -> Result { + Ok(Self { + path: PathBuf::from(file.path), + hashes: pack::ModpackFileHashes::from(file.hashes), + env: pack::ModpackEnv::try_from(file.env)?, + downloads: file.downloads.into_iter().map(ToOwned::to_owned).collect(), + }) + } +} + +impl<'a> From<&'a pack::ModpackFile> for ManifestFile<'a> { + fn from(file: &'a pack::ModpackFile) -> Self { + Self { + path: file.path.as_path(), + hashes: (&file.hashes).into(), + env: file.env.into(), + downloads: file + .downloads + .iter() + .map(String::as_str) + .collect::>(), + } + } +} + +#[derive(Debug, Deserialize, Serialize, PartialEq)] +pub struct ManifestHashes<'a> { + pub sha1: &'a str, +} + +impl From> for pack::ModpackFileHashes { + fn from(hashes: ManifestHashes<'_>) -> Self { + Self { + sha1: String::from(hashes.sha1), + } + } +} + +impl<'a> From<&'a pack::ModpackFileHashes> for ManifestHashes<'a> { + fn from(hashes: &'a pack::ModpackFileHashes) -> Self { + Self { sha1: &hashes.sha1 } + } +} + +#[derive(Debug, Deserialize, Serialize, PartialEq)] +pub struct ManifestEnvs { + pub client: ManifestEnv, + pub server: ManifestEnv, +} + +impl Default for ManifestEnvs { + fn default() -> Self { + Self { + client: ManifestEnv::Optional, + server: ManifestEnv::Optional, + } + } +} + +#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)] +#[serde(rename_all = "lowercase")] +pub enum ManifestEnv { Required, Optional, Unsupported, } -impl FromStr for ModpackEnv { - type Err = ModpackError; +impl TryFrom for pack::ModpackEnv { + type Error = ModpackError; - fn from_str(s: &str) -> Result { - use ModpackEnv::*; - match s { - "required" => Ok(Required), - "optional" => Ok(Optional), - "unsupported" => Ok(Unsupported), - _ => Err(ModpackError::ManifestError(format!( - "Invalid environment support: {}", - s + fn try_from(envs: ManifestEnvs) -> Result { + use ManifestEnv::*; + + match (envs.client, envs.server) { + (Required, Unsupported) => Ok(Self::ClientOnly), + (Unsupported, Required) => Ok(Self::ServerOnly), + (Optional, Optional) => Ok(Self::Both), + _ => Err(ModpackError::FormatError(format!( + "Invalid environment specification: {:?}", + envs ))), } } } -impl Default for ModpackEnv { - fn default() -> Self { - Self::Optional +impl From for ManifestEnvs { + fn from(envs: pack::ModpackEnv) -> Self { + use super::pack::ModpackEnv::*; + + let (client, server) = match envs { + ClientOnly => (ManifestEnv::Required, ManifestEnv::Unsupported), + ServerOnly => (ManifestEnv::Unsupported, ManifestEnv::Required), + Both => (ManifestEnv::Optional, ManifestEnv::Optional), + }; + + Self { client, server } + } +} + +#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[serde(untagged)] +// HACK: I've tried for hours to get this working zero-copy, but I'm beat. If someone else wants to +// go through the # { + MinecraftFabric { + minecraft: &'a str, + #[serde(rename = "fabric-loader")] + fabric_loader: String, + }, + MinecraftForge { + minecraft: &'a str, + forge: String, + }, + MinecraftVanilla { + minecraft: &'a str, + }, +} + +impl From> for pack::ModpackGame { + fn from(deps: ManifestDeps<'_>) -> Self { + use ManifestDeps::*; + + match deps { + MinecraftVanilla { minecraft } => { + Self::Minecraft(String::from(minecraft), ModLoader::Vanilla) + } + MinecraftFabric { minecraft, .. } => { + Self::Minecraft(String::from(minecraft), ModLoader::Fabric) + } + MinecraftForge { minecraft, .. } => { + Self::Minecraft(String::from(minecraft), ModLoader::Forge) + } + } + } +} + +impl<'a> TryFrom<&'a pack::ModpackGame> for ManifestDeps<'a> { + type Error = ModpackError; + + fn try_from(game: &'a pack::ModpackGame) -> Result { + use super::pack::ModpackGame::*; + Ok(match game { + Minecraft(ref ver, ModLoader::Vanilla) => Self::MinecraftVanilla { minecraft: ver }, + Minecraft(ref ver, loader @ ModLoader::Fabric) => Self::MinecraftFabric { + minecraft: ver, + fabric_loader: get_loader_version(*loader, ver)?, + }, + Minecraft(ref ver, loader @ ModLoader::Forge) => Self::MinecraftForge { + minecraft: ver, + forge: get_loader_version(*loader, ver)?, + }, + }) } } @@ -294,7 +269,7 @@ mod tests { use super::*; #[test] - fn parse_simple() -> Result<(), ModpackError> { + fn parse_simple() -> ModpackResult<()> { const PACK_JSON: &'static str = r#" { "formatVersion": 1, @@ -309,22 +284,23 @@ mod tests { "#; let expected_manifest = Manifest { format_version: 1, - game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Vanilla), - version_id: String::from("deadbeef"), - name: String::from("Example Pack"), + game: "minecraft", + version_id: "deadbeef", + name: "Example Pack", summary: None, files: Vec::new(), + dependencies: ManifestDeps::MinecraftVanilla { + minecraft: "1.17.1", + }, }; - let manifest_json: serde_json::Value = - serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); - let manifest = Manifest::try_from(manifest_json)?; + let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); assert_eq!(expected_manifest, manifest); Ok(()) } #[test] - fn parse_forge() -> Result<(), ModpackError> { + fn parse_forge() -> ModpackResult<()> { const PACK_JSON: &'static str = r#" { "formatVersion": 1, @@ -348,33 +324,33 @@ mod tests { } } "#; - let expected_manifest = Manifest { format_version: 1, - game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Forge), - version_id: String::from("deadbeef"), - name: String::from("Example Pack"), + game: "minecraft", + version_id: "deadbeef", + name: "Example Pack", summary: None, - files: vec![ModpackFile::new( - Path::new("mods/testmod.jar"), - ModpackFileHashes { - sha1: String::from("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + files: vec![ManifestFile { + path: Path::new("mods/testmod.jar"), + hashes: ManifestHashes { + sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", }, - None, - &[String::from("https://example.com/testmod.jar")], - )?], + env: ManifestEnvs::default(), + downloads: vec!["https://example.com/testmod.jar"], + }], + dependencies: ManifestDeps::MinecraftForge { + minecraft: "1.17.1", + forge: String::from("37.0.110"), + }, }; - - let manifest_json: serde_json::Value = - serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); - let manifest = Manifest::try_from(manifest_json)?; + let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); assert_eq!(expected_manifest, manifest); Ok(()) } #[test] - fn parse_fabric() -> Result<(), ModpackError> { + fn parse_fabric() -> ModpackResult<()> { const PACK_JSON: &'static str = r#" { "formatVersion": 1, @@ -398,33 +374,33 @@ mod tests { } } "#; - let expected_manifest = Manifest { format_version: 1, - game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Fabric), - version_id: String::from("deadbeef"), - name: String::from("Example Pack"), + game: "minecraft", + version_id: "deadbeef", + name: "Example Pack", summary: None, - files: vec![ModpackFile::new( - Path::new("mods/testmod.jar"), - ModpackFileHashes { - sha1: String::from("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), + files: vec![ManifestFile { + path: Path::new("mods/testmod.jar"), + hashes: ManifestHashes { + sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", }, - None, - &[String::from("https://example.com/testmod.jar")], - )?], + env: ManifestEnvs::default(), + downloads: vec!["https://example.com/testmod.jar"], + }], + dependencies: ManifestDeps::MinecraftFabric { + minecraft: "1.17.1", + fabric_loader: String::from("0.9.0"), + }, }; - - let manifest_json: serde_json::Value = - serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); - let manifest = Manifest::try_from(manifest_json)?; + let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); assert_eq!(expected_manifest, manifest); Ok(()) } #[test] - fn parse_complete() -> Result<(), ModpackError> { + fn parse_complete() -> ModpackResult<()> { const PACK_JSON: &'static str = r#" { "formatVersion": 1, @@ -453,28 +429,29 @@ mod tests { } } "#; - let expected_manifest = Manifest { format_version: 1, - game: ModpackGame::Minecraft(String::from("1.17.1"), ModLoader::Forge), - version_id: String::from("deadbeef"), - name: String::from("Example Pack"), - summary: Some(String::from("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.")), - files: vec![ - ModpackFile::new( - Path::new("mods/testmod.jar"), - ModpackFileHashes { - sha1: String::from("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"), - }, - Some([ ModpackEnv::Required, ModpackEnv::Unsupported ]), - &[ String::from("https://example.com/testmod.jar") ], - )? - ], + game: "minecraft", + version_id: "deadbeef", + name: "Example Pack", + summary: Some("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."), + files: vec![ManifestFile { + path: Path::new("mods/testmod.jar"), + hashes: ManifestHashes { + sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + }, + env: ManifestEnvs { + client: ManifestEnv::Required, + server: ManifestEnv::Unsupported, + }, + downloads: vec!["https://example.com/testmod.jar"], + }], + dependencies: ManifestDeps::MinecraftForge { + minecraft: "1.17.1", + forge: String::from("37.0.110"), + }, }; - - let manifest_json: serde_json::Value = - serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); - let manifest = Manifest::try_from(manifest_json)?; + let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); assert_eq!(expected_manifest, manifest); Ok(()) diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index f463fc921..3002737ac 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -2,14 +2,16 @@ use daedalus::download_file; use fs_extra::dir::CopyOptions; -use std::{borrow::Borrow, convert::TryFrom, env, io, path::Path}; +use serde::Deserialize; +use std::{convert::TryFrom, env, io, path::Path}; use tokio::fs; use uuid::Uuid; use zip::ZipArchive; -use self::manifest::Manifest; +use self::{manifest::Manifest, pack::Modpack}; -pub mod manifest; +pub mod pack; +mod manifest; pub const MANIFEST_PATH: &'static str = "index.json"; pub const OVERRIDES_PATH: &'static str = "overrides/"; @@ -42,15 +44,20 @@ pub enum ModpackError { #[error("Error joining futures: {0}")] JoinError(#[from] tokio::task::JoinError), + + #[error("Error fetching modloader version: {0}")] + VersionError(String), } +type ModpackResult = Result; + /// Realise a modpack from a given URL pub async fn fetch_modpack( url: &str, sha1: Option<&str>, dest: &Path, - side: manifest::ModpackSide, -) -> Result<(), ModpackError> { + side: pack::ModpackSide, +) -> ModpackResult<()> { let bytes = download_file(url, sha1).await?; let mut archive = ZipArchive::new(io::Cursor::new(&bytes as &[u8]))?; realise_modpack_zip(&mut archive, dest, side).await @@ -60,8 +67,8 @@ pub async fn fetch_modpack( pub async fn realise_modpack_zip( archive: &mut ZipArchive, dest: &Path, - side: manifest::ModpackSide, -) -> Result<(), ModpackError> { + side: pack::ModpackSide, +) -> ModpackResult<()> { let tmp = env::temp_dir().join(format!("theseus-{}/", Uuid::new_v4())); archive.extract(&tmp)?; realise_modpack(&tmp, dest, side).await @@ -71,8 +78,8 @@ pub async fn realise_modpack_zip( pub async fn realise_modpack( dir: &Path, dest: &Path, - side: manifest::ModpackSide, -) -> Result<(), ModpackError> { + side: pack::ModpackSide, +) -> ModpackResult<()> { if dest.is_file() { return Err(ModpackError::InvalidDirectory(String::from( "Output is not a directory", @@ -101,11 +108,12 @@ pub async fn realise_modpack( "Manifest missing or is not a file", )))?; let manifest_file = std::fs::File::open(manifest_path)?; - let manifest_json: serde_json::Value = - serde_json::from_reader(io::BufReader::new(manifest_file))?; - let manifest = Manifest::try_from(manifest_json)?; + let reader = io::BufReader::new(manifest_file); + let mut deserializer = serde_json::Deserializer::from_reader(reader); + let manifest = Manifest::deserialize(&mut deserializer)?; + let modpack = Modpack::try_from(manifest)?; - // Realise manifest - manifest.download_files(dest, side).await?; + // Realise modpack + modpack.download_files(dest, side).await?; Ok(()) } diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs new file mode 100644 index 000000000..bd9a783e2 --- /dev/null +++ b/theseus/src/modpack/pack.rs @@ -0,0 +1,106 @@ +use std::path::{Path, PathBuf}; +use daedalus::download_file_mirrors; +use futures::future; +use tokio::fs; + +use crate::launcher::ModLoader; +use super::ModpackResult; + +#[derive(Debug, Clone, PartialEq)] +pub struct Modpack { + pub game: ModpackGame, + pub version: String, + pub name: String, + pub summary: Option, + pub files: Vec, +} + +impl Modpack { + /// Download a modpack's files for a given side to a given destination + /// Assumes the destination exists and is a directory + pub async fn download_files(&self, dest: &Path, side: ModpackSide) -> ModpackResult<()> { + let handles = self.files.iter().cloned().map(move |file| { + let (dest, side) = (dest.to_owned(), side); + tokio::spawn(async move { file.fetch(&dest, side).await }) + }); + future::try_join_all(handles) + .await? + .into_iter() + .collect::>()?; + + // TODO Integrate instance format to save other metadata + Ok(()) + } +} + +#[derive(Debug, Clone, PartialEq)] +pub enum ModpackGame { + // TODO: Currently, the launcher does not support specifying mod loader versions, so I just + // store the loader here. + Minecraft(String, ModLoader), +} + + +#[derive(Debug, Clone, PartialEq)] +pub struct ModpackFile { + pub path: PathBuf, + pub hashes: ModpackFileHashes, + pub env: ModpackEnv, + pub downloads: Vec, +} + +impl ModpackFile { + pub async fn fetch(&self, dest: &Path, side: ModpackSide) -> ModpackResult<()> { + if !self.env.supports(side) { + return Ok(()); + } + + let output = dest.join(&self.path); + + // HACK: Since Daedalus appends a file name to all mirrors and the manifest supplies full + // URLs, I'm supplying it with an empty string to avoid reinventing the wheel. + let bytes = download_file_mirrors( + "", + &self + .downloads + .iter() + .map(|it| it.as_str()) + .collect::>() + .as_slice(), + Some(&self.hashes.sha1), + ) + .await?; + fs::create_dir_all(output.parent().unwrap()).await?; + fs::write(output, bytes).await?; + Ok(()) + } +} + +#[derive(Debug, Clone, Copy, PartialEq)] +pub enum ModpackEnv { + ClientOnly, + ServerOnly, + Both, +} + +impl ModpackEnv { + pub fn supports(&self, side: ModpackSide) -> bool { + match self { + Self::ClientOnly => side == ModpackSide::Client, + Self::ServerOnly => side == ModpackSide::Server, + Self::Both => true, + } + } +} + +#[derive(Debug, Clone, Copy, PartialEq)] +pub enum ModpackSide { + Client, Server, +} + + +#[derive(Debug, Clone, PartialEq)] +pub struct ModpackFileHashes { + pub sha1: String, +} + From 5ffddd6c8aa3a2c15925df635c7c9002be04f17f Mon Sep 17 00:00:00 2001 From: Daniel Hutzley Date: Sun, 5 Dec 2021 10:41:56 -0800 Subject: [PATCH 010/231] Added modpack creation and file adding --- Cargo.lock | 12 ++ theseus/Cargo.toml | 1 + theseus/src/modpack/manifest.rs | 15 +-- theseus/src/modpack/mod.rs | 8 +- theseus/src/modpack/modrinth_api.rs | 176 ++++++++++++++++++++++++++++ theseus/src/modpack/pack.rs | 152 +++++++++++++++++++++--- 6 files changed, 339 insertions(+), 25 deletions(-) create mode 100644 theseus/src/modpack/modrinth_api.rs diff --git a/Cargo.lock b/Cargo.lock index c1b51820a..87e05e039 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -46,6 +46,17 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38de00daab4eac7d753e97697066238d67ce9d7e2d823ab4f72fe14af29f3f33" +[[package]] +name = "async-trait" +version = "0.1.51" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44318e776df68115a881de9a8fd1b9e53368d7a4a5ce4cc48517da3393233a5e" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "autocfg" version = "1.0.1" @@ -1022,6 +1033,7 @@ name = "theseus" version = "0.1.0" dependencies = [ "argh", + "async-trait", "bytes", "chrono", "daedalus", diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index b6a71ea89..283d57262 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -8,6 +8,7 @@ edition = "2018" [dependencies] thiserror = "1.0" +async-trait = "0.1.51" daedalus = "0.1.6" diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index 4e6973162..dab367429 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::path::{Path, PathBuf}; use std::convert::TryFrom; @@ -11,7 +12,7 @@ use serde::{Deserialize, Serialize}; pub const DEFAULT_FORMAT_VERSION: u32 = 1; -#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] #[serde(rename_all = "camelCase")] pub struct Manifest<'a> { pub format_version: u32, @@ -32,7 +33,7 @@ impl TryFrom> for pack::Modpack { .files .into_iter() .map(pack::ModpackFile::try_from) - .collect::>>()?; + .collect::>>()?; Ok(Self { name: String::from(manifest.name), @@ -60,7 +61,7 @@ fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult .iter() .find(|&it| it.id == version) .ok_or(ModpackError::VersionError(format!( - "No versions of {:?} exist for Minecraft {}", + "No versions of modloader {:?} exist for Minecraft {}", loader, version )))? .loaders[&LoaderType::Latest] @@ -94,7 +95,7 @@ impl<'a> TryFrom<&'a pack::Modpack> for Manifest<'a> { } } -#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] #[serde(rename_all = "camelCase")] pub struct ManifestFile<'a> { #[serde(borrow)] @@ -134,7 +135,7 @@ impl<'a> From<&'a pack::ModpackFile> for ManifestFile<'a> { } } -#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)] pub struct ManifestHashes<'a> { pub sha1: &'a str, } @@ -153,7 +154,7 @@ impl<'a> From<&'a pack::ModpackFileHashes> for ManifestHashes<'a> { } } -#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)] pub struct ManifestEnvs { pub client: ManifestEnv, pub server: ManifestEnv, @@ -208,7 +209,7 @@ impl From for ManifestEnvs { } } -#[derive(Debug, Deserialize, Serialize, PartialEq)] +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] #[serde(untagged)] // HACK: I've tried for hours to get this working zero-copy, but I'm beat. If someone else wants to // go through the # = Result; diff --git a/theseus/src/modpack/modrinth_api.rs b/theseus/src/modpack/modrinth_api.rs new file mode 100644 index 000000000..bd663d9ee --- /dev/null +++ b/theseus/src/modpack/modrinth_api.rs @@ -0,0 +1,176 @@ +use std::{ + collections::HashSet, + convert::TryFrom, + path::{Path, PathBuf}, +}; + +use crate::launcher::ModLoader; + +use super::{ + manifest::{ManifestEnv, ManifestEnvs, ManifestHashes}, + pack::{ModpackEnv, ModpackFile, ModpackFileHashes, ModpackGame}, + ModpackError, ModpackResult, +}; +use async_trait::async_trait; +use bytes::Bytes; +use futures::future::try_join_all; +use serde::Deserialize; +use tokio::try_join; + +#[async_trait] +pub trait ModrinthAPI { + async fn get_latest_version( + &self, + project: &str, + channel: &str, + game: &ModpackGame, + ) -> ModpackResult>; + async fn get_version(&self, version: &str) -> ModpackResult>; +} + +#[derive(Debug)] +pub struct ModrinthV1(pub String); + +#[derive(Debug, Deserialize)] +struct ModrinthV1Project<'a> { + title: &'a str, + client_side: &'a str, + server_side: &'a str, +} + +#[derive(Debug, Deserialize)] +struct ModrinthV1ProjectVersion<'a> { + #[serde(borrow)] + dependencies: HashSet<&'a str>, + #[serde(borrow)] + game_versions: HashSet<&'a str>, + version_type: &'a str, + files: Vec>, + #[serde(borrow)] + loaders: HashSet<&'a str>, +} + +#[derive(Clone, Debug, Deserialize)] +struct ModrinthV1ProjectVersionFile<'a> { + hashes: ManifestHashes<'a>, + url: &'a str, + filename: &'a str, +} + +impl From> for ModpackFile { + fn from(file: ModrinthV1ProjectVersionFile<'_>) -> Self { + Self { + hashes: ModpackFileHashes::from(file.hashes), + downloads: { + let mut downloads: HashSet = HashSet::new(); + downloads.insert(String::from(file.url)); + downloads + }, + path: PathBuf::from(file.filename), + // WARNING: Since the sidedness of version 1 API requests is unknown, the environemnt is + // set here as both. + env: ModpackEnv::Both, + } + } +} + +#[async_trait] +impl ModrinthAPI for ModrinthV1 { + async fn get_latest_version( + &self, + project: &str, + channel: &str, + game: &ModpackGame, + ) -> ModpackResult> { + // Fetch metadata + let (project_json, versions_json): (Bytes, Bytes) = try_join!( + try_get_json(format!("{}/api/v1/mod/{}", self.0, project)), + try_get_json(format!("{}/api/v1/mod/{}/version", self.0, project)), + )?; + + let (mut project_deserializer, mut versions_deserializer) = ( + serde_json::Deserializer::from_slice(&project_json), + serde_json::Deserializer::from_slice(&versions_json), + ); + + let (project, versions) = ( + ModrinthV1Project::deserialize(&mut project_deserializer)?, + Vec::deserialize(&mut versions_deserializer)?, + ); + + let (game_version, loader) = match game { + ModpackGame::Minecraft(_, ModLoader::Vanilla) => Err(ModpackError::VersionError( + String::from("Modrinth V1 does not support vanilla projects"), + )), + ModpackGame::Minecraft(ref version, ref loader) => Ok((version, loader)), + _ => Err(ModpackError::VersionError(String::from( + "Attempted to use Modrinth API V1 to install a non-Minecraft project!", + ))), + }?; + + let version: ModrinthV1ProjectVersion = versions + .into_iter() + .find(|it: &ModrinthV1ProjectVersion| { + let loader_str = match loader { + ModLoader::Fabric => "fabric", + ModLoader::Forge => "forge", + ModLoader::Vanilla => unreachable!(), + }; + it.version_type == channel + && it.game_versions.contains(&game_version.as_str()) + && it.loaders.contains(&loader_str) + }) + .ok_or(ModpackError::VersionError(format!( + "Unable to find compatible version of mod {}", + project.title + )))?; + + // Project fields + let envs = ModpackEnv::try_from(ManifestEnvs { + client: serde_json::from_str(project.client_side)?, + server: serde_json::from_str(project.server_side)?, + })?; + + // Conversions + let files = version + .files + .iter() + .cloned() + .map(ModpackFile::from) + .collect::>(); + + let dep_futures = version.dependencies.iter().map(|it| self.get_version(&it)); + let deps = try_join_all(dep_futures) + .await? + .into_iter() + .flatten() + .collect::>(); + + Ok(files + .into_iter() + .chain(deps.into_iter()) + .map(|mut it| { + it.env = envs; + it + }) + .collect()) + } + + async fn get_version(&self, version: &str) -> ModpackResult> { + let version_json = try_get_json(format!("{}/api/v1/version/{}", self.0, version)).await?; + let mut version_deserializer = serde_json::Deserializer::from_slice(&version_json); + let version = ModrinthV1ProjectVersion::deserialize(&mut version_deserializer)?; + let base_path = PathBuf::from("mods/"); + + Ok(version + .files + .into_iter() + .map(ModpackFile::from) + .collect::>()) + } +} + +// Helpers +async fn try_get_json(url: String) -> ModpackResult { + Ok(reqwest::get(url).await?.error_for_status()?.bytes().await?) +} diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index bd9a783e2..367ea0a9e 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -1,18 +1,25 @@ -use std::path::{Path, PathBuf}; use daedalus::download_file_mirrors; use futures::future; +use std::{ + collections::HashSet, + hash::Hash, + path::{Path, PathBuf}, +}; use tokio::fs; +use super::{ + modrinth_api::{self, ModrinthV1}, + ModpackResult, +}; use crate::launcher::ModLoader; -use super::ModpackResult; -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct Modpack { pub game: ModpackGame, pub version: String, pub name: String, pub summary: Option, - pub files: Vec, + pub files: HashSet, } impl Modpack { @@ -31,22 +38,84 @@ impl Modpack { // TODO Integrate instance format to save other metadata Ok(()) } + + pub fn new(game: ModpackGame, version: &str, name: &str, summary: Option<&str>) -> Self { + Self { + game, + version: String::from(version), + name: String::from(name), + summary: summary.map(String::from), + files: HashSet::new(), + } + } + + pub async fn add_project( + &mut self, + project: &str, + base_path: &Path, + source: Option<&dyn modrinth_api::ModrinthAPI>, + channel: Option<&str>, + ) -> ModpackResult<()> { + let default_api = ModrinthV1(String::from("https://api.modrinth.com")); + let channel = channel.unwrap_or("release"); + let source = source.unwrap_or(&default_api); + + let files = source + .get_latest_version(project, channel, &self.game) + .await? + .into_iter() + .map(|mut it: ModpackFile| { + it.path = base_path.join(it.path); + it + }); + + self.files.extend(files); + Ok(()) + } + + pub async fn add_version( + &mut self, + version: &str, + base_path: &Path, + source: Option<&dyn modrinth_api::ModrinthAPI>, + ) -> ModpackResult<()> { + let default_api = ModrinthV1(String::from("https://api.modrinth.com")); + let source = source.unwrap_or(&default_api); + + let files = source + .get_version(version) + .await? + .into_iter() + .map(|mut it: ModpackFile| { + it.path = base_path.join(it.path); + it + }); + + self.files.extend(files); + Ok(()) + } } -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum ModpackGame { // TODO: Currently, the launcher does not support specifying mod loader versions, so I just // store the loader here. Minecraft(String, ModLoader), } - -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct ModpackFile { pub path: PathBuf, pub hashes: ModpackFileHashes, pub env: ModpackEnv, - pub downloads: Vec, + pub downloads: HashSet, +} + +impl Hash for ModpackFile { + fn hash(&self, state: &mut H) { + self.hashes.sha1.hash(state); + self.path.hash(state); + } } impl ModpackFile { @@ -76,13 +145,19 @@ impl ModpackFile { } } -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum ModpackEnv { ClientOnly, ServerOnly, Both, } +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ModpackSide { + Client, + Server, +} + impl ModpackEnv { pub fn supports(&self, side: ModpackSide) -> bool { match self { @@ -93,14 +168,59 @@ impl ModpackEnv { } } -#[derive(Debug, Clone, Copy, PartialEq)] -pub enum ModpackSide { - Client, Server, -} - - -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub struct ModpackFileHashes { pub sha1: String, } +#[cfg(test)] +mod tests { + use std::{ + collections::HashSet, + path::{Path, PathBuf}, + }; + + use super::*; + use crate::launcher::ModLoader; + + #[tokio::test] + async fn add_version() -> ModpackResult<()> { + const TEST_VERSION: &'static str = "TpnSObJ7"; + let mut test_pack = Modpack::new( + ModpackGame::Minecraft(String::from("1.16.5"), ModLoader::Fabric), + "0.1.0", + "Example Modpack", + None, + ); + test_pack + .add_version(TEST_VERSION, Path::new("mods/"), None) + .await?; + + assert_eq!( + test_pack, + Modpack { + game: ModpackGame::Minecraft(String::from("1.16.5"), ModLoader::Fabric), + version: String::from("0.1.0"), + name: String::from("Example Modpack"), + summary: None, + files: { + let mut files = HashSet::new(); + files.insert(ModpackFile { + path: PathBuf::from("mods/gravestones-v1.9.jar"), + hashes: ModpackFileHashes { + sha1: String::from("3f0f6d523d218460310b345be03ab3f1d294e04d"), + }, + env: ModpackEnv::Both, + downloads: { + let mut downloads = HashSet::new(); + downloads.insert(String::from("https://cdn.modrinth.com/data/ssUbhMkL/versions/v1.9/gravestones-v1.9.jar")); + downloads + } + }); + files + }, + }, + ); + Ok(()) + } +} From fc076c2e54f3975f6787d171d95f7a1ffbe0be9a Mon Sep 17 00:00:00 2001 From: Daniel Hutzley Date: Sun, 5 Dec 2021 12:20:59 -0800 Subject: [PATCH 011/231] Add modpack creation and compilation --- Cargo.lock | 142 ++++++++++++++++++++++++++++++++++++ theseus/Cargo.toml | 1 + theseus/src/launcher/mod.rs | 4 +- theseus/src/modpack/mod.rs | 70 +++++++++++++++++- theseus/src/modpack/pack.rs | 12 +-- 5 files changed, 219 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 87e05e039..d6aaabb93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -75,12 +75,39 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "block-buffer" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b" +dependencies = [ + "block-padding", + "byte-tools", + "byteorder", + "generic-array", +] + +[[package]] +name = "block-padding" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5" +dependencies = [ + "byte-tools", +] + [[package]] name = "bumpalo" version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8f1e260c3a9040a7c19a12468758f4c16f31a81a1fe087482be9570ec864bb6c" +[[package]] +name = "byte-tools" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7" + [[package]] name = "byteorder" version = "1.4.3" @@ -181,6 +208,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "digest" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" +dependencies = [ + "generic-array", +] + [[package]] name = "encoding_rs" version = "0.8.29" @@ -190,6 +226,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "fake-simd" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" + [[package]] name = "flate2" version = "1.0.22" @@ -328,6 +370,15 @@ dependencies = [ "slab", ] +[[package]] +name = "generic-array" +version = "0.12.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd" +dependencies = [ + "typenum", +] + [[package]] name = "getrandom" version = "0.2.3" @@ -504,6 +555,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "json5" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b0db21af676c1ce64250b5f40f3ce2cf27e4e47cb91ed91eb6fe9350b430c1" +dependencies = [ + "pest", + "pest_derive", + "serde", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -534,6 +596,12 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "maplit" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" + [[package]] name = "matches" version = "0.1.9" @@ -646,6 +714,12 @@ version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +[[package]] +name = "opaque-debug" +version = "0.2.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" + [[package]] name = "openssl" version = "0.10.38" @@ -716,6 +790,49 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" +[[package]] +name = "pest" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" +dependencies = [ + "ucd-trie", +] + +[[package]] +name = "pest_derive" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "833d1ae558dc601e9a60366421196a8d94bc0ac980476d0b67e1d0988d72b2d0" +dependencies = [ + "pest", + "pest_generator", +] + +[[package]] +name = "pest_generator" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99b8db626e31e5b81787b9783425769681b347011cc59471e33ea46d2ea0cf55" +dependencies = [ + "pest", + "pest_meta", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "pest_meta" +version = "2.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54be6e404f5317079812fc8f9f5279de376d8856929e21c184ecf6bbd692a11d" +dependencies = [ + "maplit", + "pest", + "sha-1", +] + [[package]] name = "pin-project-lite" version = "0.2.7" @@ -956,6 +1073,18 @@ dependencies = [ "serde", ] +[[package]] +name = "sha-1" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" +dependencies = [ + "block-buffer", + "digest", + "fake-simd", + "opaque-debug", +] + [[package]] name = "sha1" version = "0.6.0" @@ -1039,6 +1168,7 @@ dependencies = [ "daedalus", "fs_extra", "futures", + "json5", "lazy_static", "path-clean", "regex", @@ -1194,6 +1324,18 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "59547bce71d9c38b83d9c0e92b6066c4253371f15005def0c30d9657f50c7642" +[[package]] +name = "typenum" +version = "1.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" + +[[package]] +name = "ucd-trie" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" + [[package]] name = "unicode-bidi" version = "0.3.7" diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 283d57262..28eb816e9 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -15,6 +15,7 @@ daedalus = "0.1.6" reqwest = { version = "0.11", features = ["json"] } serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" +json5 = "0.4.1" chrono = { version = "0.4", features = ["serde"] } uuid = { version = "0.8", features = ["serde", "v4"] } bytes = "1" diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index 8bf104060..649918754 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -1,4 +1,5 @@ use daedalus::minecraft::{ArgumentType, VersionInfo}; +use serde::{Deserialize, Serialize}; use std::path::Path; use std::process::{Command, Stdio}; use thiserror::Error; @@ -65,7 +66,8 @@ pub async fn fetch_metadata() -> Result< Ok((game?, forge?, fabric?)) } -#[derive(Debug, Eq, PartialEq, Clone, Copy)] +#[derive(Debug, Eq, PartialEq, Clone, Copy, Deserialize, Serialize)] +#[serde(rename_all = "lowercase")] pub enum ModLoader { Vanilla, Forge, diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index f9a2f4e2c..8c3ad45da 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -4,18 +4,23 @@ use daedalus::download_file; use fs_extra::dir::CopyOptions; use serde::Deserialize; use std::{convert::TryFrom, env, io, path::Path}; -use tokio::fs; +use tokio::{fs, try_join}; use uuid::Uuid; use zip::ZipArchive; -use self::{manifest::Manifest, pack::Modpack}; +use self::{ + manifest::Manifest, + pack::{Modpack, ModpackGame}, +}; -pub mod pack; pub mod manifest; pub mod modrinth_api; +pub mod pack; +pub const COMPILED_PATH: &'static str = "compiled/"; pub const MANIFEST_PATH: &'static str = "index.json"; pub const OVERRIDES_PATH: &'static str = "overrides/"; +pub const PACK_JSON5_PATH: &'static str = "modpack.json5"; #[derive(thiserror::Error, Debug)] pub enum ModpackError { @@ -43,6 +48,9 @@ pub enum ModpackError { #[error("Error parsing json: {0}")] JsonError(#[from] serde_json::Error), + #[error("Error parsing json5: {0}")] + Json5Error(#[from] json5::Error), + #[error("Error joining futures: {0}")] JoinError(#[from] tokio::task::JoinError), @@ -50,7 +58,7 @@ pub enum ModpackError { VersionError(String), #[error("Error downloading file: {0}")] - FetchError(#[from] reqwest::Error) + FetchError(#[from] reqwest::Error), } type ModpackResult = Result; @@ -121,3 +129,57 @@ pub async fn realise_modpack( modpack.download_files(dest, side).await?; Ok(()) } + +pub fn to_pack_json5(pack: &Modpack) -> ModpackResult { + let json5 = json5::to_string(pack)?; + Ok(format!("// This modpack is managed using Theseus. It can be edited using either a Theseus-compatible launcher or manually.\n{}", json5)) +} + +lazy_static::lazy_static! { + static ref PACK_GITIGNORE: String = format!(r#" + {0} + "#, COMPILED_PATH); +} + +pub async fn create_modpack( + name: &str, + game: ModpackGame, + summary: Option<&str>, +) -> ModpackResult<()> { + let output_dir = Path::new("./").join(name); + let pack = Modpack::new(game, "0.1.0", name, summary); + + try_join!( + fs::create_dir(&output_dir), + fs::create_dir(output_dir.join(OVERRIDES_PATH)), + fs::write(output_dir.join(".gitignore"), PACK_GITIGNORE.as_str()), + fs::write(output_dir.join(PACK_JSON5_PATH), to_pack_json5(&pack)?), + )?; + + Ok(()) +} + +pub async fn compile_modpack(dir: &Path) -> ModpackResult<()> { + let result_dir = dir.join(COMPILED_PATH); + let pack: Modpack = json5::from_str(&fs::read_to_string(dir.join(PACK_JSON5_PATH)).await?)?; + + if dir.join(OVERRIDES_PATH).exists() { + fs_extra::dir::copy( + dir.join(OVERRIDES_PATH), + result_dir.join(OVERRIDES_PATH), + &CopyOptions::new(), + )?; + } + let manifest = Manifest::try_from(&pack)?; + + try_join!( + fs::create_dir(&result_dir), + fs::write( + result_dir.join(MANIFEST_PATH), + serde_json::to_string(&manifest)? + ), + )?; + + Ok(()) +} + diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index 367ea0a9e..b8e726a7c 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -1,5 +1,6 @@ use daedalus::download_file_mirrors; use futures::future; +use serde::{Deserialize, Serialize}; use std::{ collections::HashSet, hash::Hash, @@ -13,7 +14,7 @@ use super::{ }; use crate::launcher::ModLoader; -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub struct Modpack { pub game: ModpackGame, pub version: String, @@ -96,14 +97,14 @@ impl Modpack { } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub enum ModpackGame { // TODO: Currently, the launcher does not support specifying mod loader versions, so I just // store the loader here. Minecraft(String, ModLoader), } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub struct ModpackFile { pub path: PathBuf, pub hashes: ModpackFileHashes, @@ -145,7 +146,8 @@ impl ModpackFile { } } -#[derive(Debug, Clone, Copy, PartialEq, Eq)] +#[derive(Debug, Deserialize, Serialize, Clone, Copy, PartialEq, Eq)] +#[serde(rename_all = "snake_case")] pub enum ModpackEnv { ClientOnly, ServerOnly, @@ -168,7 +170,7 @@ impl ModpackEnv { } } -#[derive(Debug, Clone, PartialEq, Eq)] +#[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub struct ModpackFileHashes { pub sha1: String, } From c8c69b44250f22f0db5c129d81e4ac81db8fb942 Mon Sep 17 00:00:00 2001 From: Danielle Hutzley Date: Tue, 14 Dec 2021 08:00:06 -0800 Subject: [PATCH 012/231] Add mod URL download support --- theseus/src/modpack/mod.rs | 3 +++ theseus/src/modpack/pack.rs | 38 +++++++++++++++++++++++++++++++++++-- 2 files changed, 39 insertions(+), 2 deletions(-) diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index 8c3ad45da..ba5d86ed3 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -59,6 +59,9 @@ pub enum ModpackError { #[error("Error downloading file: {0}")] FetchError(#[from] reqwest::Error), + + #[error("Invalid modpack source: {0} (set the WHITELISTED_MODPACK_DOMAINS environment variable to override)")] + SourceWhitelistError(String), } type ModpackResult = Result; diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index b8e726a7c..09079183d 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -10,10 +10,18 @@ use tokio::fs; use super::{ modrinth_api::{self, ModrinthV1}, - ModpackResult, + ModpackResult, ModpackError, }; use crate::launcher::ModLoader; +pub const MODRINTH_DEFAULT_MODPACK_DOMAINS: &'static [&'static str] = &[ + "cdn.modrinth.com", + "edge.forgecdn.net", + "github.com", + "raw.githubusercontent.com", +]; +pub const MODRINTH_MODPACK_DOMAIN_WHITELIST_VAR: &'static str = "WHITELISTED_MODPACK_DOMAINS"; + #[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub struct Modpack { pub game: ModpackGame, @@ -95,6 +103,32 @@ impl Modpack { self.files.extend(files); Ok(()) } + + pub async fn add_file(&mut self, source: reqwest::Url, dest: &Path, hashes: Option, env: Option) -> ModpackResult<()> { + let whitelisted_domains = std::env::var(MODRINTH_MODPACK_DOMAIN_WHITELIST_VAR) + .map(|it| serde_json::from_str::>(&it).ok().unwrap()) + .unwrap_or( + MODRINTH_DEFAULT_MODPACK_DOMAINS + .iter() + .cloned() + .map(String::from) + .collect::>(), + ); + + if (whitelisted_domains.iter().find(String::from(source.host_str().unwrap())).is_none()) { + return Err(ModpackError::SourceWhitelistError(String::from(source.host_str().unwrap()))); + } + + let file = ModpackFile { + path: dest, + hashes, + env: env.unwrap_or(ModpackEnv::Both), + downloads: HashSet::from([String::from(source)]) + }; + + self.files.insert(file); + Ok(()) + } } #[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] @@ -107,7 +141,7 @@ pub enum ModpackGame { #[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub struct ModpackFile { pub path: PathBuf, - pub hashes: ModpackFileHashes, + pub hashes: Option, pub env: ModpackEnv, pub downloads: HashSet, } From 3b85095f2800341ab203cd1ffce87a81679ce187 Mon Sep 17 00:00:00 2001 From: Jai A Date: Tue, 14 Dec 2021 17:35:01 -0700 Subject: [PATCH 013/231] Rename modrinth index json --- theseus/src/modpack/mod.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index ba5d86ed3..db11b8df3 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -18,7 +18,7 @@ pub mod modrinth_api; pub mod pack; pub const COMPILED_PATH: &'static str = "compiled/"; -pub const MANIFEST_PATH: &'static str = "index.json"; +pub const MANIFEST_PATH: &'static str = "modrinth.index.json"; pub const OVERRIDES_PATH: &'static str = "overrides/"; pub const PACK_JSON5_PATH: &'static str = "modpack.json5"; From 5dabfb4ea0ebc7ec067d41d281e7f6ff76f6d402 Mon Sep 17 00:00:00 2001 From: Danielle Hutzley Date: Tue, 14 Dec 2021 17:23:33 -0800 Subject: [PATCH 014/231] Fix modpacks, compile to zip --- Cargo.lock | 10 ++++++++++ theseus/Cargo.toml | 1 + theseus/src/modpack/manifest.rs | 6 +++--- theseus/src/modpack/mod.rs | 22 +++++++++++++--------- theseus/src/modpack/modrinth_api.rs | 2 +- theseus/src/modpack/pack.rs | 14 ++++++++------ 6 files changed, 36 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d6aaabb93..f163aef4d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1181,6 +1181,7 @@ dependencies = [ "tokio", "uuid", "zip", + "zip-extensions", ] [[package]] @@ -1527,3 +1528,12 @@ dependencies = [ "thiserror", "time", ] + +[[package]] +name = "zip-extensions" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a64c3c977bc3434ce2d4bcea8ad3c644672de0f2c402b72b9171ca80a8885d14" +dependencies = [ + "zip", +] diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 28eb816e9..46e076313 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -20,6 +20,7 @@ chrono = { version = "0.4", features = ["serde"] } uuid = { version = "0.8", features = ["serde", "v4"] } bytes = "1" zip = "0.5" +zip-extensions = "0.6" sha1 = { version = "0.6.0", features = ["std"]} path-clean = "0.1.0" fs_extra = "1.2.0" diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index dab367429..ef7313f4a 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -100,7 +100,7 @@ impl<'a> TryFrom<&'a pack::Modpack> for Manifest<'a> { pub struct ManifestFile<'a> { #[serde(borrow)] pub path: &'a Path, - pub hashes: ManifestHashes<'a>, + pub hashes: Option>, #[serde(default)] pub env: ManifestEnvs, #[serde(borrow)] @@ -113,7 +113,7 @@ impl TryFrom> for pack::ModpackFile { fn try_from(file: ManifestFile<'_>) -> Result { Ok(Self { path: PathBuf::from(file.path), - hashes: pack::ModpackFileHashes::from(file.hashes), + hashes: file.hashes.map(pack::ModpackFileHashes::from), env: pack::ModpackEnv::try_from(file.env)?, downloads: file.downloads.into_iter().map(ToOwned::to_owned).collect(), }) @@ -124,7 +124,7 @@ impl<'a> From<&'a pack::ModpackFile> for ManifestFile<'a> { fn from(file: &'a pack::ModpackFile) -> Self { Self { path: file.path.as_path(), - hashes: (&file.hashes).into(), + hashes: file.hashes.as_ref().map(ManifestHashes::from), env: file.env.into(), downloads: file .downloads diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index db11b8df3..cbe82b550 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -7,6 +7,7 @@ use std::{convert::TryFrom, env, io, path::Path}; use tokio::{fs, try_join}; use uuid::Uuid; use zip::ZipArchive; +use zip_extensions::ZipWriterExtensions; use self::{ manifest::Manifest, @@ -18,6 +19,7 @@ pub mod modrinth_api; pub mod pack; pub const COMPILED_PATH: &'static str = "compiled/"; +pub const COMPILED_ZIP: &'static str = "compiled.mrpack"; pub const MANIFEST_PATH: &'static str = "modrinth.index.json"; pub const OVERRIDES_PATH: &'static str = "overrides/"; pub const PACK_JSON5_PATH: &'static str = "modpack.json5"; @@ -141,7 +143,8 @@ pub fn to_pack_json5(pack: &Modpack) -> ModpackResult { lazy_static::lazy_static! { static ref PACK_GITIGNORE: String = format!(r#" {0} - "#, COMPILED_PATH); + {1} + "#, COMPILED_PATH, COMPILED_ZIP); } pub async fn create_modpack( @@ -166,6 +169,7 @@ pub async fn compile_modpack(dir: &Path) -> ModpackResult<()> { let result_dir = dir.join(COMPILED_PATH); let pack: Modpack = json5::from_str(&fs::read_to_string(dir.join(PACK_JSON5_PATH)).await?)?; + fs::create_dir(&result_dir).await; if dir.join(OVERRIDES_PATH).exists() { fs_extra::dir::copy( dir.join(OVERRIDES_PATH), @@ -174,15 +178,15 @@ pub async fn compile_modpack(dir: &Path) -> ModpackResult<()> { )?; } let manifest = Manifest::try_from(&pack)?; + fs::write( + result_dir.join(MANIFEST_PATH), + serde_json::to_string(&manifest)?, + ) + .await?; - try_join!( - fs::create_dir(&result_dir), - fs::write( - result_dir.join(MANIFEST_PATH), - serde_json::to_string(&manifest)? - ), - )?; + let result_zip = fs::File::create(dir.join(COMPILED_ZIP)).await?.into_std().await; + let mut zip = zip::ZipWriter::new(&result_zip); + zip.create_from_directory(&result_dir)?; Ok(()) } - diff --git a/theseus/src/modpack/modrinth_api.rs b/theseus/src/modpack/modrinth_api.rs index bd663d9ee..d398d59be 100644 --- a/theseus/src/modpack/modrinth_api.rs +++ b/theseus/src/modpack/modrinth_api.rs @@ -60,7 +60,7 @@ struct ModrinthV1ProjectVersionFile<'a> { impl From> for ModpackFile { fn from(file: ModrinthV1ProjectVersionFile<'_>) -> Self { Self { - hashes: ModpackFileHashes::from(file.hashes), + hashes: Some(ModpackFileHashes::from(file.hashes)), downloads: { let mut downloads: HashSet = HashSet::new(); downloads.insert(String::from(file.url)); diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index 09079183d..ebcc95922 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -4,7 +4,7 @@ use serde::{Deserialize, Serialize}; use std::{ collections::HashSet, hash::Hash, - path::{Path, PathBuf}, + path::{Path, PathBuf}, iter::FromIterator, }; use tokio::fs; @@ -115,15 +115,15 @@ impl Modpack { .collect::>(), ); - if (whitelisted_domains.iter().find(String::from(source.host_str().unwrap())).is_none()) { + if (whitelisted_domains.iter().find(|it| it == &source.host_str().unwrap()).is_none()) { return Err(ModpackError::SourceWhitelistError(String::from(source.host_str().unwrap()))); } let file = ModpackFile { - path: dest, + path: PathBuf::from(dest), hashes, env: env.unwrap_or(ModpackEnv::Both), - downloads: HashSet::from([String::from(source)]) + downloads: HashSet::from_iter([String::from(source)].into_iter().cloned()) }; self.files.insert(file); @@ -148,7 +148,9 @@ pub struct ModpackFile { impl Hash for ModpackFile { fn hash(&self, state: &mut H) { - self.hashes.sha1.hash(state); + if let Some(ref hashes) = self.hashes { + hashes.sha1.hash(state); + } self.path.hash(state); } } @@ -171,7 +173,7 @@ impl ModpackFile { .map(|it| it.as_str()) .collect::>() .as_slice(), - Some(&self.hashes.sha1), + self.hashes.as_ref().map(|it| it.sha1.as_str()), ) .await?; fs::create_dir_all(output.parent().unwrap()).await?; From e9851a8e235d1ea9f6a34821fca0927321a81c29 Mon Sep 17 00:00:00 2001 From: Jai A Date: Wed, 15 Dec 2021 22:24:08 -0700 Subject: [PATCH 015/231] Metadata state management --- .idea/runConfigurations.xml | 10 --- .idea/theseus.iml | 1 + Cargo.lock | 6 +- launcher/meta.json | 1 + theseus/Cargo.toml | 3 + theseus/src/launcher/mod.rs | 45 +++++------ theseus/src/lib.rs | 27 +++++++ theseus/src/meta.rs | 116 ++++++++++++++++++++++++++++ theseus/src/modpack/mod.rs | 5 +- theseus/src/modpack/modrinth_api.rs | 8 +- theseus/src/modpack/pack.rs | 29 +++++-- 11 files changed, 198 insertions(+), 53 deletions(-) delete mode 100644 .idea/runConfigurations.xml create mode 100644 launcher/meta.json create mode 100644 theseus/src/meta.rs diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml deleted file mode 100644 index 797acea53..000000000 --- a/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/theseus.iml b/.idea/theseus.iml index 9cd854a33..7343894ae 100644 --- a/.idea/theseus.iml +++ b/.idea/theseus.iml @@ -46,6 +46,7 @@ + diff --git a/Cargo.lock b/Cargo.lock index f163aef4d..c6dadf2f7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -710,9 +710,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.8.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "692fcb63b64b1758029e0a96ee63e049ce8c5948587f2f7208df04625e5f6b56" +checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5" [[package]] name = "opaque-debug" @@ -1170,6 +1170,8 @@ dependencies = [ "futures", "json5", "lazy_static", + "log", + "once_cell", "path-clean", "regex", "reqwest", diff --git a/launcher/meta.json b/launcher/meta.json new file mode 100644 index 000000000..cb937d877 --- /dev/null +++ b/launcher/meta.json @@ -0,0 +1 @@ +{"minecraft":{"latest":{"release":"1.18.1","snapshot":"1.18.1"},"versions":[{"id":"1.18.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b0bdc637e4c4cbf0501500cbaad5a757b04848ed/1.18.1.json","time":"2021-12-10T08:26:34Z","releaseTime":"2021-12-10T08:23:00Z","sha1":"b0bdc637e4c4cbf0501500cbaad5a757b04848ed","complianceLevel":1},{"id":"1.18.1-rc3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e93a50674f603440dfc24a96c5e2c0f379231e57/1.18.1-rc3.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-10T03:36:38Z","sha1":"e93a50674f603440dfc24a96c5e2c0f379231e57","complianceLevel":1},{"id":"1.18.1-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a22e46bd382874572e3aef9ea4e0fec81e1a8629/1.18.1-rc2.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-08T12:29:36Z","sha1":"a22e46bd382874572e3aef9ea4e0fec81e1a8629","complianceLevel":1},{"id":"1.18.1-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5861d51c313c523f91f5b88915ece4203cf9bbc5/1.18.1-rc1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-07T15:52:47Z","sha1":"5861d51c313c523f91f5b88915ece4203cf9bbc5","complianceLevel":1},{"id":"1.18.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/757c95dd306af389b9e31435b3e17aa360662627/1.18.1-pre1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-03T13:45:38Z","sha1":"757c95dd306af389b9e31435b3e17aa360662627","complianceLevel":1},{"id":"1.18","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4220b6c4c91d80e17d441bcc166e5ca3f9a77304/1.18.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-30T09:16:29Z","sha1":"4220b6c4c91d80e17d441bcc166e5ca3f9a77304","complianceLevel":1},{"id":"1.18-rc4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c256fe7acf00470ab54f3b4ca396fb1ade52d6ad/1.18-rc4.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-29T13:43:42Z","sha1":"c256fe7acf00470ab54f3b4ca396fb1ade52d6ad","complianceLevel":1},{"id":"1.18-rc3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/661cbcdc94ddf44ca2e072b1f5f13441f70b53f0/1.18-rc3.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-26T15:51:56Z","sha1":"661cbcdc94ddf44ca2e072b1f5f13441f70b53f0","complianceLevel":1},{"id":"1.18-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/21e151f7a8a1925e9a18e55736804d8ce095b1df/1.18-rc2.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-26T10:02:04Z","sha1":"21e151f7a8a1925e9a18e55736804d8ce095b1df","complianceLevel":1},{"id":"1.18-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1252eb140bd1b41ee071db8e885ccbfc1237b487/1.18-rc1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-25T14:28:49Z","sha1":"1252eb140bd1b41ee071db8e885ccbfc1237b487","complianceLevel":1},{"id":"1.18-pre8","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e40cfe9aa0a401fec87f9092a707c0b97c7ae56d/1.18-pre8.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-24T14:57:32Z","sha1":"e40cfe9aa0a401fec87f9092a707c0b97c7ae56d","complianceLevel":1},{"id":"1.18-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1d4ba1dbebf3655056ce2a7859fdc4edb928573b/1.18-pre7.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-23T16:37:41Z","sha1":"1d4ba1dbebf3655056ce2a7859fdc4edb928573b","complianceLevel":1},{"id":"1.18-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2bcc2ddc9ecc8fb524c97ce7fd2f2e04b11694b4/1.18-pre6.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-22T17:09:05Z","sha1":"2bcc2ddc9ecc8fb524c97ce7fd2f2e04b11694b4","complianceLevel":1},{"id":"1.18-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/26a29a99efb58eba40f16572e0e5b9e7e8c0b983/1.18-pre5.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-19T15:47:09Z","sha1":"26a29a99efb58eba40f16572e0e5b9e7e8c0b983","complianceLevel":1},{"id":"1.18-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a87d4691e75e273fab963e529e9eb4ff78e949b2/1.18-pre4.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-17T18:07:56Z","sha1":"a87d4691e75e273fab963e529e9eb4ff78e949b2","complianceLevel":1},{"id":"1.18-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8abac5ea86779c6aff6321ff23dd18aeb011945f/1.18-pre3.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-17T16:04:25Z","sha1":"8abac5ea86779c6aff6321ff23dd18aeb011945f","complianceLevel":1},{"id":"1.18-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d9048191dd8c25cd3d6d10152651c90f68788a29/1.18-pre2.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-16T17:04:48Z","sha1":"d9048191dd8c25cd3d6d10152651c90f68788a29","complianceLevel":1},{"id":"1.18-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0749ee515dea389c4348b6c388ecd206afe9382d/1.18-pre1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-11T16:14:06Z","sha1":"0749ee515dea389c4348b6c388ecd206afe9382d","complianceLevel":1},{"id":"21w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2269fdf7d942d50dcd12f5b244288c91ded5bff3/21w44a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-03T16:14:34Z","sha1":"2269fdf7d942d50dcd12f5b244288c91ded5bff3","complianceLevel":1},{"id":"21w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c316f9183fb1f4e5a981e0f0a318fe27b6a364c/21w43a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-27T14:38:55Z","sha1":"4c316f9183fb1f4e5a981e0f0a318fe27b6a364c","complianceLevel":1},{"id":"21w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/45ec56f42e737431e32a6eb0d59c80133f608c34/21w42a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-20T12:41:25Z","sha1":"45ec56f42e737431e32a6eb0d59c80133f608c34","complianceLevel":1},{"id":"21w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2eded0c8b2794aa7966150dfa5eccf2adb0ee88a/21w41a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-13T15:23:23Z","sha1":"2eded0c8b2794aa7966150dfa5eccf2adb0ee88a","complianceLevel":1},{"id":"21w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/56bac73a83fdd38c4f42c49d9eb6f6f8a5931e73/21w40a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-07T11:17:50Z","sha1":"56bac73a83fdd38c4f42c49d9eb6f6f8a5931e73","complianceLevel":1},{"id":"21w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e85ee59e2f9d1bee72a2462a462f51ef0a8e2f0a/21w39a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-09-29T16:27:05Z","sha1":"e85ee59e2f9d1bee72a2462a462f51ef0a8e2f0a","complianceLevel":1},{"id":"21w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9d716ebd9c2ad42d4a5992e06f13b1de32be66d1/21w38a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-09-23T14:36:06Z","sha1":"9d716ebd9c2ad42d4a5992e06f13b1de32be66d1","complianceLevel":1},{"id":"21w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b1cd844ac9306cb3447fb7930511fb2e18d92cfe/21w37a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-09-15T16:04:30Z","sha1":"b1cd844ac9306cb3447fb7930511fb2e18d92cfe","complianceLevel":1},{"id":"1.17.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/0b1d2828e58cf8eb1aac14ee588f5160bd06e77f/1.17.1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-07-06T12:01:34Z","sha1":"0b1d2828e58cf8eb1aac14ee588f5160bd06e77f","complianceLevel":1},{"id":"1.17.1-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/494152b7d3a75ff74eed4ea709461f58cebd5e0e/1.17.1-rc2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-07-05T12:58:01Z","sha1":"494152b7d3a75ff74eed4ea709461f58cebd5e0e","complianceLevel":1},{"id":"1.17.1-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3c45df2f3bffafb69c47b59ae4b7eb27e18b3403/1.17.1-rc1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-07-01T15:23:37Z","sha1":"3c45df2f3bffafb69c47b59ae4b7eb27e18b3403","complianceLevel":1},{"id":"1.17.1-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/44c1e8a2c2cb6e31e74389728055080a178d8211/1.17.1-pre3.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-30T15:43:16Z","sha1":"44c1e8a2c2cb6e31e74389728055080a178d8211","complianceLevel":1},{"id":"1.17.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f4d348da321440275351632c3a214c2a346b6535/1.17.1-pre2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-29T15:14:12Z","sha1":"f4d348da321440275351632c3a214c2a346b6535","complianceLevel":1},{"id":"1.17.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/eb9110666b1acf688ec045cfe08fab746481003c/1.17.1-pre1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-18T12:24:40Z","sha1":"eb9110666b1acf688ec045cfe08fab746481003c","complianceLevel":1},{"id":"1.17","type":"release","url":"https://launchermeta.mojang.com/v1/packages/bb6684a5a4f4ecfa8540a4c3aec0d1eab8c574c1/1.17.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-08T11:00:40Z","sha1":"bb6684a5a4f4ecfa8540a4c3aec0d1eab8c574c1","complianceLevel":1},{"id":"1.17-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a8738e73ae56391c911cf385169fc3fc2523426a/1.17-rc2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-07T11:46:28Z","sha1":"a8738e73ae56391c911cf385169fc3fc2523426a","complianceLevel":1},{"id":"1.17-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0ddb07701b1a582addd77d0ffebcf55cc80d2718/1.17-rc1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-04T13:24:48Z","sha1":"0ddb07701b1a582addd77d0ffebcf55cc80d2718","complianceLevel":1},{"id":"1.17-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3c1cef1ab781605736c3616e19e05831b2ace674/1.17-pre5.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-03T17:01:28Z","sha1":"3c1cef1ab781605736c3616e19e05831b2ace674","complianceLevel":1},{"id":"1.17-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9e9398811380eb9bfa6f8650e3ebcdc06cccf62/1.17-pre4.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-02T16:15:43Z","sha1":"a9e9398811380eb9bfa6f8650e3ebcdc06cccf62","complianceLevel":1},{"id":"1.17-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/848ba35d367aab89fe8b6e745ad14fa63298b07a/1.17-pre3.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-01T15:43:46Z","sha1":"848ba35d367aab89fe8b6e745ad14fa63298b07a","complianceLevel":1},{"id":"1.17-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/014acc696235553d02289468a0979934d38a19d0/1.17-pre2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-31T15:54:05Z","sha1":"014acc696235553d02289468a0979934d38a19d0","complianceLevel":1},{"id":"1.17-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/42cfdff6bc0309049e346ce77986264365129f94/1.17-pre1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-27T09:39:21Z","sha1":"42cfdff6bc0309049e346ce77986264365129f94","complianceLevel":1},{"id":"21w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8e231ced9cb57ef0d63211f40a7c998f4fe84390/21w20a.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-19T15:22:02Z","sha1":"8e231ced9cb57ef0d63211f40a7c998f4fe84390","complianceLevel":1},{"id":"21w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/179c77aead1636521432beca2a778cae0cb4a3e0/21w19a.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-12T11:19:15Z","sha1":"179c77aead1636521432beca2a778cae0cb4a3e0","complianceLevel":1},{"id":"21w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e48ad74660c7ac67ac8c9dd80182803d929ec8f9/21w18a.json","time":"2021-12-15T15:47:43Z","releaseTime":"2021-05-05T15:24:35Z","sha1":"e48ad74660c7ac67ac8c9dd80182803d929ec8f9","complianceLevel":1},{"id":"21w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ca57690060e8e10051c8abf38281142ce302babc/21w17a.json","time":"2021-12-15T15:47:43Z","releaseTime":"2021-04-28T13:54:05Z","sha1":"ca57690060e8e10051c8abf38281142ce302babc","complianceLevel":1},{"id":"21w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0f0e5bbe5426713d68081bfacc575394a8bdf00c/21w16a.json","time":"2021-12-15T15:47:42Z","releaseTime":"2021-04-21T16:41:14Z","sha1":"0f0e5bbe5426713d68081bfacc575394a8bdf00c","complianceLevel":1},{"id":"21w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ef5510b65fcce3962d1112ee1afc17ac7a02673f/21w15a.json","time":"2021-12-15T15:47:41Z","releaseTime":"2021-04-14T13:41:34Z","sha1":"ef5510b65fcce3962d1112ee1afc17ac7a02673f","complianceLevel":1},{"id":"21w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/07807da9dd8bd64450b861309852b64301b28322/21w14a.json","time":"2021-12-15T15:47:41Z","releaseTime":"2021-04-07T14:04:09Z","sha1":"07807da9dd8bd64450b861309852b64301b28322","complianceLevel":1},{"id":"21w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/90f13d9cadac9cb8d3db4f1505aeceda265c8263/21w13a.json","time":"2021-12-15T15:47:40Z","releaseTime":"2021-03-31T16:17:46Z","sha1":"90f13d9cadac9cb8d3db4f1505aeceda265c8263","complianceLevel":1},{"id":"21w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/557fa30a4b12359c7bc1d7d6657d838d933d880d/21w11a.json","time":"2021-12-15T15:47:39Z","releaseTime":"2021-03-17T15:05:50Z","sha1":"557fa30a4b12359c7bc1d7d6657d838d933d880d","complianceLevel":1},{"id":"21w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/193775688476392903e782b22bcfe0c0579686d2/21w10a.json","time":"2021-12-15T15:47:39Z","releaseTime":"2021-03-10T15:24:38Z","sha1":"193775688476392903e782b22bcfe0c0579686d2","complianceLevel":1},{"id":"21w08b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/640459713819e14c1cdd071087d298637d096b5b/21w08b.json","time":"2021-12-15T15:47:38Z","releaseTime":"2021-02-25T11:46:34Z","sha1":"640459713819e14c1cdd071087d298637d096b5b","complianceLevel":1},{"id":"21w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3745c385759bd02b84e9d0dc9589f1a3a4280a1e/21w08a.json","time":"2021-12-15T15:47:37Z","releaseTime":"2021-02-24T14:38:51Z","sha1":"3745c385759bd02b84e9d0dc9589f1a3a4280a1e","complianceLevel":1},{"id":"21w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d3f80518521eef8f7a4485a572d93700d48e64af/21w07a.json","time":"2021-12-15T15:47:37Z","releaseTime":"2021-02-17T16:35:40Z","sha1":"d3f80518521eef8f7a4485a572d93700d48e64af","complianceLevel":1},{"id":"21w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6849362aca934a0b0f6fcdee28e897669d584b8c/21w06a.json","time":"2021-12-15T15:47:36Z","releaseTime":"2021-02-10T17:13:54Z","sha1":"6849362aca934a0b0f6fcdee28e897669d584b8c","complianceLevel":1},{"id":"21w05b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0baa34be1033dcd65be4e9d39863579e407e2d9c/21w05b.json","time":"2021-12-15T15:47:35Z","releaseTime":"2021-02-04T15:09:29Z","sha1":"0baa34be1033dcd65be4e9d39863579e407e2d9c","complianceLevel":1},{"id":"21w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/88517a63b007670e9136169eb72ece7c662828e6/21w05a.json","time":"2021-12-15T15:47:35Z","releaseTime":"2021-02-03T15:56:54Z","sha1":"88517a63b007670e9136169eb72ece7c662828e6","complianceLevel":1},{"id":"21w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f4e7b613771f16f5e09c52664b4670e0e02fc108/21w03a.json","time":"2021-12-15T15:47:34Z","releaseTime":"2021-01-20T14:56:29Z","sha1":"f4e7b613771f16f5e09c52664b4670e0e02fc108","complianceLevel":1},{"id":"1.16.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/53d73bd5ad8ce02c6b3ec809d4720fd6fff03456/1.16.5.json","time":"2021-12-15T15:44:04Z","releaseTime":"2021-01-14T16:05:32Z","sha1":"53d73bd5ad8ce02c6b3ec809d4720fd6fff03456","complianceLevel":1},{"id":"1.16.5-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7fa9ec4ecc3216c187a03187b068b7e908a56bd3/1.16.5-rc1.json","time":"2021-12-15T15:44:59Z","releaseTime":"2021-01-13T15:58:55Z","sha1":"7fa9ec4ecc3216c187a03187b068b7e908a56bd3","complianceLevel":1},{"id":"20w51a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d16518162ad52705599196d3d4ca110b195ceb5/20w51a.json","time":"2021-12-15T15:47:33Z","releaseTime":"2020-12-16T16:27:57Z","sha1":"6d16518162ad52705599196d3d4ca110b195ceb5","complianceLevel":1},{"id":"20w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d7cb15fd5253059f1816cb65e312b6415d92cc6b/20w49a.json","time":"2021-12-15T15:47:33Z","releaseTime":"2020-12-02T16:47:20Z","sha1":"d7cb15fd5253059f1816cb65e312b6415d92cc6b","complianceLevel":1},{"id":"20w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/be3c4ad7a5c4554a530bf826a4733463f9f5c847/20w48a.json","time":"2021-12-15T15:47:32Z","releaseTime":"2020-11-25T15:42:24Z","sha1":"be3c4ad7a5c4554a530bf826a4733463f9f5c847","complianceLevel":1},{"id":"20w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6339b97403a87fb88d87caed047c8fcd0021e6ca/20w46a.json","time":"2021-12-15T15:47:32Z","releaseTime":"2020-11-11T15:30:32Z","sha1":"6339b97403a87fb88d87caed047c8fcd0021e6ca","complianceLevel":1},{"id":"20w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0ea757bb543285b5862b8bad28faeceab4763ac7/20w45a.json","time":"2021-12-15T15:47:31Z","releaseTime":"2020-11-04T16:42:00Z","sha1":"0ea757bb543285b5862b8bad28faeceab4763ac7","complianceLevel":1},{"id":"1.16.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/3015de9d239dcfe37688dae27d718eacfe03c3ef/1.16.4.json","time":"2021-12-15T15:44:03Z","releaseTime":"2020-10-29T15:49:37Z","sha1":"3015de9d239dcfe37688dae27d718eacfe03c3ef","complianceLevel":1},{"id":"1.16.4-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7db7150b3d76c21c35d67f61e669c05c8612449d/1.16.4-rc1.json","time":"2021-12-15T15:44:58Z","releaseTime":"2020-10-27T16:31:08Z","sha1":"7db7150b3d76c21c35d67f61e669c05c8612449d","complianceLevel":1},{"id":"1.16.4-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/604b7ae529384aa8efbc5ddbefa89a105822c88b/1.16.4-pre2.json","time":"2021-12-15T15:44:58Z","releaseTime":"2020-10-22T15:32:17Z","sha1":"604b7ae529384aa8efbc5ddbefa89a105822c88b","complianceLevel":0},{"id":"1.16.4-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a2690a294ecc3622607ab60d74ec9e46a5eceae/1.16.4-pre1.json","time":"2021-12-15T15:44:57Z","releaseTime":"2020-10-13T14:36:07Z","sha1":"6a2690a294ecc3622607ab60d74ec9e46a5eceae","complianceLevel":0},{"id":"1.16.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/e9702439d7e1dfbc0499f7b66f45398acafa0f2b/1.16.3.json","time":"2021-12-15T15:44:02Z","releaseTime":"2020-09-10T13:42:37Z","sha1":"e9702439d7e1dfbc0499f7b66f45398acafa0f2b","complianceLevel":0},{"id":"1.16.3-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8a1034ee5d6415b147c23dc73364db382a3400a2/1.16.3-rc1.json","time":"2021-12-15T15:44:56Z","releaseTime":"2020-09-07T12:34:06Z","sha1":"8a1034ee5d6415b147c23dc73364db382a3400a2","complianceLevel":0},{"id":"1.16.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1b7955bc3a4508288c0b71df4934fb9f9ee69ab2/1.16.2.json","time":"2021-12-15T15:44:02Z","releaseTime":"2020-08-11T10:13:46Z","sha1":"1b7955bc3a4508288c0b71df4934fb9f9ee69ab2","complianceLevel":0},{"id":"1.16.2-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/49d754bbe5a4b52573e14be4caa040358d57623b/1.16.2-rc2.json","time":"2021-12-15T15:44:56Z","releaseTime":"2020-08-10T11:43:36Z","sha1":"49d754bbe5a4b52573e14be4caa040358d57623b","complianceLevel":0},{"id":"1.16.2-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d15d9494ba8fb940021de31cd1365ae01b8f36c9/1.16.2-rc1.json","time":"2021-12-15T15:44:55Z","releaseTime":"2020-08-07T14:35:39Z","sha1":"d15d9494ba8fb940021de31cd1365ae01b8f36c9","complianceLevel":0},{"id":"1.16.2-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2545b07ddce9a328dc2f733e3ae00a0ab02320f3/1.16.2-pre3.json","time":"2021-12-15T15:44:54Z","releaseTime":"2020-08-06T16:44:52Z","sha1":"2545b07ddce9a328dc2f733e3ae00a0ab02320f3","complianceLevel":0},{"id":"1.16.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a239c7b0f81c879de20091fa41e9d70e41395c5/1.16.2-pre2.json","time":"2021-12-15T15:44:54Z","releaseTime":"2020-08-05T15:30:50Z","sha1":"6a239c7b0f81c879de20091fa41e9d70e41395c5","complianceLevel":0},{"id":"1.16.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3cd205488fc8bd9a77199ded8e9585c61db5783f/1.16.2-pre1.json","time":"2021-12-15T15:44:53Z","releaseTime":"2020-07-29T13:19:05Z","sha1":"3cd205488fc8bd9a77199ded8e9585c61db5783f","complianceLevel":0},{"id":"20w30a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f034040886a5b3cbe63969052e63ab650d02be60/20w30a.json","time":"2021-12-15T15:47:30Z","releaseTime":"2020-07-22T15:05:15Z","sha1":"f034040886a5b3cbe63969052e63ab650d02be60","complianceLevel":0},{"id":"20w29a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/053db6416b6d495ea54600f28e57257e0148e031/20w29a.json","time":"2021-12-15T15:47:30Z","releaseTime":"2020-07-15T14:13:47Z","sha1":"053db6416b6d495ea54600f28e57257e0148e031","complianceLevel":0},{"id":"20w28a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3f7bd4f280b492a6d40249c51298c08f1cdc666b/20w28a.json","time":"2021-12-15T15:47:29Z","releaseTime":"2020-07-08T15:10:40Z","sha1":"3f7bd4f280b492a6d40249c51298c08f1cdc666b","complianceLevel":0},{"id":"20w27a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/31067037f3c9ef0248133c96c84c8feb44569094/20w27a.json","time":"2021-12-15T15:47:28Z","releaseTime":"2020-07-01T15:07:35Z","sha1":"31067037f3c9ef0248133c96c84c8feb44569094","complianceLevel":0},{"id":"1.16.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ddd245eae029e77e6fa8f65383129f79c1ed6684/1.16.1.json","time":"2021-12-15T15:44:01Z","releaseTime":"2020-06-24T10:31:40Z","sha1":"ddd245eae029e77e6fa8f65383129f79c1ed6684","complianceLevel":0},{"id":"1.16","type":"release","url":"https://launchermeta.mojang.com/v1/packages/51b50a20fb1129dabf3c323787c71ebf8492277a/1.16.json","time":"2021-12-15T15:44:04Z","releaseTime":"2020-06-23T16:20:52Z","sha1":"51b50a20fb1129dabf3c323787c71ebf8492277a","complianceLevel":0},{"id":"1.16-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bb8fedf5c70a4466e35d934733acaec3702177b1/1.16-rc1.json","time":"2021-12-15T15:44:52Z","releaseTime":"2020-06-18T12:49:28Z","sha1":"bb8fedf5c70a4466e35d934733acaec3702177b1","complianceLevel":0},{"id":"1.16-pre8","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/885484450290fe1528a0151f140986fdfbed4bf9/1.16-pre8.json","time":"2021-12-15T15:44:52Z","releaseTime":"2020-06-17T14:45:23Z","sha1":"885484450290fe1528a0151f140986fdfbed4bf9","complianceLevel":0},{"id":"1.16-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/86e0098c69887a51babbe6eef463c3b80e9e8e93/1.16-pre7.json","time":"2021-12-15T15:44:51Z","releaseTime":"2020-06-16T15:31:35Z","sha1":"86e0098c69887a51babbe6eef463c3b80e9e8e93","complianceLevel":0},{"id":"1.16-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a7caabad3b4c5263f33550808629930cd8a6f794/1.16-pre6.json","time":"2021-12-15T15:44:50Z","releaseTime":"2020-06-15T16:57:57Z","sha1":"a7caabad3b4c5263f33550808629930cd8a6f794","complianceLevel":0},{"id":"1.16-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/989d8e0b9f74ced3b497d1856cff189ae685002c/1.16-pre5.json","time":"2021-12-15T15:44:50Z","releaseTime":"2020-06-12T14:33:59Z","sha1":"989d8e0b9f74ced3b497d1856cff189ae685002c","complianceLevel":0},{"id":"1.16-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/94eea19a49cbb895ae1931ba833681a0f029e37c/1.16-pre4.json","time":"2021-12-15T15:44:49Z","releaseTime":"2020-06-11T15:45:55Z","sha1":"94eea19a49cbb895ae1931ba833681a0f029e37c","complianceLevel":0},{"id":"1.16-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c9a1851f83050021b3d67f0bc62d538e9d79e48a/1.16-pre3.json","time":"2021-12-15T15:44:49Z","releaseTime":"2020-06-10T14:57:43Z","sha1":"c9a1851f83050021b3d67f0bc62d538e9d79e48a","complianceLevel":0},{"id":"1.16-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/75e9792604f00c868f53f682ce1d62193449976a/1.16-pre2.json","time":"2021-12-15T15:44:48Z","releaseTime":"2020-06-05T10:47:59Z","sha1":"75e9792604f00c868f53f682ce1d62193449976a","complianceLevel":0},{"id":"1.16-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5c7efb481cf3d3a37c2e5258460fc4d83574c3b2/1.16-pre1.json","time":"2021-12-15T15:44:47Z","releaseTime":"2020-06-04T18:17:51Z","sha1":"5c7efb481cf3d3a37c2e5258460fc4d83574c3b2","complianceLevel":0},{"id":"20w22a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/de17320446f85ec60226d05364be8eaf737d49e6/20w22a.json","time":"2021-12-15T15:47:28Z","releaseTime":"2020-05-29T11:25:02Z","sha1":"de17320446f85ec60226d05364be8eaf737d49e6","complianceLevel":0},{"id":"20w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1572118c816754cf1474af1fb27393e3f078bd27/20w21a.json","time":"2021-12-15T15:47:27Z","releaseTime":"2020-05-20T12:07:18Z","sha1":"1572118c816754cf1474af1fb27393e3f078bd27","complianceLevel":0},{"id":"20w20b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dad7e9a1a739de835ab3b8942b3ea79f20243482/20w20b.json","time":"2021-12-15T15:47:26Z","releaseTime":"2020-05-14T08:16:26Z","sha1":"dad7e9a1a739de835ab3b8942b3ea79f20243482","complianceLevel":0},{"id":"20w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e6da1c5ce677b71f96fe14add04efb950e08349c/20w20a.json","time":"2021-12-15T15:47:26Z","releaseTime":"2020-05-13T15:11:43Z","sha1":"e6da1c5ce677b71f96fe14add04efb950e08349c","complianceLevel":0},{"id":"20w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc1e50834a27c31e4a8e4d2dc89918d8fad19bd3/20w19a.json","time":"2021-12-15T15:47:25Z","releaseTime":"2020-05-06T16:23:24Z","sha1":"dc1e50834a27c31e4a8e4d2dc89918d8fad19bd3","complianceLevel":0},{"id":"20w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4529b8c73044ba827d2f839d8eb64138656f8d3b/20w18a.json","time":"2021-12-15T15:47:24Z","releaseTime":"2020-04-29T15:16:34Z","sha1":"4529b8c73044ba827d2f839d8eb64138656f8d3b","complianceLevel":0},{"id":"20w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1bc1da23fe9e2f8869cffce8a90bbe6f5e0b9fc3/20w17a.json","time":"2021-12-15T15:47:24Z","releaseTime":"2020-04-22T13:47:50Z","sha1":"1bc1da23fe9e2f8869cffce8a90bbe6f5e0b9fc3","complianceLevel":0},{"id":"20w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/91b58513e88219dd26e4492e0de215af402cd3f9/20w16a.json","time":"2021-12-15T15:47:23Z","releaseTime":"2020-04-15T14:13:01Z","sha1":"91b58513e88219dd26e4492e0de215af402cd3f9","complianceLevel":0},{"id":"20w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/cebe670aa02d2a4db10e9ef9c6b9d283ca76ff5f/20w15a.json","time":"2021-12-15T15:47:22Z","releaseTime":"2020-04-08T12:29:24Z","sha1":"cebe670aa02d2a4db10e9ef9c6b9d283ca76ff5f","complianceLevel":0},{"id":"20w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8040d068cd64ee9a9d4e2b06885f6ec77e822fd7/20w14a.json","time":"2021-12-15T15:47:21Z","releaseTime":"2020-04-02T14:28:06Z","sha1":"8040d068cd64ee9a9d4e2b06885f6ec77e822fd7","complianceLevel":0},{"id":"20w14infinite","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b510644230f3a3982a0cd745d225017ef6aa6711/20w14infinite.json","time":"2021-12-15T15:47:21Z","releaseTime":"2020-04-01T12:47:08Z","sha1":"b510644230f3a3982a0cd745d225017ef6aa6711","complianceLevel":0},{"id":"20w13b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/194353e8236c6bc45be40f60265c928b4c43833f/20w13b.json","time":"2021-12-15T15:47:20Z","releaseTime":"2020-03-26T13:00:34Z","sha1":"194353e8236c6bc45be40f60265c928b4c43833f","complianceLevel":0},{"id":"20w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4ef572e328ee976b284d1729a3a1dbdeed661819/20w13a.json","time":"2021-12-15T15:47:19Z","releaseTime":"2020-03-25T17:05:33Z","sha1":"4ef572e328ee976b284d1729a3a1dbdeed661819","complianceLevel":0},{"id":"20w12a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e99fc9e46aa33f7800d3f24aed3489fd577e0deb/20w12a.json","time":"2021-12-15T15:47:19Z","releaseTime":"2020-03-18T16:42:06Z","sha1":"e99fc9e46aa33f7800d3f24aed3489fd577e0deb","complianceLevel":0},{"id":"20w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e0282f0836b30693503ce28de6f6cf0c0bdf76b8/20w11a.json","time":"2021-12-15T15:47:18Z","releaseTime":"2020-03-11T16:28:27Z","sha1":"e0282f0836b30693503ce28de6f6cf0c0bdf76b8","complianceLevel":0},{"id":"20w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08a41ae7b4f06c1633467123abf6f75487ab23f6/20w10a.json","time":"2021-12-15T15:47:17Z","releaseTime":"2020-03-04T16:21:41Z","sha1":"08a41ae7b4f06c1633467123abf6f75487ab23f6","complianceLevel":0},{"id":"20w09a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d79099ead8db6c3c68e07248bce841c68a195c04/20w09a.json","time":"2021-12-15T15:47:16Z","releaseTime":"2020-02-26T16:43:08Z","sha1":"d79099ead8db6c3c68e07248bce841c68a195c04","complianceLevel":0},{"id":"20w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/24527dd52ba2847689ce9bf7664a8d06a7b8b7aa/20w08a.json","time":"2021-12-15T15:47:16Z","releaseTime":"2020-02-19T13:30:09Z","sha1":"24527dd52ba2847689ce9bf7664a8d06a7b8b7aa","complianceLevel":0},{"id":"20w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/304c00900a701f0f6c2c76710003994fd8036531/20w07a.json","time":"2021-12-15T15:47:15Z","releaseTime":"2020-02-14T13:20:49Z","sha1":"304c00900a701f0f6c2c76710003994fd8036531","complianceLevel":0},{"id":"20w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08d895e7f7b9573706be69d12a790374fd54cbc8/20w06a.json","time":"2021-12-15T15:47:14Z","releaseTime":"2020-02-05T16:05:22Z","sha1":"08d895e7f7b9573706be69d12a790374fd54cbc8","complianceLevel":0},{"id":"1.15.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/a134a40902959810875d4642a4ac9c69c37e39a0/1.15.2.json","time":"2021-12-15T15:43:59Z","releaseTime":"2020-01-17T10:03:52Z","sha1":"a134a40902959810875d4642a4ac9c69c37e39a0","complianceLevel":0},{"id":"1.15.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7dfbe4b42cf61df47f71713590dd069267449420/1.15.2-pre2.json","time":"2021-12-15T15:44:47Z","releaseTime":"2020-01-16T12:35:57Z","sha1":"7dfbe4b42cf61df47f71713590dd069267449420","complianceLevel":0},{"id":"1.15.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6e8723a73cc47b4a81e44ca25b1a2d2dce3b1c04/1.15.2-pre1.json","time":"2021-12-15T15:44:46Z","releaseTime":"2020-01-14T16:19:31Z","sha1":"6e8723a73cc47b4a81e44ca25b1a2d2dce3b1c04","complianceLevel":0},{"id":"1.15.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/3526ede769b1a1d30aca5b7b98a81607c60305f7/1.15.1.json","time":"2021-12-15T15:43:59Z","releaseTime":"2019-12-16T10:29:47Z","sha1":"3526ede769b1a1d30aca5b7b98a81607c60305f7","complianceLevel":0},{"id":"1.15.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/27ceb6dbdca4821a509ed70d26773cfecef4ce63/1.15.1-pre1.json","time":"2021-12-15T15:44:45Z","releaseTime":"2019-12-12T14:02:30Z","sha1":"27ceb6dbdca4821a509ed70d26773cfecef4ce63","complianceLevel":0},{"id":"1.15","type":"release","url":"https://launchermeta.mojang.com/v1/packages/75d15976c2d82a0afd796802bac73c934ea59df7/1.15.json","time":"2021-12-15T15:44:00Z","releaseTime":"2019-12-09T13:13:38Z","sha1":"75d15976c2d82a0afd796802bac73c934ea59df7","complianceLevel":0},{"id":"1.15-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/54358db380289fb3547a1d7fb5761b1b1f6d0ba8/1.15-pre7.json","time":"2021-12-15T15:44:44Z","releaseTime":"2019-12-09T12:14:11Z","sha1":"54358db380289fb3547a1d7fb5761b1b1f6d0ba8","complianceLevel":0},{"id":"1.15-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d4356b81f961250fccd9355c0bb115afc181a1b/1.15-pre6.json","time":"2021-12-15T15:44:44Z","releaseTime":"2019-12-06T12:04:30Z","sha1":"6d4356b81f961250fccd9355c0bb115afc181a1b","complianceLevel":0},{"id":"1.15-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/97d4e275e0d5cf754fabfc6017e0cf410fb25e50/1.15-pre5.json","time":"2021-12-15T15:44:43Z","releaseTime":"2019-12-05T13:20:00Z","sha1":"97d4e275e0d5cf754fabfc6017e0cf410fb25e50","complianceLevel":0},{"id":"1.15-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a2c68e78c6887d91af86cbe51bda9902565c36b5/1.15-pre4.json","time":"2021-12-15T15:44:43Z","releaseTime":"2019-12-03T12:24:24Z","sha1":"a2c68e78c6887d91af86cbe51bda9902565c36b5","complianceLevel":0},{"id":"1.15-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d99a70baa558e7912f9331e42263125d18c97e27/1.15-pre3.json","time":"2021-12-15T15:44:42Z","releaseTime":"2019-11-28T17:17:50Z","sha1":"d99a70baa558e7912f9331e42263125d18c97e27","complianceLevel":0},{"id":"1.15-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ab23ff69e4bc33349868f88ec0eab0a9024e9d79/1.15-pre2.json","time":"2021-12-15T15:44:41Z","releaseTime":"2019-11-25T18:09:38Z","sha1":"ab23ff69e4bc33349868f88ec0eab0a9024e9d79","complianceLevel":0},{"id":"1.15-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b92f7ad0e2dea435c9738b09a069199b37869398/1.15-pre1.json","time":"2021-12-15T15:44:41Z","releaseTime":"2019-11-21T17:01:17Z","sha1":"b92f7ad0e2dea435c9738b09a069199b37869398","complianceLevel":0},{"id":"19w46b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c8aabd44ac18b173a68091c00b4ff0151f29faeb/19w46b.json","time":"2021-12-15T15:47:14Z","releaseTime":"2019-11-14T13:29:24Z","sha1":"c8aabd44ac18b173a68091c00b4ff0151f29faeb","complianceLevel":0},{"id":"19w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d129178105f1a1ab114b925752322c963f521eb7/19w46a.json","time":"2021-12-15T15:47:13Z","releaseTime":"2019-11-13T16:37:46Z","sha1":"d129178105f1a1ab114b925752322c963f521eb7","complianceLevel":0},{"id":"19w45b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f2ab5210dbc8768733b227747139e6054b93ae57/19w45b.json","time":"2021-12-15T15:47:12Z","releaseTime":"2019-11-08T12:42:44Z","sha1":"f2ab5210dbc8768733b227747139e6054b93ae57","complianceLevel":0},{"id":"19w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9ac552143b82bb8740b34c23dd997c4aab23f2dd/19w45a.json","time":"2021-12-15T15:47:12Z","releaseTime":"2019-11-07T16:19:20Z","sha1":"9ac552143b82bb8740b34c23dd997c4aab23f2dd","complianceLevel":0},{"id":"19w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0b7015eb577c9e04a5a21b83fa7f4d8d7b723e93/19w44a.json","time":"2021-12-15T15:47:11Z","releaseTime":"2019-10-30T15:31:44Z","sha1":"0b7015eb577c9e04a5a21b83fa7f4d8d7b723e93","complianceLevel":0},{"id":"19w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ac1a6a7f15382cda12878d5e304c6a34ed6349d5/19w42a.json","time":"2021-12-15T15:47:10Z","releaseTime":"2019-10-16T15:30:39Z","sha1":"ac1a6a7f15382cda12878d5e304c6a34ed6349d5","complianceLevel":0},{"id":"19w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fbcc94f6cdb36247a70e87d06811bfacc83f3e8c/19w41a.json","time":"2021-12-15T15:47:10Z","releaseTime":"2019-10-09T15:21:35Z","sha1":"fbcc94f6cdb36247a70e87d06811bfacc83f3e8c","complianceLevel":0},{"id":"19w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/02785403832a5aad38d51e71d5912d75dc196f10/19w40a.json","time":"2021-12-15T15:47:09Z","releaseTime":"2019-10-02T13:40:26Z","sha1":"02785403832a5aad38d51e71d5912d75dc196f10","complianceLevel":0},{"id":"19w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/75eb7c180e5be8e730ba7b2a9d495a9d33092a7f/19w39a.json","time":"2021-12-15T15:47:08Z","releaseTime":"2019-09-27T10:13:33Z","sha1":"75eb7c180e5be8e730ba7b2a9d495a9d33092a7f","complianceLevel":0},{"id":"19w38b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b9166a39db29187cb5aca9ba57457d300dc30390/19w38b.json","time":"2021-12-15T15:47:08Z","releaseTime":"2019-09-18T14:59:13Z","sha1":"b9166a39db29187cb5aca9ba57457d300dc30390","complianceLevel":0},{"id":"19w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5fd4c2e92056d7ad3727af992a1c1c1a96f892e6/19w38a.json","time":"2021-12-15T15:47:07Z","releaseTime":"2019-09-18T10:03:22Z","sha1":"5fd4c2e92056d7ad3727af992a1c1c1a96f892e6","complianceLevel":0},{"id":"19w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/add2b28d6e297e10e139955c13e3c3d7caa19603/19w37a.json","time":"2021-12-15T15:47:06Z","releaseTime":"2019-09-11T11:46:44Z","sha1":"add2b28d6e297e10e139955c13e3c3d7caa19603","complianceLevel":0},{"id":"19w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fa89fbd191476584136418814c4e1e808f6e5381/19w36a.json","time":"2021-12-15T15:47:06Z","releaseTime":"2019-09-04T11:19:34Z","sha1":"fa89fbd191476584136418814c4e1e808f6e5381","complianceLevel":0},{"id":"19w35a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/160fd40277b049c90c3402261f59f2ccb5e81506/19w35a.json","time":"2021-12-15T15:47:05Z","releaseTime":"2019-08-28T15:01:44Z","sha1":"160fd40277b049c90c3402261f59f2ccb5e81506","complianceLevel":0},{"id":"19w34a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f7419386943a8c54a6067078921508730bee3d87/19w34a.json","time":"2021-12-15T15:47:05Z","releaseTime":"2019-08-22T12:06:21Z","sha1":"f7419386943a8c54a6067078921508730bee3d87","complianceLevel":0},{"id":"1.14.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/8f81523cd2c2fdaf9c37431fceb0a446dbe71ed5/1.14.4.json","time":"2021-12-15T15:43:57Z","releaseTime":"2019-07-19T09:25:47Z","sha1":"8f81523cd2c2fdaf9c37431fceb0a446dbe71ed5","complianceLevel":0},{"id":"1.14.4-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/225785e19ae0b841ca67e71a2dae81fe109c872a/1.14.4-pre7.json","time":"2021-12-15T15:44:40Z","releaseTime":"2019-07-18T11:32:36Z","sha1":"225785e19ae0b841ca67e71a2dae81fe109c872a","complianceLevel":0},{"id":"1.14.4-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5064ae3ee503c8ebc27928d6ae8d6937367bcdc5/1.14.4-pre6.json","time":"2021-12-15T15:44:40Z","releaseTime":"2019-07-15T12:39:49Z","sha1":"5064ae3ee503c8ebc27928d6ae8d6937367bcdc5","complianceLevel":0},{"id":"1.14.4-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/edae35914121182e2253dabdb6ad37e9219dfd1a/1.14.4-pre5.json","time":"2021-12-15T15:44:39Z","releaseTime":"2019-07-11T10:52:33Z","sha1":"edae35914121182e2253dabdb6ad37e9219dfd1a","complianceLevel":0},{"id":"1.14.4-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9d8f7c94726e8c9058d98aa5d791540854c06c28/1.14.4-pre4.json","time":"2021-12-15T15:44:39Z","releaseTime":"2019-07-10T12:53:29Z","sha1":"9d8f7c94726e8c9058d98aa5d791540854c06c28","complianceLevel":0},{"id":"1.14.4-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/23ea71adf67bfe0159c271e4113ad46a4c7ff8b8/1.14.4-pre3.json","time":"2021-12-15T15:44:38Z","releaseTime":"2019-07-08T11:21:42Z","sha1":"23ea71adf67bfe0159c271e4113ad46a4c7ff8b8","complianceLevel":0},{"id":"1.14.4-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b781fc09310f223c0304297b7e094a75a5612381/1.14.4-pre2.json","time":"2021-12-15T15:44:38Z","releaseTime":"2019-07-04T14:41:05Z","sha1":"b781fc09310f223c0304297b7e094a75a5612381","complianceLevel":0},{"id":"1.14.4-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dd23d80d9b2d4ecc2800541922f0b0ec4e6c89d3/1.14.4-pre1.json","time":"2021-12-15T15:44:37Z","releaseTime":"2019-07-03T13:01:01Z","sha1":"dd23d80d9b2d4ecc2800541922f0b0ec4e6c89d3","complianceLevel":0},{"id":"1.14.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/970fb095132b5fa3edf829bbc487d415f3267d7f/1.14.3.json","time":"2021-12-15T15:43:57Z","releaseTime":"2019-06-24T12:52:52Z","sha1":"970fb095132b5fa3edf829bbc487d415f3267d7f","complianceLevel":0},{"id":"1.14.3-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a3086cecaffe3030dcd8abd4afcf57520928ad1/1.14.3-pre4.json","time":"2021-12-15T15:44:37Z","releaseTime":"2019-06-19T11:44:29Z","sha1":"6a3086cecaffe3030dcd8abd4afcf57520928ad1","complianceLevel":0},{"id":"1.14.3-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d3224381a7c5708e9482e80d1d59ce7e242dbc44/1.14.3-pre3.json","time":"2021-12-15T15:44:36Z","releaseTime":"2019-06-14T08:03:33Z","sha1":"d3224381a7c5708e9482e80d1d59ce7e242dbc44","complianceLevel":0},{"id":"1.14.3-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d13fcddba357336276798124d5ad91cb5071db34/1.14.3-pre2.json","time":"2021-12-15T15:44:36Z","releaseTime":"2019-06-07T09:11:29Z","sha1":"d13fcddba357336276798124d5ad91cb5071db34","complianceLevel":0},{"id":"1.14.3-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b76415aca4de58ad4d2da3920af61e2d0aab423f/1.14.3-pre1.json","time":"2021-12-15T15:44:36Z","releaseTime":"2019-06-03T14:34:20Z","sha1":"b76415aca4de58ad4d2da3920af61e2d0aab423f","complianceLevel":0},{"id":"1.14.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/13a7b4ed55faa6a88f7729c0923bbe12a03f63e8/1.14.2.json","time":"2021-12-15T15:43:56Z","releaseTime":"2019-05-27T11:48:25Z","sha1":"13a7b4ed55faa6a88f7729c0923bbe12a03f63e8","complianceLevel":0},{"id":"1.14.2 Pre-Release 4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2b6d0cd838d546f6082bd52f105d7627ae0794ec/1.14.2%20Pre-Release%204.json","time":"2021-12-15T15:44:35Z","releaseTime":"2019-05-27T07:21:11Z","sha1":"2b6d0cd838d546f6082bd52f105d7627ae0794ec","complianceLevel":0},{"id":"1.14.2 Pre-Release 3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b47e5d28c614cd8ce3c1d7f3490c370d10db19b9/1.14.2%20Pre-Release%203.json","time":"2021-12-15T15:44:35Z","releaseTime":"2019-05-22T13:12:51Z","sha1":"b47e5d28c614cd8ce3c1d7f3490c370d10db19b9","complianceLevel":0},{"id":"1.14.2 Pre-Release 2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9df02944c109a001c4aa207339d3a120b7e47bb/1.14.2%20Pre-Release%202.json","time":"2021-12-15T15:44:34Z","releaseTime":"2019-05-17T12:21:03Z","sha1":"e9df02944c109a001c4aa207339d3a120b7e47bb","complianceLevel":0},{"id":"1.14.2 Pre-Release 1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/409a8748249533d58ffa9e3190f0753cdbcfbf71/1.14.2%20Pre-Release%201.json","time":"2021-12-15T15:44:34Z","releaseTime":"2019-05-16T15:40:25Z","sha1":"409a8748249533d58ffa9e3190f0753cdbcfbf71","complianceLevel":0},{"id":"1.14.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/770df8fddfd27061560507267eccb650345b61e2/1.14.1.json","time":"2021-12-15T15:43:56Z","releaseTime":"2019-05-13T11:10:12Z","sha1":"770df8fddfd27061560507267eccb650345b61e2","complianceLevel":0},{"id":"1.14.1 Pre-Release 2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/292e1547a1840ede46346ada4fb67118fe94171a/1.14.1%20Pre-Release%202.json","time":"2021-12-15T15:44:33Z","releaseTime":"2019-05-09T14:01:04Z","sha1":"292e1547a1840ede46346ada4fb67118fe94171a","complianceLevel":0},{"id":"1.14.1 Pre-Release 1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c4151fa78258c9a337d5b5906280fe341e861c0a/1.14.1%20Pre-Release%201.json","time":"2021-12-15T15:44:33Z","releaseTime":"2019-05-07T14:44:42Z","sha1":"c4151fa78258c9a337d5b5906280fe341e861c0a","complianceLevel":0},{"id":"1.14","type":"release","url":"https://launchermeta.mojang.com/v1/packages/44552c5e051cff06483616adb1f6fd2d94ee3447/1.14.json","time":"2021-12-15T15:43:58Z","releaseTime":"2019-04-23T14:52:44Z","sha1":"44552c5e051cff06483616adb1f6fd2d94ee3447","complianceLevel":0},{"id":"1.14 Pre-Release 5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e85eb16ce5f7b337fdd81a41195457faf3724de1/1.14%20Pre-Release%205.json","time":"2021-12-15T15:44:32Z","releaseTime":"2019-04-18T11:05:19Z","sha1":"e85eb16ce5f7b337fdd81a41195457faf3724de1","complianceLevel":0},{"id":"1.14 Pre-Release 4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d1142b477da49f3be98c6de7130ff9bcc73c64de/1.14%20Pre-Release%204.json","time":"2021-12-15T15:44:32Z","releaseTime":"2019-04-17T15:31:12Z","sha1":"d1142b477da49f3be98c6de7130ff9bcc73c64de","complianceLevel":0},{"id":"1.14 Pre-Release 3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5119ee7ea1455a0655fe1139aa4224aea02af54b/1.14%20Pre-Release%203.json","time":"2021-12-15T15:44:31Z","releaseTime":"2019-04-16T13:57:10Z","sha1":"5119ee7ea1455a0655fe1139aa4224aea02af54b","complianceLevel":0},{"id":"1.14 Pre-Release 2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0c322327071722961042d33e7221c05037e22171/1.14%20Pre-Release%202.json","time":"2021-12-15T15:44:30Z","releaseTime":"2019-04-12T11:38:53Z","sha1":"0c322327071722961042d33e7221c05037e22171","complianceLevel":0},{"id":"1.14 Pre-Release 1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9f71a3ea076d679b54fbc9fea64b899fe189bbbd/1.14%20Pre-Release%201.json","time":"2021-12-15T15:44:30Z","releaseTime":"2019-04-10T14:24:16Z","sha1":"9f71a3ea076d679b54fbc9fea64b899fe189bbbd","complianceLevel":0},{"id":"19w14b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1f797b0d05b5dec63940d5fcf090fc7e55d30e01/19w14b.json","time":"2021-12-15T15:47:04Z","releaseTime":"2019-04-05T10:33:58Z","sha1":"1f797b0d05b5dec63940d5fcf090fc7e55d30e01","complianceLevel":0},{"id":"19w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d0269d17bf3af72b454c8275e8603561541fc4df/19w14a.json","time":"2021-12-15T15:47:04Z","releaseTime":"2019-04-03T13:45:00Z","sha1":"d0269d17bf3af72b454c8275e8603561541fc4df","complianceLevel":0},{"id":"3D Shareware v1.34","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fe072c0f3f14f254407068b9515efd825b736a2e/3D%20Shareware%20v1.34.json","time":"2021-12-15T15:47:44Z","releaseTime":"2019-04-01T11:18:08Z","sha1":"fe072c0f3f14f254407068b9515efd825b736a2e","complianceLevel":0},{"id":"19w13b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/549dab6b7f4710ef9431edc2871ecca1e0ea56d0/19w13b.json","time":"2021-12-15T15:47:03Z","releaseTime":"2019-03-29T16:53:22Z","sha1":"549dab6b7f4710ef9431edc2871ecca1e0ea56d0","complianceLevel":0},{"id":"19w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4060bc60451368fe9ba137c9a56f8f925aaf0320/19w13a.json","time":"2021-12-15T15:47:03Z","releaseTime":"2019-03-27T15:15:31Z","sha1":"4060bc60451368fe9ba137c9a56f8f925aaf0320","complianceLevel":0},{"id":"19w12b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b5faf778f1026d1904723f1db2d81b3044c957d9/19w12b.json","time":"2021-12-15T15:47:02Z","releaseTime":"2019-03-21T15:20:01Z","sha1":"b5faf778f1026d1904723f1db2d81b3044c957d9","complianceLevel":0},{"id":"19w12a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f391138069573253105f68d2a14a12d8db2b1f5c/19w12a.json","time":"2021-12-15T15:47:02Z","releaseTime":"2019-03-20T16:47:34Z","sha1":"f391138069573253105f68d2a14a12d8db2b1f5c","complianceLevel":0},{"id":"19w11b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/540388f4c2f08ccaf4314d8c886cff842963ade9/19w11b.json","time":"2021-12-15T15:47:01Z","releaseTime":"2019-03-14T14:26:23Z","sha1":"540388f4c2f08ccaf4314d8c886cff842963ade9","complianceLevel":0},{"id":"19w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08288d16d3b9253c3d3230df04ed970b38f42dab/19w11a.json","time":"2021-12-15T15:47:01Z","releaseTime":"2019-03-13T13:59:29Z","sha1":"08288d16d3b9253c3d3230df04ed970b38f42dab","complianceLevel":0},{"id":"19w09a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/813cb9ae2e902cd7c916858b6666064e9c201911/19w09a.json","time":"2021-12-15T15:47:00Z","releaseTime":"2019-02-27T14:44:30Z","sha1":"813cb9ae2e902cd7c916858b6666064e9c201911","complianceLevel":0},{"id":"19w08b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c12ced303962763107f61e6ceb8e875d6af400d3/19w08b.json","time":"2021-12-15T15:47:00Z","releaseTime":"2019-02-21T13:38:09Z","sha1":"c12ced303962763107f61e6ceb8e875d6af400d3","complianceLevel":0},{"id":"19w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8ecab11a8dd85b1876eadef14320805c86fdbd0e/19w08a.json","time":"2021-12-15T15:46:59Z","releaseTime":"2019-02-20T14:56:58Z","sha1":"8ecab11a8dd85b1876eadef14320805c86fdbd0e","complianceLevel":0},{"id":"19w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a19c014d87039cb3fbc19b9582eeaaca04cb1240/19w07a.json","time":"2021-12-15T15:46:59Z","releaseTime":"2019-02-13T16:12:08Z","sha1":"a19c014d87039cb3fbc19b9582eeaaca04cb1240","complianceLevel":0},{"id":"19w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9c04771f81e2a5b8be9da887ced4250c9af11f83/19w06a.json","time":"2021-12-15T15:46:58Z","releaseTime":"2019-02-06T16:24:13Z","sha1":"9c04771f81e2a5b8be9da887ced4250c9af11f83","complianceLevel":0},{"id":"19w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d540b37f16a36cb8e808b99619264e3b7e887099/19w05a.json","time":"2021-12-15T15:46:58Z","releaseTime":"2019-01-30T15:16:49Z","sha1":"d540b37f16a36cb8e808b99619264e3b7e887099","complianceLevel":0},{"id":"19w04b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/cffc41bb7f89f3c1d8fe1afcac9bc602b53e0de0/19w04b.json","time":"2021-12-15T15:46:57Z","releaseTime":"2019-01-25T12:20:15Z","sha1":"cffc41bb7f89f3c1d8fe1afcac9bc602b53e0de0","complianceLevel":0},{"id":"19w04a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8353572034619fb0bbb884401756d73abddfc190/19w04a.json","time":"2021-12-15T15:46:57Z","releaseTime":"2019-01-24T15:31:52Z","sha1":"8353572034619fb0bbb884401756d73abddfc190","complianceLevel":0},{"id":"19w03c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/74c257a53a59c196c90a7c63812ed626aa6dc658/19w03c.json","time":"2021-12-15T15:46:56Z","releaseTime":"2019-01-18T11:27:13Z","sha1":"74c257a53a59c196c90a7c63812ed626aa6dc658","complianceLevel":0},{"id":"19w03b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/01ccb6e33dd283f70d713acbd353bf5091825397/19w03b.json","time":"2021-12-15T15:46:56Z","releaseTime":"2019-01-17T16:43:27Z","sha1":"01ccb6e33dd283f70d713acbd353bf5091825397","complianceLevel":0},{"id":"19w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7767943a6356d3073ec4d9ccc51be69b4a2a7631/19w03a.json","time":"2021-12-15T15:46:55Z","releaseTime":"2019-01-16T16:45:02Z","sha1":"7767943a6356d3073ec4d9ccc51be69b4a2a7631","complianceLevel":0},{"id":"19w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ae10d5ccb31ef32365e7249e9695904ef4781618/19w02a.json","time":"2021-12-15T15:46:55Z","releaseTime":"2019-01-09T15:52:07Z","sha1":"ae10d5ccb31ef32365e7249e9695904ef4781618","complianceLevel":0},{"id":"18w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6fa8a7460769147341dc03891e1b522556aad82d/18w50a.json","time":"2021-12-15T15:46:54Z","releaseTime":"2018-12-12T14:58:13Z","sha1":"6fa8a7460769147341dc03891e1b522556aad82d","complianceLevel":0},{"id":"18w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7033863050ea4dc3a4b829cfc1d347d991699689/18w49a.json","time":"2021-12-15T15:46:54Z","releaseTime":"2018-12-05T12:24:30Z","sha1":"7033863050ea4dc3a4b829cfc1d347d991699689","complianceLevel":0},{"id":"18w48b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bd00e4cf9d834b8176770d66805ce429f5bd7317/18w48b.json","time":"2021-12-15T15:46:53Z","releaseTime":"2018-11-30T10:37:31Z","sha1":"bd00e4cf9d834b8176770d66805ce429f5bd7317","complianceLevel":0},{"id":"18w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0061465b249e04ebc24192bf0b96fe51f6d9bfef/18w48a.json","time":"2021-12-15T15:46:53Z","releaseTime":"2018-11-29T13:11:38Z","sha1":"0061465b249e04ebc24192bf0b96fe51f6d9bfef","complianceLevel":0},{"id":"18w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/200c849b8a0baa3492e069a484b36a6d5ad5612d/18w47b.json","time":"2021-12-15T15:46:52Z","releaseTime":"2018-11-23T10:46:41Z","sha1":"200c849b8a0baa3492e069a484b36a6d5ad5612d","complianceLevel":0},{"id":"18w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6931ca7ca10b90df541bc946ad6410f7db81f63c/18w47a.json","time":"2021-12-15T15:46:52Z","releaseTime":"2018-11-21T15:45:22Z","sha1":"6931ca7ca10b90df541bc946ad6410f7db81f63c","complianceLevel":0},{"id":"18w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/87fbc01477063b55de78760f68464d296e1438a1/18w46a.json","time":"2021-12-15T15:46:51Z","releaseTime":"2018-11-15T13:43:14Z","sha1":"87fbc01477063b55de78760f68464d296e1438a1","complianceLevel":0},{"id":"18w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b725ef482b49878b96e621fc91a825ba64958413/18w45a.json","time":"2021-12-15T15:46:50Z","releaseTime":"2018-11-07T14:40:06Z","sha1":"b725ef482b49878b96e621fc91a825ba64958413","complianceLevel":0},{"id":"18w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9e51fcb479a02ba7761194b6bbf1e571f2410ea/18w44a.json","time":"2021-12-15T15:46:50Z","releaseTime":"2018-10-31T15:29:16Z","sha1":"a9e51fcb479a02ba7761194b6bbf1e571f2410ea","complianceLevel":0},{"id":"18w43c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3ef1f818fdc1437e4ede574a3f5077fa9c6a4ba7/18w43c.json","time":"2021-12-15T15:46:49Z","releaseTime":"2018-10-26T08:40:46Z","sha1":"3ef1f818fdc1437e4ede574a3f5077fa9c6a4ba7","complianceLevel":0},{"id":"18w43b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/efb23e85ea13754e7e994ec773106a15e5037844/18w43b.json","time":"2021-12-15T15:46:49Z","releaseTime":"2018-10-24T15:02:30Z","sha1":"efb23e85ea13754e7e994ec773106a15e5037844","complianceLevel":0},{"id":"18w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/663210679231f9bdee94159ee7ad806bd6b31cd4/18w43a.json","time":"2021-12-15T15:46:48Z","releaseTime":"2018-10-24T10:52:16Z","sha1":"663210679231f9bdee94159ee7ad806bd6b31cd4","complianceLevel":0},{"id":"1.13.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1f439c21fee6a7816356c40a6194d064d1f44baa/1.13.2.json","time":"2021-12-15T15:43:55Z","releaseTime":"2018-10-22T11:41:07Z","sha1":"1f439c21fee6a7816356c40a6194d064d1f44baa","complianceLevel":0},{"id":"1.13.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1486e6c0f9281ea2ffff15fb594435960eb30b16/1.13.2-pre2.json","time":"2021-12-15T15:44:29Z","releaseTime":"2018-10-18T14:46:12Z","sha1":"1486e6c0f9281ea2ffff15fb594435960eb30b16","complianceLevel":0},{"id":"1.13.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4e50a1e4aa1fc871c296c6ba1345097bce864098/1.13.2-pre1.json","time":"2021-12-15T15:44:29Z","releaseTime":"2018-10-16T13:40:58Z","sha1":"4e50a1e4aa1fc871c296c6ba1345097bce864098","complianceLevel":0},{"id":"1.13.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/85c39d0f9d94a4777a9b401deb08cf07f55dfe39/1.13.1.json","time":"2021-12-15T15:43:54Z","releaseTime":"2018-08-22T14:03:42Z","sha1":"85c39d0f9d94a4777a9b401deb08cf07f55dfe39","complianceLevel":0},{"id":"1.13.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b6c39c683f1cae8b8a8c28398515f94dc3e75c94/1.13.1-pre2.json","time":"2021-12-15T15:44:28Z","releaseTime":"2018-08-20T13:52:09Z","sha1":"b6c39c683f1cae8b8a8c28398515f94dc3e75c94","complianceLevel":0},{"id":"1.13.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1e3b24bfa2f1c5612161faadf6612d9060d8ae4e/1.13.1-pre1.json","time":"2021-12-15T15:44:28Z","releaseTime":"2018-08-16T13:08:44Z","sha1":"1e3b24bfa2f1c5612161faadf6612d9060d8ae4e","complianceLevel":0},{"id":"18w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c55882f0c52ced8cb6d27dd76de44aca327a77d8/18w33a.json","time":"2021-12-15T15:46:48Z","releaseTime":"2018-08-15T14:28:56Z","sha1":"c55882f0c52ced8cb6d27dd76de44aca327a77d8","complianceLevel":0},{"id":"18w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b08212f3d19d05fc5c7e0f14008983d3f10fdd4b/18w32a.json","time":"2021-12-15T15:46:47Z","releaseTime":"2018-08-08T13:16:57Z","sha1":"b08212f3d19d05fc5c7e0f14008983d3f10fdd4b","complianceLevel":0},{"id":"18w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/66398c5a17f41841c3b46e143eb8fe4b25aeea64/18w31a.json","time":"2021-12-15T15:46:47Z","releaseTime":"2018-08-01T12:54:44Z","sha1":"66398c5a17f41841c3b46e143eb8fe4b25aeea64","complianceLevel":0},{"id":"18w30b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/99192fa960329f349ba8691be513917795ee2397/18w30b.json","time":"2021-12-15T15:46:46Z","releaseTime":"2018-07-26T16:06:57Z","sha1":"99192fa960329f349ba8691be513917795ee2397","complianceLevel":0},{"id":"18w30a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b4f2355456d625c4a28a09830b4b58b849f6034a/18w30a.json","time":"2021-12-15T15:46:45Z","releaseTime":"2018-07-25T14:29:31Z","sha1":"b4f2355456d625c4a28a09830b4b58b849f6034a","complianceLevel":0},{"id":"1.13","type":"release","url":"https://launchermeta.mojang.com/v1/packages/54e62e6c77c38f0094357d7d85a3c63a2b2f3dce/1.13.json","time":"2021-12-15T15:43:55Z","releaseTime":"2018-07-18T15:11:46Z","sha1":"54e62e6c77c38f0094357d7d85a3c63a2b2f3dce","complianceLevel":0},{"id":"1.13-pre10","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/85f3919d95ecf499c384465d6b9526a943529302/1.13-pre10.json","time":"2021-12-15T15:44:22Z","releaseTime":"2018-07-17T14:48:06Z","sha1":"85f3919d95ecf499c384465d6b9526a943529302","complianceLevel":0},{"id":"1.13-pre9","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/759d8e0774bf80e7989185da0e177034ba5256f1/1.13-pre9.json","time":"2021-12-15T15:44:27Z","releaseTime":"2018-07-16T14:17:42Z","sha1":"759d8e0774bf80e7989185da0e177034ba5256f1","complianceLevel":0},{"id":"1.13-pre8","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/481cdc143ea4e78cede29834904afeccdc85d1b2/1.13-pre8.json","time":"2021-12-15T15:44:26Z","releaseTime":"2018-07-13T11:45:00Z","sha1":"481cdc143ea4e78cede29834904afeccdc85d1b2","complianceLevel":0},{"id":"1.13-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/31af1da692c303e96a151d4cb5d0c08fae9c243b/1.13-pre7.json","time":"2021-12-15T15:44:26Z","releaseTime":"2018-07-10T14:21:42Z","sha1":"31af1da692c303e96a151d4cb5d0c08fae9c243b","complianceLevel":0},{"id":"1.13-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e5a3e56dc265a8791563967dae462cf9fbd5fc1b/1.13-pre6.json","time":"2021-12-15T15:44:25Z","releaseTime":"2018-07-04T12:36:00Z","sha1":"e5a3e56dc265a8791563967dae462cf9fbd5fc1b","complianceLevel":0},{"id":"1.13-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b4826d4299f4fbb009c1011a8730a86f3e0db01e/1.13-pre5.json","time":"2021-12-15T15:44:25Z","releaseTime":"2018-06-28T13:58:53Z","sha1":"b4826d4299f4fbb009c1011a8730a86f3e0db01e","complianceLevel":0},{"id":"1.13-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2bb3ce6a72e5bd9ebb0bd97c93c6e7323d7ccedf/1.13-pre4.json","time":"2021-12-15T15:44:24Z","releaseTime":"2018-06-26T13:00:55Z","sha1":"2bb3ce6a72e5bd9ebb0bd97c93c6e7323d7ccedf","complianceLevel":0},{"id":"1.13-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1fcc1e73021190b41a5bf20b65985c191292b855/1.13-pre3.json","time":"2021-12-15T15:44:24Z","releaseTime":"2018-06-21T12:57:11Z","sha1":"1fcc1e73021190b41a5bf20b65985c191292b855","complianceLevel":0},{"id":"1.13-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6e1e8a40b4301e67f6eb17b1b5ce7aabd88455cb/1.13-pre2.json","time":"2021-12-15T15:44:23Z","releaseTime":"2018-06-15T09:20:00Z","sha1":"6e1e8a40b4301e67f6eb17b1b5ce7aabd88455cb","complianceLevel":0},{"id":"1.13-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/265ac26f2bcd418656f00d23260fc2a8348a1ea1/1.13-pre1.json","time":"2021-12-15T15:44:22Z","releaseTime":"2018-06-04T15:17:34Z","sha1":"265ac26f2bcd418656f00d23260fc2a8348a1ea1","complianceLevel":0},{"id":"18w22c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4bf9154d3e7f493dad8349ec2d36ff45a776476a/18w22c.json","time":"2021-12-15T15:46:45Z","releaseTime":"2018-05-31T13:53:15Z","sha1":"4bf9154d3e7f493dad8349ec2d36ff45a776476a","complianceLevel":0},{"id":"18w22b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/70b35ec337ef414c6c20a0c262b6e20292149950/18w22b.json","time":"2021-12-15T15:46:44Z","releaseTime":"2018-05-30T13:48:58Z","sha1":"70b35ec337ef414c6c20a0c262b6e20292149950","complianceLevel":0},{"id":"18w22a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/adc9b9d5fd1152c1ffa17a6075e57e764438c3c8/18w22a.json","time":"2021-12-15T15:46:44Z","releaseTime":"2018-05-29T13:23:55Z","sha1":"adc9b9d5fd1152c1ffa17a6075e57e764438c3c8","complianceLevel":0},{"id":"18w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e6d564e18d99d20bc74a79bacafb457978558c3b/18w21b.json","time":"2021-12-15T15:46:43Z","releaseTime":"2018-05-25T10:09:09Z","sha1":"e6d564e18d99d20bc74a79bacafb457978558c3b","complianceLevel":0},{"id":"18w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a61dfb8bf507cd530787fe4ad9cd2b14063cc4dc/18w21a.json","time":"2021-12-15T15:46:43Z","releaseTime":"2018-05-23T13:11:49Z","sha1":"a61dfb8bf507cd530787fe4ad9cd2b14063cc4dc","complianceLevel":0},{"id":"18w20c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7281db0ef1cabf02d34d3f2ed7f07aabfc299740/18w20c.json","time":"2021-12-15T15:46:42Z","releaseTime":"2018-05-17T14:06:56Z","sha1":"7281db0ef1cabf02d34d3f2ed7f07aabfc299740","complianceLevel":0},{"id":"18w20b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bd72cc730f396bbe650de1ece6ceada70850a131/18w20b.json","time":"2021-12-15T15:46:42Z","releaseTime":"2018-05-16T14:35:35Z","sha1":"bd72cc730f396bbe650de1ece6ceada70850a131","complianceLevel":0},{"id":"18w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b7178822e4c4d04346e34e1d102f7dc3ee4d1c4f/18w20a.json","time":"2021-12-15T15:46:41Z","releaseTime":"2018-05-15T14:02:25Z","sha1":"b7178822e4c4d04346e34e1d102f7dc3ee4d1c4f","complianceLevel":0},{"id":"18w19b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b61e982949acfe2cc3f5b2e5b9be058396a85f95/18w19b.json","time":"2021-12-15T15:46:41Z","releaseTime":"2018-05-09T10:00:51Z","sha1":"b61e982949acfe2cc3f5b2e5b9be058396a85f95","complianceLevel":0},{"id":"18w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc8c8f0826b4b495eb59584885c590db058eba55/18w19a.json","time":"2021-12-15T15:46:40Z","releaseTime":"2018-05-08T13:05:19Z","sha1":"dc8c8f0826b4b495eb59584885c590db058eba55","complianceLevel":0},{"id":"18w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7ba5eb88eddd93a5ca79db48a5b165c03b1e86ee/18w16a.json","time":"2021-12-15T15:46:40Z","releaseTime":"2018-04-19T14:46:35Z","sha1":"7ba5eb88eddd93a5ca79db48a5b165c03b1e86ee","complianceLevel":0},{"id":"18w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d12a23f6fcc83dfe4aa7bada51cb232d81de5efa/18w15a.json","time":"2021-12-15T15:46:39Z","releaseTime":"2018-04-11T14:54:22Z","sha1":"d12a23f6fcc83dfe4aa7bada51cb232d81de5efa","complianceLevel":0},{"id":"18w14b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/145c2eec9e617b93eaf502dc8670868901d596d0/18w14b.json","time":"2021-12-15T15:46:39Z","releaseTime":"2018-04-05T14:44:02Z","sha1":"145c2eec9e617b93eaf502dc8670868901d596d0","complianceLevel":0},{"id":"18w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/cf3dc2bacafe030c10568d78a40924149af06bec/18w14a.json","time":"2021-12-15T15:46:38Z","releaseTime":"2018-04-04T14:36:14Z","sha1":"cf3dc2bacafe030c10568d78a40924149af06bec","complianceLevel":0},{"id":"18w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0855bcb6451c60dcd57652ad7e17ab76f3a0ee41/18w11a.json","time":"2021-12-15T15:46:38Z","releaseTime":"2018-03-13T15:10:59Z","sha1":"0855bcb6451c60dcd57652ad7e17ab76f3a0ee41","complianceLevel":0},{"id":"18w10d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3e59dae66bbe21fe5574fe225515953af900ccc7/18w10d.json","time":"2021-12-15T15:46:37Z","releaseTime":"2018-03-09T15:19:12Z","sha1":"3e59dae66bbe21fe5574fe225515953af900ccc7","complianceLevel":0},{"id":"18w10c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/34a84c146290fc084c3720522845cb45bc695d3f/18w10c.json","time":"2021-12-15T15:46:37Z","releaseTime":"2018-03-08T15:29:23Z","sha1":"34a84c146290fc084c3720522845cb45bc695d3f","complianceLevel":0},{"id":"18w10b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6b5e66fdd49b953cc3a045e0eca8fbd0ca6f2c0f/18w10b.json","time":"2021-12-15T15:46:36Z","releaseTime":"2018-03-07T15:56:01Z","sha1":"6b5e66fdd49b953cc3a045e0eca8fbd0ca6f2c0f","complianceLevel":0},{"id":"18w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aa9bf09ec5b113f3fa0b9ebffbb4348e69ab7f7b/18w10a.json","time":"2021-12-15T15:46:36Z","releaseTime":"2018-03-06T15:54:24Z","sha1":"aa9bf09ec5b113f3fa0b9ebffbb4348e69ab7f7b","complianceLevel":0},{"id":"18w09a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e7ba45e34b4f582960869ba8d9f7aed5768d269b/18w09a.json","time":"2021-12-15T15:46:35Z","releaseTime":"2018-03-01T14:15:10Z","sha1":"e7ba45e34b4f582960869ba8d9f7aed5768d269b","complianceLevel":0},{"id":"18w08b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7147b296dd0a82a4004c638939fce87a8e3c6fa8/18w08b.json","time":"2021-12-15T15:46:35Z","releaseTime":"2018-02-22T15:44:49Z","sha1":"7147b296dd0a82a4004c638939fce87a8e3c6fa8","complianceLevel":0},{"id":"18w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0b76a7b1f67f015222a1c245da516e55ffb3b16a/18w08a.json","time":"2021-12-15T15:46:34Z","releaseTime":"2018-02-21T14:59:00Z","sha1":"0b76a7b1f67f015222a1c245da516e55ffb3b16a","complianceLevel":0},{"id":"18w07c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3b11ace342a976858186c25b4939f72358390d85/18w07c.json","time":"2021-12-15T15:46:33Z","releaseTime":"2018-02-16T13:23:32Z","sha1":"3b11ace342a976858186c25b4939f72358390d85","complianceLevel":0},{"id":"18w07b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/81c57cbe71987fc549c198ca0bd967a27b709068/18w07b.json","time":"2021-12-15T15:46:33Z","releaseTime":"2018-02-15T14:28:42Z","sha1":"81c57cbe71987fc549c198ca0bd967a27b709068","complianceLevel":0},{"id":"18w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/11ed6f837b5a7ae96852adcde599d02490f541b2/18w07a.json","time":"2021-12-15T15:46:32Z","releaseTime":"2018-02-14T17:34:13Z","sha1":"11ed6f837b5a7ae96852adcde599d02490f541b2","complianceLevel":0},{"id":"18w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/42204d4625f9c541bc78685bd0113ab6620c615d/18w06a.json","time":"2021-12-15T15:46:32Z","releaseTime":"2018-02-09T12:09:55Z","sha1":"42204d4625f9c541bc78685bd0113ab6620c615d","complianceLevel":0},{"id":"18w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7db497bdadc50245f2c4fa5e60730bfec22d682f/18w05a.json","time":"2021-12-15T15:46:31Z","releaseTime":"2018-01-31T13:32:09Z","sha1":"7db497bdadc50245f2c4fa5e60730bfec22d682f","complianceLevel":0},{"id":"18w03b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8dad2dee3a546d2affa746a12efc739616d67e25/18w03b.json","time":"2021-12-15T15:46:31Z","releaseTime":"2018-01-17T15:09:14Z","sha1":"8dad2dee3a546d2affa746a12efc739616d67e25","complianceLevel":0},{"id":"18w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8a966aa6baf8f359d84bf505937d9f654e12bdce/18w03a.json","time":"2021-12-15T15:46:30Z","releaseTime":"2018-01-17T14:25:24Z","sha1":"8a966aa6baf8f359d84bf505937d9f654e12bdce","complianceLevel":0},{"id":"18w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5f3ca530535f41f4545ea42bf674bcff12d368d4/18w02a.json","time":"2021-12-15T15:46:30Z","releaseTime":"2018-01-10T11:54:55Z","sha1":"5f3ca530535f41f4545ea42bf674bcff12d368d4","complianceLevel":0},{"id":"18w01a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/785ade0867cc8fb9f1bb68b6c15ca1ccb89477a6/18w01a.json","time":"2021-12-15T15:46:29Z","releaseTime":"2018-01-03T13:29:30Z","sha1":"785ade0867cc8fb9f1bb68b6c15ca1ccb89477a6","complianceLevel":0},{"id":"17w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/efe9f23d6eddef432b89deafebbd17ceae0492cc/17w50a.json","time":"2021-12-15T15:46:29Z","releaseTime":"2017-12-11T15:28:08Z","sha1":"efe9f23d6eddef432b89deafebbd17ceae0492cc","complianceLevel":0},{"id":"17w49b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8ad72046ee3f7f82c22b323dc41c245c09e97e54/17w49b.json","time":"2021-12-15T15:46:28Z","releaseTime":"2017-12-07T15:29:54Z","sha1":"8ad72046ee3f7f82c22b323dc41c245c09e97e54","complianceLevel":0},{"id":"17w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/807995ef62ffe655b41ee7608f85863c9d0ecfd3/17w49a.json","time":"2021-12-15T15:46:28Z","releaseTime":"2017-12-06T14:24:30Z","sha1":"807995ef62ffe655b41ee7608f85863c9d0ecfd3","complianceLevel":0},{"id":"17w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/37cfcb5e613bf6f62f8ffe19401ebd7fd725a99d/17w48a.json","time":"2021-12-15T15:46:27Z","releaseTime":"2017-11-27T15:36:33Z","sha1":"37cfcb5e613bf6f62f8ffe19401ebd7fd725a99d","complianceLevel":0},{"id":"17w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8796dc8b2667ce0cdc43ec0170e79930aca66509/17w47b.json","time":"2021-12-15T15:46:26Z","releaseTime":"2017-11-23T15:30:12Z","sha1":"8796dc8b2667ce0cdc43ec0170e79930aca66509","complianceLevel":0},{"id":"17w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3122ac16a5ffe9931ef199629c67d96ffe17d637/17w47a.json","time":"2021-12-15T15:46:26Z","releaseTime":"2017-11-22T12:40:05Z","sha1":"3122ac16a5ffe9931ef199629c67d96ffe17d637","complianceLevel":0},{"id":"17w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6666ccc72ccb68b972a83cfd8c57314008ef4da7/17w46a.json","time":"2021-12-15T15:46:25Z","releaseTime":"2017-11-15T15:21:55Z","sha1":"6666ccc72ccb68b972a83cfd8c57314008ef4da7","complianceLevel":0},{"id":"17w45b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f1a9ddceaca9e2d0f98892ebfcdf5067bf61f894/17w45b.json","time":"2021-12-15T15:46:25Z","releaseTime":"2017-11-10T10:07:02Z","sha1":"f1a9ddceaca9e2d0f98892ebfcdf5067bf61f894","complianceLevel":0},{"id":"17w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1a2335e8c66a502c844c5372ea20c04d24838c3a/17w45a.json","time":"2021-12-15T15:46:24Z","releaseTime":"2017-11-08T15:48:00Z","sha1":"1a2335e8c66a502c844c5372ea20c04d24838c3a","complianceLevel":0},{"id":"17w43b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e0dd9b1386a39d56ef1577e97034e3866dd3acc2/17w43b.json","time":"2021-12-15T15:46:24Z","releaseTime":"2017-10-26T13:36:22Z","sha1":"e0dd9b1386a39d56ef1577e97034e3866dd3acc2","complianceLevel":0},{"id":"17w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4ca5bcd076e20b7234227697cd113987fbded613/17w43a.json","time":"2021-12-15T15:46:23Z","releaseTime":"2017-10-25T14:43:50Z","sha1":"4ca5bcd076e20b7234227697cd113987fbded613","complianceLevel":0},{"id":"1.12.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/cfd75871c03119093d7c96a6a99f21137d00c855/1.12.2.json","time":"2021-12-15T15:43:53Z","releaseTime":"2017-09-18T08:39:46Z","sha1":"cfd75871c03119093d7c96a6a99f21137d00c855","complianceLevel":0},{"id":"1.12.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d0ab3dcd73f99e058fceef93780bcfb5dceb67e7/1.12.2-pre2.json","time":"2021-12-15T15:44:21Z","releaseTime":"2017-09-15T08:21:17Z","sha1":"d0ab3dcd73f99e058fceef93780bcfb5dceb67e7","complianceLevel":0},{"id":"1.12.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3aecfd3a13247d6541ee20478b4b91469f4bfc06/1.12.2-pre1.json","time":"2021-12-15T15:44:21Z","releaseTime":"2017-09-13T13:33:31Z","sha1":"3aecfd3a13247d6541ee20478b4b91469f4bfc06","complianceLevel":0},{"id":"1.12.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ece2a75ac1eb6cabef04106a15f340a4cb87d86b/1.12.1.json","time":"2021-12-15T15:43:52Z","releaseTime":"2017-08-03T12:40:39Z","sha1":"ece2a75ac1eb6cabef04106a15f340a4cb87d86b","complianceLevel":0},{"id":"1.12.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f42b239c077b9b025d7b2bf764315040479c7c32/1.12.1-pre1.json","time":"2021-12-15T15:44:20Z","releaseTime":"2017-08-02T10:53:55Z","sha1":"f42b239c077b9b025d7b2bf764315040479c7c32","complianceLevel":0},{"id":"17w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7c12f84c7ed5ba230463d8875890a29c2fec45e1/17w31a.json","time":"2021-12-15T15:46:23Z","releaseTime":"2017-08-01T09:41:23Z","sha1":"7c12f84c7ed5ba230463d8875890a29c2fec45e1","complianceLevel":0},{"id":"1.12","type":"release","url":"https://launchermeta.mojang.com/v1/packages/fa3085f26ec90ef361352c3076e98aba6781b4b5/1.12.json","time":"2021-12-15T15:43:53Z","releaseTime":"2017-06-02T13:50:27Z","sha1":"fa3085f26ec90ef361352c3076e98aba6781b4b5","complianceLevel":0},{"id":"1.12-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0d423dd47bb49610bba145e8e76f62202ca762a8/1.12-pre7.json","time":"2021-12-15T15:44:20Z","releaseTime":"2017-05-31T10:56:41Z","sha1":"0d423dd47bb49610bba145e8e76f62202ca762a8","complianceLevel":0},{"id":"1.12-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9052c709ca5f730a813141b348091c239384a987/1.12-pre6.json","time":"2021-12-15T15:44:20Z","releaseTime":"2017-05-29T11:45:12Z","sha1":"9052c709ca5f730a813141b348091c239384a987","complianceLevel":0},{"id":"1.12-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d04e9e6aab9fbbbe0d22c14efa88df91316bd047/1.12-pre5.json","time":"2021-12-15T15:44:19Z","releaseTime":"2017-05-19T07:43:28Z","sha1":"d04e9e6aab9fbbbe0d22c14efa88df91316bd047","complianceLevel":0},{"id":"1.12-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/606b08d8fa71ccaf4fbb4399b9539032b0f2969a/1.12-pre4.json","time":"2021-12-15T15:44:18Z","releaseTime":"2017-05-18T12:28:16Z","sha1":"606b08d8fa71ccaf4fbb4399b9539032b0f2969a","complianceLevel":0},{"id":"1.12-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a38ed63f8af119ac4aeb03410b025a312e6e890/1.12-pre3.json","time":"2021-12-15T15:44:18Z","releaseTime":"2017-05-17T14:09:18Z","sha1":"6a38ed63f8af119ac4aeb03410b025a312e6e890","complianceLevel":0},{"id":"1.12-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1e4135c2ff59143b436fae4300573cc49b479439/1.12-pre2.json","time":"2021-12-15T15:44:18Z","releaseTime":"2017-05-11T12:11:12Z","sha1":"1e4135c2ff59143b436fae4300573cc49b479439","complianceLevel":0},{"id":"1.12-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/333430ebb5102b6f96f3597e01c5fccef93a6b19/1.12-pre1.json","time":"2021-12-15T15:44:17Z","releaseTime":"2017-05-10T11:37:17Z","sha1":"333430ebb5102b6f96f3597e01c5fccef93a6b19","complianceLevel":0},{"id":"17w18b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a8e91e6b7e1beec49428fbeb1907f7fbe7b69d4e/17w18b.json","time":"2021-12-15T15:46:22Z","releaseTime":"2017-05-04T13:40:22Z","sha1":"a8e91e6b7e1beec49428fbeb1907f7fbe7b69d4e","complianceLevel":0},{"id":"17w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/616724ca0d52bfc6f8dcde854f3e23ce0903fafe/17w18a.json","time":"2021-12-15T15:46:22Z","releaseTime":"2017-05-03T14:50:23Z","sha1":"616724ca0d52bfc6f8dcde854f3e23ce0903fafe","complianceLevel":0},{"id":"17w17b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7aa9acd138aa9f67ab637b63e694389ce40a9b0c/17w17b.json","time":"2021-12-15T15:46:21Z","releaseTime":"2017-04-27T13:24:23Z","sha1":"7aa9acd138aa9f67ab637b63e694389ce40a9b0c","complianceLevel":0},{"id":"17w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/49d16540ce18168a33e7df1ef622cbec797f1f0f/17w17a.json","time":"2021-12-15T15:46:21Z","releaseTime":"2017-04-26T13:48:23Z","sha1":"49d16540ce18168a33e7df1ef622cbec797f1f0f","complianceLevel":0},{"id":"17w16b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/72a645ed45a018a5f25e59a7cfc963b55144c875/17w16b.json","time":"2021-12-15T15:46:20Z","releaseTime":"2017-04-21T12:02:59Z","sha1":"72a645ed45a018a5f25e59a7cfc963b55144c875","complianceLevel":0},{"id":"17w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5b21a349859d9bb104d35f0f27d0cd02d8a50212/17w16a.json","time":"2021-12-15T15:46:20Z","releaseTime":"2017-04-20T13:58:35Z","sha1":"5b21a349859d9bb104d35f0f27d0cd02d8a50212","complianceLevel":0},{"id":"17w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f906cf06c6a01c21ec4cf3a2ec788507ca3dacf8/17w15a.json","time":"2021-12-15T15:46:19Z","releaseTime":"2017-04-12T09:30:50Z","sha1":"f906cf06c6a01c21ec4cf3a2ec788507ca3dacf8","complianceLevel":0},{"id":"17w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d49a6949a6cd8545d24f580f64705f5e3826b840/17w14a.json","time":"2021-12-13T14:56:26Z","releaseTime":"2017-04-05T13:58:01Z","sha1":"d49a6949a6cd8545d24f580f64705f5e3826b840","complianceLevel":0},{"id":"17w13b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3ac23bb43d97324eea4fe4054a823a878db347eb/17w13b.json","time":"2021-12-15T15:46:19Z","releaseTime":"2017-03-31T11:06:35Z","sha1":"3ac23bb43d97324eea4fe4054a823a878db347eb","complianceLevel":0},{"id":"17w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/01f88db38661f78a52e21aefed8215e0fb01a6ee/17w13a.json","time":"2021-12-15T15:46:18Z","releaseTime":"2017-03-30T09:32:19Z","sha1":"01f88db38661f78a52e21aefed8215e0fb01a6ee","complianceLevel":0},{"id":"17w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a2a236d5ceb2838b44ff6e1291106b3a6de9ca21/17w06a.json","time":"2021-12-15T15:46:18Z","releaseTime":"2017-02-08T13:16:29Z","sha1":"a2a236d5ceb2838b44ff6e1291106b3a6de9ca21","complianceLevel":0},{"id":"1.11.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4a7b205586fa9f827085c389ec8ce46a6df5fd94/1.11.2.json","time":"2021-12-15T15:43:51Z","releaseTime":"2016-12-21T09:29:12Z","sha1":"4a7b205586fa9f827085c389ec8ce46a6df5fd94","complianceLevel":0},{"id":"1.11.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b4280e36205db0d7040c2fb1ecc8609dba675720/1.11.1.json","time":"2021-12-15T15:43:51Z","releaseTime":"2016-12-20T14:05:34Z","sha1":"b4280e36205db0d7040c2fb1ecc8609dba675720","complianceLevel":0},{"id":"16w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/febd9a04bec341431d89a4a6d27d87173df0bd6e/16w50a.json","time":"2021-12-15T15:46:17Z","releaseTime":"2016-12-15T14:38:52Z","sha1":"febd9a04bec341431d89a4a6d27d87173df0bd6e","complianceLevel":0},{"id":"1.11","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ec94669865c0b0f6e9acfdb172985861790c8538/1.11.json","time":"2021-12-15T15:43:52Z","releaseTime":"2016-11-14T14:34:40Z","sha1":"ec94669865c0b0f6e9acfdb172985861790c8538","complianceLevel":0},{"id":"1.11-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1a8419e7379c2ce12ebafd79b1d28737071fc499/1.11-pre1.json","time":"2021-12-15T15:44:17Z","releaseTime":"2016-11-08T13:42:50Z","sha1":"1a8419e7379c2ce12ebafd79b1d28737071fc499","complianceLevel":0},{"id":"16w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc2f38676cdd32671863c91f8573a135dbe21356/16w44a.json","time":"2021-12-15T15:46:17Z","releaseTime":"2016-11-03T14:17:11Z","sha1":"dc2f38676cdd32671863c91f8573a135dbe21356","complianceLevel":0},{"id":"16w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/130658ebc980c1decaaf73097df1e2c55b85f127/16w43a.json","time":"2021-12-15T15:46:16Z","releaseTime":"2016-10-27T09:00:51Z","sha1":"130658ebc980c1decaaf73097df1e2c55b85f127","complianceLevel":0},{"id":"16w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/989eda4f27b8585d7c36c7f01fec664639dcf3d7/16w42a.json","time":"2021-12-15T15:46:16Z","releaseTime":"2016-10-19T11:17:47Z","sha1":"989eda4f27b8585d7c36c7f01fec664639dcf3d7","complianceLevel":0},{"id":"16w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8d9a5e0b4bc0136bab50f37464dbf965ea552f32/16w41a.json","time":"2021-12-15T15:46:16Z","releaseTime":"2016-10-13T14:28:35Z","sha1":"8d9a5e0b4bc0136bab50f37464dbf965ea552f32","complianceLevel":0},{"id":"16w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/06888c9471858caab263061b2c9f4706c8e8271b/16w40a.json","time":"2021-12-15T15:46:15Z","releaseTime":"2016-10-06T13:57:59Z","sha1":"06888c9471858caab263061b2c9f4706c8e8271b","complianceLevel":0},{"id":"16w39c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e598bc854707defa1a672bdc783177e35fa8ec1b/16w39c.json","time":"2021-12-15T15:46:15Z","releaseTime":"2016-09-30T14:11:48Z","sha1":"e598bc854707defa1a672bdc783177e35fa8ec1b","complianceLevel":0},{"id":"16w39b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8dda45987a2c91c1ddf862d7b1b08f212cc5ff97/16w39b.json","time":"2021-12-15T15:46:14Z","releaseTime":"2016-09-29T14:39:39Z","sha1":"8dda45987a2c91c1ddf862d7b1b08f212cc5ff97","complianceLevel":0},{"id":"16w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/473a1f1a4ece5db81c062026c2a34aec9c5aeb45/16w39a.json","time":"2021-12-15T15:46:14Z","releaseTime":"2016-09-28T13:32:06Z","sha1":"473a1f1a4ece5db81c062026c2a34aec9c5aeb45","complianceLevel":0},{"id":"16w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/73db24801ef3a77b18c6af3332044409d0db300f/16w38a.json","time":"2021-12-15T15:46:13Z","releaseTime":"2016-09-20T12:40:49Z","sha1":"73db24801ef3a77b18c6af3332044409d0db300f","complianceLevel":0},{"id":"16w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/55d4bda92c3fc94b4ea0e5ec3764f47cb3301909/16w36a.json","time":"2021-12-15T15:46:13Z","releaseTime":"2016-09-08T14:55:10Z","sha1":"55d4bda92c3fc94b4ea0e5ec3764f47cb3301909","complianceLevel":0},{"id":"16w35a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3f2b102c366bac1b7cbe46f7ac8617c55f050ca7/16w35a.json","time":"2021-12-15T15:46:12Z","releaseTime":"2016-09-01T13:13:38Z","sha1":"3f2b102c366bac1b7cbe46f7ac8617c55f050ca7","complianceLevel":0},{"id":"16w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1673a47f0205fdb46aaca7132491b96ce3cdde88/16w33a.json","time":"2021-12-15T15:46:12Z","releaseTime":"2016-08-17T12:48:57Z","sha1":"1673a47f0205fdb46aaca7132491b96ce3cdde88","complianceLevel":0},{"id":"16w32b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3b78094b56811eb43a01e82a430a30db35a1bc2b/16w32b.json","time":"2021-12-15T15:46:11Z","releaseTime":"2016-08-11T14:34:29Z","sha1":"3b78094b56811eb43a01e82a430a30db35a1bc2b","complianceLevel":0},{"id":"16w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c2a086ced95735241b3a9bb7a4f4ad5af22a672c/16w32a.json","time":"2021-12-15T15:46:11Z","releaseTime":"2016-08-10T12:30:10Z","sha1":"c2a086ced95735241b3a9bb7a4f4ad5af22a672c","complianceLevel":0},{"id":"1.10.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/453f5b2785876c07c4723c5811d101132f2f6b74/1.10.2.json","time":"2021-12-15T15:43:50Z","releaseTime":"2016-06-23T09:17:32Z","sha1":"453f5b2785876c07c4723c5811d101132f2f6b74","complianceLevel":0},{"id":"1.10.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/6c26e69ed37120c0f6c93c3f69e7dc7b8e697ab8/1.10.1.json","time":"2021-12-15T15:43:50Z","releaseTime":"2016-06-22T10:13:22Z","sha1":"6c26e69ed37120c0f6c93c3f69e7dc7b8e697ab8","complianceLevel":0},{"id":"1.10","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ed24421f4d1c6eae738a614ff1d9a60a05a700f2/1.10.json","time":"2021-12-15T15:43:51Z","releaseTime":"2016-06-08T13:06:18Z","sha1":"ed24421f4d1c6eae738a614ff1d9a60a05a700f2","complianceLevel":0},{"id":"1.10-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9adf95a19e6cfdcfb7b70da9946f3bbe4f77eb70/1.10-pre2.json","time":"2021-12-15T15:44:16Z","releaseTime":"2016-06-07T14:56:34Z","sha1":"9adf95a19e6cfdcfb7b70da9946f3bbe4f77eb70","complianceLevel":0},{"id":"1.10-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1a1804d54af75def8770336a46d598371bcbaef0/1.10-pre1.json","time":"2021-12-15T15:44:16Z","releaseTime":"2016-06-02T14:45:16Z","sha1":"1a1804d54af75def8770336a46d598371bcbaef0","complianceLevel":0},{"id":"16w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/168705060407358a42ddfbf657eb57e3fa3f29d3/16w21b.json","time":"2021-12-15T15:46:10Z","releaseTime":"2016-05-26T12:47:22Z","sha1":"168705060407358a42ddfbf657eb57e3fa3f29d3","complianceLevel":0},{"id":"16w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a6706d50f29111c218ad9be1a77fd3b4a5c79d7/16w21a.json","time":"2021-12-15T15:46:10Z","releaseTime":"2016-05-25T13:12:09Z","sha1":"6a6706d50f29111c218ad9be1a77fd3b4a5c79d7","complianceLevel":0},{"id":"16w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/779532b8918db58fcbce6ba6b177c8fd44c6e08e/16w20a.json","time":"2021-12-15T15:46:09Z","releaseTime":"2016-05-18T12:45:14Z","sha1":"779532b8918db58fcbce6ba6b177c8fd44c6e08e","complianceLevel":0},{"id":"1.9.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/47a4367ff27db76067065807a97416711b7c7d09/1.9.4.json","time":"2021-12-15T15:44:15Z","releaseTime":"2016-05-10T10:17:16Z","sha1":"47a4367ff27db76067065807a97416711b7c7d09","complianceLevel":0},{"id":"1.9.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/6107cb3185da153f79be05b3f424804c130b2c88/1.9.3.json","time":"2021-12-15T15:44:14Z","releaseTime":"2016-05-10T08:33:35Z","sha1":"6107cb3185da153f79be05b3f424804c130b2c88","complianceLevel":0},{"id":"1.9.3-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2f6bb7de07c0784fe63d6edda19b0b80dcb45411/1.9.3-pre3.json","time":"2021-12-15T15:45:15Z","releaseTime":"2016-05-03T09:28:11Z","sha1":"2f6bb7de07c0784fe63d6edda19b0b80dcb45411","complianceLevel":0},{"id":"1.9.3-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c7b8426a21dabaddcf54c6fae4aa2a8c704e95b3/1.9.3-pre2.json","time":"2021-12-15T15:45:15Z","releaseTime":"2016-04-27T13:33:20Z","sha1":"c7b8426a21dabaddcf54c6fae4aa2a8c704e95b3","complianceLevel":0},{"id":"1.9.3-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8ebf237965d89a814b0d2075f5da41d13e3a714a/1.9.3-pre1.json","time":"2021-12-15T15:45:14Z","releaseTime":"2016-04-21T12:41:42Z","sha1":"8ebf237965d89a814b0d2075f5da41d13e3a714a","complianceLevel":0},{"id":"16w15b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9c04bc3453a5e1eea9cbbeb0c036cda8849fde95/16w15b.json","time":"2021-12-15T15:46:09Z","releaseTime":"2016-04-13T13:56:41Z","sha1":"9c04bc3453a5e1eea9cbbeb0c036cda8849fde95","complianceLevel":0},{"id":"16w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/18e789cfde0a8c02bbf9bf24102c2836fb24a412/16w15a.json","time":"2021-12-15T15:46:08Z","releaseTime":"2016-04-11T14:38:28Z","sha1":"18e789cfde0a8c02bbf9bf24102c2836fb24a412","complianceLevel":0},{"id":"16w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d35ef730a73c8862740fb7c85960e61889806f06/16w14a.json","time":"2021-12-15T15:46:08Z","releaseTime":"2016-04-07T12:47:51Z","sha1":"d35ef730a73c8862740fb7c85960e61889806f06","complianceLevel":0},{"id":"1.RV-Pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/268a225c8dbf8a2e6e17f1c2ac36192f046cd371/1.RV-Pre1.json","time":"2021-12-15T15:45:15Z","releaseTime":"2016-03-31T16:18:53Z","sha1":"268a225c8dbf8a2e6e17f1c2ac36192f046cd371","complianceLevel":0},{"id":"1.9.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b0be54cf45695e324b9926f990434f9a0235bd9b/1.9.2.json","time":"2021-12-15T15:44:14Z","releaseTime":"2016-03-30T15:23:55Z","sha1":"b0be54cf45695e324b9926f990434f9a0235bd9b","complianceLevel":0},{"id":"1.9.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/cb32af124abf1bc87c38b788926b3e592126a77c/1.9.1.json","time":"2021-12-15T15:44:13Z","releaseTime":"2016-03-30T13:43:07Z","sha1":"cb32af124abf1bc87c38b788926b3e592126a77c","complianceLevel":0},{"id":"1.9.1-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e13d03fac8dbe3b518542da89e9fa8064b76d4a3/1.9.1-pre3.json","time":"2021-12-15T15:45:14Z","releaseTime":"2016-03-11T09:20:36Z","sha1":"e13d03fac8dbe3b518542da89e9fa8064b76d4a3","complianceLevel":0},{"id":"1.9.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c9e2a5309789b76381a5de3fe0c73bec4c58ea6f/1.9.1-pre2.json","time":"2021-12-15T15:45:13Z","releaseTime":"2016-03-10T15:06:03Z","sha1":"c9e2a5309789b76381a5de3fe0c73bec4c58ea6f","complianceLevel":0},{"id":"1.9.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5adf2e9a343daa3e0b1609de322ff3c78b7299ec/1.9.1-pre1.json","time":"2021-12-15T15:45:13Z","releaseTime":"2016-03-09T16:27:29Z","sha1":"5adf2e9a343daa3e0b1609de322ff3c78b7299ec","complianceLevel":0},{"id":"1.9","type":"release","url":"https://launchermeta.mojang.com/v1/packages/7bb4eab858d50c58d2855228110dfe1a4c2fa293/1.9.json","time":"2021-12-15T15:44:15Z","releaseTime":"2016-02-29T13:49:54Z","sha1":"7bb4eab858d50c58d2855228110dfe1a4c2fa293","complianceLevel":0},{"id":"1.9-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0e8a702dc4d23661786f97b96129478b78ca928c/1.9-pre4.json","time":"2021-12-15T15:45:12Z","releaseTime":"2016-02-26T15:21:11Z","sha1":"0e8a702dc4d23661786f97b96129478b78ca928c","complianceLevel":0},{"id":"1.9-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9123315c9933002d2524e5cbb7300b49845a164c/1.9-pre3.json","time":"2021-12-15T15:45:12Z","releaseTime":"2016-02-24T15:52:36Z","sha1":"9123315c9933002d2524e5cbb7300b49845a164c","complianceLevel":0},{"id":"1.9-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/14e95ebcd3fb703c84183b8e84931563b03f84bc/1.9-pre2.json","time":"2021-12-15T15:45:11Z","releaseTime":"2016-02-18T17:41:00Z","sha1":"14e95ebcd3fb703c84183b8e84931563b03f84bc","complianceLevel":0},{"id":"1.9-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/712caae8ee8d75215896d17c5676dc15759d4079/1.9-pre1.json","time":"2021-12-15T15:45:11Z","releaseTime":"2016-02-17T15:23:19Z","sha1":"712caae8ee8d75215896d17c5676dc15759d4079","complianceLevel":0},{"id":"16w07b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/73d28ebef8689c0f9fd458da1988ebe95a3ba071/16w07b.json","time":"2021-12-15T15:46:07Z","releaseTime":"2016-02-16T15:22:39Z","sha1":"73d28ebef8689c0f9fd458da1988ebe95a3ba071","complianceLevel":0},{"id":"16w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7bf8e32bbdb481d7349f1cd283b17946827e8b60/16w07a.json","time":"2021-12-15T15:46:07Z","releaseTime":"2016-02-15T15:48:46Z","sha1":"7bf8e32bbdb481d7349f1cd283b17946827e8b60","complianceLevel":0},{"id":"16w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/58edeaa7b22cb9866aba1c9615b732a3db354add/16w06a.json","time":"2021-12-15T15:46:07Z","releaseTime":"2016-02-10T15:06:41Z","sha1":"58edeaa7b22cb9866aba1c9615b732a3db354add","complianceLevel":0},{"id":"16w05b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c24ea3b03a91bdbc7d8120eaf633acac101cd76c/16w05b.json","time":"2021-12-15T15:46:06Z","releaseTime":"2016-02-04T15:28:02Z","sha1":"c24ea3b03a91bdbc7d8120eaf633acac101cd76c","complianceLevel":0},{"id":"16w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9d135bfd2b15c171528a08f149de202f036e157/16w05a.json","time":"2021-12-15T15:46:06Z","releaseTime":"2016-02-03T15:48:38Z","sha1":"a9d135bfd2b15c171528a08f149de202f036e157","complianceLevel":0},{"id":"16w04a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aa0ba9a603bca8afa4b680a792aaabb88c93d016/16w04a.json","time":"2021-12-15T15:46:05Z","releaseTime":"2016-01-28T15:37:24Z","sha1":"aa0ba9a603bca8afa4b680a792aaabb88c93d016","complianceLevel":0},{"id":"16w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a8c9b966ed051967cf2448924b6f73094b90ef2/16w03a.json","time":"2021-12-15T15:46:05Z","releaseTime":"2016-01-20T14:29:24Z","sha1":"6a8c9b966ed051967cf2448924b6f73094b90ef2","complianceLevel":0},{"id":"16w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7f1b36e80f5ede72bc1662e9b48036a1e2292abf/16w02a.json","time":"2021-12-15T15:46:04Z","releaseTime":"2016-01-13T15:15:16Z","sha1":"7f1b36e80f5ede72bc1662e9b48036a1e2292abf","complianceLevel":0},{"id":"15w51b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/16cb387f44a1585e64f8103142bd2910385ae65b/15w51b.json","time":"2021-12-15T15:46:04Z","releaseTime":"2015-12-17T15:30:41Z","sha1":"16cb387f44a1585e64f8103142bd2910385ae65b","complianceLevel":0},{"id":"15w51a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8c15fe5539b86e5c17b227c08f2d4849638fbb5d/15w51a.json","time":"2021-12-15T15:46:03Z","releaseTime":"2015-12-17T14:02:37Z","sha1":"8c15fe5539b86e5c17b227c08f2d4849638fbb5d","complianceLevel":0},{"id":"15w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/233d5225a6c9538d47179c781583df31433d3008/15w50a.json","time":"2021-12-15T15:46:03Z","releaseTime":"2015-12-09T15:35:57Z","sha1":"233d5225a6c9538d47179c781583df31433d3008","complianceLevel":0},{"id":"15w49b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc7c054bb890de4300429b712957c429ea72ac74/15w49b.json","time":"2021-12-15T15:46:02Z","releaseTime":"2015-12-03T15:23:22Z","sha1":"dc7c054bb890de4300429b712957c429ea72ac74","complianceLevel":0},{"id":"1.8.9","type":"release","url":"https://launchermeta.mojang.com/v1/packages/d546f1707a3f2b7d034eece5ea2e311eda875787/1.8.9.json","time":"2021-12-15T15:44:12Z","releaseTime":"2015-12-03T09:24:39Z","sha1":"d546f1707a3f2b7d034eece5ea2e311eda875787","complianceLevel":0},{"id":"15w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5bd5085de9b7920da92423049be9c50e29ee492b/15w49a.json","time":"2021-12-15T15:46:02Z","releaseTime":"2015-12-02T15:09:37Z","sha1":"5bd5085de9b7920da92423049be9c50e29ee492b","complianceLevel":0},{"id":"15w47c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aa59e973582a88e9437238aabec2a13b27a343ec/15w47c.json","time":"2021-12-15T15:46:01Z","releaseTime":"2015-11-20T12:46:56Z","sha1":"aa59e973582a88e9437238aabec2a13b27a343ec","complianceLevel":0},{"id":"15w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b11b494533bebdf2e261ac25c85fff5847b3ce82/15w47b.json","time":"2021-12-15T15:46:01Z","releaseTime":"2015-11-19T14:48:03Z","sha1":"b11b494533bebdf2e261ac25c85fff5847b3ce82","complianceLevel":0},{"id":"15w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5e26942d1168acd1722b51c9d7736f14e66954dc/15w47a.json","time":"2021-12-15T15:46:00Z","releaseTime":"2015-11-18T15:53:41Z","sha1":"5e26942d1168acd1722b51c9d7736f14e66954dc","complianceLevel":0},{"id":"15w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bdd0e0ba0769c4008cf7bc70df561657308d91c6/15w46a.json","time":"2021-12-15T15:46:00Z","releaseTime":"2015-11-12T12:11:47Z","sha1":"bdd0e0ba0769c4008cf7bc70df561657308d91c6","complianceLevel":0},{"id":"15w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/de6ed42afdcc54fbcd63436f82874a0656582d01/15w45a.json","time":"2021-12-15T15:45:59Z","releaseTime":"2015-11-05T13:04:07Z","sha1":"de6ed42afdcc54fbcd63436f82874a0656582d01","complianceLevel":0},{"id":"15w44b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4b68abcd91cd5f8edeb200fe78f2b832f719d8dd/15w44b.json","time":"2021-12-15T15:45:59Z","releaseTime":"2015-10-30T11:23:17Z","sha1":"4b68abcd91cd5f8edeb200fe78f2b832f719d8dd","complianceLevel":0},{"id":"15w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5ac6e4336887fc3300955e705f395095855b1a65/15w44a.json","time":"2021-12-15T15:45:58Z","releaseTime":"2015-10-28T15:09:36Z","sha1":"5ac6e4336887fc3300955e705f395095855b1a65","complianceLevel":0},{"id":"15w43c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1cd6c443b67d6bcf7e4e0fee3aa0288a3497cd88/15w43c.json","time":"2021-12-15T15:45:58Z","releaseTime":"2015-10-23T15:35:55Z","sha1":"1cd6c443b67d6bcf7e4e0fee3aa0288a3497cd88","complianceLevel":0},{"id":"15w43b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dbcdd656e950cb52b9eb933094eaf94e415a151e/15w43b.json","time":"2021-12-15T15:45:57Z","releaseTime":"2015-10-22T14:11:58Z","sha1":"dbcdd656e950cb52b9eb933094eaf94e415a151e","complianceLevel":0},{"id":"15w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5da66280e34f0cdbb5fe0d463deb4916d0181a64/15w43a.json","time":"2021-12-15T15:45:57Z","releaseTime":"2015-10-21T15:28:52Z","sha1":"5da66280e34f0cdbb5fe0d463deb4916d0181a64","complianceLevel":0},{"id":"15w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7b18842c1dbbe945d991851ffaff49ecd7efbb91/15w42a.json","time":"2021-12-15T15:45:57Z","releaseTime":"2015-10-14T13:25:14Z","sha1":"7b18842c1dbbe945d991851ffaff49ecd7efbb91","complianceLevel":0},{"id":"15w41b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/27ab9716cf332d457be085a808eb170fe1a1ff2c/15w41b.json","time":"2021-12-15T15:45:56Z","releaseTime":"2015-10-07T14:07:26Z","sha1":"27ab9716cf332d457be085a808eb170fe1a1ff2c","complianceLevel":0},{"id":"15w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/38026b4c0301e3441d8e0d5b367392d3212dc51d/15w41a.json","time":"2021-12-15T15:45:56Z","releaseTime":"2015-10-07T13:19:53Z","sha1":"38026b4c0301e3441d8e0d5b367392d3212dc51d","complianceLevel":0},{"id":"15w40b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a00ee3d8eb0c1cb38d928f5efb4a473768fa5286/15w40b.json","time":"2021-12-15T15:45:56Z","releaseTime":"2015-09-30T14:13:54Z","sha1":"a00ee3d8eb0c1cb38d928f5efb4a473768fa5286","complianceLevel":0},{"id":"15w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f5c9662f1674f7f0e55e82a77109ad88a6bc9df7/15w40a.json","time":"2021-12-15T15:45:55Z","releaseTime":"2015-09-30T13:13:54Z","sha1":"f5c9662f1674f7f0e55e82a77109ad88a6bc9df7","complianceLevel":0},{"id":"15w39c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/134e9d87a2c86e82d98bc7f8ba5965b7fd6634c1/15w39c.json","time":"2021-12-15T15:45:55Z","releaseTime":"2015-09-23T13:13:54Z","sha1":"134e9d87a2c86e82d98bc7f8ba5965b7fd6634c1","complianceLevel":0},{"id":"15w39b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/909aa3af2988edc58b1e9c66f906a883d9a34815/15w39b.json","time":"2021-12-15T15:45:54Z","releaseTime":"2015-09-21T15:09:52Z","sha1":"909aa3af2988edc58b1e9c66f906a883d9a34815","complianceLevel":0},{"id":"15w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7f914aa1098b8b35e20e9c021b57378d0a8fcc6c/15w39a.json","time":"2021-12-15T15:45:54Z","releaseTime":"2015-09-21T13:16:32Z","sha1":"7f914aa1098b8b35e20e9c021b57378d0a8fcc6c","complianceLevel":0},{"id":"15w38b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/222a234de865b9147cad4e3b2545d8af93c35065/15w38b.json","time":"2021-12-15T15:45:54Z","releaseTime":"2015-09-17T14:22:31Z","sha1":"222a234de865b9147cad4e3b2545d8af93c35065","complianceLevel":0},{"id":"15w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1b4dcb4c07599a5e5571d9d71570641086e821e4/15w38a.json","time":"2021-12-15T15:45:53Z","releaseTime":"2015-09-16T14:22:31Z","sha1":"1b4dcb4c07599a5e5571d9d71570641086e821e4","complianceLevel":0},{"id":"15w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9459c8c56ba4577b69cc12a9034769f0d20fb3dc/15w37a.json","time":"2021-12-15T15:45:53Z","releaseTime":"2015-09-10T14:22:31Z","sha1":"9459c8c56ba4577b69cc12a9034769f0d20fb3dc","complianceLevel":0},{"id":"15w36d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/49a6f0d3a233d103b5fdeb6aefd7a6b0208b5ce9/15w36d.json","time":"2021-12-15T15:45:53Z","releaseTime":"2015-09-04T14:22:31Z","sha1":"49a6f0d3a233d103b5fdeb6aefd7a6b0208b5ce9","complianceLevel":0},{"id":"15w36c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b1a04bae902de441013791777aa0461d446bd2c7/15w36c.json","time":"2021-12-15T15:45:52Z","releaseTime":"2015-09-02T16:07:22Z","sha1":"b1a04bae902de441013791777aa0461d446bd2c7","complianceLevel":0},{"id":"15w36b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2268159e9ce438054660ac86d55db3ddfed1e20b/15w36b.json","time":"2021-12-15T15:45:52Z","releaseTime":"2015-09-02T15:36:25Z","sha1":"2268159e9ce438054660ac86d55db3ddfed1e20b","complianceLevel":0},{"id":"15w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c185b19d54c00e43f85c610858909c40f9163708/15w36a.json","time":"2021-12-15T15:45:51Z","releaseTime":"2015-09-02T14:46:40Z","sha1":"c185b19d54c00e43f85c610858909c40f9163708","complianceLevel":0},{"id":"15w35e","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1fade4fe9d2587106ac3fa14775f9126d3198103/15w35e.json","time":"2021-12-15T15:45:51Z","releaseTime":"2015-08-28T18:14:02Z","sha1":"1fade4fe9d2587106ac3fa14775f9126d3198103","complianceLevel":0},{"id":"15w35d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f7eeb1ed37ec5c38cd8a04ba1fe90a50a1b24752/15w35d.json","time":"2021-12-15T15:45:51Z","releaseTime":"2015-08-28T16:25:35Z","sha1":"f7eeb1ed37ec5c38cd8a04ba1fe90a50a1b24752","complianceLevel":0},{"id":"15w35c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/362bda12d03da60b8481c79f4779bba7a2602c89/15w35c.json","time":"2021-12-15T15:45:50Z","releaseTime":"2015-08-28T11:21:00Z","sha1":"362bda12d03da60b8481c79f4779bba7a2602c89","complianceLevel":0},{"id":"15w35b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fda82bd0b305eba9607742b9314a41a54f0a9952/15w35b.json","time":"2021-12-15T15:45:50Z","releaseTime":"2015-08-24T15:39:18Z","sha1":"fda82bd0b305eba9607742b9314a41a54f0a9952","complianceLevel":0},{"id":"15w35a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/801ae2c7be9b3e558a7aef6c766bddb74d4be66a/15w35a.json","time":"2021-12-15T15:45:50Z","releaseTime":"2015-08-24T14:19:31Z","sha1":"801ae2c7be9b3e558a7aef6c766bddb74d4be66a","complianceLevel":0},{"id":"15w34d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3c0d347369147a3951163679127a5bf8e78be5a2/15w34d.json","time":"2021-12-15T15:45:49Z","releaseTime":"2015-08-21T15:27:55Z","sha1":"3c0d347369147a3951163679127a5bf8e78be5a2","complianceLevel":0},{"id":"15w34c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/44d6774de6881154fd5f9ac6154dee5f202eb121/15w34c.json","time":"2021-12-15T15:45:49Z","releaseTime":"2015-08-21T12:45:20Z","sha1":"44d6774de6881154fd5f9ac6154dee5f202eb121","complianceLevel":0},{"id":"15w34b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3bec850cf623d63b26caf462b0be177bc9954a0a/15w34b.json","time":"2021-12-15T15:45:48Z","releaseTime":"2015-08-20T14:00:03Z","sha1":"3bec850cf623d63b26caf462b0be177bc9954a0a","complianceLevel":0},{"id":"15w34a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b8fdc5838196c33646a68610ed7586678a53b085/15w34a.json","time":"2021-12-15T15:45:48Z","releaseTime":"2015-08-19T12:56:01Z","sha1":"b8fdc5838196c33646a68610ed7586678a53b085","complianceLevel":0},{"id":"15w33c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c602ac43b9f2c23b4c39999a6368bbccd31852ca/15w33c.json","time":"2021-12-15T15:45:48Z","releaseTime":"2015-08-14T13:10:46Z","sha1":"c602ac43b9f2c23b4c39999a6368bbccd31852ca","complianceLevel":0},{"id":"15w33b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c108562e1ee548ba05439441e97fdcb0b01d1194/15w33b.json","time":"2021-12-15T15:45:47Z","releaseTime":"2015-08-12T15:29:11Z","sha1":"c108562e1ee548ba05439441e97fdcb0b01d1194","complianceLevel":0},{"id":"15w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e5b7e666fd697aef925f539d3983d03ed5d4457e/15w33a.json","time":"2021-12-15T15:45:47Z","releaseTime":"2015-08-12T14:05:07Z","sha1":"e5b7e666fd697aef925f539d3983d03ed5d4457e","complianceLevel":0},{"id":"15w32c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2bf1e36bc4099bba503063ec507b7600ca088e4c/15w32c.json","time":"2021-12-15T15:45:46Z","releaseTime":"2015-08-07T14:08:17Z","sha1":"2bf1e36bc4099bba503063ec507b7600ca088e4c","complianceLevel":0},{"id":"15w32b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/59db82d67a0a1c6b6a31d22cd050ff6c43f1611b/15w32b.json","time":"2021-12-15T15:45:46Z","releaseTime":"2015-08-06T13:51:47Z","sha1":"59db82d67a0a1c6b6a31d22cd050ff6c43f1611b","complianceLevel":0},{"id":"15w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4e80b2295bdb531e64326c4d3fbf93e8d330c5e7/15w32a.json","time":"2021-12-15T15:45:45Z","releaseTime":"2015-08-05T12:22:42Z","sha1":"4e80b2295bdb531e64326c4d3fbf93e8d330c5e7","complianceLevel":0},{"id":"15w31c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1345a9c6d2442415e5980c12fd7bd838072dbd90/15w31c.json","time":"2021-12-15T15:45:44Z","releaseTime":"2015-07-31T13:45:08Z","sha1":"1345a9c6d2442415e5980c12fd7bd838072dbd90","complianceLevel":0},{"id":"15w31b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c9c8d4b706ebb7a057bb91ac69d84ea060b8d174/15w31b.json","time":"2021-12-15T15:45:44Z","releaseTime":"2015-07-30T13:38:32Z","sha1":"c9c8d4b706ebb7a057bb91ac69d84ea060b8d174","complianceLevel":0},{"id":"15w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c9ad2064a55148bef3da7d98dde8d9ff50596ea/15w31a.json","time":"2021-12-15T15:45:43Z","releaseTime":"2015-07-29T13:24:33Z","sha1":"4c9ad2064a55148bef3da7d98dde8d9ff50596ea","complianceLevel":0},{"id":"1.8.8","type":"release","url":"https://launchermeta.mojang.com/v1/packages/690172f1227e1c1d2fa8fceadd0f578f7851a69e/1.8.8.json","time":"2021-12-15T15:44:12Z","releaseTime":"2015-07-27T10:31:28Z","sha1":"690172f1227e1c1d2fa8fceadd0f578f7851a69e","complianceLevel":0},{"id":"1.8.7","type":"release","url":"https://launchermeta.mojang.com/v1/packages/7152f102903cd3ce7514d84c8ac98efecac30839/1.8.7.json","time":"2021-12-15T15:44:11Z","releaseTime":"2015-06-05T10:10:44Z","sha1":"7152f102903cd3ce7514d84c8ac98efecac30839","complianceLevel":0},{"id":"1.8.6","type":"release","url":"https://launchermeta.mojang.com/v1/packages/acccbb056a3e8f3086c4614974fb3a894317853a/1.8.6.json","time":"2021-12-15T15:44:11Z","releaseTime":"2015-05-25T10:31:19Z","sha1":"acccbb056a3e8f3086c4614974fb3a894317853a","complianceLevel":0},{"id":"1.8.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/16da5f5be7478f3602c25182a90f2057ba2f60d8/1.8.5.json","time":"2021-12-15T15:44:11Z","releaseTime":"2015-05-22T11:15:28Z","sha1":"16da5f5be7478f3602c25182a90f2057ba2f60d8","complianceLevel":0},{"id":"1.8.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/043b84efde9fc25d849e979329c03101ac9b7795/1.8.4.json","time":"2021-12-15T15:44:10Z","releaseTime":"2015-04-17T11:37:50Z","sha1":"043b84efde9fc25d849e979329c03101ac9b7795","complianceLevel":0},{"id":"15w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9349d236c0f4b8760f75621b3eaad538055c759/15w14a.json","time":"2021-12-15T15:45:43Z","releaseTime":"2015-04-01T07:08:00Z","sha1":"e9349d236c0f4b8760f75621b3eaad538055c759","complianceLevel":0},{"id":"1.8.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/413ad8fdcf8f29f4f1c2b4425aa0dade00f75dd4/1.8.3.json","time":"2021-12-15T15:44:10Z","releaseTime":"2015-02-20T14:00:09Z","sha1":"413ad8fdcf8f29f4f1c2b4425aa0dade00f75dd4","complianceLevel":0},{"id":"1.8.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1e35829856a71261f5a7b2b3a83012c7434b2203/1.8.2.json","time":"2021-12-15T15:44:09Z","releaseTime":"2015-02-19T15:47:29Z","sha1":"1e35829856a71261f5a7b2b3a83012c7434b2203","complianceLevel":0},{"id":"1.8.2-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d07a07da8ffe68a0929710c72346073a02a94933/1.8.2-pre7.json","time":"2021-12-15T15:45:10Z","releaseTime":"2015-02-16T13:01:35Z","sha1":"d07a07da8ffe68a0929710c72346073a02a94933","complianceLevel":0},{"id":"1.8.2-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/07ae1d9b67d36399e239a2ff46d43a1f96ef141a/1.8.2-pre6.json","time":"2021-12-15T15:45:10Z","releaseTime":"2015-01-30T11:58:24Z","sha1":"07ae1d9b67d36399e239a2ff46d43a1f96ef141a","complianceLevel":0},{"id":"1.8.2-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08e7827173655705e938233cf148f955b4f67901/1.8.2-pre5.json","time":"2021-12-15T15:45:09Z","releaseTime":"2015-01-26T15:03:24Z","sha1":"08e7827173655705e938233cf148f955b4f67901","complianceLevel":0},{"id":"1.8.2-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/db4c583ec25447f7418fc8e458798905a1282b88/1.8.2-pre4.json","time":"2021-12-15T15:45:09Z","releaseTime":"2015-01-16T14:19:59Z","sha1":"db4c583ec25447f7418fc8e458798905a1282b88","complianceLevel":0},{"id":"1.8.2-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3d371e2f8c3b04b44c76ae908a1e6f800895aa80/1.8.2-pre3.json","time":"2021-12-15T15:45:08Z","releaseTime":"2015-01-15T16:44:33Z","sha1":"3d371e2f8c3b04b44c76ae908a1e6f800895aa80","complianceLevel":0},{"id":"1.8.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/50c6a27cbbd2df6adff74aaea9953a00c6ce38e3/1.8.2-pre2.json","time":"2021-12-15T15:45:08Z","releaseTime":"2015-01-15T15:07:31Z","sha1":"50c6a27cbbd2df6adff74aaea9953a00c6ce38e3","complianceLevel":0},{"id":"1.8.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/79c984156100e076c37316d6d6377ced3daaf379/1.8.2-pre1.json","time":"2021-12-15T15:45:07Z","releaseTime":"2014-12-18T11:29:41Z","sha1":"79c984156100e076c37316d6d6377ced3daaf379","complianceLevel":0},{"id":"1.8.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/62f9f77f67fd7d6c92cfae57cecd445be14ccd4e/1.8.1.json","time":"2021-12-15T15:44:09Z","releaseTime":"2014-11-24T14:13:31Z","sha1":"62f9f77f67fd7d6c92cfae57cecd445be14ccd4e","complianceLevel":0},{"id":"1.8.1-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4460bbf278fef1312f03c1483599c31149fe85a7/1.8.1-pre5.json","time":"2021-12-15T15:45:07Z","releaseTime":"2014-11-19T14:30:48Z","sha1":"4460bbf278fef1312f03c1483599c31149fe85a7","complianceLevel":0},{"id":"1.8.1-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9024ad2831e3fc4450977aafe7bb3d07ff0d542/1.8.1-pre4.json","time":"2021-12-15T15:45:06Z","releaseTime":"2014-11-06T14:10:50Z","sha1":"e9024ad2831e3fc4450977aafe7bb3d07ff0d542","complianceLevel":0},{"id":"1.8.1-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c2f5fb57bf63012594b3dc34a80a8d888ec017ac/1.8.1-pre3.json","time":"2021-12-15T15:45:06Z","releaseTime":"2014-10-23T12:59:42Z","sha1":"c2f5fb57bf63012594b3dc34a80a8d888ec017ac","complianceLevel":0},{"id":"1.8.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8e77dedf93135552e1aaaebcec4c8d154d4dea04/1.8.1-pre2.json","time":"2021-12-15T15:45:05Z","releaseTime":"2014-10-16T14:19:27Z","sha1":"8e77dedf93135552e1aaaebcec4c8d154d4dea04","complianceLevel":0},{"id":"1.8.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f470d54d32f9e1d1a02e4e84e33b2407325ab62d/1.8.1-pre1.json","time":"2021-12-15T15:45:05Z","releaseTime":"2014-10-15T13:25:11Z","sha1":"f470d54d32f9e1d1a02e4e84e33b2407325ab62d","complianceLevel":0},{"id":"1.8","type":"release","url":"https://launchermeta.mojang.com/v1/packages/9eb165eef46294062d8698c8a78e8ac914949e7a/1.8.json","time":"2021-12-15T15:44:13Z","releaseTime":"2014-09-02T08:24:35Z","sha1":"9eb165eef46294062d8698c8a78e8ac914949e7a","complianceLevel":0},{"id":"1.8-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7fd3abc53ee1f813f5b574c8dc758fd694b6abd3/1.8-pre3.json","time":"2021-12-15T15:45:05Z","releaseTime":"2014-08-28T09:40:54Z","sha1":"7fd3abc53ee1f813f5b574c8dc758fd694b6abd3","complianceLevel":0},{"id":"1.8-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2c6bf8e3d17565117bbb5e188544439518d3ad95/1.8-pre2.json","time":"2021-12-15T15:45:04Z","releaseTime":"2014-08-25T14:52:18Z","sha1":"2c6bf8e3d17565117bbb5e188544439518d3ad95","complianceLevel":0},{"id":"1.8-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/00ddc59925abc10e08047c94657e3365b1e031d6/1.8-pre1.json","time":"2021-12-15T15:45:04Z","releaseTime":"2014-08-21T13:56:26Z","sha1":"00ddc59925abc10e08047c94657e3365b1e031d6","complianceLevel":0},{"id":"14w34d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e314c5316fc189a9883f5a786a6b9daffcff8e84/14w34d.json","time":"2021-12-15T15:45:43Z","releaseTime":"2014-08-20T12:46:59Z","sha1":"e314c5316fc189a9883f5a786a6b9daffcff8e84","complianceLevel":0},{"id":"14w34c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a82b66557f41c05f41477481e39be5d5ceec3c62/14w34c.json","time":"2021-12-15T15:45:42Z","releaseTime":"2014-08-19T15:31:24Z","sha1":"a82b66557f41c05f41477481e39be5d5ceec3c62","complianceLevel":0},{"id":"14w34b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f24d3b4a363411fec20a36c2bd92a62b628be003/14w34b.json","time":"2021-12-15T15:45:42Z","releaseTime":"2014-08-18T15:14:28Z","sha1":"f24d3b4a363411fec20a36c2bd92a62b628be003","complianceLevel":0},{"id":"14w34a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc020c20f2d7a79dee3f601317a8a7cb191c0538/14w34a.json","time":"2021-12-15T15:45:41Z","releaseTime":"2014-08-18T14:14:11Z","sha1":"dc020c20f2d7a79dee3f601317a8a7cb191c0538","complianceLevel":0},{"id":"14w33c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/de314d5c6f011057f764e546a212731d40736c1f/14w33c.json","time":"2021-12-15T15:45:41Z","releaseTime":"2014-08-15T18:00:26Z","sha1":"de314d5c6f011057f764e546a212731d40736c1f","complianceLevel":0},{"id":"14w33b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dec4943bf73d83402d455243f83c8c550e36f7b5/14w33b.json","time":"2021-12-15T15:45:40Z","releaseTime":"2014-08-15T16:23:51Z","sha1":"dec4943bf73d83402d455243f83c8c550e36f7b5","complianceLevel":0},{"id":"14w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a1a938359171774c96e06f54bc0c12352a9d7992/14w33a.json","time":"2021-12-15T15:45:40Z","releaseTime":"2014-08-13T15:08:14Z","sha1":"a1a938359171774c96e06f54bc0c12352a9d7992","complianceLevel":0},{"id":"14w32d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/414e33e7d03d873966c199d959426da08aa5aebc/14w32d.json","time":"2021-12-15T15:45:40Z","releaseTime":"2014-08-08T15:13:41Z","sha1":"414e33e7d03d873966c199d959426da08aa5aebc","complianceLevel":0},{"id":"14w32c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3dfa2c82cd06c89735ac0c9b05151b4994efab19/14w32c.json","time":"2021-12-15T15:45:39Z","releaseTime":"2014-08-08T14:11:20Z","sha1":"3dfa2c82cd06c89735ac0c9b05151b4994efab19","complianceLevel":0},{"id":"14w32b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6230265cc1f324689cb5fbb7df21235ca0013e70/14w32b.json","time":"2021-12-15T15:45:39Z","releaseTime":"2014-08-07T14:45:17Z","sha1":"6230265cc1f324689cb5fbb7df21235ca0013e70","complianceLevel":0},{"id":"14w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3af16f96e7800a8f0c31500a873b008c00036c84/14w32a.json","time":"2021-12-15T15:45:38Z","releaseTime":"2014-08-06T14:01:16Z","sha1":"3af16f96e7800a8f0c31500a873b008c00036c84","complianceLevel":0},{"id":"14w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1243fe2c047064613e42a2c0e7ce0018fdf94035/14w31a.json","time":"2021-12-15T15:45:38Z","releaseTime":"2014-07-30T15:38:05Z","sha1":"1243fe2c047064613e42a2c0e7ce0018fdf94035","complianceLevel":0},{"id":"14w30c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6327714a7712f723bb74492e2f5fcbb92b8b12a9/14w30c.json","time":"2021-12-15T15:45:37Z","releaseTime":"2014-07-24T14:39:09Z","sha1":"6327714a7712f723bb74492e2f5fcbb92b8b12a9","complianceLevel":0},{"id":"14w30b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dddd3cf12b88f179baa286a9bb51f4c3902c3780/14w30b.json","time":"2021-12-15T15:45:37Z","releaseTime":"2014-07-23T15:03:03Z","sha1":"dddd3cf12b88f179baa286a9bb51f4c3902c3780","complianceLevel":0},{"id":"14w30a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f73b4bad130911c1ef16066aeb740574f20f90f7/14w30a.json","time":"2021-12-15T15:45:36Z","releaseTime":"2014-07-23T13:15:42Z","sha1":"f73b4bad130911c1ef16066aeb740574f20f90f7","complianceLevel":0},{"id":"14w29b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/02a4803aa427d29f9db910d22b263686d0135fcc/14w29b.json","time":"2021-12-15T15:45:36Z","releaseTime":"2014-07-16T17:27:40Z","sha1":"02a4803aa427d29f9db910d22b263686d0135fcc","complianceLevel":0},{"id":"14w29a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5219707e16e90d57fbba55f635b68e4725d72b8f/14w29a.json","time":"2021-12-15T15:45:36Z","releaseTime":"2014-07-16T15:18:17Z","sha1":"5219707e16e90d57fbba55f635b68e4725d72b8f","complianceLevel":0},{"id":"14w28b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c18437b0194fb2af464b5fe0cb67ed0eeafb44e8/14w28b.json","time":"2021-12-15T15:45:35Z","releaseTime":"2014-07-10T14:28:48Z","sha1":"c18437b0194fb2af464b5fe0cb67ed0eeafb44e8","complianceLevel":0},{"id":"14w28a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d6b755e76453633e464ed09f82b0979a414d8e4/14w28a.json","time":"2021-12-15T15:45:35Z","releaseTime":"2014-07-09T15:42:36Z","sha1":"6d6b755e76453633e464ed09f82b0979a414d8e4","complianceLevel":0},{"id":"14w27b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08f1ed6374fb9d87e34fe81ab50d19d01e3055dc/14w27b.json","time":"2021-12-15T15:45:34Z","releaseTime":"2014-07-02T18:34:56Z","sha1":"08f1ed6374fb9d87e34fe81ab50d19d01e3055dc","complianceLevel":0},{"id":"14w27a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c0e594ad64eac1b322e4724b92292daad80951eb/14w27a.json","time":"2021-12-15T15:45:34Z","releaseTime":"2014-07-02T16:07:20Z","sha1":"c0e594ad64eac1b322e4724b92292daad80951eb","complianceLevel":0},{"id":"14w26c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2fe002bebd830ccb5328329ed7efb7e9fb555519/14w26c.json","time":"2021-12-15T15:45:34Z","releaseTime":"2014-06-26T15:05:03Z","sha1":"2fe002bebd830ccb5328329ed7efb7e9fb555519","complianceLevel":0},{"id":"14w26b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/288aa1d9c5840c8d0f75ee682bc8a0a1564babfb/14w26b.json","time":"2021-12-15T15:45:33Z","releaseTime":"2014-06-25T15:08:39Z","sha1":"288aa1d9c5840c8d0f75ee682bc8a0a1564babfb","complianceLevel":0},{"id":"14w26a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d41ffb32ced2eaaeed6b0ddd38b5e53f849c25f/14w26a.json","time":"2021-12-15T15:45:33Z","releaseTime":"2014-06-25T13:59:27Z","sha1":"6d41ffb32ced2eaaeed6b0ddd38b5e53f849c25f","complianceLevel":0},{"id":"14w25b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d8b348b5a412e809748f35f694fe5dc395a83b3a/14w25b.json","time":"2021-12-15T15:45:32Z","releaseTime":"2014-06-19T12:29:48Z","sha1":"d8b348b5a412e809748f35f694fe5dc395a83b3a","complianceLevel":0},{"id":"14w25a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0091b9fe0f95dc765e187840ff41235638ce22d6/14w25a.json","time":"2021-12-15T15:45:32Z","releaseTime":"2014-06-18T15:52:28Z","sha1":"0091b9fe0f95dc765e187840ff41235638ce22d6","complianceLevel":0},{"id":"14w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c5791a666929e783ba360e98247ff744b5ac3520/14w21b.json","time":"2021-12-15T15:45:32Z","releaseTime":"2014-05-22T15:17:55Z","sha1":"c5791a666929e783ba360e98247ff744b5ac3520","complianceLevel":0},{"id":"14w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f8c912b97cf684f4339571b27592e85b7ec84a19/14w21a.json","time":"2021-12-15T15:45:31Z","releaseTime":"2014-05-22T14:44:33Z","sha1":"f8c912b97cf684f4339571b27592e85b7ec84a19","complianceLevel":0},{"id":"14w20b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b4b682e67ff47a689cf3ff0b405eeec5758dfa9a/14w20b.json","time":"2021-12-15T15:45:31Z","releaseTime":"2014-05-15T16:47:21Z","sha1":"b4b682e67ff47a689cf3ff0b405eeec5758dfa9a","complianceLevel":0},{"id":"14w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/674e75f032a5473ad91531dfbfa7b8cb42f55f71/14w20a.json","time":"2021-12-15T15:45:31Z","releaseTime":"2014-05-15T14:01:20Z","sha1":"674e75f032a5473ad91531dfbfa7b8cb42f55f71","complianceLevel":0},{"id":"1.7.10","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ed5d8789ed29872ea2ef1c348302b0c55e3f3468/1.7.10.json","time":"2021-12-15T15:44:05Z","releaseTime":"2014-05-14T17:29:23Z","sha1":"ed5d8789ed29872ea2ef1c348302b0c55e3f3468","complianceLevel":0},{"id":"1.7.10-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f2a4a03329bb07d70d4837b6893c435f97deed25/1.7.10-pre4.json","time":"2021-12-15T15:45:02Z","releaseTime":"2014-05-14T16:29:23Z","sha1":"f2a4a03329bb07d70d4837b6893c435f97deed25","complianceLevel":0},{"id":"1.7.10-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/94578a1fc1db7cb804a9be044008e54367f4905e/1.7.10-pre3.json","time":"2021-12-15T15:45:01Z","releaseTime":"2014-05-14T15:29:23Z","sha1":"94578a1fc1db7cb804a9be044008e54367f4905e","complianceLevel":0},{"id":"1.7.10-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2e8103cd14fc9a7db0c56f68cbc41a0b26ea9954/1.7.10-pre2.json","time":"2021-12-15T15:45:01Z","releaseTime":"2014-05-14T14:29:23Z","sha1":"2e8103cd14fc9a7db0c56f68cbc41a0b26ea9954","complianceLevel":0},{"id":"1.7.10-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a526665974dfa717f79f15529ae294d0a6074fc5/1.7.10-pre1.json","time":"2021-12-15T15:45:00Z","releaseTime":"2014-05-14T13:29:23Z","sha1":"a526665974dfa717f79f15529ae294d0a6074fc5","complianceLevel":0},{"id":"14w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ffcc6382a2d12310c42cc1b654ea8d88117cf105/14w19a.json","time":"2021-12-15T15:45:30Z","releaseTime":"2014-05-08T14:24:19Z","sha1":"ffcc6382a2d12310c42cc1b654ea8d88117cf105","complianceLevel":0},{"id":"14w18b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0aa29d5bc6915b347505a194260bd51bc8bf2960/14w18b.json","time":"2021-12-15T15:45:30Z","releaseTime":"2014-05-02T11:38:17Z","sha1":"0aa29d5bc6915b347505a194260bd51bc8bf2960","complianceLevel":0},{"id":"14w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c64cc4d300948e2d8e5fb05e394b69edc680027e/14w18a.json","time":"2021-12-15T15:45:29Z","releaseTime":"2014-04-30T10:25:35Z","sha1":"c64cc4d300948e2d8e5fb05e394b69edc680027e","complianceLevel":0},{"id":"14w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2d857ecd809f15008f4718dc3b11ef5b60548ce4/14w17a.json","time":"2021-12-15T15:45:29Z","releaseTime":"2014-04-24T15:44:49Z","sha1":"2d857ecd809f15008f4718dc3b11ef5b60548ce4","complianceLevel":0},{"id":"14w11b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/022ade13058d98289f1625857462994a6ec40110/14w11b.json","time":"2021-12-15T15:45:28Z","releaseTime":"2014-04-14T14:36:19Z","sha1":"022ade13058d98289f1625857462994a6ec40110","complianceLevel":0},{"id":"1.7.9","type":"release","url":"https://launchermeta.mojang.com/v1/packages/5579bc9e25a9bb5e3187a2570693a0c6658edce4/1.7.9.json","time":"2021-12-15T15:44:08Z","releaseTime":"2014-04-14T13:29:23Z","sha1":"5579bc9e25a9bb5e3187a2570693a0c6658edce4","complianceLevel":0},{"id":"1.7.8","type":"release","url":"https://launchermeta.mojang.com/v1/packages/03d8e2e1c192d48ffc406cb7a483861cf26dfe25/1.7.8.json","time":"2021-12-15T15:44:08Z","releaseTime":"2014-04-09T07:58:16Z","sha1":"03d8e2e1c192d48ffc406cb7a483861cf26dfe25","complianceLevel":0},{"id":"1.7.7","type":"release","url":"https://launchermeta.mojang.com/v1/packages/47e228263557da73d0e2be803e5d83e5b246ae75/1.7.7.json","time":"2021-12-15T15:44:07Z","releaseTime":"2014-04-09T07:52:16Z","sha1":"47e228263557da73d0e2be803e5d83e5b246ae75","complianceLevel":0},{"id":"1.7.6","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b6dd3e6496ad415f0c57867dea1f97710d5f184c/1.7.6.json","time":"2021-12-15T15:44:07Z","releaseTime":"2014-04-09T07:52:06Z","sha1":"b6dd3e6496ad415f0c57867dea1f97710d5f184c","complianceLevel":0},{"id":"14w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ed3b597f26c1140b31d4c7421054e83398270e19/14w11a.json","time":"2021-12-15T15:45:28Z","releaseTime":"2014-03-13T14:02:50Z","sha1":"ed3b597f26c1140b31d4c7421054e83398270e19","complianceLevel":0},{"id":"1.7.6-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/977e8f92b306b2d798a7b69858f48fbe06dbb302/1.7.6-pre2.json","time":"2021-12-15T15:45:03Z","releaseTime":"2014-03-08T11:00:01Z","sha1":"977e8f92b306b2d798a7b69858f48fbe06dbb302","complianceLevel":0},{"id":"1.7.6-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/39e402b6972475126fa9e8a883915a9ce5d7722a/1.7.6-pre1.json","time":"2021-12-15T15:45:02Z","releaseTime":"2014-03-08T11:00:00Z","sha1":"39e402b6972475126fa9e8a883915a9ce5d7722a","complianceLevel":0},{"id":"14w10c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/312e632fcac49d7c1dca6a7fa58824eace01d91d/14w10c.json","time":"2021-12-15T15:45:28Z","releaseTime":"2014-03-07T13:49:55Z","sha1":"312e632fcac49d7c1dca6a7fa58824eace01d91d","complianceLevel":0},{"id":"14w10b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/90e924daa64f7908e69d4c7c4451599d2592f9d3/14w10b.json","time":"2021-12-15T15:45:27Z","releaseTime":"2014-03-06T16:25:39Z","sha1":"90e924daa64f7908e69d4c7c4451599d2592f9d3","complianceLevel":0},{"id":"14w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/643d852decb88d011fab20df4cb14ed100362f0f/14w10a.json","time":"2021-12-15T15:45:27Z","releaseTime":"2014-03-06T14:23:04Z","sha1":"643d852decb88d011fab20df4cb14ed100362f0f","complianceLevel":0},{"id":"14w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c04557fe5dcfe1c2e302265b677549384008c14/14w08a.json","time":"2021-12-15T15:45:26Z","releaseTime":"2014-02-26T17:00:00Z","sha1":"4c04557fe5dcfe1c2e302265b677549384008c14","complianceLevel":0},{"id":"1.7.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4afb628501a6a206b80a47ab4f29ea6b98caac90/1.7.5.json","time":"2021-12-15T15:44:06Z","releaseTime":"2014-02-26T09:22:17Z","sha1":"4afb628501a6a206b80a47ab4f29ea6b98caac90","complianceLevel":0},{"id":"14w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/23dbadcc03150f2e3447d528f7f546ba8fd62246/14w07a.json","time":"2021-12-15T15:45:26Z","releaseTime":"2014-02-14T11:05:07Z","sha1":"23dbadcc03150f2e3447d528f7f546ba8fd62246","complianceLevel":0},{"id":"14w06b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2c381742bc9cadc33fbc0a823b4fb734aad78533/14w06b.json","time":"2021-12-15T15:45:26Z","releaseTime":"2014-02-06T17:30:42Z","sha1":"2c381742bc9cadc33fbc0a823b4fb734aad78533","complianceLevel":0},{"id":"14w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a59d77f95afc36421554f9fee3a930d6cca9209d/14w06a.json","time":"2021-12-15T15:45:25Z","releaseTime":"2014-02-06T14:30:17Z","sha1":"a59d77f95afc36421554f9fee3a930d6cca9209d","complianceLevel":0},{"id":"14w05b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0b0f0bb2354640bfeeafe8611a8cfb53e9c3edff/14w05b.json","time":"2021-12-15T15:45:25Z","releaseTime":"2014-01-31T14:05:50Z","sha1":"0b0f0bb2354640bfeeafe8611a8cfb53e9c3edff","complianceLevel":0},{"id":"14w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9d4eb5a505a84dda9c36ea32f7ebb998a60a97f/14w05a.json","time":"2021-12-15T15:45:24Z","releaseTime":"2014-01-30T15:32:41Z","sha1":"e9d4eb5a505a84dda9c36ea32f7ebb998a60a97f","complianceLevel":0},{"id":"14w04b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/62524cf35e56e365a5dff36353fb77a38ff35269/14w04b.json","time":"2021-12-15T15:45:24Z","releaseTime":"2014-01-24T15:48:46Z","sha1":"62524cf35e56e365a5dff36353fb77a38ff35269","complianceLevel":0},{"id":"14w04a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/41307eaf3c2bf6b526986d8bb2fd698099298a2f/14w04a.json","time":"2021-12-15T15:45:23Z","releaseTime":"2014-01-23T15:26:13Z","sha1":"41307eaf3c2bf6b526986d8bb2fd698099298a2f","complianceLevel":0},{"id":"14w03b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c3bab6bfb32daed6b30d298818e4b8bb37c4bb2/14w03b.json","time":"2021-12-15T15:45:23Z","releaseTime":"2014-01-16T16:36:19Z","sha1":"4c3bab6bfb32daed6b30d298818e4b8bb37c4bb2","complianceLevel":0},{"id":"14w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/73f7ed186402ac8927ce415507cfa70b6aa5483f/14w03a.json","time":"2021-12-15T15:45:23Z","releaseTime":"2014-01-16T14:45:13Z","sha1":"73f7ed186402ac8927ce415507cfa70b6aa5483f","complianceLevel":0},{"id":"14w02c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e7c40fe6754d5912ebc119a53e752c9024130e3f/14w02c.json","time":"2021-12-15T15:45:22Z","releaseTime":"2014-01-10T15:42:36Z","sha1":"e7c40fe6754d5912ebc119a53e752c9024130e3f","complianceLevel":0},{"id":"14w02b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/25f758976bfd97d533af7e38680db8983d2cf82d/14w02b.json","time":"2021-12-15T15:45:22Z","releaseTime":"2014-01-09T15:45:55Z","sha1":"25f758976bfd97d533af7e38680db8983d2cf82d","complianceLevel":0},{"id":"14w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1348f531ae51631ea0ee1e467348440c5f93dcc2/14w02a.json","time":"2021-12-15T15:45:22Z","releaseTime":"2014-01-09T14:44:41Z","sha1":"1348f531ae51631ea0ee1e467348440c5f93dcc2","complianceLevel":0},{"id":"1.7.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/5db9d89cb6b89573384f324aa585b4c99525b37a/1.7.4.json","time":"2021-12-15T15:44:06Z","releaseTime":"2013-12-09T12:28:10Z","sha1":"5db9d89cb6b89573384f324aa585b4c99525b37a","complianceLevel":0},{"id":"1.7.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/cd133f90b7e339c50b3cdce64188a51469c6a128/1.7.3.json","time":"2021-12-15T15:44:06Z","releaseTime":"2013-12-06T13:55:34Z","sha1":"cd133f90b7e339c50b3cdce64188a51469c6a128","complianceLevel":0},{"id":"13w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/82cf56aabfbca3a1f1d13b4404050d9877b5a67e/13w49a.json","time":"2021-12-15T15:45:21Z","releaseTime":"2013-12-05T14:34:41Z","sha1":"82cf56aabfbca3a1f1d13b4404050d9877b5a67e","complianceLevel":0},{"id":"13w48b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/55543db98b2df3a986c99d8cdc8278a70493eb4a/13w48b.json","time":"2021-12-15T15:45:21Z","releaseTime":"2013-11-26T18:36:08Z","sha1":"55543db98b2df3a986c99d8cdc8278a70493eb4a","complianceLevel":0},{"id":"13w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/329f28adfb5ba0d6d81ceae27209e1eb97c4ef88/13w48a.json","time":"2021-12-15T15:45:20Z","releaseTime":"2013-11-25T16:53:39Z","sha1":"329f28adfb5ba0d6d81ceae27209e1eb97c4ef88","complianceLevel":0},{"id":"13w47e","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/81b30470c108a201cfb2dfd548dc0a52afa20a0a/13w47e.json","time":"2021-12-15T15:45:20Z","releaseTime":"2013-11-22T15:16:38Z","sha1":"81b30470c108a201cfb2dfd548dc0a52afa20a0a","complianceLevel":0},{"id":"13w47d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ccf62018b2e8aa9628dab2353ed85a4239368f63/13w47d.json","time":"2021-12-15T15:45:20Z","releaseTime":"2013-11-22T13:51:15Z","sha1":"ccf62018b2e8aa9628dab2353ed85a4239368f63","complianceLevel":0},{"id":"13w47c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ca7616ffa259c99e2350f010555eba54e54b4dd0/13w47c.json","time":"2021-12-15T15:45:19Z","releaseTime":"2013-11-21T17:10:33Z","sha1":"ca7616ffa259c99e2350f010555eba54e54b4dd0","complianceLevel":0},{"id":"13w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ac1dc3c3a7d33aa47e97c7b3d419510696f57cde/13w47b.json","time":"2021-12-15T15:45:19Z","releaseTime":"2013-11-21T16:57:41Z","sha1":"ac1dc3c3a7d33aa47e97c7b3d419510696f57cde","complianceLevel":0},{"id":"13w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9bb727f63e3af146df7cbd47a6a3332d31550855/13w47a.json","time":"2021-12-15T15:45:18Z","releaseTime":"2013-11-21T15:59:58Z","sha1":"9bb727f63e3af146df7cbd47a6a3332d31550855","complianceLevel":0},{"id":"1.7.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/c2e8ecbf355760a74c93d7210767fa043d53f27c/1.7.2.json","time":"2021-12-15T15:44:05Z","releaseTime":"2013-10-25T13:00:00Z","sha1":"c2e8ecbf355760a74c93d7210767fa043d53f27c","complianceLevel":0},{"id":"1.7.1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/744a42505862bea0bdd5da55ff06e09536f36d66/1.7.1.json","time":"2021-12-15T15:45:00Z","releaseTime":"2013-10-23T12:01:07Z","sha1":"744a42505862bea0bdd5da55ff06e09536f36d66","complianceLevel":0},{"id":"1.7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7a5aa5f3e3fba022efe0752660a5c7cd2dff2d16/1.7.json","time":"2021-12-15T15:45:03Z","releaseTime":"2013-10-22T15:04:05Z","sha1":"7a5aa5f3e3fba022efe0752660a5c7cd2dff2d16","complianceLevel":0},{"id":"13w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d7c2d81bf137c9e1a84576241767de08909c29fd/13w43a.json","time":"2021-12-15T15:45:18Z","releaseTime":"2013-10-21T16:34:47Z","sha1":"d7c2d81bf137c9e1a84576241767de08909c29fd","complianceLevel":0},{"id":"13w42b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ce863b81986e6acce2983be040d2071711f6403c/13w42b.json","time":"2021-12-15T15:45:17Z","releaseTime":"2013-10-18T16:34:08Z","sha1":"ce863b81986e6acce2983be040d2071711f6403c","complianceLevel":0},{"id":"13w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8cef2eee33892b62b3a28559246c750c3487dd8f/13w42a.json","time":"2021-12-15T15:45:17Z","releaseTime":"2013-10-17T18:33:05Z","sha1":"8cef2eee33892b62b3a28559246c750c3487dd8f","complianceLevel":0},{"id":"13w41b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/015456cd8b5c68d0076536d4e867111cd36b541a/13w41b.json","time":"2021-12-15T15:45:17Z","releaseTime":"2013-10-11T15:09:17Z","sha1":"015456cd8b5c68d0076536d4e867111cd36b541a","complianceLevel":0},{"id":"13w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/43622c17e011441b8b63b0a27d79887c2f7516aa/13w41a.json","time":"2021-12-15T15:45:16Z","releaseTime":"2013-10-10T14:21:43Z","sha1":"43622c17e011441b8b63b0a27d79887c2f7516aa","complianceLevel":0},{"id":"13w39b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b2d2f0b1fd23b08f8d2fb9beff39f173a2d65160/13w39b.json","time":"2021-12-13T14:56:26Z","releaseTime":"2013-09-27T12:15:58Z","sha1":"b2d2f0b1fd23b08f8d2fb9beff39f173a2d65160","complianceLevel":0},{"id":"13w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/61b88e8c311ed6a647ebf13d9934c6a1e3a94a75/13w39a.json","time":"2021-12-13T14:56:26Z","releaseTime":"2013-09-26T15:11:19Z","sha1":"61b88e8c311ed6a647ebf13d9934c6a1e3a94a75","complianceLevel":0},{"id":"13w38c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9e87e0699f19fea280878f5deb744c5d5d3ccb1/13w38c.json","time":"2019-06-28T07:08:09Z","releaseTime":"2013-09-20T15:11:34Z","sha1":"a9e87e0699f19fea280878f5deb744c5d5d3ccb1","complianceLevel":0},{"id":"13w38b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6f426be1993b140ab5d10459c91eb1f542d58c82/13w38b.json","time":"2019-06-28T07:08:09Z","releaseTime":"2013-09-20T13:45:40Z","sha1":"6f426be1993b140ab5d10459c91eb1f542d58c82","complianceLevel":0},{"id":"13w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e6dc1d9f9c8efeec67af438d5bf61be082f6e8a4/13w38a.json","time":"2019-06-28T07:08:09Z","releaseTime":"2013-09-19T16:34:21Z","sha1":"e6dc1d9f9c8efeec67af438d5bf61be082f6e8a4","complianceLevel":0},{"id":"1.6.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b71bae449192fbbe1582ff32fb3765edf0b9b0a8/1.6.4.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-09-19T15:52:37Z","sha1":"b71bae449192fbbe1582ff32fb3765edf0b9b0a8","complianceLevel":0},{"id":"1.6.3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/903d6ba1bc87c301d88fa418f8b33446201c7d4e/1.6.3.json","time":"2019-06-28T07:07:47Z","releaseTime":"2013-09-13T10:54:41Z","sha1":"903d6ba1bc87c301d88fa418f8b33446201c7d4e","complianceLevel":0},{"id":"13w37b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b8d28154ee056af6af3c8c37815418fe0e9f34f8/13w37b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-13T10:54:41Z","sha1":"b8d28154ee056af6af3c8c37815418fe0e9f34f8","complianceLevel":0},{"id":"13w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2f33c613a4bb81ef5f56be03a8f578208ada382a/13w37a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-12T14:23:14Z","sha1":"2f33c613a4bb81ef5f56be03a8f578208ada382a","complianceLevel":0},{"id":"13w36b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4a538e23057a596fc8c7e04d8a7738d866467f51/13w36b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-06T12:31:58Z","sha1":"4a538e23057a596fc8c7e04d8a7738d866467f51","complianceLevel":0},{"id":"13w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bc915c4dc167dfba92fcc0ae3aa051ae0f9f089b/13w36a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-05T13:05:40Z","sha1":"bc915c4dc167dfba92fcc0ae3aa051ae0f9f089b","complianceLevel":0},{"id":"1.6.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/c0729761bf65dc58138ce508645dba1442fa78b8/1.6.2.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-07-05T13:09:02Z","sha1":"c0729761bf65dc58138ce508645dba1442fa78b8","complianceLevel":0},{"id":"1.6.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/7fd8e0c76f62813eb0465e31bb74b160c01472d6/1.6.1.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-06-28T14:48:41Z","sha1":"7fd8e0c76f62813eb0465e31bb74b160c01472d6","complianceLevel":0},{"id":"1.6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/20116297638f7c70cd046e25a6ac90fee4cae61a/1.6.json","time":"2019-06-28T07:07:47Z","releaseTime":"2013-06-25T13:08:56Z","sha1":"20116297638f7c70cd046e25a6ac90fee4cae61a","complianceLevel":0},{"id":"13w26a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b349702aef5e3adaebec30c79338300423943930/13w26a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-24T16:06:06Z","sha1":"b349702aef5e3adaebec30c79338300423943930","complianceLevel":0},{"id":"13w25c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/934788bc580ef0a19725ee5bd31f02a0b866e0bf/13w25c.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-20T15:23:37Z","sha1":"934788bc580ef0a19725ee5bd31f02a0b866e0bf","complianceLevel":0},{"id":"13w25b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8b7870ddd0d0b38779479ad782d65ad80e688cf7/13w25b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-18T15:13:27Z","sha1":"8b7870ddd0d0b38779479ad782d65ad80e688cf7","complianceLevel":0},{"id":"13w25a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/65c0e5fff89b477ac6f8ddb336f0e718d525d311/13w25a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-17T14:08:06Z","sha1":"65c0e5fff89b477ac6f8ddb336f0e718d525d311","complianceLevel":0},{"id":"13w24b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e1294b52803771cfb06767c4c40dced70475cb25/13w24b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-14T12:19:13Z","sha1":"e1294b52803771cfb06767c4c40dced70475cb25","complianceLevel":0},{"id":"13w24a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/74666ab85cc5539f08aec638eabd63a552ed4125/13w24a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-06-13T15:32:23Z","sha1":"74666ab85cc5539f08aec638eabd63a552ed4125","complianceLevel":0},{"id":"13w23b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b19c87c7bfe0c0b202f79fc4b870b0ae97b00e53/13w23b.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-06-08T00:32:01Z","sha1":"b19c87c7bfe0c0b202f79fc4b870b0ae97b00e53","complianceLevel":0},{"id":"13w23a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/400a136ff102882dfa9bb8990aef32b81309d46a/13w23a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-06-07T16:04:20Z","sha1":"400a136ff102882dfa9bb8990aef32b81309d46a","complianceLevel":0},{"id":"13w22a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f8277e55fae1555de47b44f5e6620f13b79fbe4e/13w22a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-30T14:38:40Z","sha1":"f8277e55fae1555de47b44f5e6620f13b79fbe4e","complianceLevel":0},{"id":"13w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/eab4bc12a78d862fadb36192c5351e35888eab15/13w21b.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-27T08:50:42Z","sha1":"eab4bc12a78d862fadb36192c5351e35888eab15","complianceLevel":0},{"id":"13w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ff59021171bd73aa155e40f84a924e1ab3f5307d/13w21a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-23T15:38:28Z","sha1":"ff59021171bd73aa155e40f84a924e1ab3f5307d","complianceLevel":0},{"id":"13w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9360f33fa1391cbbfead0e0033c5a1e763f28d19/13w19a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-10T14:48:02Z","sha1":"9360f33fa1391cbbfead0e0033c5a1e763f28d19","complianceLevel":0},{"id":"13w18c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/79ab628c68cefd8daa25d186f7961299ef4e63a9/13w18c.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-03T09:19:35Z","sha1":"79ab628c68cefd8daa25d186f7961299ef4e63a9","complianceLevel":0},{"id":"13w18b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2eea88342657ab8327af70ac2e1416859e0ef02a/13w18b.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-02T17:12:25Z","sha1":"2eea88342657ab8327af70ac2e1416859e0ef02a","complianceLevel":0},{"id":"13w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0fdbf2d4561027558ba9475c5d318540c743dec9/13w18a.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-05-02T15:45:59Z","sha1":"0fdbf2d4561027558ba9475c5d318540c743dec9","complianceLevel":0},{"id":"13w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f65b6bd3c813d67b026a3c9ec12e3280c495cf87/13w17a.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-04-25T15:50:00Z","sha1":"f65b6bd3c813d67b026a3c9ec12e3280c495cf87","complianceLevel":0},{"id":"1.5.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/a611948faa091ef3a0af43d39f77589c5e402170/1.5.2.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-04-25T15:45:00Z","sha1":"a611948faa091ef3a0af43d39f77589c5e402170","complianceLevel":0},{"id":"13w16b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b2c1241c6ca9d119a9f2df431cdf18a56f883d0d/13w16b.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-04-23T21:51:22Z","sha1":"b2c1241c6ca9d119a9f2df431cdf18a56f883d0d","complianceLevel":0},{"id":"13w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7efbf7a86354b08f0a5011c96752c92cabb2e67c/13w16a.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-04-21T12:49:30Z","sha1":"7efbf7a86354b08f0a5011c96752c92cabb2e67c","complianceLevel":0},{"id":"1.5.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/46b50f586db97821f22d2c94914c3a31f733a264/1.5.1.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-03-20T10:00:00Z","sha1":"46b50f586db97821f22d2c94914c3a31f733a264","complianceLevel":0},{"id":"1.5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/00fa1c125d5ad5ccdbc55f1d1b53b6f52c85bd22/1.5.json","time":"2019-06-28T07:07:47Z","releaseTime":"2013-03-06T22:00:00Z","sha1":"00fa1c125d5ad5ccdbc55f1d1b53b6f52c85bd22","complianceLevel":0},{"id":"1.4.7","type":"release","url":"https://launchermeta.mojang.com/v1/packages/89802d57ccee3d03ec59d2ab1f44386234adb399/1.4.7.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-27T22:00:00Z","sha1":"89802d57ccee3d03ec59d2ab1f44386234adb399","complianceLevel":0},{"id":"1.4.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/19555cce1f6d04e2b417ac2e9e06b6b752d5a2de/1.4.5.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-19T22:00:00Z","sha1":"19555cce1f6d04e2b417ac2e9e06b6b752d5a2de","complianceLevel":0},{"id":"1.4.6","type":"release","url":"https://launchermeta.mojang.com/v1/packages/a7d02971582fcdf14ea275cc549cb57604a37079/1.4.6.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-19T22:00:00Z","sha1":"a7d02971582fcdf14ea275cc549cb57604a37079","complianceLevel":0},{"id":"1.4.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/578d09d5753e590ea043a68bdaaea45a5b9711ab/1.4.4.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-13T22:00:00Z","sha1":"578d09d5753e590ea043a68bdaaea45a5b9711ab","complianceLevel":0},{"id":"1.4.3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/180deba5c263367e914217be0701bd9e1a44f13b/1.4.3.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-11-30T22:00:00Z","sha1":"180deba5c263367e914217be0701bd9e1a44f13b","complianceLevel":0},{"id":"1.4.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/aec7405cf74ae5f79b13f6e8c88f66920eac0e1b/1.4.2.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-11-24T22:00:00Z","sha1":"aec7405cf74ae5f79b13f6e8c88f66920eac0e1b","complianceLevel":0},{"id":"1.4.1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/859f584890b4db227f267026510c6ac2a5076d94/1.4.1.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-11-22T22:00:00Z","sha1":"859f584890b4db227f267026510c6ac2a5076d94","complianceLevel":0},{"id":"1.4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/070986801bc1d42eac872758cf12f00afa7b5f35/1.4.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-11-18T22:00:00Z","sha1":"070986801bc1d42eac872758cf12f00afa7b5f35","complianceLevel":0},{"id":"1.3.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/2bd0ca9b77465a29df4b9449772d008f8724dd19/1.3.2.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-08-15T22:00:00Z","sha1":"2bd0ca9b77465a29df4b9449772d008f8724dd19","complianceLevel":0},{"id":"1.3.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/be773d2fff5c6e4db9929ae4ea780f8837323b6b/1.3.1.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-07-31T22:00:00Z","sha1":"be773d2fff5c6e4db9929ae4ea780f8837323b6b","complianceLevel":0},{"id":"1.3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aeb1bb40dc59420433ae46a0f133392508218bbe/1.3.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-07-25T22:00:00Z","sha1":"aeb1bb40dc59420433ae46a0f133392508218bbe","complianceLevel":0},{"id":"1.2.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/886723c6385e62bb8dbe8026abf685140602404b/1.2.5.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-03-29T22:00:00Z","sha1":"886723c6385e62bb8dbe8026abf685140602404b","complianceLevel":0},{"id":"1.2.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/3cc81a28957e8c7d94bdd4f6b2c51ef8cae54f9b/1.2.4.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-03-21T22:00:00Z","sha1":"3cc81a28957e8c7d94bdd4f6b2c51ef8cae54f9b","complianceLevel":0},{"id":"1.2.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4100a29330f76c93ef3bdc47d11fa016fd73de99/1.2.3.json","time":"2019-06-28T07:06:14Z","releaseTime":"2012-03-01T22:00:00Z","sha1":"4100a29330f76c93ef3bdc47d11fa016fd73de99","complianceLevel":0},{"id":"1.2.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/897ce0e56d1cecc9e720f1934c09ea395008aa9e/1.2.2.json","time":"2019-06-28T07:06:14Z","releaseTime":"2012-02-29T22:00:01Z","sha1":"897ce0e56d1cecc9e720f1934c09ea395008aa9e","complianceLevel":0},{"id":"1.2.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/dc5f9e134da9e18a2db42ddc246aba5cdfe28d3c/1.2.1.json","time":"2019-06-28T07:06:14Z","releaseTime":"2012-02-29T22:00:00Z","sha1":"dc5f9e134da9e18a2db42ddc246aba5cdfe28d3c","complianceLevel":0},{"id":"1.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1c1aaa3dea5155b549d4baf3491e3f5f564c3b8b/1.1.json","time":"2019-06-28T07:05:45Z","releaseTime":"2012-01-11T22:00:00Z","sha1":"1c1aaa3dea5155b549d4baf3491e3f5f564c3b8b","complianceLevel":0},{"id":"1.0","type":"release","url":"https://launchermeta.mojang.com/v1/packages/edfc56a64dfc6430665d745264732db53b0d1b41/1.0.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-11-17T22:00:00Z","sha1":"edfc56a64dfc6430665d745264732db53b0d1b41","complianceLevel":0},{"id":"b1.8.1","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/5b5a652a385b3d04af8e05bb773696a227ebc300/b1.8.1.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-09-18T22:00:00Z","sha1":"5b5a652a385b3d04af8e05bb773696a227ebc300","complianceLevel":0},{"id":"b1.8","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/c2ce53a6d847e3c3efb640dc7d32e47e72e0a24f/b1.8.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-09-14T22:00:00Z","sha1":"c2ce53a6d847e3c3efb640dc7d32e47e72e0a24f","complianceLevel":0},{"id":"b1.7.3","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/0de35233bea254fd0011cceb4aa96e0a32b7efd2/b1.7.3.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-07-07T22:00:00Z","sha1":"0de35233bea254fd0011cceb4aa96e0a32b7efd2","complianceLevel":0},{"id":"b1.7.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/b9ac061f45d78c16739c95871d1540c681a187c8/b1.7.2.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-06-30T22:00:00Z","sha1":"b9ac061f45d78c16739c95871d1540c681a187c8","complianceLevel":0},{"id":"b1.7","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/3b7900fbef699471069015beef2a0d62cb2efabf/b1.7.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-06-29T22:00:00Z","sha1":"3b7900fbef699471069015beef2a0d62cb2efabf","complianceLevel":0},{"id":"b1.6.6","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/2c39299d7841e5273f5a6347373ba89eb48149d2/b1.6.6.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-30T22:00:00Z","sha1":"2c39299d7841e5273f5a6347373ba89eb48149d2","complianceLevel":0},{"id":"b1.6.5","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/f52059e5de7e06cbceba3642895005a36c40a6ef/b1.6.5.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-27T22:00:00Z","sha1":"f52059e5de7e06cbceba3642895005a36c40a6ef","complianceLevel":0},{"id":"b1.6.4","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/3a6546e2e4be5492c974359880f5cd6f1c513478/b1.6.4.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:04Z","sha1":"3a6546e2e4be5492c974359880f5cd6f1c513478","complianceLevel":0},{"id":"b1.6.3","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/4aa947cc55a28139e06ba6cde47b2c5aa3d9941c/b1.6.3.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:03Z","sha1":"4aa947cc55a28139e06ba6cde47b2c5aa3d9941c","complianceLevel":0},{"id":"b1.6.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/299360b97a57c73c0a6f258313200f40a37ab758/b1.6.2.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:02Z","sha1":"299360b97a57c73c0a6f258313200f40a37ab758","complianceLevel":0},{"id":"b1.6.1","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/72fc5a50e6a2fc9cdb5d77dcaa1f4cd4391536d3/b1.6.1.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:01Z","sha1":"72fc5a50e6a2fc9cdb5d77dcaa1f4cd4391536d3","complianceLevel":0},{"id":"b1.6","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/70c6be33812e5a030db15b28ccd72d30a5dcbca7/b1.6.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:00Z","sha1":"70c6be33812e5a030db15b28ccd72d30a5dcbca7","complianceLevel":0},{"id":"b1.5_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/cda4fc0e6f35c8645a013045be7c746e1a5b63d3/b1.5_01.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-04-19T22:00:00Z","sha1":"cda4fc0e6f35c8645a013045be7c746e1a5b63d3","complianceLevel":0},{"id":"b1.5","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/cd33026e81d260495f859a446a1f17e3071a17ea/b1.5.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-04-18T22:00:00Z","sha1":"cd33026e81d260495f859a446a1f17e3071a17ea","complianceLevel":0},{"id":"b1.4_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/7a7fbff959b9576845d83b215cc82ecf6bca5bcf/b1.4_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-04-04T22:00:00Z","sha1":"7a7fbff959b9576845d83b215cc82ecf6bca5bcf","complianceLevel":0},{"id":"b1.4","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/ce8cd5c165f2941d343cd98ec76a5b93d9a95c8c/b1.4.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-03-30T22:00:00Z","sha1":"ce8cd5c165f2941d343cd98ec76a5b93d9a95c8c","complianceLevel":0},{"id":"b1.3_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/f551611d75278e2847cca77421a51b99f4bb32de/b1.3_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-02-22T22:00:00Z","sha1":"f551611d75278e2847cca77421a51b99f4bb32de","complianceLevel":0},{"id":"b1.3b","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/a803c5a24b04ccab17269183b872cdaa38b32ae3/b1.3b.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-02-21T22:00:00Z","sha1":"a803c5a24b04ccab17269183b872cdaa38b32ae3","complianceLevel":0},{"id":"b1.2_02","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/afeabd62ef6bab19c8d570ab39a5e4161b27b85d/b1.2_02.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-01-20T22:00:00Z","sha1":"afeabd62ef6bab19c8d570ab39a5e4161b27b85d","complianceLevel":0},{"id":"b1.2_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/e9ea31d80bb8979bf3042165094d2e10b2899eaf/b1.2_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-01-13T22:00:00Z","sha1":"e9ea31d80bb8979bf3042165094d2e10b2899eaf","complianceLevel":0},{"id":"b1.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/703f0c0797d0b83dac8304b1c35ee4dcee6a2413/b1.2.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-01-12T22:00:00Z","sha1":"703f0c0797d0b83dac8304b1c35ee4dcee6a2413","complianceLevel":0},{"id":"b1.1_02","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/219e087b54dc2ca9a51a0204238cccaa035b5cef/b1.1_02.json","time":"2019-06-28T07:05:43Z","releaseTime":"2010-12-21T22:00:01Z","sha1":"219e087b54dc2ca9a51a0204238cccaa035b5cef","complianceLevel":0},{"id":"b1.1_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/d0d10f21a0f8115bdfbc2f0ddef2d93833af2e9d/b1.1_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2010-12-21T22:00:00Z","sha1":"d0d10f21a0f8115bdfbc2f0ddef2d93833af2e9d","complianceLevel":0},{"id":"b1.0.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/f8d933ed690495b66f76d0a5045e40c18881a26a/b1.0.2.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-12-20T22:00:00Z","sha1":"f8d933ed690495b66f76d0a5045e40c18881a26a","complianceLevel":0},{"id":"b1.0_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/c7559faa3f520837456b2a3736c663a856812049/b1.0_01.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-12-19T22:00:01Z","sha1":"c7559faa3f520837456b2a3736c663a856812049","complianceLevel":0},{"id":"b1.0","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/5be70efae7eea5f18ce164fb264eaa9563a054ee/b1.0.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-12-19T22:00:00Z","sha1":"5be70efae7eea5f18ce164fb264eaa9563a054ee","complianceLevel":0},{"id":"a1.2.6","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/d385e176aa7d3d3702bac78ad1ba906a77de13df/a1.2.6.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-12-02T22:00:00Z","sha1":"d385e176aa7d3d3702bac78ad1ba906a77de13df","complianceLevel":0},{"id":"a1.2.5","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/491a4961f00770bd130206c013795f35af948493/a1.2.5.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-30T22:00:00Z","sha1":"491a4961f00770bd130206c013795f35af948493","complianceLevel":0},{"id":"a1.2.4_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/e802a257031c5b9297c971599cc2573c2efece2c/a1.2.4_01.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-29T22:00:00Z","sha1":"e802a257031c5b9297c971599cc2573c2efece2c","complianceLevel":0},{"id":"a1.2.3_04","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/467403a159661d486fbe49480faf0909ea533759/a1.2.3_04.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-25T22:00:00Z","sha1":"467403a159661d486fbe49480faf0909ea533759","complianceLevel":0},{"id":"a1.2.3_02","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/31fa028661857f2e3d3732d07a6d36ec21d6dbdc/a1.2.3_02.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-24T22:00:00Z","sha1":"31fa028661857f2e3d3732d07a6d36ec21d6dbdc","complianceLevel":0},{"id":"a1.2.3_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/2dbccc4579a4481dc8d72a962d396de044648522/a1.2.3_01.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-23T22:00:01Z","sha1":"2dbccc4579a4481dc8d72a962d396de044648522","complianceLevel":0},{"id":"a1.2.3","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/48f077bf27e0a01a0bb2051e0ac17a96693cb730/a1.2.3.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-23T22:00:00Z","sha1":"48f077bf27e0a01a0bb2051e0ac17a96693cb730","complianceLevel":0},{"id":"a1.2.2b","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/0fbd340ae9087db32535ed0fb2d119240e7e0aaa/a1.2.2b.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-09T22:00:01Z","sha1":"0fbd340ae9087db32535ed0fb2d119240e7e0aaa","complianceLevel":0},{"id":"a1.2.2a","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/6679a974769ad2c6b88025ccbb60c72612dcee1f/a1.2.2a.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-09T22:00:00Z","sha1":"6679a974769ad2c6b88025ccbb60c72612dcee1f","complianceLevel":0},{"id":"a1.2.1_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/79e993b71f867e777a0ac9e2816bfd3df5c1aaed/a1.2.1_01.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-04T22:00:01Z","sha1":"79e993b71f867e777a0ac9e2816bfd3df5c1aaed","complianceLevel":0},{"id":"a1.2.1","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/f601478f5b0bf55ba0a302a4d1a8ce402c9311c1/a1.2.1.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-04T22:00:00Z","sha1":"f601478f5b0bf55ba0a302a4d1a8ce402c9311c1","complianceLevel":0},{"id":"a1.2.0_02","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/48465dfa2e2066e3b06e8fca934f2bbd7d03e65c/a1.2.0_02.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-03T22:00:00Z","sha1":"48465dfa2e2066e3b06e8fca934f2bbd7d03e65c","complianceLevel":0},{"id":"a1.2.0_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/e31556ae6f925d4dc7a06a5110cce731eca6eaa8/a1.2.0_01.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-10-30T22:00:00Z","sha1":"e31556ae6f925d4dc7a06a5110cce731eca6eaa8","complianceLevel":0},{"id":"a1.2.0","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a0e7c34fba8c11fa8b84a56a01ed8505ad34b52a/a1.2.0.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-10-29T22:00:00Z","sha1":"a0e7c34fba8c11fa8b84a56a01ed8505ad34b52a","complianceLevel":0},{"id":"a1.1.2_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/c28a71888f39178cfc6f882fd62f49de920d138e/a1.1.2_01.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-09-22T22:00:00Z","sha1":"c28a71888f39178cfc6f882fd62f49de920d138e","complianceLevel":0},{"id":"a1.1.2","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/1231fefa206b10993e4b77b13f86fc72759db038/a1.1.2.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-09-19T22:00:00Z","sha1":"1231fefa206b10993e4b77b13f86fc72759db038","complianceLevel":0},{"id":"a1.1.0","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a30685ddf58121f25dd845e5361a3d262409489d/a1.1.0.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-09-12T22:00:00Z","sha1":"a30685ddf58121f25dd845e5361a3d262409489d","complianceLevel":0},{"id":"a1.0.17_04","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/7c85d4575c9cc951135c3e6e958e1fcb2ed4e4ae/a1.0.17_04.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-08-22T22:00:00Z","sha1":"7c85d4575c9cc951135c3e6e958e1fcb2ed4e4ae","complianceLevel":0},{"id":"a1.0.17_02","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/54d1b6731a61a0b513ec0f677b58249be6c94086/a1.0.17_02.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-08-19T22:00:00Z","sha1":"54d1b6731a61a0b513ec0f677b58249be6c94086","complianceLevel":0},{"id":"a1.0.16","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/139fcc1a590a1166b872046bf4b82cfb04452061/a1.0.16.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-08-11T22:00:00Z","sha1":"139fcc1a590a1166b872046bf4b82cfb04452061","complianceLevel":0},{"id":"a1.0.15","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/786cd66bd91d3bd8ebd5d7fb10ec63daf671b646/a1.0.15.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-08-03T22:00:00Z","sha1":"786cd66bd91d3bd8ebd5d7fb10ec63daf671b646","complianceLevel":0},{"id":"a1.0.14","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/eff58a647f38df437241e769a9703baa40e0efd8/a1.0.14.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-07-29T22:00:00Z","sha1":"eff58a647f38df437241e769a9703baa40e0efd8","complianceLevel":0},{"id":"a1.0.11","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/3467dbde729f4e43047e54627ca20c82c9ee9a66/a1.0.11.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-07-22T22:00:00Z","sha1":"3467dbde729f4e43047e54627ca20c82c9ee9a66","complianceLevel":0},{"id":"a1.0.5_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/269ea3fdb671777a7bd0e97d4046cc27dc909694/a1.0.5_01.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-07-12T22:00:00Z","sha1":"269ea3fdb671777a7bd0e97d4046cc27dc909694","complianceLevel":0},{"id":"a1.0.4","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a1f71c0a68d59c0b6570073b440fb55ff889ba5a/a1.0.4.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-07-08T22:00:00Z","sha1":"a1f71c0a68d59c0b6570073b440fb55ff889ba5a","complianceLevel":0},{"id":"inf-20100618","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/065ce5795aaf172080a4975cefac0d248bee7a3b/inf-20100618.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-06-15T22:00:00Z","sha1":"065ce5795aaf172080a4975cefac0d248bee7a3b","complianceLevel":0},{"id":"c0.30_01c","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/0bb9bdebc3e124818fd31779a4bb394283050a02/c0.30_01c.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-12-21T22:00:00Z","sha1":"0bb9bdebc3e124818fd31779a4bb394283050a02","complianceLevel":0},{"id":"c0.0.13a","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/5d77dd27f9684b4cbfbecc29a2c8c28d36a5e9c2/c0.0.13a.json","time":"2019-06-28T07:05:41Z","releaseTime":"2009-05-30T22:00:00Z","sha1":"5d77dd27f9684b4cbfbecc29a2c8c28d36a5e9c2","complianceLevel":0},{"id":"c0.0.13a_03","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/3e038a3d4ce26771a8019c8c348a18844b950fdc/c0.0.13a_03.json","time":"2019-06-28T07:05:41Z","releaseTime":"2009-05-21T22:00:00Z","sha1":"3e038a3d4ce26771a8019c8c348a18844b950fdc","complianceLevel":0},{"id":"c0.0.11a","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/d700384628b420acbe14388efc3b563e85ff7961/c0.0.11a.json","time":"2019-06-28T07:05:41Z","releaseTime":"2009-05-16T22:00:00Z","sha1":"d700384628b420acbe14388efc3b563e85ff7961","complianceLevel":0},{"id":"rd-161348","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a937d17cca60af0a7d45d04b49a849af16b08a28/rd-161348.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-16T11:48:00Z","sha1":"a937d17cca60af0a7d45d04b49a849af16b08a28","complianceLevel":0},{"id":"rd-160052","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/c33dd04acfdbf34dcdfcca64db8545339ea24f02/rd-160052.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-15T22:52:00Z","sha1":"c33dd04acfdbf34dcdfcca64db8545339ea24f02","complianceLevel":0},{"id":"rd-20090515","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/1bcd01f323df5c5092e9f0967b3d310d5bc0013a/rd-20090515.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-14T22:00:00Z","sha1":"1bcd01f323df5c5092e9f0967b3d310d5bc0013a","complianceLevel":0},{"id":"rd-132328","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/77baa48d9cbbc6c3165c294e5bcdab2ca6903d57/rd-132328.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-13T21:28:00Z","sha1":"77baa48d9cbbc6c3165c294e5bcdab2ca6903d57","complianceLevel":0},{"id":"rd-132211","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/0f2a46082313d0ec67972f9f63c3fa6591f9bb85/rd-132211.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-13T20:11:00Z","sha1":"0f2a46082313d0ec67972f9f63c3fa6591f9bb85","complianceLevel":0}]},"forge":{"gameVersions":[{"id":"1.10.2","loaders":{"latest":{"id":"1.10.2-12.18.3.2511","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.10.2-forge1.10.2-12.18.3.2511.json"}}},{"id":"1.8","loaders":{"latest":{"id":"1.8-11.14.4.1577","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.8-forge1.8-11.14.4.1577.json"}}},{"id":"1.14.3","loaders":{"latest":{"id":"1.14.3-27.0.60","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.3-forge-27.0.60.json"}}},{"id":"1.13.2","loaders":{"latest":{"id":"1.13.2-25.0.219","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.13.2-forge-25.0.219.json"}}},{"id":"1.16.2","loaders":{"latest":{"id":"1.16.2-33.0.61","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.2-forge-33.0.61.json"}}},{"id":"1.15.2","loaders":{"latest":{"id":"1.15.2-31.2.50","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.15.2-forge-31.2.50.json"}}},{"id":"1.9","loaders":{"latest":{"id":"1.9-12.16.1.1938-1.9.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.9-forge1.9-12.16.1.1938-1.9.0.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.108","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.108.json"}}},{"id":"1.11","loaders":{"latest":{"id":"1.11-13.19.1.2199","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.11-forge1.11-13.19.1.2199.json"}}},{"id":"1.6.2","loaders":{"latest":{"id":"1.6.2-9.10.1.871","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.6.2-Forge9.10.1.871.json"}}},{"id":"1.6.1","loaders":{"latest":{"id":"1.6.1-8.9.0.775","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/Forge8.9.0.775.json"}}},{"id":"1.10","loaders":{"latest":{"id":"1.10-12.18.0.2000-1.10.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.10-forge1.10-12.18.0.2000-1.10.0.json"}}},{"id":"1.9.4","loaders":{"latest":{"id":"1.9.4-12.17.0.2317-1.9.4","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.9.4-forge1.9.4-12.17.0.2317-1.9.4.json"}}},{"id":"1.8.9","loaders":{"latest":{"id":"1.8.9-11.15.1.2318-1.8.9","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.8.9-forge1.8.9-11.15.1.2318-1.8.9.json"}}},{"id":"1.15","loaders":{"latest":{"id":"1.15-29.0.4","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.15-forge-29.0.4.json"}}},{"id":"1.12","loaders":{"latest":{"id":"1.12-14.21.1.2443","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12-forge1.12-14.21.1.2443.json"}}},{"id":"1.16.1","loaders":{"latest":{"id":"1.16.1-32.0.108","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.1-forge-32.0.108.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-28.2.23","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.4-forge-28.2.23.json"}}},{"id":"1.16.3","loaders":{"latest":{"id":"1.16.3-34.1.42","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.3-forge-34.1.42.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2855","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2855.json"}}},{"id":"1.7.10_pre4","loaders":{"latest":{"id":"1.7.10_pre4-10.12.2.1149-prerelease","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.7.10-pre4-Forge10.12.2.1149-prerelease.json"}}},{"id":"1.7.10","loaders":{"latest":{"id":"1.7.10-10.13.4.1614-1.7.10","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.7.10-Forge10.13.4.1614-1.7.10.json"}}},{"id":"1.11.2","loaders":{"latest":{"id":"1.11.2-13.20.1.2588","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.11.2-forge1.11.2-13.20.1.2588.json"}}},{"id":"1.7.2","loaders":{"latest":{"id":"1.7.2-10.12.2.1161-mc172","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.7.2-Forge10.12.2.1161-mc172.json"}}},{"id":"1.6.3","loaders":{"latest":{"id":"1.6.3-9.11.0.878","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.6.3-Forge9.11.0.878.json"}}},{"id":"1.8.8","loaders":{"latest":{"id":"1.8.8-11.15.0.1655","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.8.8-forge1.8.8-11.15.0.1655.json"}}},{"id":"1.16.4","loaders":{"latest":{"id":"1.16.4-35.1.37","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.4-forge-35.1.37.json"}}},{"id":"1.14.2","loaders":{"latest":{"id":"1.14.2-26.0.63","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.2-forge-26.0.63.json"}}},{"id":"1.15.1","loaders":{"latest":{"id":"1.15.1-30.0.51","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.15.1-forge-30.0.51.json"}}},{"id":"1.5.2","loaders":{"latest":{"id":"1.5.2-7.8.1.738","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.5.2-Forge7.8.1.738.json"}}},{"id":"1.6.4","loaders":{"latest":{"id":"1.6.4-9.11.1.1345","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.6.4-Forge9.11.1.1345.json"}}},{"id":"1.12.1","loaders":{"latest":{"id":"1.12.1-14.22.1.2485","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.1-forge1.12.1-14.22.1.2485.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.9","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.9.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.109","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.109.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.13","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.13.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.16","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.16.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.110","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.110.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.111","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.111.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.112","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.112.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.17","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.17.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.18","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.18.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.116","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.116.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.19","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.19.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.117","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.117.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.118","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.118.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.119","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.119.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.120","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.120.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.122","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.122.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.126","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.126.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.1.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.1.0.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.0.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.1","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.1.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.2","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.2.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.4","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.4.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.5","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.5.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.6","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.6.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.8","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.8.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.10","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.10.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.11","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.11.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.12","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.12.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.13","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.13.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.14","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.14.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.15","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.15.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.16","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.16.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.20","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.20.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.1.1","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.1.1.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.17","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.17.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2856","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2856.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-28.2.25","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.4-forge-28.2.25.json"}}},{"id":"1.13.2","loaders":{"latest":{"id":"1.13.2-25.0.222","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.13.2-forge-25.0.222.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2857","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2857.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2858","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2858.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-39.0.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18.1-forge-39.0.0.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2859","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2859.json"}}},{"id":"1.13.2","loaders":{"latest":{"id":"1.13.2-25.0.223","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.13.2-forge-25.0.223.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-28.2.26","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.4-forge-28.2.26.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2860","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2860.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-39.0.3","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18.1-forge-39.0.3.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-39.0.5","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18.1-forge-39.0.5.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.22","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.22.json"}}}]},"fabric":{"gameVersions":[{"id":"1.18.1-rc3","loaders":{"latest":{"id":"1.18.1-rc3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-rc3-0.12.12.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-0.12.12.json"}}},{"id":"1.18.1-rc2","loaders":{"latest":{"id":"1.18.1-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-rc2-0.12.12.json"}}},{"id":"1.18.1-rc1","loaders":{"latest":{"id":"1.18.1-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-rc1-0.12.12.json"}}},{"id":"1.18.1-pre1","loaders":{"latest":{"id":"1.18.1-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-pre1-0.12.12.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-0.12.12.json"}}},{"id":"1.18-rc4","loaders":{"latest":{"id":"1.18-rc4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc4-0.12.12.json"}}},{"id":"1.18-rc3","loaders":{"latest":{"id":"1.18-rc3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc3-0.12.12.json"}}},{"id":"1.18-rc2","loaders":{"latest":{"id":"1.18-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc2-0.12.12.json"}}},{"id":"1.18-rc1","loaders":{"latest":{"id":"1.18-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc1-0.12.12.json"}}},{"id":"1.18-pre8","loaders":{"latest":{"id":"1.18-pre8-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre8-0.12.12.json"}}},{"id":"1.18-pre7","loaders":{"latest":{"id":"1.18-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre7-0.12.12.json"}}},{"id":"1.18-pre6","loaders":{"latest":{"id":"1.18-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre6-0.12.12.json"}}},{"id":"1.18-pre5","loaders":{"latest":{"id":"1.18-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre5-0.12.12.json"}}},{"id":"1.18-pre4","loaders":{"latest":{"id":"1.18-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre4-0.12.12.json"}}},{"id":"1.18-pre3","loaders":{"latest":{"id":"1.18-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre3-0.12.12.json"}}},{"id":"1.18-pre2","loaders":{"latest":{"id":"1.18-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre2-0.12.12.json"}}},{"id":"1.18-pre1","loaders":{"latest":{"id":"1.18-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre1-0.12.12.json"}}},{"id":"21w43a","loaders":{"latest":{"id":"21w43a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w43a-0.12.12.json"}}},{"id":"21w44a","loaders":{"latest":{"id":"21w44a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w44a-0.12.12.json"}}},{"id":"21w42a","loaders":{"latest":{"id":"21w42a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w42a-0.12.12.json"}}},{"id":"21w41a","loaders":{"latest":{"id":"21w41a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w41a-0.12.12.json"}}},{"id":"21w40a","loaders":{"latest":{"id":"21w40a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w40a-0.12.12.json"}}},{"id":"21w38a","loaders":{"latest":{"id":"21w38a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w38a-0.12.12.json"}}},{"id":"21w39a","loaders":{"latest":{"id":"21w39a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w39a-0.12.12.json"}}},{"id":"21w37a","loaders":{"latest":{"id":"21w37a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w37a-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-6","loaders":{"latest":{"id":"1.18_experimental-snapshot-6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-6-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-5","loaders":{"latest":{"id":"1.18_experimental-snapshot-5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-5-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-7","loaders":{"latest":{"id":"1.18_experimental-snapshot-7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-7-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-4","loaders":{"latest":{"id":"1.18_experimental-snapshot-4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-4-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-3","loaders":{"latest":{"id":"1.18_experimental-snapshot-3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-3-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-2","loaders":{"latest":{"id":"1.18_experimental-snapshot-2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-2-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-1","loaders":{"latest":{"id":"1.18_experimental-snapshot-1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-1-0.12.12.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-0.12.12.json"}}},{"id":"1.17.1-rc2","loaders":{"latest":{"id":"1.17.1-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-rc2-0.12.12.json"}}},{"id":"1.17.1-rc1","loaders":{"latest":{"id":"1.17.1-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-rc1-0.12.12.json"}}},{"id":"1.17.1-pre3","loaders":{"latest":{"id":"1.17.1-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-pre3-0.12.12.json"}}},{"id":"1.17.1-pre2","loaders":{"latest":{"id":"1.17.1-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-pre2-0.12.12.json"}}},{"id":"1.17.1-pre1","loaders":{"latest":{"id":"1.17.1-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-pre1-0.12.12.json"}}},{"id":"1.17","loaders":{"latest":{"id":"1.17-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-0.12.12.json"}}},{"id":"1.17-rc1","loaders":{"latest":{"id":"1.17-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-rc1-0.12.12.json"}}},{"id":"1.17-pre5","loaders":{"latest":{"id":"1.17-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre5-0.12.12.json"}}},{"id":"1.17-pre4","loaders":{"latest":{"id":"1.17-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre4-0.12.12.json"}}},{"id":"1.17-pre2","loaders":{"latest":{"id":"1.17-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre2-0.12.12.json"}}},{"id":"1.17-pre3","loaders":{"latest":{"id":"1.17-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre3-0.12.12.json"}}},{"id":"1.17-pre1","loaders":{"latest":{"id":"1.17-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre1-0.12.12.json"}}},{"id":"21w20a","loaders":{"latest":{"id":"21w20a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w20a-0.12.12.json"}}},{"id":"21w19a","loaders":{"latest":{"id":"21w19a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w19a-0.12.12.json"}}},{"id":"21w18a","loaders":{"latest":{"id":"21w18a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w18a-0.12.12.json"}}},{"id":"1.17-rc2","loaders":{"latest":{"id":"1.17-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-rc2-0.12.12.json"}}},{"id":"21w17a","loaders":{"latest":{"id":"21w17a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w17a-0.12.12.json"}}},{"id":"21w16a","loaders":{"latest":{"id":"21w16a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w16a-0.12.12.json"}}},{"id":"21w15a","loaders":{"latest":{"id":"21w15a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w15a-0.12.12.json"}}},{"id":"21w14a","loaders":{"latest":{"id":"21w14a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w14a-0.12.12.json"}}},{"id":"21w13a","loaders":{"latest":{"id":"21w13a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w13a-0.12.12.json"}}},{"id":"21w11a","loaders":{"latest":{"id":"21w11a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w11a-0.12.12.json"}}},{"id":"21w10a","loaders":{"latest":{"id":"21w10a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w10a-0.12.12.json"}}},{"id":"21w08b","loaders":{"latest":{"id":"21w08b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w08b-0.12.12.json"}}},{"id":"21w08a","loaders":{"latest":{"id":"21w08a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w08a-0.12.12.json"}}},{"id":"21w07a","loaders":{"latest":{"id":"21w07a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w07a-0.12.12.json"}}},{"id":"21w06a","loaders":{"latest":{"id":"21w06a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w06a-0.12.12.json"}}},{"id":"21w05b","loaders":{"latest":{"id":"21w05b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w05b-0.12.12.json"}}},{"id":"21w05a","loaders":{"latest":{"id":"21w05a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w05a-0.12.12.json"}}},{"id":"1.16.5-rc1","loaders":{"latest":{"id":"1.16.5-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.5-rc1-0.12.12.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.5-0.12.12.json"}}},{"id":"20w51a","loaders":{"latest":{"id":"20w51a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w51a-0.12.12.json"}}},{"id":"21w03a","loaders":{"latest":{"id":"21w03a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w03a-0.12.12.json"}}},{"id":"20w49a","loaders":{"latest":{"id":"20w49a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w49a-0.12.12.json"}}},{"id":"20w48a","loaders":{"latest":{"id":"20w48a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w48a-0.12.12.json"}}},{"id":"20w46a","loaders":{"latest":{"id":"20w46a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w46a-0.12.12.json"}}},{"id":"20w45a","loaders":{"latest":{"id":"20w45a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w45a-0.12.12.json"}}},{"id":"1.16.4","loaders":{"latest":{"id":"1.16.4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-0.12.12.json"}}},{"id":"1.16.4-pre2","loaders":{"latest":{"id":"1.16.4-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-pre2-0.12.12.json"}}},{"id":"1.16.4-rc1","loaders":{"latest":{"id":"1.16.4-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-rc1-0.12.12.json"}}},{"id":"1.16.4-pre1","loaders":{"latest":{"id":"1.16.4-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-pre1-0.12.12.json"}}},{"id":"1.16.3","loaders":{"latest":{"id":"1.16.3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.3-0.12.12.json"}}},{"id":"1.16.3-rc1","loaders":{"latest":{"id":"1.16.3-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.3-rc1-0.12.12.json"}}},{"id":"1.16_combat-3","loaders":{"latest":{"id":"1.16_combat-3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16_combat-3-0.12.12.json"}}},{"id":"1.16.2","loaders":{"latest":{"id":"1.16.2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-0.12.12.json"}}},{"id":"1.16.2-rc2","loaders":{"latest":{"id":"1.16.2-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-rc2-0.12.12.json"}}},{"id":"1.16.2-rc1","loaders":{"latest":{"id":"1.16.2-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-rc1-0.12.12.json"}}},{"id":"1.16.2-pre3","loaders":{"latest":{"id":"1.16.2-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-pre3-0.12.12.json"}}},{"id":"1.16.2-pre1","loaders":{"latest":{"id":"1.16.2-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-pre1-0.12.12.json"}}},{"id":"1.16.2-pre2","loaders":{"latest":{"id":"1.16.2-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-pre2-0.12.12.json"}}},{"id":"20w30a","loaders":{"latest":{"id":"20w30a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w30a-0.12.12.json"}}},{"id":"20w28a","loaders":{"latest":{"id":"20w28a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w28a-0.12.12.json"}}},{"id":"20w29a","loaders":{"latest":{"id":"20w29a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w29a-0.12.12.json"}}},{"id":"1.16.1","loaders":{"latest":{"id":"1.16.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.1-0.12.12.json"}}},{"id":"1.16","loaders":{"latest":{"id":"1.16-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-0.12.12.json"}}},{"id":"20w27a","loaders":{"latest":{"id":"20w27a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w27a-0.12.12.json"}}},{"id":"1.16-rc1","loaders":{"latest":{"id":"1.16-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-rc1-0.12.12.json"}}},{"id":"1.16-pre7","loaders":{"latest":{"id":"1.16-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre7-0.12.12.json"}}},{"id":"1.16-pre8","loaders":{"latest":{"id":"1.16-pre8-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre8-0.12.12.json"}}},{"id":"1.16-pre5","loaders":{"latest":{"id":"1.16-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre5-0.12.12.json"}}},{"id":"1.16-pre4","loaders":{"latest":{"id":"1.16-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre4-0.12.12.json"}}},{"id":"1.16-pre3","loaders":{"latest":{"id":"1.16-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre3-0.12.12.json"}}},{"id":"1.16-pre6","loaders":{"latest":{"id":"1.16-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre6-0.12.12.json"}}},{"id":"1.16-pre2","loaders":{"latest":{"id":"1.16-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre2-0.12.12.json"}}},{"id":"1.16-pre1","loaders":{"latest":{"id":"1.16-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre1-0.12.12.json"}}},{"id":"20w22a","loaders":{"latest":{"id":"20w22a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w22a-0.12.12.json"}}},{"id":"20w20b","loaders":{"latest":{"id":"20w20b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w20b-0.12.12.json"}}},{"id":"20w20a","loaders":{"latest":{"id":"20w20a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w20a-0.12.12.json"}}},{"id":"20w21a","loaders":{"latest":{"id":"20w21a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w21a-0.12.12.json"}}},{"id":"20w19a","loaders":{"latest":{"id":"20w19a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w19a-0.12.12.json"}}},{"id":"20w18a","loaders":{"latest":{"id":"20w18a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w18a-0.12.12.json"}}},{"id":"20w17a","loaders":{"latest":{"id":"20w17a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w17a-0.12.12.json"}}},{"id":"20w16a","loaders":{"latest":{"id":"20w16a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w16a-0.12.12.json"}}},{"id":"20w15a","loaders":{"latest":{"id":"20w15a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w15a-0.12.12.json"}}},{"id":"20w14a","loaders":{"latest":{"id":"20w14a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w14a-0.12.12.json"}}},{"id":"20w14infinite","loaders":{"latest":{"id":"20w14infinite-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w14infinite-0.12.12.json"}}},{"id":"20w13b","loaders":{"latest":{"id":"20w13b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w13b-0.12.12.json"}}},{"id":"20w13a","loaders":{"latest":{"id":"20w13a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w13a-0.12.12.json"}}},{"id":"20w12a","loaders":{"latest":{"id":"20w12a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w12a-0.12.12.json"}}},{"id":"20w11a","loaders":{"latest":{"id":"20w11a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w11a-0.12.12.json"}}},{"id":"20w10a","loaders":{"latest":{"id":"20w10a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w10a-0.12.12.json"}}},{"id":"20w09a","loaders":{"latest":{"id":"20w09a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w09a-0.12.12.json"}}},{"id":"20w08a","loaders":{"latest":{"id":"20w08a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w08a-0.12.12.json"}}},{"id":"20w07a","loaders":{"latest":{"id":"20w07a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w07a-0.12.12.json"}}},{"id":"20w06a","loaders":{"latest":{"id":"20w06a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w06a-0.12.12.json"}}},{"id":"1.15.2","loaders":{"latest":{"id":"1.15.2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.2-0.12.12.json"}}},{"id":"1.15.1","loaders":{"latest":{"id":"1.15.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.1-0.12.12.json"}}},{"id":"1.15.2-pre1","loaders":{"latest":{"id":"1.15.2-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.2-pre1-0.12.12.json"}}},{"id":"1.15.1-pre1","loaders":{"latest":{"id":"1.15.1-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.1-pre1-0.12.12.json"}}},{"id":"1.15-pre7","loaders":{"latest":{"id":"1.15-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre7-0.12.12.json"}}},{"id":"1.15-pre6","loaders":{"latest":{"id":"1.15-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre6-0.12.12.json"}}},{"id":"1.15-pre4","loaders":{"latest":{"id":"1.15-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre4-0.12.12.json"}}},{"id":"1.15_combat-1","loaders":{"latest":{"id":"1.15_combat-1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15_combat-1-0.12.12.json"}}},{"id":"1.15-pre5","loaders":{"latest":{"id":"1.15-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre5-0.12.12.json"}}},{"id":"1.15.2-pre2","loaders":{"latest":{"id":"1.15.2-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.2-pre2-0.12.12.json"}}},{"id":"1.15","loaders":{"latest":{"id":"1.15-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-0.12.12.json"}}},{"id":"1.15-pre3","loaders":{"latest":{"id":"1.15-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre3-0.12.12.json"}}},{"id":"1.15-pre2","loaders":{"latest":{"id":"1.15-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre2-0.12.12.json"}}},{"id":"19w46b","loaders":{"latest":{"id":"19w46b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w46b-0.12.12.json"}}},{"id":"1.15-pre1","loaders":{"latest":{"id":"1.15-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre1-0.12.12.json"}}},{"id":"19w46a","loaders":{"latest":{"id":"19w46a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w46a-0.12.12.json"}}},{"id":"19w45b","loaders":{"latest":{"id":"19w45b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w45b-0.12.12.json"}}},{"id":"19w45a","loaders":{"latest":{"id":"19w45a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w45a-0.12.12.json"}}},{"id":"1.14_combat-3","loaders":{"latest":{"id":"1.14_combat-3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14_combat-3-0.12.12.json"}}},{"id":"19w44a","loaders":{"latest":{"id":"19w44a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w44a-0.12.12.json"}}},{"id":"19w42a","loaders":{"latest":{"id":"19w42a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w42a-0.12.12.json"}}},{"id":"19w41a","loaders":{"latest":{"id":"19w41a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w41a-0.12.12.json"}}},{"id":"19w39a","loaders":{"latest":{"id":"19w39a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w39a-0.12.12.json"}}},{"id":"19w40a","loaders":{"latest":{"id":"19w40a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w40a-0.12.12.json"}}},{"id":"19w38b","loaders":{"latest":{"id":"19w38b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w38b-0.12.12.json"}}},{"id":"19w38a","loaders":{"latest":{"id":"19w38a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w38a-0.12.12.json"}}},{"id":"19w37a","loaders":{"latest":{"id":"19w37a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w37a-0.12.12.json"}}},{"id":"19w36a","loaders":{"latest":{"id":"19w36a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w36a-0.12.12.json"}}},{"id":"19w35a","loaders":{"latest":{"id":"19w35a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w35a-0.12.12.json"}}},{"id":"19w34a","loaders":{"latest":{"id":"19w34a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w34a-0.12.12.json"}}},{"id":"1.14_combat-0","loaders":{"latest":{"id":"1.14_combat-0-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14_combat-0-0.12.12.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-0.12.12.json"}}},{"id":"1.14.4-pre7","loaders":{"latest":{"id":"1.14.4-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre7-0.12.12.json"}}},{"id":"1.14.4-pre6","loaders":{"latest":{"id":"1.14.4-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre6-0.12.12.json"}}},{"id":"1.14.4-pre5","loaders":{"latest":{"id":"1.14.4-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre5-0.12.12.json"}}},{"id":"1.14.4-pre4","loaders":{"latest":{"id":"1.14.4-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre4-0.12.12.json"}}},{"id":"1.14.4-pre2","loaders":{"latest":{"id":"1.14.4-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre2-0.12.12.json"}}},{"id":"1.14.4-pre3","loaders":{"latest":{"id":"1.14.4-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre3-0.12.12.json"}}},{"id":"1.14.4-pre1","loaders":{"latest":{"id":"1.14.4-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre1-0.12.12.json"}}},{"id":"1.14_combat-212796","loaders":{"latest":{"id":"1.14_combat-212796-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14_combat-212796-0.12.12.json"}}},{"id":"1.14.3","loaders":{"latest":{"id":"1.14.3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-0.12.12.json"}}},{"id":"1.14.3-pre4","loaders":{"latest":{"id":"1.14.3-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre4-0.12.12.json"}}},{"id":"1.14.3-pre2","loaders":{"latest":{"id":"1.14.3-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre2-0.12.12.json"}}},{"id":"1.14.3-pre3","loaders":{"latest":{"id":"1.14.3-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre3-0.12.12.json"}}},{"id":"1.14.3-pre1","loaders":{"latest":{"id":"1.14.3-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre1-0.12.12.json"}}},{"id":"1.14.2","loaders":{"latest":{"id":"1.14.2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 4","loaders":{"latest":{"id":"1.14.2 Pre-Release 4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 4-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 3","loaders":{"latest":{"id":"1.14.2 Pre-Release 3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 3-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 2","loaders":{"latest":{"id":"1.14.2 Pre-Release 2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 2-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 1","loaders":{"latest":{"id":"1.14.2 Pre-Release 1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 1-0.12.12.json"}}},{"id":"1.14.1","loaders":{"latest":{"id":"1.14.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.1-0.12.12.json"}}},{"id":"1.14.1 Pre-Release 2","loaders":{"latest":{"id":"1.14.1 Pre-Release 2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.1 Pre-Release 2-0.12.12.json"}}},{"id":"1.14.1 Pre-Release 1","loaders":{"latest":{"id":"1.14.1 Pre-Release 1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.1 Pre-Release 1-0.12.12.json"}}},{"id":"1.14","loaders":{"latest":{"id":"1.14-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14-0.12.12.json"}}},{"id":"1.14 Pre-Release 5","loaders":{"latest":{"id":"1.14 Pre-Release 5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 5-0.12.12.json"}}},{"id":"1.14 Pre-Release 4","loaders":{"latest":{"id":"1.14 Pre-Release 4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 4-0.12.12.json"}}},{"id":"1.14 Pre-Release 3","loaders":{"latest":{"id":"1.14 Pre-Release 3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 3-0.12.12.json"}}},{"id":"1.14 Pre-Release 2","loaders":{"latest":{"id":"1.14 Pre-Release 2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 2-0.12.12.json"}}},{"id":"1.14 Pre-Release 1","loaders":{"latest":{"id":"1.14 Pre-Release 1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 1-0.12.12.json"}}},{"id":"19w14b","loaders":{"latest":{"id":"19w14b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w14b-0.12.12.json"}}},{"id":"19w14a","loaders":{"latest":{"id":"19w14a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w14a-0.12.12.json"}}},{"id":"3D Shareware v1.34","loaders":{"latest":{"id":"3D Shareware v1.34-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/3D Shareware v1.34-0.12.12.json"}}},{"id":"19w13b","loaders":{"latest":{"id":"19w13b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w13b-0.12.12.json"}}},{"id":"19w13a","loaders":{"latest":{"id":"19w13a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w13a-0.12.12.json"}}},{"id":"19w12a","loaders":{"latest":{"id":"19w12a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w12a-0.12.12.json"}}},{"id":"19w11b","loaders":{"latest":{"id":"19w11b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w11b-0.12.12.json"}}},{"id":"19w11a","loaders":{"latest":{"id":"19w11a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w11a-0.12.12.json"}}},{"id":"19w08b","loaders":{"latest":{"id":"19w08b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w08b-0.12.12.json"}}},{"id":"19w09a","loaders":{"latest":{"id":"19w09a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w09a-0.12.12.json"}}},{"id":"19w08a","loaders":{"latest":{"id":"19w08a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w08a-0.12.12.json"}}},{"id":"19w12b","loaders":{"latest":{"id":"19w12b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w12b-0.12.12.json"}}},{"id":"19w07a","loaders":{"latest":{"id":"19w07a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w07a-0.12.12.json"}}},{"id":"19w06a","loaders":{"latest":{"id":"19w06a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w06a-0.12.12.json"}}},{"id":"19w05a","loaders":{"latest":{"id":"19w05a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w05a-0.12.12.json"}}},{"id":"19w04b","loaders":{"latest":{"id":"19w04b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w04b-0.12.12.json"}}},{"id":"19w04a","loaders":{"latest":{"id":"19w04a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w04a-0.12.12.json"}}},{"id":"19w03c","loaders":{"latest":{"id":"19w03c-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w03c-0.12.12.json"}}},{"id":"19w03b","loaders":{"latest":{"id":"19w03b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w03b-0.12.12.json"}}},{"id":"19w03a","loaders":{"latest":{"id":"19w03a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w03a-0.12.12.json"}}},{"id":"18w50a","loaders":{"latest":{"id":"18w50a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w50a-0.12.12.json"}}},{"id":"19w02a","loaders":{"latest":{"id":"19w02a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w02a-0.12.12.json"}}},{"id":"18w49a","loaders":{"latest":{"id":"18w49a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w49a-0.12.12.json"}}},{"id":"18w47a","loaders":{"latest":{"id":"18w47a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w47a-0.12.12.json"}}},{"id":"18w47b","loaders":{"latest":{"id":"18w47b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w47b-0.12.12.json"}}},{"id":"18w46a","loaders":{"latest":{"id":"18w46a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w46a-0.12.12.json"}}},{"id":"18w45a","loaders":{"latest":{"id":"18w45a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w45a-0.12.12.json"}}},{"id":"18w44a","loaders":{"latest":{"id":"18w44a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w44a-0.12.12.json"}}},{"id":"18w48b","loaders":{"latest":{"id":"18w48b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w48b-0.12.12.json"}}},{"id":"18w48a","loaders":{"latest":{"id":"18w48a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w48a-0.12.12.json"}}},{"id":"18w43c","loaders":{"latest":{"id":"18w43c-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w43c-0.12.12.json"}}},{"id":"18w43b","loaders":{"latest":{"id":"18w43b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w43b-0.12.12.json"}}}]}} \ No newline at end of file diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 46e076313..950061ba5 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -9,6 +9,7 @@ edition = "2018" [dependencies] thiserror = "1.0" async-trait = "0.1.51" +once_cell = "1.9.0" daedalus = "0.1.6" @@ -33,6 +34,8 @@ futures = "0.3" sys-info = "0.9.0" +log = "0.4.14" + [dev-dependencies] argh = "0.1.6" diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index 649918754..dea332615 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -20,50 +20,39 @@ pub enum LauncherError { url: String, tries: u32, }, + #[error("Failed to run processor: {0}")] ProcessorError(String), + #[error("Invalid input: {0}")] InvalidInput(String), + #[error("Error while managing asynchronous tasks")] TaskError(#[from] tokio::task::JoinError), + #[error("Error while reading/writing to the disk: {0}")] IoError(#[from] std::io::Error), + #[error("Error while spawning child process {process}")] ProcessError { inner: std::io::Error, process: String, }, + #[error("Error while deserializing JSON")] SerdeError(#[from] serde_json::Error), + #[error("Unable to fetch {item}")] FetchError { inner: reqwest::Error, item: String }, + #[error("{0}")] ParseError(String), + #[error("Error while fetching metadata: {0}")] DaedalusError(#[from] daedalus::Error), -} -const META_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; - -pub async fn fetch_metadata() -> Result< - ( - daedalus::minecraft::VersionManifest, - daedalus::modded::Manifest, - daedalus::modded::Manifest, - ), - LauncherError, -> { - let (game, forge, fabric) = futures::future::join3( - daedalus::minecraft::fetch_version_manifest(Some(&*format!( - "{}/minecraft/v0/manifest.json", - META_URL - ))), - daedalus::modded::fetch_manifest(&*format!("{}/forge/v0/manifest.json", META_URL)), - daedalus::modded::fetch_manifest(&*format!("{}/fabric/v0/manifest.json", META_URL)), - ) - .await; - - Ok((game?, forge?, fabric?)) + #[error("Error while reading metadata: {0}")] + MetaError(#[from] crate::meta::MetaError), } #[derive(Debug, Eq, PartialEq, Clone, Copy, Deserialize, Serialize)] @@ -86,7 +75,7 @@ pub async fn launch_minecraft( root_dir: &Path, credentials: &Credentials, ) -> Result<(), LauncherError> { - let (game, forge, fabric) = fetch_metadata().await?; + let metadata = crate::meta::Metadata::get().await?; let versions_path = crate::util::absolute_path(root_dir.join("versions"))?; let libraries_path = crate::util::absolute_path(root_dir.join("libraries"))?; @@ -95,7 +84,9 @@ pub async fn launch_minecraft( let mut version = download::download_version_info( &versions_path, - game.versions + metadata + .minecraft + .versions .iter() .find(|x| x.id == version_name) .ok_or_else(|| { @@ -105,7 +96,8 @@ pub async fn launch_minecraft( ModLoader::Vanilla => None, ModLoader::Forge | ModLoader::Fabric => { let loaders = if mod_loader.unwrap_or_default() == ModLoader::Forge { - &forge + &metadata + .forge .game_versions .iter() .find(|x| x.id == version_name) @@ -117,7 +109,8 @@ pub async fn launch_minecraft( })? .loaders } else { - &fabric + &metadata + .fabric .game_versions .iter() .find(|x| x.id == version_name) diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index 1226d2fc1..130eba75d 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -5,6 +5,33 @@ #![warn(missing_docs, unused_import_braces, missing_debug_implementations)] +use std::path::Path; +use std::time::Duration; + +lazy_static::lazy_static! { + pub static ref LAUNCHER_WORK_DIR: &'static Path = Path::new("./launcher"); +} + pub mod launcher; +mod meta; pub mod modpack; mod util; + +#[derive(thiserror::Error, Debug)] +pub enum Error { + #[error("Launcher error: {0}")] + LauncherError(#[from] launcher::LauncherError), + + #[error("Modpack error: {0}")] + ModpackError(#[from] modpack::ModpackError), + + #[error("Meta error: {0}")] + DaedalusError(#[from] meta::MetaError), +} + +pub async fn init() -> Result<(), Error> { + std::fs::create_dir_all(*LAUNCHER_WORK_DIR).expect("Unable to create launcher root directory!"); + crate::meta::Metadata::init().await?; + + Ok(()) +} diff --git a/theseus/src/meta.rs b/theseus/src/meta.rs new file mode 100644 index 000000000..44b1fd869 --- /dev/null +++ b/theseus/src/meta.rs @@ -0,0 +1,116 @@ +use serde::{Deserialize, Serialize}; +use std::io; +use tokio::sync::RwLockReadGuard; + +const META_FILE: &str = "meta.json"; +const META_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; + +#[derive(thiserror::Error, Debug)] +pub enum MetaError { + #[error("I/O error while reading metadata: {0}")] + IOError(#[from] io::Error), + + #[error("Daedalus error: {0}")] + DaedalusError(#[from] daedalus::Error), + + #[error("Attempted to access metadata without initializing it!")] + InitializedError, + + #[error("Error while serializing/deserializing JSON")] + SerdeError(#[from] serde_json::Error), +} + +use once_cell::sync; +use tokio::sync::RwLock; + +#[derive(Clone, Serialize, Deserialize, Debug)] +pub struct Metadata { + pub minecraft: daedalus::minecraft::VersionManifest, + pub forge: daedalus::modded::Manifest, + pub fabric: daedalus::modded::Manifest, +} + +static METADATA: sync::OnceCell> = sync::OnceCell::new(); + +impl Metadata { + pub async fn init() -> Result<(), MetaError> { + let meta_path = crate::LAUNCHER_WORK_DIR.join(META_FILE); + + if meta_path.exists() { + let meta_data = std::fs::read_to_string(meta_path) + .map(|x| serde_json::from_str::(&*x).ok()) + .ok() + .flatten(); + + if let Some(metadata) = meta_data { + METADATA.get_or_init(|| RwLock::new(metadata)); + } + } + + let future = async { + for attempt in 0..=3 { + let res = async { + let new = Self::fetch().await?; + + std::fs::write( + crate::LAUNCHER_WORK_DIR.join(META_FILE), + &*serde_json::to_string(&new)?, + )?; + + if let Some(metadata) = METADATA.get() { + *metadata.write().await = new; + } else { + METADATA.get_or_init(|| RwLock::new(new)); + } + + Ok::<(), MetaError>(()) + } + .await; + + match res { + Ok(_) => { + break; + } + Err(_) if attempt <= 3 => continue, + Err(err) => { + log::warn!("Unable to fetch launcher metadata: {}", err) + } + } + } + }; + + if METADATA.get().is_some() { + tokio::task::spawn(future); + } else { + future.await; + } + + Ok(()) + } + + pub async fn fetch() -> Result { + let (game, forge, fabric) = futures::future::join3( + daedalus::minecraft::fetch_version_manifest(Some(&*format!( + "{}/minecraft/v0/manifest.json", + META_URL + ))), + daedalus::modded::fetch_manifest(&*format!("{}/forge/v0/manifest.json", META_URL)), + daedalus::modded::fetch_manifest(&*format!("{}/fabric/v0/manifest.json", META_URL)), + ) + .await; + + Ok(Self { + minecraft: game?, + forge: forge?, + fabric: fabric?, + }) + } + + pub async fn get<'a>() -> Result, MetaError> { + Ok(METADATA + .get() + .ok_or_else(|| MetaError::InitializedError)? + .read() + .await) + } +} diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index cbe82b550..e3433f5c4 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -184,7 +184,10 @@ pub async fn compile_modpack(dir: &Path) -> ModpackResult<()> { ) .await?; - let result_zip = fs::File::create(dir.join(COMPILED_ZIP)).await?.into_std().await; + let result_zip = fs::File::create(dir.join(COMPILED_ZIP)) + .await? + .into_std() + .await; let mut zip = zip::ZipWriter::new(&result_zip); zip.create_from_directory(&result_dir)?; diff --git a/theseus/src/modpack/modrinth_api.rs b/theseus/src/modpack/modrinth_api.rs index d398d59be..8d107bd80 100644 --- a/theseus/src/modpack/modrinth_api.rs +++ b/theseus/src/modpack/modrinth_api.rs @@ -1,13 +1,9 @@ -use std::{ - collections::HashSet, - convert::TryFrom, - path::{Path, PathBuf}, -}; +use std::{collections::HashSet, convert::TryFrom, path::PathBuf}; use crate::launcher::ModLoader; use super::{ - manifest::{ManifestEnv, ManifestEnvs, ManifestHashes}, + manifest::{ManifestEnvs, ManifestHashes}, pack::{ModpackEnv, ModpackFile, ModpackFileHashes, ModpackGame}, ModpackError, ModpackResult, }; diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index ebcc95922..15f61709a 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -4,13 +4,14 @@ use serde::{Deserialize, Serialize}; use std::{ collections::HashSet, hash::Hash, - path::{Path, PathBuf}, iter::FromIterator, + iter::FromIterator, + path::{Path, PathBuf}, }; use tokio::fs; use super::{ modrinth_api::{self, ModrinthV1}, - ModpackResult, ModpackError, + ModpackError, ModpackResult, }; use crate::launcher::ModLoader; @@ -104,7 +105,13 @@ impl Modpack { Ok(()) } - pub async fn add_file(&mut self, source: reqwest::Url, dest: &Path, hashes: Option, env: Option) -> ModpackResult<()> { + pub async fn add_file( + &mut self, + source: reqwest::Url, + dest: &Path, + hashes: Option, + env: Option, + ) -> ModpackResult<()> { let whitelisted_domains = std::env::var(MODRINTH_MODPACK_DOMAIN_WHITELIST_VAR) .map(|it| serde_json::from_str::>(&it).ok().unwrap()) .unwrap_or( @@ -115,15 +122,21 @@ impl Modpack { .collect::>(), ); - if (whitelisted_domains.iter().find(|it| it == &source.host_str().unwrap()).is_none()) { - return Err(ModpackError::SourceWhitelistError(String::from(source.host_str().unwrap()))); - } - + if whitelisted_domains + .iter() + .find(|it| it == &source.host_str().unwrap()) + .is_none() + { + return Err(ModpackError::SourceWhitelistError(String::from( + source.host_str().unwrap(), + ))); + } + let file = ModpackFile { path: PathBuf::from(dest), hashes, env: env.unwrap_or(ModpackEnv::Both), - downloads: HashSet::from_iter([String::from(source)].into_iter().cloned()) + downloads: HashSet::from_iter([String::from(source)].into_iter().cloned()), }; self.files.insert(file); From 9d74e84c01e2fd87975f7d5d6b7389b4a55362d1 Mon Sep 17 00:00:00 2001 From: Jai A Date: Sun, 19 Dec 2021 22:48:50 -0700 Subject: [PATCH 016/231] Add method of storing launcher data, fix forge 1.17+, add launcher settings --- Cargo.lock | 4 +- launcher/meta.json | 1 - theseus/Cargo.toml | 2 +- theseus/src/{ => data}/meta.rs | 39 ++----- theseus/src/data/mod.rs | 22 ++++ theseus/src/data/settings.rs | 96 +++++++++++++++ theseus/src/launcher/args.rs | 55 ++++++++- theseus/src/launcher/mod.rs | 173 +++++++++++++++++----------- theseus/src/launcher/rules.rs | 4 +- theseus/src/lib.rs | 10 +- theseus/src/modpack/manifest.rs | 30 ++--- theseus/src/modpack/mod.rs | 18 +-- theseus/src/modpack/modrinth_api.rs | 12 +- theseus/src/modpack/pack.rs | 20 ++-- theseus_cli/src/main.rs | 2 + 15 files changed, 338 insertions(+), 150 deletions(-) delete mode 100644 launcher/meta.json rename theseus/src/{ => data}/meta.rs (76%) create mode 100644 theseus/src/data/mod.rs create mode 100644 theseus/src/data/settings.rs diff --git a/Cargo.lock b/Cargo.lock index c6dadf2f7..e164ce914 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -194,9 +194,9 @@ dependencies = [ [[package]] name = "daedalus" -version = "0.1.7" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e8ea161abae801020f48a909a7174024945e924c2f16c27fdf9264422dcf1a6" +checksum = "b71fa5e7862c4cf3c86f6250f0254875838304eb3ee6aca95df2057fb3870805" dependencies = [ "bytes", "chrono", diff --git a/launcher/meta.json b/launcher/meta.json deleted file mode 100644 index cb937d877..000000000 --- a/launcher/meta.json +++ /dev/null @@ -1 +0,0 @@ -{"minecraft":{"latest":{"release":"1.18.1","snapshot":"1.18.1"},"versions":[{"id":"1.18.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b0bdc637e4c4cbf0501500cbaad5a757b04848ed/1.18.1.json","time":"2021-12-10T08:26:34Z","releaseTime":"2021-12-10T08:23:00Z","sha1":"b0bdc637e4c4cbf0501500cbaad5a757b04848ed","complianceLevel":1},{"id":"1.18.1-rc3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e93a50674f603440dfc24a96c5e2c0f379231e57/1.18.1-rc3.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-10T03:36:38Z","sha1":"e93a50674f603440dfc24a96c5e2c0f379231e57","complianceLevel":1},{"id":"1.18.1-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a22e46bd382874572e3aef9ea4e0fec81e1a8629/1.18.1-rc2.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-08T12:29:36Z","sha1":"a22e46bd382874572e3aef9ea4e0fec81e1a8629","complianceLevel":1},{"id":"1.18.1-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5861d51c313c523f91f5b88915ece4203cf9bbc5/1.18.1-rc1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-07T15:52:47Z","sha1":"5861d51c313c523f91f5b88915ece4203cf9bbc5","complianceLevel":1},{"id":"1.18.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/757c95dd306af389b9e31435b3e17aa360662627/1.18.1-pre1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-12-03T13:45:38Z","sha1":"757c95dd306af389b9e31435b3e17aa360662627","complianceLevel":1},{"id":"1.18","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4220b6c4c91d80e17d441bcc166e5ca3f9a77304/1.18.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-30T09:16:29Z","sha1":"4220b6c4c91d80e17d441bcc166e5ca3f9a77304","complianceLevel":1},{"id":"1.18-rc4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c256fe7acf00470ab54f3b4ca396fb1ade52d6ad/1.18-rc4.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-29T13:43:42Z","sha1":"c256fe7acf00470ab54f3b4ca396fb1ade52d6ad","complianceLevel":1},{"id":"1.18-rc3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/661cbcdc94ddf44ca2e072b1f5f13441f70b53f0/1.18-rc3.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-26T15:51:56Z","sha1":"661cbcdc94ddf44ca2e072b1f5f13441f70b53f0","complianceLevel":1},{"id":"1.18-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/21e151f7a8a1925e9a18e55736804d8ce095b1df/1.18-rc2.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-26T10:02:04Z","sha1":"21e151f7a8a1925e9a18e55736804d8ce095b1df","complianceLevel":1},{"id":"1.18-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1252eb140bd1b41ee071db8e885ccbfc1237b487/1.18-rc1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-25T14:28:49Z","sha1":"1252eb140bd1b41ee071db8e885ccbfc1237b487","complianceLevel":1},{"id":"1.18-pre8","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e40cfe9aa0a401fec87f9092a707c0b97c7ae56d/1.18-pre8.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-24T14:57:32Z","sha1":"e40cfe9aa0a401fec87f9092a707c0b97c7ae56d","complianceLevel":1},{"id":"1.18-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1d4ba1dbebf3655056ce2a7859fdc4edb928573b/1.18-pre7.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-23T16:37:41Z","sha1":"1d4ba1dbebf3655056ce2a7859fdc4edb928573b","complianceLevel":1},{"id":"1.18-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2bcc2ddc9ecc8fb524c97ce7fd2f2e04b11694b4/1.18-pre6.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-22T17:09:05Z","sha1":"2bcc2ddc9ecc8fb524c97ce7fd2f2e04b11694b4","complianceLevel":1},{"id":"1.18-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/26a29a99efb58eba40f16572e0e5b9e7e8c0b983/1.18-pre5.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-19T15:47:09Z","sha1":"26a29a99efb58eba40f16572e0e5b9e7e8c0b983","complianceLevel":1},{"id":"1.18-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a87d4691e75e273fab963e529e9eb4ff78e949b2/1.18-pre4.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-17T18:07:56Z","sha1":"a87d4691e75e273fab963e529e9eb4ff78e949b2","complianceLevel":1},{"id":"1.18-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8abac5ea86779c6aff6321ff23dd18aeb011945f/1.18-pre3.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-17T16:04:25Z","sha1":"8abac5ea86779c6aff6321ff23dd18aeb011945f","complianceLevel":1},{"id":"1.18-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d9048191dd8c25cd3d6d10152651c90f68788a29/1.18-pre2.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-16T17:04:48Z","sha1":"d9048191dd8c25cd3d6d10152651c90f68788a29","complianceLevel":1},{"id":"1.18-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0749ee515dea389c4348b6c388ecd206afe9382d/1.18-pre1.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-11T16:14:06Z","sha1":"0749ee515dea389c4348b6c388ecd206afe9382d","complianceLevel":1},{"id":"21w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2269fdf7d942d50dcd12f5b244288c91ded5bff3/21w44a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-11-03T16:14:34Z","sha1":"2269fdf7d942d50dcd12f5b244288c91ded5bff3","complianceLevel":1},{"id":"21w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c316f9183fb1f4e5a981e0f0a318fe27b6a364c/21w43a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-27T14:38:55Z","sha1":"4c316f9183fb1f4e5a981e0f0a318fe27b6a364c","complianceLevel":1},{"id":"21w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/45ec56f42e737431e32a6eb0d59c80133f608c34/21w42a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-20T12:41:25Z","sha1":"45ec56f42e737431e32a6eb0d59c80133f608c34","complianceLevel":1},{"id":"21w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2eded0c8b2794aa7966150dfa5eccf2adb0ee88a/21w41a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-13T15:23:23Z","sha1":"2eded0c8b2794aa7966150dfa5eccf2adb0ee88a","complianceLevel":1},{"id":"21w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/56bac73a83fdd38c4f42c49d9eb6f6f8a5931e73/21w40a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-10-07T11:17:50Z","sha1":"56bac73a83fdd38c4f42c49d9eb6f6f8a5931e73","complianceLevel":1},{"id":"21w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e85ee59e2f9d1bee72a2462a462f51ef0a8e2f0a/21w39a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-09-29T16:27:05Z","sha1":"e85ee59e2f9d1bee72a2462a462f51ef0a8e2f0a","complianceLevel":1},{"id":"21w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9d716ebd9c2ad42d4a5992e06f13b1de32be66d1/21w38a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-09-23T14:36:06Z","sha1":"9d716ebd9c2ad42d4a5992e06f13b1de32be66d1","complianceLevel":1},{"id":"21w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b1cd844ac9306cb3447fb7930511fb2e18d92cfe/21w37a.json","time":"2021-12-10T08:14:51Z","releaseTime":"2021-09-15T16:04:30Z","sha1":"b1cd844ac9306cb3447fb7930511fb2e18d92cfe","complianceLevel":1},{"id":"1.17.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/0b1d2828e58cf8eb1aac14ee588f5160bd06e77f/1.17.1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-07-06T12:01:34Z","sha1":"0b1d2828e58cf8eb1aac14ee588f5160bd06e77f","complianceLevel":1},{"id":"1.17.1-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/494152b7d3a75ff74eed4ea709461f58cebd5e0e/1.17.1-rc2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-07-05T12:58:01Z","sha1":"494152b7d3a75ff74eed4ea709461f58cebd5e0e","complianceLevel":1},{"id":"1.17.1-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3c45df2f3bffafb69c47b59ae4b7eb27e18b3403/1.17.1-rc1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-07-01T15:23:37Z","sha1":"3c45df2f3bffafb69c47b59ae4b7eb27e18b3403","complianceLevel":1},{"id":"1.17.1-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/44c1e8a2c2cb6e31e74389728055080a178d8211/1.17.1-pre3.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-30T15:43:16Z","sha1":"44c1e8a2c2cb6e31e74389728055080a178d8211","complianceLevel":1},{"id":"1.17.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f4d348da321440275351632c3a214c2a346b6535/1.17.1-pre2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-29T15:14:12Z","sha1":"f4d348da321440275351632c3a214c2a346b6535","complianceLevel":1},{"id":"1.17.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/eb9110666b1acf688ec045cfe08fab746481003c/1.17.1-pre1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-18T12:24:40Z","sha1":"eb9110666b1acf688ec045cfe08fab746481003c","complianceLevel":1},{"id":"1.17","type":"release","url":"https://launchermeta.mojang.com/v1/packages/bb6684a5a4f4ecfa8540a4c3aec0d1eab8c574c1/1.17.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-08T11:00:40Z","sha1":"bb6684a5a4f4ecfa8540a4c3aec0d1eab8c574c1","complianceLevel":1},{"id":"1.17-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a8738e73ae56391c911cf385169fc3fc2523426a/1.17-rc2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-07T11:46:28Z","sha1":"a8738e73ae56391c911cf385169fc3fc2523426a","complianceLevel":1},{"id":"1.17-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0ddb07701b1a582addd77d0ffebcf55cc80d2718/1.17-rc1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-04T13:24:48Z","sha1":"0ddb07701b1a582addd77d0ffebcf55cc80d2718","complianceLevel":1},{"id":"1.17-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3c1cef1ab781605736c3616e19e05831b2ace674/1.17-pre5.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-03T17:01:28Z","sha1":"3c1cef1ab781605736c3616e19e05831b2ace674","complianceLevel":1},{"id":"1.17-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9e9398811380eb9bfa6f8650e3ebcdc06cccf62/1.17-pre4.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-02T16:15:43Z","sha1":"a9e9398811380eb9bfa6f8650e3ebcdc06cccf62","complianceLevel":1},{"id":"1.17-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/848ba35d367aab89fe8b6e745ad14fa63298b07a/1.17-pre3.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-06-01T15:43:46Z","sha1":"848ba35d367aab89fe8b6e745ad14fa63298b07a","complianceLevel":1},{"id":"1.17-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/014acc696235553d02289468a0979934d38a19d0/1.17-pre2.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-31T15:54:05Z","sha1":"014acc696235553d02289468a0979934d38a19d0","complianceLevel":1},{"id":"1.17-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/42cfdff6bc0309049e346ce77986264365129f94/1.17-pre1.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-27T09:39:21Z","sha1":"42cfdff6bc0309049e346ce77986264365129f94","complianceLevel":1},{"id":"21w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8e231ced9cb57ef0d63211f40a7c998f4fe84390/21w20a.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-19T15:22:02Z","sha1":"8e231ced9cb57ef0d63211f40a7c998f4fe84390","complianceLevel":1},{"id":"21w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/179c77aead1636521432beca2a778cae0cb4a3e0/21w19a.json","time":"2021-12-10T02:52:28Z","releaseTime":"2021-05-12T11:19:15Z","sha1":"179c77aead1636521432beca2a778cae0cb4a3e0","complianceLevel":1},{"id":"21w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e48ad74660c7ac67ac8c9dd80182803d929ec8f9/21w18a.json","time":"2021-12-15T15:47:43Z","releaseTime":"2021-05-05T15:24:35Z","sha1":"e48ad74660c7ac67ac8c9dd80182803d929ec8f9","complianceLevel":1},{"id":"21w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ca57690060e8e10051c8abf38281142ce302babc/21w17a.json","time":"2021-12-15T15:47:43Z","releaseTime":"2021-04-28T13:54:05Z","sha1":"ca57690060e8e10051c8abf38281142ce302babc","complianceLevel":1},{"id":"21w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0f0e5bbe5426713d68081bfacc575394a8bdf00c/21w16a.json","time":"2021-12-15T15:47:42Z","releaseTime":"2021-04-21T16:41:14Z","sha1":"0f0e5bbe5426713d68081bfacc575394a8bdf00c","complianceLevel":1},{"id":"21w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ef5510b65fcce3962d1112ee1afc17ac7a02673f/21w15a.json","time":"2021-12-15T15:47:41Z","releaseTime":"2021-04-14T13:41:34Z","sha1":"ef5510b65fcce3962d1112ee1afc17ac7a02673f","complianceLevel":1},{"id":"21w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/07807da9dd8bd64450b861309852b64301b28322/21w14a.json","time":"2021-12-15T15:47:41Z","releaseTime":"2021-04-07T14:04:09Z","sha1":"07807da9dd8bd64450b861309852b64301b28322","complianceLevel":1},{"id":"21w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/90f13d9cadac9cb8d3db4f1505aeceda265c8263/21w13a.json","time":"2021-12-15T15:47:40Z","releaseTime":"2021-03-31T16:17:46Z","sha1":"90f13d9cadac9cb8d3db4f1505aeceda265c8263","complianceLevel":1},{"id":"21w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/557fa30a4b12359c7bc1d7d6657d838d933d880d/21w11a.json","time":"2021-12-15T15:47:39Z","releaseTime":"2021-03-17T15:05:50Z","sha1":"557fa30a4b12359c7bc1d7d6657d838d933d880d","complianceLevel":1},{"id":"21w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/193775688476392903e782b22bcfe0c0579686d2/21w10a.json","time":"2021-12-15T15:47:39Z","releaseTime":"2021-03-10T15:24:38Z","sha1":"193775688476392903e782b22bcfe0c0579686d2","complianceLevel":1},{"id":"21w08b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/640459713819e14c1cdd071087d298637d096b5b/21w08b.json","time":"2021-12-15T15:47:38Z","releaseTime":"2021-02-25T11:46:34Z","sha1":"640459713819e14c1cdd071087d298637d096b5b","complianceLevel":1},{"id":"21w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3745c385759bd02b84e9d0dc9589f1a3a4280a1e/21w08a.json","time":"2021-12-15T15:47:37Z","releaseTime":"2021-02-24T14:38:51Z","sha1":"3745c385759bd02b84e9d0dc9589f1a3a4280a1e","complianceLevel":1},{"id":"21w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d3f80518521eef8f7a4485a572d93700d48e64af/21w07a.json","time":"2021-12-15T15:47:37Z","releaseTime":"2021-02-17T16:35:40Z","sha1":"d3f80518521eef8f7a4485a572d93700d48e64af","complianceLevel":1},{"id":"21w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6849362aca934a0b0f6fcdee28e897669d584b8c/21w06a.json","time":"2021-12-15T15:47:36Z","releaseTime":"2021-02-10T17:13:54Z","sha1":"6849362aca934a0b0f6fcdee28e897669d584b8c","complianceLevel":1},{"id":"21w05b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0baa34be1033dcd65be4e9d39863579e407e2d9c/21w05b.json","time":"2021-12-15T15:47:35Z","releaseTime":"2021-02-04T15:09:29Z","sha1":"0baa34be1033dcd65be4e9d39863579e407e2d9c","complianceLevel":1},{"id":"21w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/88517a63b007670e9136169eb72ece7c662828e6/21w05a.json","time":"2021-12-15T15:47:35Z","releaseTime":"2021-02-03T15:56:54Z","sha1":"88517a63b007670e9136169eb72ece7c662828e6","complianceLevel":1},{"id":"21w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f4e7b613771f16f5e09c52664b4670e0e02fc108/21w03a.json","time":"2021-12-15T15:47:34Z","releaseTime":"2021-01-20T14:56:29Z","sha1":"f4e7b613771f16f5e09c52664b4670e0e02fc108","complianceLevel":1},{"id":"1.16.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/53d73bd5ad8ce02c6b3ec809d4720fd6fff03456/1.16.5.json","time":"2021-12-15T15:44:04Z","releaseTime":"2021-01-14T16:05:32Z","sha1":"53d73bd5ad8ce02c6b3ec809d4720fd6fff03456","complianceLevel":1},{"id":"1.16.5-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7fa9ec4ecc3216c187a03187b068b7e908a56bd3/1.16.5-rc1.json","time":"2021-12-15T15:44:59Z","releaseTime":"2021-01-13T15:58:55Z","sha1":"7fa9ec4ecc3216c187a03187b068b7e908a56bd3","complianceLevel":1},{"id":"20w51a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d16518162ad52705599196d3d4ca110b195ceb5/20w51a.json","time":"2021-12-15T15:47:33Z","releaseTime":"2020-12-16T16:27:57Z","sha1":"6d16518162ad52705599196d3d4ca110b195ceb5","complianceLevel":1},{"id":"20w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d7cb15fd5253059f1816cb65e312b6415d92cc6b/20w49a.json","time":"2021-12-15T15:47:33Z","releaseTime":"2020-12-02T16:47:20Z","sha1":"d7cb15fd5253059f1816cb65e312b6415d92cc6b","complianceLevel":1},{"id":"20w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/be3c4ad7a5c4554a530bf826a4733463f9f5c847/20w48a.json","time":"2021-12-15T15:47:32Z","releaseTime":"2020-11-25T15:42:24Z","sha1":"be3c4ad7a5c4554a530bf826a4733463f9f5c847","complianceLevel":1},{"id":"20w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6339b97403a87fb88d87caed047c8fcd0021e6ca/20w46a.json","time":"2021-12-15T15:47:32Z","releaseTime":"2020-11-11T15:30:32Z","sha1":"6339b97403a87fb88d87caed047c8fcd0021e6ca","complianceLevel":1},{"id":"20w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0ea757bb543285b5862b8bad28faeceab4763ac7/20w45a.json","time":"2021-12-15T15:47:31Z","releaseTime":"2020-11-04T16:42:00Z","sha1":"0ea757bb543285b5862b8bad28faeceab4763ac7","complianceLevel":1},{"id":"1.16.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/3015de9d239dcfe37688dae27d718eacfe03c3ef/1.16.4.json","time":"2021-12-15T15:44:03Z","releaseTime":"2020-10-29T15:49:37Z","sha1":"3015de9d239dcfe37688dae27d718eacfe03c3ef","complianceLevel":1},{"id":"1.16.4-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7db7150b3d76c21c35d67f61e669c05c8612449d/1.16.4-rc1.json","time":"2021-12-15T15:44:58Z","releaseTime":"2020-10-27T16:31:08Z","sha1":"7db7150b3d76c21c35d67f61e669c05c8612449d","complianceLevel":1},{"id":"1.16.4-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/604b7ae529384aa8efbc5ddbefa89a105822c88b/1.16.4-pre2.json","time":"2021-12-15T15:44:58Z","releaseTime":"2020-10-22T15:32:17Z","sha1":"604b7ae529384aa8efbc5ddbefa89a105822c88b","complianceLevel":0},{"id":"1.16.4-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a2690a294ecc3622607ab60d74ec9e46a5eceae/1.16.4-pre1.json","time":"2021-12-15T15:44:57Z","releaseTime":"2020-10-13T14:36:07Z","sha1":"6a2690a294ecc3622607ab60d74ec9e46a5eceae","complianceLevel":0},{"id":"1.16.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/e9702439d7e1dfbc0499f7b66f45398acafa0f2b/1.16.3.json","time":"2021-12-15T15:44:02Z","releaseTime":"2020-09-10T13:42:37Z","sha1":"e9702439d7e1dfbc0499f7b66f45398acafa0f2b","complianceLevel":0},{"id":"1.16.3-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8a1034ee5d6415b147c23dc73364db382a3400a2/1.16.3-rc1.json","time":"2021-12-15T15:44:56Z","releaseTime":"2020-09-07T12:34:06Z","sha1":"8a1034ee5d6415b147c23dc73364db382a3400a2","complianceLevel":0},{"id":"1.16.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1b7955bc3a4508288c0b71df4934fb9f9ee69ab2/1.16.2.json","time":"2021-12-15T15:44:02Z","releaseTime":"2020-08-11T10:13:46Z","sha1":"1b7955bc3a4508288c0b71df4934fb9f9ee69ab2","complianceLevel":0},{"id":"1.16.2-rc2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/49d754bbe5a4b52573e14be4caa040358d57623b/1.16.2-rc2.json","time":"2021-12-15T15:44:56Z","releaseTime":"2020-08-10T11:43:36Z","sha1":"49d754bbe5a4b52573e14be4caa040358d57623b","complianceLevel":0},{"id":"1.16.2-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d15d9494ba8fb940021de31cd1365ae01b8f36c9/1.16.2-rc1.json","time":"2021-12-15T15:44:55Z","releaseTime":"2020-08-07T14:35:39Z","sha1":"d15d9494ba8fb940021de31cd1365ae01b8f36c9","complianceLevel":0},{"id":"1.16.2-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2545b07ddce9a328dc2f733e3ae00a0ab02320f3/1.16.2-pre3.json","time":"2021-12-15T15:44:54Z","releaseTime":"2020-08-06T16:44:52Z","sha1":"2545b07ddce9a328dc2f733e3ae00a0ab02320f3","complianceLevel":0},{"id":"1.16.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a239c7b0f81c879de20091fa41e9d70e41395c5/1.16.2-pre2.json","time":"2021-12-15T15:44:54Z","releaseTime":"2020-08-05T15:30:50Z","sha1":"6a239c7b0f81c879de20091fa41e9d70e41395c5","complianceLevel":0},{"id":"1.16.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3cd205488fc8bd9a77199ded8e9585c61db5783f/1.16.2-pre1.json","time":"2021-12-15T15:44:53Z","releaseTime":"2020-07-29T13:19:05Z","sha1":"3cd205488fc8bd9a77199ded8e9585c61db5783f","complianceLevel":0},{"id":"20w30a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f034040886a5b3cbe63969052e63ab650d02be60/20w30a.json","time":"2021-12-15T15:47:30Z","releaseTime":"2020-07-22T15:05:15Z","sha1":"f034040886a5b3cbe63969052e63ab650d02be60","complianceLevel":0},{"id":"20w29a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/053db6416b6d495ea54600f28e57257e0148e031/20w29a.json","time":"2021-12-15T15:47:30Z","releaseTime":"2020-07-15T14:13:47Z","sha1":"053db6416b6d495ea54600f28e57257e0148e031","complianceLevel":0},{"id":"20w28a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3f7bd4f280b492a6d40249c51298c08f1cdc666b/20w28a.json","time":"2021-12-15T15:47:29Z","releaseTime":"2020-07-08T15:10:40Z","sha1":"3f7bd4f280b492a6d40249c51298c08f1cdc666b","complianceLevel":0},{"id":"20w27a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/31067037f3c9ef0248133c96c84c8feb44569094/20w27a.json","time":"2021-12-15T15:47:28Z","releaseTime":"2020-07-01T15:07:35Z","sha1":"31067037f3c9ef0248133c96c84c8feb44569094","complianceLevel":0},{"id":"1.16.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ddd245eae029e77e6fa8f65383129f79c1ed6684/1.16.1.json","time":"2021-12-15T15:44:01Z","releaseTime":"2020-06-24T10:31:40Z","sha1":"ddd245eae029e77e6fa8f65383129f79c1ed6684","complianceLevel":0},{"id":"1.16","type":"release","url":"https://launchermeta.mojang.com/v1/packages/51b50a20fb1129dabf3c323787c71ebf8492277a/1.16.json","time":"2021-12-15T15:44:04Z","releaseTime":"2020-06-23T16:20:52Z","sha1":"51b50a20fb1129dabf3c323787c71ebf8492277a","complianceLevel":0},{"id":"1.16-rc1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bb8fedf5c70a4466e35d934733acaec3702177b1/1.16-rc1.json","time":"2021-12-15T15:44:52Z","releaseTime":"2020-06-18T12:49:28Z","sha1":"bb8fedf5c70a4466e35d934733acaec3702177b1","complianceLevel":0},{"id":"1.16-pre8","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/885484450290fe1528a0151f140986fdfbed4bf9/1.16-pre8.json","time":"2021-12-15T15:44:52Z","releaseTime":"2020-06-17T14:45:23Z","sha1":"885484450290fe1528a0151f140986fdfbed4bf9","complianceLevel":0},{"id":"1.16-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/86e0098c69887a51babbe6eef463c3b80e9e8e93/1.16-pre7.json","time":"2021-12-15T15:44:51Z","releaseTime":"2020-06-16T15:31:35Z","sha1":"86e0098c69887a51babbe6eef463c3b80e9e8e93","complianceLevel":0},{"id":"1.16-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a7caabad3b4c5263f33550808629930cd8a6f794/1.16-pre6.json","time":"2021-12-15T15:44:50Z","releaseTime":"2020-06-15T16:57:57Z","sha1":"a7caabad3b4c5263f33550808629930cd8a6f794","complianceLevel":0},{"id":"1.16-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/989d8e0b9f74ced3b497d1856cff189ae685002c/1.16-pre5.json","time":"2021-12-15T15:44:50Z","releaseTime":"2020-06-12T14:33:59Z","sha1":"989d8e0b9f74ced3b497d1856cff189ae685002c","complianceLevel":0},{"id":"1.16-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/94eea19a49cbb895ae1931ba833681a0f029e37c/1.16-pre4.json","time":"2021-12-15T15:44:49Z","releaseTime":"2020-06-11T15:45:55Z","sha1":"94eea19a49cbb895ae1931ba833681a0f029e37c","complianceLevel":0},{"id":"1.16-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c9a1851f83050021b3d67f0bc62d538e9d79e48a/1.16-pre3.json","time":"2021-12-15T15:44:49Z","releaseTime":"2020-06-10T14:57:43Z","sha1":"c9a1851f83050021b3d67f0bc62d538e9d79e48a","complianceLevel":0},{"id":"1.16-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/75e9792604f00c868f53f682ce1d62193449976a/1.16-pre2.json","time":"2021-12-15T15:44:48Z","releaseTime":"2020-06-05T10:47:59Z","sha1":"75e9792604f00c868f53f682ce1d62193449976a","complianceLevel":0},{"id":"1.16-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5c7efb481cf3d3a37c2e5258460fc4d83574c3b2/1.16-pre1.json","time":"2021-12-15T15:44:47Z","releaseTime":"2020-06-04T18:17:51Z","sha1":"5c7efb481cf3d3a37c2e5258460fc4d83574c3b2","complianceLevel":0},{"id":"20w22a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/de17320446f85ec60226d05364be8eaf737d49e6/20w22a.json","time":"2021-12-15T15:47:28Z","releaseTime":"2020-05-29T11:25:02Z","sha1":"de17320446f85ec60226d05364be8eaf737d49e6","complianceLevel":0},{"id":"20w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1572118c816754cf1474af1fb27393e3f078bd27/20w21a.json","time":"2021-12-15T15:47:27Z","releaseTime":"2020-05-20T12:07:18Z","sha1":"1572118c816754cf1474af1fb27393e3f078bd27","complianceLevel":0},{"id":"20w20b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dad7e9a1a739de835ab3b8942b3ea79f20243482/20w20b.json","time":"2021-12-15T15:47:26Z","releaseTime":"2020-05-14T08:16:26Z","sha1":"dad7e9a1a739de835ab3b8942b3ea79f20243482","complianceLevel":0},{"id":"20w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e6da1c5ce677b71f96fe14add04efb950e08349c/20w20a.json","time":"2021-12-15T15:47:26Z","releaseTime":"2020-05-13T15:11:43Z","sha1":"e6da1c5ce677b71f96fe14add04efb950e08349c","complianceLevel":0},{"id":"20w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc1e50834a27c31e4a8e4d2dc89918d8fad19bd3/20w19a.json","time":"2021-12-15T15:47:25Z","releaseTime":"2020-05-06T16:23:24Z","sha1":"dc1e50834a27c31e4a8e4d2dc89918d8fad19bd3","complianceLevel":0},{"id":"20w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4529b8c73044ba827d2f839d8eb64138656f8d3b/20w18a.json","time":"2021-12-15T15:47:24Z","releaseTime":"2020-04-29T15:16:34Z","sha1":"4529b8c73044ba827d2f839d8eb64138656f8d3b","complianceLevel":0},{"id":"20w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1bc1da23fe9e2f8869cffce8a90bbe6f5e0b9fc3/20w17a.json","time":"2021-12-15T15:47:24Z","releaseTime":"2020-04-22T13:47:50Z","sha1":"1bc1da23fe9e2f8869cffce8a90bbe6f5e0b9fc3","complianceLevel":0},{"id":"20w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/91b58513e88219dd26e4492e0de215af402cd3f9/20w16a.json","time":"2021-12-15T15:47:23Z","releaseTime":"2020-04-15T14:13:01Z","sha1":"91b58513e88219dd26e4492e0de215af402cd3f9","complianceLevel":0},{"id":"20w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/cebe670aa02d2a4db10e9ef9c6b9d283ca76ff5f/20w15a.json","time":"2021-12-15T15:47:22Z","releaseTime":"2020-04-08T12:29:24Z","sha1":"cebe670aa02d2a4db10e9ef9c6b9d283ca76ff5f","complianceLevel":0},{"id":"20w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8040d068cd64ee9a9d4e2b06885f6ec77e822fd7/20w14a.json","time":"2021-12-15T15:47:21Z","releaseTime":"2020-04-02T14:28:06Z","sha1":"8040d068cd64ee9a9d4e2b06885f6ec77e822fd7","complianceLevel":0},{"id":"20w14infinite","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b510644230f3a3982a0cd745d225017ef6aa6711/20w14infinite.json","time":"2021-12-15T15:47:21Z","releaseTime":"2020-04-01T12:47:08Z","sha1":"b510644230f3a3982a0cd745d225017ef6aa6711","complianceLevel":0},{"id":"20w13b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/194353e8236c6bc45be40f60265c928b4c43833f/20w13b.json","time":"2021-12-15T15:47:20Z","releaseTime":"2020-03-26T13:00:34Z","sha1":"194353e8236c6bc45be40f60265c928b4c43833f","complianceLevel":0},{"id":"20w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4ef572e328ee976b284d1729a3a1dbdeed661819/20w13a.json","time":"2021-12-15T15:47:19Z","releaseTime":"2020-03-25T17:05:33Z","sha1":"4ef572e328ee976b284d1729a3a1dbdeed661819","complianceLevel":0},{"id":"20w12a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e99fc9e46aa33f7800d3f24aed3489fd577e0deb/20w12a.json","time":"2021-12-15T15:47:19Z","releaseTime":"2020-03-18T16:42:06Z","sha1":"e99fc9e46aa33f7800d3f24aed3489fd577e0deb","complianceLevel":0},{"id":"20w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e0282f0836b30693503ce28de6f6cf0c0bdf76b8/20w11a.json","time":"2021-12-15T15:47:18Z","releaseTime":"2020-03-11T16:28:27Z","sha1":"e0282f0836b30693503ce28de6f6cf0c0bdf76b8","complianceLevel":0},{"id":"20w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08a41ae7b4f06c1633467123abf6f75487ab23f6/20w10a.json","time":"2021-12-15T15:47:17Z","releaseTime":"2020-03-04T16:21:41Z","sha1":"08a41ae7b4f06c1633467123abf6f75487ab23f6","complianceLevel":0},{"id":"20w09a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d79099ead8db6c3c68e07248bce841c68a195c04/20w09a.json","time":"2021-12-15T15:47:16Z","releaseTime":"2020-02-26T16:43:08Z","sha1":"d79099ead8db6c3c68e07248bce841c68a195c04","complianceLevel":0},{"id":"20w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/24527dd52ba2847689ce9bf7664a8d06a7b8b7aa/20w08a.json","time":"2021-12-15T15:47:16Z","releaseTime":"2020-02-19T13:30:09Z","sha1":"24527dd52ba2847689ce9bf7664a8d06a7b8b7aa","complianceLevel":0},{"id":"20w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/304c00900a701f0f6c2c76710003994fd8036531/20w07a.json","time":"2021-12-15T15:47:15Z","releaseTime":"2020-02-14T13:20:49Z","sha1":"304c00900a701f0f6c2c76710003994fd8036531","complianceLevel":0},{"id":"20w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08d895e7f7b9573706be69d12a790374fd54cbc8/20w06a.json","time":"2021-12-15T15:47:14Z","releaseTime":"2020-02-05T16:05:22Z","sha1":"08d895e7f7b9573706be69d12a790374fd54cbc8","complianceLevel":0},{"id":"1.15.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/a134a40902959810875d4642a4ac9c69c37e39a0/1.15.2.json","time":"2021-12-15T15:43:59Z","releaseTime":"2020-01-17T10:03:52Z","sha1":"a134a40902959810875d4642a4ac9c69c37e39a0","complianceLevel":0},{"id":"1.15.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7dfbe4b42cf61df47f71713590dd069267449420/1.15.2-pre2.json","time":"2021-12-15T15:44:47Z","releaseTime":"2020-01-16T12:35:57Z","sha1":"7dfbe4b42cf61df47f71713590dd069267449420","complianceLevel":0},{"id":"1.15.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6e8723a73cc47b4a81e44ca25b1a2d2dce3b1c04/1.15.2-pre1.json","time":"2021-12-15T15:44:46Z","releaseTime":"2020-01-14T16:19:31Z","sha1":"6e8723a73cc47b4a81e44ca25b1a2d2dce3b1c04","complianceLevel":0},{"id":"1.15.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/3526ede769b1a1d30aca5b7b98a81607c60305f7/1.15.1.json","time":"2021-12-15T15:43:59Z","releaseTime":"2019-12-16T10:29:47Z","sha1":"3526ede769b1a1d30aca5b7b98a81607c60305f7","complianceLevel":0},{"id":"1.15.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/27ceb6dbdca4821a509ed70d26773cfecef4ce63/1.15.1-pre1.json","time":"2021-12-15T15:44:45Z","releaseTime":"2019-12-12T14:02:30Z","sha1":"27ceb6dbdca4821a509ed70d26773cfecef4ce63","complianceLevel":0},{"id":"1.15","type":"release","url":"https://launchermeta.mojang.com/v1/packages/75d15976c2d82a0afd796802bac73c934ea59df7/1.15.json","time":"2021-12-15T15:44:00Z","releaseTime":"2019-12-09T13:13:38Z","sha1":"75d15976c2d82a0afd796802bac73c934ea59df7","complianceLevel":0},{"id":"1.15-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/54358db380289fb3547a1d7fb5761b1b1f6d0ba8/1.15-pre7.json","time":"2021-12-15T15:44:44Z","releaseTime":"2019-12-09T12:14:11Z","sha1":"54358db380289fb3547a1d7fb5761b1b1f6d0ba8","complianceLevel":0},{"id":"1.15-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d4356b81f961250fccd9355c0bb115afc181a1b/1.15-pre6.json","time":"2021-12-15T15:44:44Z","releaseTime":"2019-12-06T12:04:30Z","sha1":"6d4356b81f961250fccd9355c0bb115afc181a1b","complianceLevel":0},{"id":"1.15-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/97d4e275e0d5cf754fabfc6017e0cf410fb25e50/1.15-pre5.json","time":"2021-12-15T15:44:43Z","releaseTime":"2019-12-05T13:20:00Z","sha1":"97d4e275e0d5cf754fabfc6017e0cf410fb25e50","complianceLevel":0},{"id":"1.15-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a2c68e78c6887d91af86cbe51bda9902565c36b5/1.15-pre4.json","time":"2021-12-15T15:44:43Z","releaseTime":"2019-12-03T12:24:24Z","sha1":"a2c68e78c6887d91af86cbe51bda9902565c36b5","complianceLevel":0},{"id":"1.15-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d99a70baa558e7912f9331e42263125d18c97e27/1.15-pre3.json","time":"2021-12-15T15:44:42Z","releaseTime":"2019-11-28T17:17:50Z","sha1":"d99a70baa558e7912f9331e42263125d18c97e27","complianceLevel":0},{"id":"1.15-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ab23ff69e4bc33349868f88ec0eab0a9024e9d79/1.15-pre2.json","time":"2021-12-15T15:44:41Z","releaseTime":"2019-11-25T18:09:38Z","sha1":"ab23ff69e4bc33349868f88ec0eab0a9024e9d79","complianceLevel":0},{"id":"1.15-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b92f7ad0e2dea435c9738b09a069199b37869398/1.15-pre1.json","time":"2021-12-15T15:44:41Z","releaseTime":"2019-11-21T17:01:17Z","sha1":"b92f7ad0e2dea435c9738b09a069199b37869398","complianceLevel":0},{"id":"19w46b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c8aabd44ac18b173a68091c00b4ff0151f29faeb/19w46b.json","time":"2021-12-15T15:47:14Z","releaseTime":"2019-11-14T13:29:24Z","sha1":"c8aabd44ac18b173a68091c00b4ff0151f29faeb","complianceLevel":0},{"id":"19w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d129178105f1a1ab114b925752322c963f521eb7/19w46a.json","time":"2021-12-15T15:47:13Z","releaseTime":"2019-11-13T16:37:46Z","sha1":"d129178105f1a1ab114b925752322c963f521eb7","complianceLevel":0},{"id":"19w45b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f2ab5210dbc8768733b227747139e6054b93ae57/19w45b.json","time":"2021-12-15T15:47:12Z","releaseTime":"2019-11-08T12:42:44Z","sha1":"f2ab5210dbc8768733b227747139e6054b93ae57","complianceLevel":0},{"id":"19w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9ac552143b82bb8740b34c23dd997c4aab23f2dd/19w45a.json","time":"2021-12-15T15:47:12Z","releaseTime":"2019-11-07T16:19:20Z","sha1":"9ac552143b82bb8740b34c23dd997c4aab23f2dd","complianceLevel":0},{"id":"19w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0b7015eb577c9e04a5a21b83fa7f4d8d7b723e93/19w44a.json","time":"2021-12-15T15:47:11Z","releaseTime":"2019-10-30T15:31:44Z","sha1":"0b7015eb577c9e04a5a21b83fa7f4d8d7b723e93","complianceLevel":0},{"id":"19w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ac1a6a7f15382cda12878d5e304c6a34ed6349d5/19w42a.json","time":"2021-12-15T15:47:10Z","releaseTime":"2019-10-16T15:30:39Z","sha1":"ac1a6a7f15382cda12878d5e304c6a34ed6349d5","complianceLevel":0},{"id":"19w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fbcc94f6cdb36247a70e87d06811bfacc83f3e8c/19w41a.json","time":"2021-12-15T15:47:10Z","releaseTime":"2019-10-09T15:21:35Z","sha1":"fbcc94f6cdb36247a70e87d06811bfacc83f3e8c","complianceLevel":0},{"id":"19w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/02785403832a5aad38d51e71d5912d75dc196f10/19w40a.json","time":"2021-12-15T15:47:09Z","releaseTime":"2019-10-02T13:40:26Z","sha1":"02785403832a5aad38d51e71d5912d75dc196f10","complianceLevel":0},{"id":"19w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/75eb7c180e5be8e730ba7b2a9d495a9d33092a7f/19w39a.json","time":"2021-12-15T15:47:08Z","releaseTime":"2019-09-27T10:13:33Z","sha1":"75eb7c180e5be8e730ba7b2a9d495a9d33092a7f","complianceLevel":0},{"id":"19w38b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b9166a39db29187cb5aca9ba57457d300dc30390/19w38b.json","time":"2021-12-15T15:47:08Z","releaseTime":"2019-09-18T14:59:13Z","sha1":"b9166a39db29187cb5aca9ba57457d300dc30390","complianceLevel":0},{"id":"19w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5fd4c2e92056d7ad3727af992a1c1c1a96f892e6/19w38a.json","time":"2021-12-15T15:47:07Z","releaseTime":"2019-09-18T10:03:22Z","sha1":"5fd4c2e92056d7ad3727af992a1c1c1a96f892e6","complianceLevel":0},{"id":"19w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/add2b28d6e297e10e139955c13e3c3d7caa19603/19w37a.json","time":"2021-12-15T15:47:06Z","releaseTime":"2019-09-11T11:46:44Z","sha1":"add2b28d6e297e10e139955c13e3c3d7caa19603","complianceLevel":0},{"id":"19w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fa89fbd191476584136418814c4e1e808f6e5381/19w36a.json","time":"2021-12-15T15:47:06Z","releaseTime":"2019-09-04T11:19:34Z","sha1":"fa89fbd191476584136418814c4e1e808f6e5381","complianceLevel":0},{"id":"19w35a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/160fd40277b049c90c3402261f59f2ccb5e81506/19w35a.json","time":"2021-12-15T15:47:05Z","releaseTime":"2019-08-28T15:01:44Z","sha1":"160fd40277b049c90c3402261f59f2ccb5e81506","complianceLevel":0},{"id":"19w34a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f7419386943a8c54a6067078921508730bee3d87/19w34a.json","time":"2021-12-15T15:47:05Z","releaseTime":"2019-08-22T12:06:21Z","sha1":"f7419386943a8c54a6067078921508730bee3d87","complianceLevel":0},{"id":"1.14.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/8f81523cd2c2fdaf9c37431fceb0a446dbe71ed5/1.14.4.json","time":"2021-12-15T15:43:57Z","releaseTime":"2019-07-19T09:25:47Z","sha1":"8f81523cd2c2fdaf9c37431fceb0a446dbe71ed5","complianceLevel":0},{"id":"1.14.4-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/225785e19ae0b841ca67e71a2dae81fe109c872a/1.14.4-pre7.json","time":"2021-12-15T15:44:40Z","releaseTime":"2019-07-18T11:32:36Z","sha1":"225785e19ae0b841ca67e71a2dae81fe109c872a","complianceLevel":0},{"id":"1.14.4-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5064ae3ee503c8ebc27928d6ae8d6937367bcdc5/1.14.4-pre6.json","time":"2021-12-15T15:44:40Z","releaseTime":"2019-07-15T12:39:49Z","sha1":"5064ae3ee503c8ebc27928d6ae8d6937367bcdc5","complianceLevel":0},{"id":"1.14.4-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/edae35914121182e2253dabdb6ad37e9219dfd1a/1.14.4-pre5.json","time":"2021-12-15T15:44:39Z","releaseTime":"2019-07-11T10:52:33Z","sha1":"edae35914121182e2253dabdb6ad37e9219dfd1a","complianceLevel":0},{"id":"1.14.4-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9d8f7c94726e8c9058d98aa5d791540854c06c28/1.14.4-pre4.json","time":"2021-12-15T15:44:39Z","releaseTime":"2019-07-10T12:53:29Z","sha1":"9d8f7c94726e8c9058d98aa5d791540854c06c28","complianceLevel":0},{"id":"1.14.4-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/23ea71adf67bfe0159c271e4113ad46a4c7ff8b8/1.14.4-pre3.json","time":"2021-12-15T15:44:38Z","releaseTime":"2019-07-08T11:21:42Z","sha1":"23ea71adf67bfe0159c271e4113ad46a4c7ff8b8","complianceLevel":0},{"id":"1.14.4-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b781fc09310f223c0304297b7e094a75a5612381/1.14.4-pre2.json","time":"2021-12-15T15:44:38Z","releaseTime":"2019-07-04T14:41:05Z","sha1":"b781fc09310f223c0304297b7e094a75a5612381","complianceLevel":0},{"id":"1.14.4-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dd23d80d9b2d4ecc2800541922f0b0ec4e6c89d3/1.14.4-pre1.json","time":"2021-12-15T15:44:37Z","releaseTime":"2019-07-03T13:01:01Z","sha1":"dd23d80d9b2d4ecc2800541922f0b0ec4e6c89d3","complianceLevel":0},{"id":"1.14.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/970fb095132b5fa3edf829bbc487d415f3267d7f/1.14.3.json","time":"2021-12-15T15:43:57Z","releaseTime":"2019-06-24T12:52:52Z","sha1":"970fb095132b5fa3edf829bbc487d415f3267d7f","complianceLevel":0},{"id":"1.14.3-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a3086cecaffe3030dcd8abd4afcf57520928ad1/1.14.3-pre4.json","time":"2021-12-15T15:44:37Z","releaseTime":"2019-06-19T11:44:29Z","sha1":"6a3086cecaffe3030dcd8abd4afcf57520928ad1","complianceLevel":0},{"id":"1.14.3-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d3224381a7c5708e9482e80d1d59ce7e242dbc44/1.14.3-pre3.json","time":"2021-12-15T15:44:36Z","releaseTime":"2019-06-14T08:03:33Z","sha1":"d3224381a7c5708e9482e80d1d59ce7e242dbc44","complianceLevel":0},{"id":"1.14.3-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d13fcddba357336276798124d5ad91cb5071db34/1.14.3-pre2.json","time":"2021-12-15T15:44:36Z","releaseTime":"2019-06-07T09:11:29Z","sha1":"d13fcddba357336276798124d5ad91cb5071db34","complianceLevel":0},{"id":"1.14.3-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b76415aca4de58ad4d2da3920af61e2d0aab423f/1.14.3-pre1.json","time":"2021-12-15T15:44:36Z","releaseTime":"2019-06-03T14:34:20Z","sha1":"b76415aca4de58ad4d2da3920af61e2d0aab423f","complianceLevel":0},{"id":"1.14.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/13a7b4ed55faa6a88f7729c0923bbe12a03f63e8/1.14.2.json","time":"2021-12-15T15:43:56Z","releaseTime":"2019-05-27T11:48:25Z","sha1":"13a7b4ed55faa6a88f7729c0923bbe12a03f63e8","complianceLevel":0},{"id":"1.14.2 Pre-Release 4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2b6d0cd838d546f6082bd52f105d7627ae0794ec/1.14.2%20Pre-Release%204.json","time":"2021-12-15T15:44:35Z","releaseTime":"2019-05-27T07:21:11Z","sha1":"2b6d0cd838d546f6082bd52f105d7627ae0794ec","complianceLevel":0},{"id":"1.14.2 Pre-Release 3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b47e5d28c614cd8ce3c1d7f3490c370d10db19b9/1.14.2%20Pre-Release%203.json","time":"2021-12-15T15:44:35Z","releaseTime":"2019-05-22T13:12:51Z","sha1":"b47e5d28c614cd8ce3c1d7f3490c370d10db19b9","complianceLevel":0},{"id":"1.14.2 Pre-Release 2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9df02944c109a001c4aa207339d3a120b7e47bb/1.14.2%20Pre-Release%202.json","time":"2021-12-15T15:44:34Z","releaseTime":"2019-05-17T12:21:03Z","sha1":"e9df02944c109a001c4aa207339d3a120b7e47bb","complianceLevel":0},{"id":"1.14.2 Pre-Release 1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/409a8748249533d58ffa9e3190f0753cdbcfbf71/1.14.2%20Pre-Release%201.json","time":"2021-12-15T15:44:34Z","releaseTime":"2019-05-16T15:40:25Z","sha1":"409a8748249533d58ffa9e3190f0753cdbcfbf71","complianceLevel":0},{"id":"1.14.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/770df8fddfd27061560507267eccb650345b61e2/1.14.1.json","time":"2021-12-15T15:43:56Z","releaseTime":"2019-05-13T11:10:12Z","sha1":"770df8fddfd27061560507267eccb650345b61e2","complianceLevel":0},{"id":"1.14.1 Pre-Release 2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/292e1547a1840ede46346ada4fb67118fe94171a/1.14.1%20Pre-Release%202.json","time":"2021-12-15T15:44:33Z","releaseTime":"2019-05-09T14:01:04Z","sha1":"292e1547a1840ede46346ada4fb67118fe94171a","complianceLevel":0},{"id":"1.14.1 Pre-Release 1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c4151fa78258c9a337d5b5906280fe341e861c0a/1.14.1%20Pre-Release%201.json","time":"2021-12-15T15:44:33Z","releaseTime":"2019-05-07T14:44:42Z","sha1":"c4151fa78258c9a337d5b5906280fe341e861c0a","complianceLevel":0},{"id":"1.14","type":"release","url":"https://launchermeta.mojang.com/v1/packages/44552c5e051cff06483616adb1f6fd2d94ee3447/1.14.json","time":"2021-12-15T15:43:58Z","releaseTime":"2019-04-23T14:52:44Z","sha1":"44552c5e051cff06483616adb1f6fd2d94ee3447","complianceLevel":0},{"id":"1.14 Pre-Release 5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e85eb16ce5f7b337fdd81a41195457faf3724de1/1.14%20Pre-Release%205.json","time":"2021-12-15T15:44:32Z","releaseTime":"2019-04-18T11:05:19Z","sha1":"e85eb16ce5f7b337fdd81a41195457faf3724de1","complianceLevel":0},{"id":"1.14 Pre-Release 4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d1142b477da49f3be98c6de7130ff9bcc73c64de/1.14%20Pre-Release%204.json","time":"2021-12-15T15:44:32Z","releaseTime":"2019-04-17T15:31:12Z","sha1":"d1142b477da49f3be98c6de7130ff9bcc73c64de","complianceLevel":0},{"id":"1.14 Pre-Release 3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5119ee7ea1455a0655fe1139aa4224aea02af54b/1.14%20Pre-Release%203.json","time":"2021-12-15T15:44:31Z","releaseTime":"2019-04-16T13:57:10Z","sha1":"5119ee7ea1455a0655fe1139aa4224aea02af54b","complianceLevel":0},{"id":"1.14 Pre-Release 2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0c322327071722961042d33e7221c05037e22171/1.14%20Pre-Release%202.json","time":"2021-12-15T15:44:30Z","releaseTime":"2019-04-12T11:38:53Z","sha1":"0c322327071722961042d33e7221c05037e22171","complianceLevel":0},{"id":"1.14 Pre-Release 1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9f71a3ea076d679b54fbc9fea64b899fe189bbbd/1.14%20Pre-Release%201.json","time":"2021-12-15T15:44:30Z","releaseTime":"2019-04-10T14:24:16Z","sha1":"9f71a3ea076d679b54fbc9fea64b899fe189bbbd","complianceLevel":0},{"id":"19w14b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1f797b0d05b5dec63940d5fcf090fc7e55d30e01/19w14b.json","time":"2021-12-15T15:47:04Z","releaseTime":"2019-04-05T10:33:58Z","sha1":"1f797b0d05b5dec63940d5fcf090fc7e55d30e01","complianceLevel":0},{"id":"19w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d0269d17bf3af72b454c8275e8603561541fc4df/19w14a.json","time":"2021-12-15T15:47:04Z","releaseTime":"2019-04-03T13:45:00Z","sha1":"d0269d17bf3af72b454c8275e8603561541fc4df","complianceLevel":0},{"id":"3D Shareware v1.34","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fe072c0f3f14f254407068b9515efd825b736a2e/3D%20Shareware%20v1.34.json","time":"2021-12-15T15:47:44Z","releaseTime":"2019-04-01T11:18:08Z","sha1":"fe072c0f3f14f254407068b9515efd825b736a2e","complianceLevel":0},{"id":"19w13b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/549dab6b7f4710ef9431edc2871ecca1e0ea56d0/19w13b.json","time":"2021-12-15T15:47:03Z","releaseTime":"2019-03-29T16:53:22Z","sha1":"549dab6b7f4710ef9431edc2871ecca1e0ea56d0","complianceLevel":0},{"id":"19w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4060bc60451368fe9ba137c9a56f8f925aaf0320/19w13a.json","time":"2021-12-15T15:47:03Z","releaseTime":"2019-03-27T15:15:31Z","sha1":"4060bc60451368fe9ba137c9a56f8f925aaf0320","complianceLevel":0},{"id":"19w12b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b5faf778f1026d1904723f1db2d81b3044c957d9/19w12b.json","time":"2021-12-15T15:47:02Z","releaseTime":"2019-03-21T15:20:01Z","sha1":"b5faf778f1026d1904723f1db2d81b3044c957d9","complianceLevel":0},{"id":"19w12a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f391138069573253105f68d2a14a12d8db2b1f5c/19w12a.json","time":"2021-12-15T15:47:02Z","releaseTime":"2019-03-20T16:47:34Z","sha1":"f391138069573253105f68d2a14a12d8db2b1f5c","complianceLevel":0},{"id":"19w11b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/540388f4c2f08ccaf4314d8c886cff842963ade9/19w11b.json","time":"2021-12-15T15:47:01Z","releaseTime":"2019-03-14T14:26:23Z","sha1":"540388f4c2f08ccaf4314d8c886cff842963ade9","complianceLevel":0},{"id":"19w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08288d16d3b9253c3d3230df04ed970b38f42dab/19w11a.json","time":"2021-12-15T15:47:01Z","releaseTime":"2019-03-13T13:59:29Z","sha1":"08288d16d3b9253c3d3230df04ed970b38f42dab","complianceLevel":0},{"id":"19w09a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/813cb9ae2e902cd7c916858b6666064e9c201911/19w09a.json","time":"2021-12-15T15:47:00Z","releaseTime":"2019-02-27T14:44:30Z","sha1":"813cb9ae2e902cd7c916858b6666064e9c201911","complianceLevel":0},{"id":"19w08b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c12ced303962763107f61e6ceb8e875d6af400d3/19w08b.json","time":"2021-12-15T15:47:00Z","releaseTime":"2019-02-21T13:38:09Z","sha1":"c12ced303962763107f61e6ceb8e875d6af400d3","complianceLevel":0},{"id":"19w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8ecab11a8dd85b1876eadef14320805c86fdbd0e/19w08a.json","time":"2021-12-15T15:46:59Z","releaseTime":"2019-02-20T14:56:58Z","sha1":"8ecab11a8dd85b1876eadef14320805c86fdbd0e","complianceLevel":0},{"id":"19w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a19c014d87039cb3fbc19b9582eeaaca04cb1240/19w07a.json","time":"2021-12-15T15:46:59Z","releaseTime":"2019-02-13T16:12:08Z","sha1":"a19c014d87039cb3fbc19b9582eeaaca04cb1240","complianceLevel":0},{"id":"19w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9c04771f81e2a5b8be9da887ced4250c9af11f83/19w06a.json","time":"2021-12-15T15:46:58Z","releaseTime":"2019-02-06T16:24:13Z","sha1":"9c04771f81e2a5b8be9da887ced4250c9af11f83","complianceLevel":0},{"id":"19w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d540b37f16a36cb8e808b99619264e3b7e887099/19w05a.json","time":"2021-12-15T15:46:58Z","releaseTime":"2019-01-30T15:16:49Z","sha1":"d540b37f16a36cb8e808b99619264e3b7e887099","complianceLevel":0},{"id":"19w04b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/cffc41bb7f89f3c1d8fe1afcac9bc602b53e0de0/19w04b.json","time":"2021-12-15T15:46:57Z","releaseTime":"2019-01-25T12:20:15Z","sha1":"cffc41bb7f89f3c1d8fe1afcac9bc602b53e0de0","complianceLevel":0},{"id":"19w04a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8353572034619fb0bbb884401756d73abddfc190/19w04a.json","time":"2021-12-15T15:46:57Z","releaseTime":"2019-01-24T15:31:52Z","sha1":"8353572034619fb0bbb884401756d73abddfc190","complianceLevel":0},{"id":"19w03c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/74c257a53a59c196c90a7c63812ed626aa6dc658/19w03c.json","time":"2021-12-15T15:46:56Z","releaseTime":"2019-01-18T11:27:13Z","sha1":"74c257a53a59c196c90a7c63812ed626aa6dc658","complianceLevel":0},{"id":"19w03b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/01ccb6e33dd283f70d713acbd353bf5091825397/19w03b.json","time":"2021-12-15T15:46:56Z","releaseTime":"2019-01-17T16:43:27Z","sha1":"01ccb6e33dd283f70d713acbd353bf5091825397","complianceLevel":0},{"id":"19w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7767943a6356d3073ec4d9ccc51be69b4a2a7631/19w03a.json","time":"2021-12-15T15:46:55Z","releaseTime":"2019-01-16T16:45:02Z","sha1":"7767943a6356d3073ec4d9ccc51be69b4a2a7631","complianceLevel":0},{"id":"19w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ae10d5ccb31ef32365e7249e9695904ef4781618/19w02a.json","time":"2021-12-15T15:46:55Z","releaseTime":"2019-01-09T15:52:07Z","sha1":"ae10d5ccb31ef32365e7249e9695904ef4781618","complianceLevel":0},{"id":"18w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6fa8a7460769147341dc03891e1b522556aad82d/18w50a.json","time":"2021-12-15T15:46:54Z","releaseTime":"2018-12-12T14:58:13Z","sha1":"6fa8a7460769147341dc03891e1b522556aad82d","complianceLevel":0},{"id":"18w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7033863050ea4dc3a4b829cfc1d347d991699689/18w49a.json","time":"2021-12-15T15:46:54Z","releaseTime":"2018-12-05T12:24:30Z","sha1":"7033863050ea4dc3a4b829cfc1d347d991699689","complianceLevel":0},{"id":"18w48b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bd00e4cf9d834b8176770d66805ce429f5bd7317/18w48b.json","time":"2021-12-15T15:46:53Z","releaseTime":"2018-11-30T10:37:31Z","sha1":"bd00e4cf9d834b8176770d66805ce429f5bd7317","complianceLevel":0},{"id":"18w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0061465b249e04ebc24192bf0b96fe51f6d9bfef/18w48a.json","time":"2021-12-15T15:46:53Z","releaseTime":"2018-11-29T13:11:38Z","sha1":"0061465b249e04ebc24192bf0b96fe51f6d9bfef","complianceLevel":0},{"id":"18w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/200c849b8a0baa3492e069a484b36a6d5ad5612d/18w47b.json","time":"2021-12-15T15:46:52Z","releaseTime":"2018-11-23T10:46:41Z","sha1":"200c849b8a0baa3492e069a484b36a6d5ad5612d","complianceLevel":0},{"id":"18w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6931ca7ca10b90df541bc946ad6410f7db81f63c/18w47a.json","time":"2021-12-15T15:46:52Z","releaseTime":"2018-11-21T15:45:22Z","sha1":"6931ca7ca10b90df541bc946ad6410f7db81f63c","complianceLevel":0},{"id":"18w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/87fbc01477063b55de78760f68464d296e1438a1/18w46a.json","time":"2021-12-15T15:46:51Z","releaseTime":"2018-11-15T13:43:14Z","sha1":"87fbc01477063b55de78760f68464d296e1438a1","complianceLevel":0},{"id":"18w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b725ef482b49878b96e621fc91a825ba64958413/18w45a.json","time":"2021-12-15T15:46:50Z","releaseTime":"2018-11-07T14:40:06Z","sha1":"b725ef482b49878b96e621fc91a825ba64958413","complianceLevel":0},{"id":"18w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9e51fcb479a02ba7761194b6bbf1e571f2410ea/18w44a.json","time":"2021-12-15T15:46:50Z","releaseTime":"2018-10-31T15:29:16Z","sha1":"a9e51fcb479a02ba7761194b6bbf1e571f2410ea","complianceLevel":0},{"id":"18w43c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3ef1f818fdc1437e4ede574a3f5077fa9c6a4ba7/18w43c.json","time":"2021-12-15T15:46:49Z","releaseTime":"2018-10-26T08:40:46Z","sha1":"3ef1f818fdc1437e4ede574a3f5077fa9c6a4ba7","complianceLevel":0},{"id":"18w43b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/efb23e85ea13754e7e994ec773106a15e5037844/18w43b.json","time":"2021-12-15T15:46:49Z","releaseTime":"2018-10-24T15:02:30Z","sha1":"efb23e85ea13754e7e994ec773106a15e5037844","complianceLevel":0},{"id":"18w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/663210679231f9bdee94159ee7ad806bd6b31cd4/18w43a.json","time":"2021-12-15T15:46:48Z","releaseTime":"2018-10-24T10:52:16Z","sha1":"663210679231f9bdee94159ee7ad806bd6b31cd4","complianceLevel":0},{"id":"1.13.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1f439c21fee6a7816356c40a6194d064d1f44baa/1.13.2.json","time":"2021-12-15T15:43:55Z","releaseTime":"2018-10-22T11:41:07Z","sha1":"1f439c21fee6a7816356c40a6194d064d1f44baa","complianceLevel":0},{"id":"1.13.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1486e6c0f9281ea2ffff15fb594435960eb30b16/1.13.2-pre2.json","time":"2021-12-15T15:44:29Z","releaseTime":"2018-10-18T14:46:12Z","sha1":"1486e6c0f9281ea2ffff15fb594435960eb30b16","complianceLevel":0},{"id":"1.13.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4e50a1e4aa1fc871c296c6ba1345097bce864098/1.13.2-pre1.json","time":"2021-12-15T15:44:29Z","releaseTime":"2018-10-16T13:40:58Z","sha1":"4e50a1e4aa1fc871c296c6ba1345097bce864098","complianceLevel":0},{"id":"1.13.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/85c39d0f9d94a4777a9b401deb08cf07f55dfe39/1.13.1.json","time":"2021-12-15T15:43:54Z","releaseTime":"2018-08-22T14:03:42Z","sha1":"85c39d0f9d94a4777a9b401deb08cf07f55dfe39","complianceLevel":0},{"id":"1.13.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b6c39c683f1cae8b8a8c28398515f94dc3e75c94/1.13.1-pre2.json","time":"2021-12-15T15:44:28Z","releaseTime":"2018-08-20T13:52:09Z","sha1":"b6c39c683f1cae8b8a8c28398515f94dc3e75c94","complianceLevel":0},{"id":"1.13.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1e3b24bfa2f1c5612161faadf6612d9060d8ae4e/1.13.1-pre1.json","time":"2021-12-15T15:44:28Z","releaseTime":"2018-08-16T13:08:44Z","sha1":"1e3b24bfa2f1c5612161faadf6612d9060d8ae4e","complianceLevel":0},{"id":"18w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c55882f0c52ced8cb6d27dd76de44aca327a77d8/18w33a.json","time":"2021-12-15T15:46:48Z","releaseTime":"2018-08-15T14:28:56Z","sha1":"c55882f0c52ced8cb6d27dd76de44aca327a77d8","complianceLevel":0},{"id":"18w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b08212f3d19d05fc5c7e0f14008983d3f10fdd4b/18w32a.json","time":"2021-12-15T15:46:47Z","releaseTime":"2018-08-08T13:16:57Z","sha1":"b08212f3d19d05fc5c7e0f14008983d3f10fdd4b","complianceLevel":0},{"id":"18w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/66398c5a17f41841c3b46e143eb8fe4b25aeea64/18w31a.json","time":"2021-12-15T15:46:47Z","releaseTime":"2018-08-01T12:54:44Z","sha1":"66398c5a17f41841c3b46e143eb8fe4b25aeea64","complianceLevel":0},{"id":"18w30b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/99192fa960329f349ba8691be513917795ee2397/18w30b.json","time":"2021-12-15T15:46:46Z","releaseTime":"2018-07-26T16:06:57Z","sha1":"99192fa960329f349ba8691be513917795ee2397","complianceLevel":0},{"id":"18w30a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b4f2355456d625c4a28a09830b4b58b849f6034a/18w30a.json","time":"2021-12-15T15:46:45Z","releaseTime":"2018-07-25T14:29:31Z","sha1":"b4f2355456d625c4a28a09830b4b58b849f6034a","complianceLevel":0},{"id":"1.13","type":"release","url":"https://launchermeta.mojang.com/v1/packages/54e62e6c77c38f0094357d7d85a3c63a2b2f3dce/1.13.json","time":"2021-12-15T15:43:55Z","releaseTime":"2018-07-18T15:11:46Z","sha1":"54e62e6c77c38f0094357d7d85a3c63a2b2f3dce","complianceLevel":0},{"id":"1.13-pre10","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/85f3919d95ecf499c384465d6b9526a943529302/1.13-pre10.json","time":"2021-12-15T15:44:22Z","releaseTime":"2018-07-17T14:48:06Z","sha1":"85f3919d95ecf499c384465d6b9526a943529302","complianceLevel":0},{"id":"1.13-pre9","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/759d8e0774bf80e7989185da0e177034ba5256f1/1.13-pre9.json","time":"2021-12-15T15:44:27Z","releaseTime":"2018-07-16T14:17:42Z","sha1":"759d8e0774bf80e7989185da0e177034ba5256f1","complianceLevel":0},{"id":"1.13-pre8","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/481cdc143ea4e78cede29834904afeccdc85d1b2/1.13-pre8.json","time":"2021-12-15T15:44:26Z","releaseTime":"2018-07-13T11:45:00Z","sha1":"481cdc143ea4e78cede29834904afeccdc85d1b2","complianceLevel":0},{"id":"1.13-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/31af1da692c303e96a151d4cb5d0c08fae9c243b/1.13-pre7.json","time":"2021-12-15T15:44:26Z","releaseTime":"2018-07-10T14:21:42Z","sha1":"31af1da692c303e96a151d4cb5d0c08fae9c243b","complianceLevel":0},{"id":"1.13-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e5a3e56dc265a8791563967dae462cf9fbd5fc1b/1.13-pre6.json","time":"2021-12-15T15:44:25Z","releaseTime":"2018-07-04T12:36:00Z","sha1":"e5a3e56dc265a8791563967dae462cf9fbd5fc1b","complianceLevel":0},{"id":"1.13-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b4826d4299f4fbb009c1011a8730a86f3e0db01e/1.13-pre5.json","time":"2021-12-15T15:44:25Z","releaseTime":"2018-06-28T13:58:53Z","sha1":"b4826d4299f4fbb009c1011a8730a86f3e0db01e","complianceLevel":0},{"id":"1.13-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2bb3ce6a72e5bd9ebb0bd97c93c6e7323d7ccedf/1.13-pre4.json","time":"2021-12-15T15:44:24Z","releaseTime":"2018-06-26T13:00:55Z","sha1":"2bb3ce6a72e5bd9ebb0bd97c93c6e7323d7ccedf","complianceLevel":0},{"id":"1.13-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1fcc1e73021190b41a5bf20b65985c191292b855/1.13-pre3.json","time":"2021-12-15T15:44:24Z","releaseTime":"2018-06-21T12:57:11Z","sha1":"1fcc1e73021190b41a5bf20b65985c191292b855","complianceLevel":0},{"id":"1.13-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6e1e8a40b4301e67f6eb17b1b5ce7aabd88455cb/1.13-pre2.json","time":"2021-12-15T15:44:23Z","releaseTime":"2018-06-15T09:20:00Z","sha1":"6e1e8a40b4301e67f6eb17b1b5ce7aabd88455cb","complianceLevel":0},{"id":"1.13-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/265ac26f2bcd418656f00d23260fc2a8348a1ea1/1.13-pre1.json","time":"2021-12-15T15:44:22Z","releaseTime":"2018-06-04T15:17:34Z","sha1":"265ac26f2bcd418656f00d23260fc2a8348a1ea1","complianceLevel":0},{"id":"18w22c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4bf9154d3e7f493dad8349ec2d36ff45a776476a/18w22c.json","time":"2021-12-15T15:46:45Z","releaseTime":"2018-05-31T13:53:15Z","sha1":"4bf9154d3e7f493dad8349ec2d36ff45a776476a","complianceLevel":0},{"id":"18w22b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/70b35ec337ef414c6c20a0c262b6e20292149950/18w22b.json","time":"2021-12-15T15:46:44Z","releaseTime":"2018-05-30T13:48:58Z","sha1":"70b35ec337ef414c6c20a0c262b6e20292149950","complianceLevel":0},{"id":"18w22a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/adc9b9d5fd1152c1ffa17a6075e57e764438c3c8/18w22a.json","time":"2021-12-15T15:46:44Z","releaseTime":"2018-05-29T13:23:55Z","sha1":"adc9b9d5fd1152c1ffa17a6075e57e764438c3c8","complianceLevel":0},{"id":"18w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e6d564e18d99d20bc74a79bacafb457978558c3b/18w21b.json","time":"2021-12-15T15:46:43Z","releaseTime":"2018-05-25T10:09:09Z","sha1":"e6d564e18d99d20bc74a79bacafb457978558c3b","complianceLevel":0},{"id":"18w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a61dfb8bf507cd530787fe4ad9cd2b14063cc4dc/18w21a.json","time":"2021-12-15T15:46:43Z","releaseTime":"2018-05-23T13:11:49Z","sha1":"a61dfb8bf507cd530787fe4ad9cd2b14063cc4dc","complianceLevel":0},{"id":"18w20c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7281db0ef1cabf02d34d3f2ed7f07aabfc299740/18w20c.json","time":"2021-12-15T15:46:42Z","releaseTime":"2018-05-17T14:06:56Z","sha1":"7281db0ef1cabf02d34d3f2ed7f07aabfc299740","complianceLevel":0},{"id":"18w20b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bd72cc730f396bbe650de1ece6ceada70850a131/18w20b.json","time":"2021-12-15T15:46:42Z","releaseTime":"2018-05-16T14:35:35Z","sha1":"bd72cc730f396bbe650de1ece6ceada70850a131","complianceLevel":0},{"id":"18w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b7178822e4c4d04346e34e1d102f7dc3ee4d1c4f/18w20a.json","time":"2021-12-15T15:46:41Z","releaseTime":"2018-05-15T14:02:25Z","sha1":"b7178822e4c4d04346e34e1d102f7dc3ee4d1c4f","complianceLevel":0},{"id":"18w19b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b61e982949acfe2cc3f5b2e5b9be058396a85f95/18w19b.json","time":"2021-12-15T15:46:41Z","releaseTime":"2018-05-09T10:00:51Z","sha1":"b61e982949acfe2cc3f5b2e5b9be058396a85f95","complianceLevel":0},{"id":"18w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc8c8f0826b4b495eb59584885c590db058eba55/18w19a.json","time":"2021-12-15T15:46:40Z","releaseTime":"2018-05-08T13:05:19Z","sha1":"dc8c8f0826b4b495eb59584885c590db058eba55","complianceLevel":0},{"id":"18w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7ba5eb88eddd93a5ca79db48a5b165c03b1e86ee/18w16a.json","time":"2021-12-15T15:46:40Z","releaseTime":"2018-04-19T14:46:35Z","sha1":"7ba5eb88eddd93a5ca79db48a5b165c03b1e86ee","complianceLevel":0},{"id":"18w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d12a23f6fcc83dfe4aa7bada51cb232d81de5efa/18w15a.json","time":"2021-12-15T15:46:39Z","releaseTime":"2018-04-11T14:54:22Z","sha1":"d12a23f6fcc83dfe4aa7bada51cb232d81de5efa","complianceLevel":0},{"id":"18w14b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/145c2eec9e617b93eaf502dc8670868901d596d0/18w14b.json","time":"2021-12-15T15:46:39Z","releaseTime":"2018-04-05T14:44:02Z","sha1":"145c2eec9e617b93eaf502dc8670868901d596d0","complianceLevel":0},{"id":"18w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/cf3dc2bacafe030c10568d78a40924149af06bec/18w14a.json","time":"2021-12-15T15:46:38Z","releaseTime":"2018-04-04T14:36:14Z","sha1":"cf3dc2bacafe030c10568d78a40924149af06bec","complianceLevel":0},{"id":"18w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0855bcb6451c60dcd57652ad7e17ab76f3a0ee41/18w11a.json","time":"2021-12-15T15:46:38Z","releaseTime":"2018-03-13T15:10:59Z","sha1":"0855bcb6451c60dcd57652ad7e17ab76f3a0ee41","complianceLevel":0},{"id":"18w10d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3e59dae66bbe21fe5574fe225515953af900ccc7/18w10d.json","time":"2021-12-15T15:46:37Z","releaseTime":"2018-03-09T15:19:12Z","sha1":"3e59dae66bbe21fe5574fe225515953af900ccc7","complianceLevel":0},{"id":"18w10c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/34a84c146290fc084c3720522845cb45bc695d3f/18w10c.json","time":"2021-12-15T15:46:37Z","releaseTime":"2018-03-08T15:29:23Z","sha1":"34a84c146290fc084c3720522845cb45bc695d3f","complianceLevel":0},{"id":"18w10b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6b5e66fdd49b953cc3a045e0eca8fbd0ca6f2c0f/18w10b.json","time":"2021-12-15T15:46:36Z","releaseTime":"2018-03-07T15:56:01Z","sha1":"6b5e66fdd49b953cc3a045e0eca8fbd0ca6f2c0f","complianceLevel":0},{"id":"18w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aa9bf09ec5b113f3fa0b9ebffbb4348e69ab7f7b/18w10a.json","time":"2021-12-15T15:46:36Z","releaseTime":"2018-03-06T15:54:24Z","sha1":"aa9bf09ec5b113f3fa0b9ebffbb4348e69ab7f7b","complianceLevel":0},{"id":"18w09a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e7ba45e34b4f582960869ba8d9f7aed5768d269b/18w09a.json","time":"2021-12-15T15:46:35Z","releaseTime":"2018-03-01T14:15:10Z","sha1":"e7ba45e34b4f582960869ba8d9f7aed5768d269b","complianceLevel":0},{"id":"18w08b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7147b296dd0a82a4004c638939fce87a8e3c6fa8/18w08b.json","time":"2021-12-15T15:46:35Z","releaseTime":"2018-02-22T15:44:49Z","sha1":"7147b296dd0a82a4004c638939fce87a8e3c6fa8","complianceLevel":0},{"id":"18w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0b76a7b1f67f015222a1c245da516e55ffb3b16a/18w08a.json","time":"2021-12-15T15:46:34Z","releaseTime":"2018-02-21T14:59:00Z","sha1":"0b76a7b1f67f015222a1c245da516e55ffb3b16a","complianceLevel":0},{"id":"18w07c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3b11ace342a976858186c25b4939f72358390d85/18w07c.json","time":"2021-12-15T15:46:33Z","releaseTime":"2018-02-16T13:23:32Z","sha1":"3b11ace342a976858186c25b4939f72358390d85","complianceLevel":0},{"id":"18w07b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/81c57cbe71987fc549c198ca0bd967a27b709068/18w07b.json","time":"2021-12-15T15:46:33Z","releaseTime":"2018-02-15T14:28:42Z","sha1":"81c57cbe71987fc549c198ca0bd967a27b709068","complianceLevel":0},{"id":"18w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/11ed6f837b5a7ae96852adcde599d02490f541b2/18w07a.json","time":"2021-12-15T15:46:32Z","releaseTime":"2018-02-14T17:34:13Z","sha1":"11ed6f837b5a7ae96852adcde599d02490f541b2","complianceLevel":0},{"id":"18w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/42204d4625f9c541bc78685bd0113ab6620c615d/18w06a.json","time":"2021-12-15T15:46:32Z","releaseTime":"2018-02-09T12:09:55Z","sha1":"42204d4625f9c541bc78685bd0113ab6620c615d","complianceLevel":0},{"id":"18w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7db497bdadc50245f2c4fa5e60730bfec22d682f/18w05a.json","time":"2021-12-15T15:46:31Z","releaseTime":"2018-01-31T13:32:09Z","sha1":"7db497bdadc50245f2c4fa5e60730bfec22d682f","complianceLevel":0},{"id":"18w03b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8dad2dee3a546d2affa746a12efc739616d67e25/18w03b.json","time":"2021-12-15T15:46:31Z","releaseTime":"2018-01-17T15:09:14Z","sha1":"8dad2dee3a546d2affa746a12efc739616d67e25","complianceLevel":0},{"id":"18w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8a966aa6baf8f359d84bf505937d9f654e12bdce/18w03a.json","time":"2021-12-15T15:46:30Z","releaseTime":"2018-01-17T14:25:24Z","sha1":"8a966aa6baf8f359d84bf505937d9f654e12bdce","complianceLevel":0},{"id":"18w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5f3ca530535f41f4545ea42bf674bcff12d368d4/18w02a.json","time":"2021-12-15T15:46:30Z","releaseTime":"2018-01-10T11:54:55Z","sha1":"5f3ca530535f41f4545ea42bf674bcff12d368d4","complianceLevel":0},{"id":"18w01a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/785ade0867cc8fb9f1bb68b6c15ca1ccb89477a6/18w01a.json","time":"2021-12-15T15:46:29Z","releaseTime":"2018-01-03T13:29:30Z","sha1":"785ade0867cc8fb9f1bb68b6c15ca1ccb89477a6","complianceLevel":0},{"id":"17w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/efe9f23d6eddef432b89deafebbd17ceae0492cc/17w50a.json","time":"2021-12-15T15:46:29Z","releaseTime":"2017-12-11T15:28:08Z","sha1":"efe9f23d6eddef432b89deafebbd17ceae0492cc","complianceLevel":0},{"id":"17w49b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8ad72046ee3f7f82c22b323dc41c245c09e97e54/17w49b.json","time":"2021-12-15T15:46:28Z","releaseTime":"2017-12-07T15:29:54Z","sha1":"8ad72046ee3f7f82c22b323dc41c245c09e97e54","complianceLevel":0},{"id":"17w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/807995ef62ffe655b41ee7608f85863c9d0ecfd3/17w49a.json","time":"2021-12-15T15:46:28Z","releaseTime":"2017-12-06T14:24:30Z","sha1":"807995ef62ffe655b41ee7608f85863c9d0ecfd3","complianceLevel":0},{"id":"17w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/37cfcb5e613bf6f62f8ffe19401ebd7fd725a99d/17w48a.json","time":"2021-12-15T15:46:27Z","releaseTime":"2017-11-27T15:36:33Z","sha1":"37cfcb5e613bf6f62f8ffe19401ebd7fd725a99d","complianceLevel":0},{"id":"17w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8796dc8b2667ce0cdc43ec0170e79930aca66509/17w47b.json","time":"2021-12-15T15:46:26Z","releaseTime":"2017-11-23T15:30:12Z","sha1":"8796dc8b2667ce0cdc43ec0170e79930aca66509","complianceLevel":0},{"id":"17w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3122ac16a5ffe9931ef199629c67d96ffe17d637/17w47a.json","time":"2021-12-15T15:46:26Z","releaseTime":"2017-11-22T12:40:05Z","sha1":"3122ac16a5ffe9931ef199629c67d96ffe17d637","complianceLevel":0},{"id":"17w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6666ccc72ccb68b972a83cfd8c57314008ef4da7/17w46a.json","time":"2021-12-15T15:46:25Z","releaseTime":"2017-11-15T15:21:55Z","sha1":"6666ccc72ccb68b972a83cfd8c57314008ef4da7","complianceLevel":0},{"id":"17w45b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f1a9ddceaca9e2d0f98892ebfcdf5067bf61f894/17w45b.json","time":"2021-12-15T15:46:25Z","releaseTime":"2017-11-10T10:07:02Z","sha1":"f1a9ddceaca9e2d0f98892ebfcdf5067bf61f894","complianceLevel":0},{"id":"17w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1a2335e8c66a502c844c5372ea20c04d24838c3a/17w45a.json","time":"2021-12-15T15:46:24Z","releaseTime":"2017-11-08T15:48:00Z","sha1":"1a2335e8c66a502c844c5372ea20c04d24838c3a","complianceLevel":0},{"id":"17w43b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e0dd9b1386a39d56ef1577e97034e3866dd3acc2/17w43b.json","time":"2021-12-15T15:46:24Z","releaseTime":"2017-10-26T13:36:22Z","sha1":"e0dd9b1386a39d56ef1577e97034e3866dd3acc2","complianceLevel":0},{"id":"17w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4ca5bcd076e20b7234227697cd113987fbded613/17w43a.json","time":"2021-12-15T15:46:23Z","releaseTime":"2017-10-25T14:43:50Z","sha1":"4ca5bcd076e20b7234227697cd113987fbded613","complianceLevel":0},{"id":"1.12.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/cfd75871c03119093d7c96a6a99f21137d00c855/1.12.2.json","time":"2021-12-15T15:43:53Z","releaseTime":"2017-09-18T08:39:46Z","sha1":"cfd75871c03119093d7c96a6a99f21137d00c855","complianceLevel":0},{"id":"1.12.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d0ab3dcd73f99e058fceef93780bcfb5dceb67e7/1.12.2-pre2.json","time":"2021-12-15T15:44:21Z","releaseTime":"2017-09-15T08:21:17Z","sha1":"d0ab3dcd73f99e058fceef93780bcfb5dceb67e7","complianceLevel":0},{"id":"1.12.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3aecfd3a13247d6541ee20478b4b91469f4bfc06/1.12.2-pre1.json","time":"2021-12-15T15:44:21Z","releaseTime":"2017-09-13T13:33:31Z","sha1":"3aecfd3a13247d6541ee20478b4b91469f4bfc06","complianceLevel":0},{"id":"1.12.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ece2a75ac1eb6cabef04106a15f340a4cb87d86b/1.12.1.json","time":"2021-12-15T15:43:52Z","releaseTime":"2017-08-03T12:40:39Z","sha1":"ece2a75ac1eb6cabef04106a15f340a4cb87d86b","complianceLevel":0},{"id":"1.12.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f42b239c077b9b025d7b2bf764315040479c7c32/1.12.1-pre1.json","time":"2021-12-15T15:44:20Z","releaseTime":"2017-08-02T10:53:55Z","sha1":"f42b239c077b9b025d7b2bf764315040479c7c32","complianceLevel":0},{"id":"17w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7c12f84c7ed5ba230463d8875890a29c2fec45e1/17w31a.json","time":"2021-12-15T15:46:23Z","releaseTime":"2017-08-01T09:41:23Z","sha1":"7c12f84c7ed5ba230463d8875890a29c2fec45e1","complianceLevel":0},{"id":"1.12","type":"release","url":"https://launchermeta.mojang.com/v1/packages/fa3085f26ec90ef361352c3076e98aba6781b4b5/1.12.json","time":"2021-12-15T15:43:53Z","releaseTime":"2017-06-02T13:50:27Z","sha1":"fa3085f26ec90ef361352c3076e98aba6781b4b5","complianceLevel":0},{"id":"1.12-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0d423dd47bb49610bba145e8e76f62202ca762a8/1.12-pre7.json","time":"2021-12-15T15:44:20Z","releaseTime":"2017-05-31T10:56:41Z","sha1":"0d423dd47bb49610bba145e8e76f62202ca762a8","complianceLevel":0},{"id":"1.12-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9052c709ca5f730a813141b348091c239384a987/1.12-pre6.json","time":"2021-12-15T15:44:20Z","releaseTime":"2017-05-29T11:45:12Z","sha1":"9052c709ca5f730a813141b348091c239384a987","complianceLevel":0},{"id":"1.12-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d04e9e6aab9fbbbe0d22c14efa88df91316bd047/1.12-pre5.json","time":"2021-12-15T15:44:19Z","releaseTime":"2017-05-19T07:43:28Z","sha1":"d04e9e6aab9fbbbe0d22c14efa88df91316bd047","complianceLevel":0},{"id":"1.12-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/606b08d8fa71ccaf4fbb4399b9539032b0f2969a/1.12-pre4.json","time":"2021-12-15T15:44:18Z","releaseTime":"2017-05-18T12:28:16Z","sha1":"606b08d8fa71ccaf4fbb4399b9539032b0f2969a","complianceLevel":0},{"id":"1.12-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a38ed63f8af119ac4aeb03410b025a312e6e890/1.12-pre3.json","time":"2021-12-15T15:44:18Z","releaseTime":"2017-05-17T14:09:18Z","sha1":"6a38ed63f8af119ac4aeb03410b025a312e6e890","complianceLevel":0},{"id":"1.12-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1e4135c2ff59143b436fae4300573cc49b479439/1.12-pre2.json","time":"2021-12-15T15:44:18Z","releaseTime":"2017-05-11T12:11:12Z","sha1":"1e4135c2ff59143b436fae4300573cc49b479439","complianceLevel":0},{"id":"1.12-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/333430ebb5102b6f96f3597e01c5fccef93a6b19/1.12-pre1.json","time":"2021-12-15T15:44:17Z","releaseTime":"2017-05-10T11:37:17Z","sha1":"333430ebb5102b6f96f3597e01c5fccef93a6b19","complianceLevel":0},{"id":"17w18b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a8e91e6b7e1beec49428fbeb1907f7fbe7b69d4e/17w18b.json","time":"2021-12-15T15:46:22Z","releaseTime":"2017-05-04T13:40:22Z","sha1":"a8e91e6b7e1beec49428fbeb1907f7fbe7b69d4e","complianceLevel":0},{"id":"17w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/616724ca0d52bfc6f8dcde854f3e23ce0903fafe/17w18a.json","time":"2021-12-15T15:46:22Z","releaseTime":"2017-05-03T14:50:23Z","sha1":"616724ca0d52bfc6f8dcde854f3e23ce0903fafe","complianceLevel":0},{"id":"17w17b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7aa9acd138aa9f67ab637b63e694389ce40a9b0c/17w17b.json","time":"2021-12-15T15:46:21Z","releaseTime":"2017-04-27T13:24:23Z","sha1":"7aa9acd138aa9f67ab637b63e694389ce40a9b0c","complianceLevel":0},{"id":"17w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/49d16540ce18168a33e7df1ef622cbec797f1f0f/17w17a.json","time":"2021-12-15T15:46:21Z","releaseTime":"2017-04-26T13:48:23Z","sha1":"49d16540ce18168a33e7df1ef622cbec797f1f0f","complianceLevel":0},{"id":"17w16b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/72a645ed45a018a5f25e59a7cfc963b55144c875/17w16b.json","time":"2021-12-15T15:46:20Z","releaseTime":"2017-04-21T12:02:59Z","sha1":"72a645ed45a018a5f25e59a7cfc963b55144c875","complianceLevel":0},{"id":"17w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5b21a349859d9bb104d35f0f27d0cd02d8a50212/17w16a.json","time":"2021-12-15T15:46:20Z","releaseTime":"2017-04-20T13:58:35Z","sha1":"5b21a349859d9bb104d35f0f27d0cd02d8a50212","complianceLevel":0},{"id":"17w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f906cf06c6a01c21ec4cf3a2ec788507ca3dacf8/17w15a.json","time":"2021-12-15T15:46:19Z","releaseTime":"2017-04-12T09:30:50Z","sha1":"f906cf06c6a01c21ec4cf3a2ec788507ca3dacf8","complianceLevel":0},{"id":"17w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d49a6949a6cd8545d24f580f64705f5e3826b840/17w14a.json","time":"2021-12-13T14:56:26Z","releaseTime":"2017-04-05T13:58:01Z","sha1":"d49a6949a6cd8545d24f580f64705f5e3826b840","complianceLevel":0},{"id":"17w13b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3ac23bb43d97324eea4fe4054a823a878db347eb/17w13b.json","time":"2021-12-15T15:46:19Z","releaseTime":"2017-03-31T11:06:35Z","sha1":"3ac23bb43d97324eea4fe4054a823a878db347eb","complianceLevel":0},{"id":"17w13a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/01f88db38661f78a52e21aefed8215e0fb01a6ee/17w13a.json","time":"2021-12-15T15:46:18Z","releaseTime":"2017-03-30T09:32:19Z","sha1":"01f88db38661f78a52e21aefed8215e0fb01a6ee","complianceLevel":0},{"id":"17w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a2a236d5ceb2838b44ff6e1291106b3a6de9ca21/17w06a.json","time":"2021-12-15T15:46:18Z","releaseTime":"2017-02-08T13:16:29Z","sha1":"a2a236d5ceb2838b44ff6e1291106b3a6de9ca21","complianceLevel":0},{"id":"1.11.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4a7b205586fa9f827085c389ec8ce46a6df5fd94/1.11.2.json","time":"2021-12-15T15:43:51Z","releaseTime":"2016-12-21T09:29:12Z","sha1":"4a7b205586fa9f827085c389ec8ce46a6df5fd94","complianceLevel":0},{"id":"1.11.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b4280e36205db0d7040c2fb1ecc8609dba675720/1.11.1.json","time":"2021-12-15T15:43:51Z","releaseTime":"2016-12-20T14:05:34Z","sha1":"b4280e36205db0d7040c2fb1ecc8609dba675720","complianceLevel":0},{"id":"16w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/febd9a04bec341431d89a4a6d27d87173df0bd6e/16w50a.json","time":"2021-12-15T15:46:17Z","releaseTime":"2016-12-15T14:38:52Z","sha1":"febd9a04bec341431d89a4a6d27d87173df0bd6e","complianceLevel":0},{"id":"1.11","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ec94669865c0b0f6e9acfdb172985861790c8538/1.11.json","time":"2021-12-15T15:43:52Z","releaseTime":"2016-11-14T14:34:40Z","sha1":"ec94669865c0b0f6e9acfdb172985861790c8538","complianceLevel":0},{"id":"1.11-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1a8419e7379c2ce12ebafd79b1d28737071fc499/1.11-pre1.json","time":"2021-12-15T15:44:17Z","releaseTime":"2016-11-08T13:42:50Z","sha1":"1a8419e7379c2ce12ebafd79b1d28737071fc499","complianceLevel":0},{"id":"16w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc2f38676cdd32671863c91f8573a135dbe21356/16w44a.json","time":"2021-12-15T15:46:17Z","releaseTime":"2016-11-03T14:17:11Z","sha1":"dc2f38676cdd32671863c91f8573a135dbe21356","complianceLevel":0},{"id":"16w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/130658ebc980c1decaaf73097df1e2c55b85f127/16w43a.json","time":"2021-12-15T15:46:16Z","releaseTime":"2016-10-27T09:00:51Z","sha1":"130658ebc980c1decaaf73097df1e2c55b85f127","complianceLevel":0},{"id":"16w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/989eda4f27b8585d7c36c7f01fec664639dcf3d7/16w42a.json","time":"2021-12-15T15:46:16Z","releaseTime":"2016-10-19T11:17:47Z","sha1":"989eda4f27b8585d7c36c7f01fec664639dcf3d7","complianceLevel":0},{"id":"16w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8d9a5e0b4bc0136bab50f37464dbf965ea552f32/16w41a.json","time":"2021-12-15T15:46:16Z","releaseTime":"2016-10-13T14:28:35Z","sha1":"8d9a5e0b4bc0136bab50f37464dbf965ea552f32","complianceLevel":0},{"id":"16w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/06888c9471858caab263061b2c9f4706c8e8271b/16w40a.json","time":"2021-12-15T15:46:15Z","releaseTime":"2016-10-06T13:57:59Z","sha1":"06888c9471858caab263061b2c9f4706c8e8271b","complianceLevel":0},{"id":"16w39c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e598bc854707defa1a672bdc783177e35fa8ec1b/16w39c.json","time":"2021-12-15T15:46:15Z","releaseTime":"2016-09-30T14:11:48Z","sha1":"e598bc854707defa1a672bdc783177e35fa8ec1b","complianceLevel":0},{"id":"16w39b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8dda45987a2c91c1ddf862d7b1b08f212cc5ff97/16w39b.json","time":"2021-12-15T15:46:14Z","releaseTime":"2016-09-29T14:39:39Z","sha1":"8dda45987a2c91c1ddf862d7b1b08f212cc5ff97","complianceLevel":0},{"id":"16w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/473a1f1a4ece5db81c062026c2a34aec9c5aeb45/16w39a.json","time":"2021-12-15T15:46:14Z","releaseTime":"2016-09-28T13:32:06Z","sha1":"473a1f1a4ece5db81c062026c2a34aec9c5aeb45","complianceLevel":0},{"id":"16w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/73db24801ef3a77b18c6af3332044409d0db300f/16w38a.json","time":"2021-12-15T15:46:13Z","releaseTime":"2016-09-20T12:40:49Z","sha1":"73db24801ef3a77b18c6af3332044409d0db300f","complianceLevel":0},{"id":"16w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/55d4bda92c3fc94b4ea0e5ec3764f47cb3301909/16w36a.json","time":"2021-12-15T15:46:13Z","releaseTime":"2016-09-08T14:55:10Z","sha1":"55d4bda92c3fc94b4ea0e5ec3764f47cb3301909","complianceLevel":0},{"id":"16w35a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3f2b102c366bac1b7cbe46f7ac8617c55f050ca7/16w35a.json","time":"2021-12-15T15:46:12Z","releaseTime":"2016-09-01T13:13:38Z","sha1":"3f2b102c366bac1b7cbe46f7ac8617c55f050ca7","complianceLevel":0},{"id":"16w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1673a47f0205fdb46aaca7132491b96ce3cdde88/16w33a.json","time":"2021-12-15T15:46:12Z","releaseTime":"2016-08-17T12:48:57Z","sha1":"1673a47f0205fdb46aaca7132491b96ce3cdde88","complianceLevel":0},{"id":"16w32b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3b78094b56811eb43a01e82a430a30db35a1bc2b/16w32b.json","time":"2021-12-15T15:46:11Z","releaseTime":"2016-08-11T14:34:29Z","sha1":"3b78094b56811eb43a01e82a430a30db35a1bc2b","complianceLevel":0},{"id":"16w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c2a086ced95735241b3a9bb7a4f4ad5af22a672c/16w32a.json","time":"2021-12-15T15:46:11Z","releaseTime":"2016-08-10T12:30:10Z","sha1":"c2a086ced95735241b3a9bb7a4f4ad5af22a672c","complianceLevel":0},{"id":"1.10.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/453f5b2785876c07c4723c5811d101132f2f6b74/1.10.2.json","time":"2021-12-15T15:43:50Z","releaseTime":"2016-06-23T09:17:32Z","sha1":"453f5b2785876c07c4723c5811d101132f2f6b74","complianceLevel":0},{"id":"1.10.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/6c26e69ed37120c0f6c93c3f69e7dc7b8e697ab8/1.10.1.json","time":"2021-12-15T15:43:50Z","releaseTime":"2016-06-22T10:13:22Z","sha1":"6c26e69ed37120c0f6c93c3f69e7dc7b8e697ab8","complianceLevel":0},{"id":"1.10","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ed24421f4d1c6eae738a614ff1d9a60a05a700f2/1.10.json","time":"2021-12-15T15:43:51Z","releaseTime":"2016-06-08T13:06:18Z","sha1":"ed24421f4d1c6eae738a614ff1d9a60a05a700f2","complianceLevel":0},{"id":"1.10-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9adf95a19e6cfdcfb7b70da9946f3bbe4f77eb70/1.10-pre2.json","time":"2021-12-15T15:44:16Z","releaseTime":"2016-06-07T14:56:34Z","sha1":"9adf95a19e6cfdcfb7b70da9946f3bbe4f77eb70","complianceLevel":0},{"id":"1.10-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1a1804d54af75def8770336a46d598371bcbaef0/1.10-pre1.json","time":"2021-12-15T15:44:16Z","releaseTime":"2016-06-02T14:45:16Z","sha1":"1a1804d54af75def8770336a46d598371bcbaef0","complianceLevel":0},{"id":"16w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/168705060407358a42ddfbf657eb57e3fa3f29d3/16w21b.json","time":"2021-12-15T15:46:10Z","releaseTime":"2016-05-26T12:47:22Z","sha1":"168705060407358a42ddfbf657eb57e3fa3f29d3","complianceLevel":0},{"id":"16w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a6706d50f29111c218ad9be1a77fd3b4a5c79d7/16w21a.json","time":"2021-12-15T15:46:10Z","releaseTime":"2016-05-25T13:12:09Z","sha1":"6a6706d50f29111c218ad9be1a77fd3b4a5c79d7","complianceLevel":0},{"id":"16w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/779532b8918db58fcbce6ba6b177c8fd44c6e08e/16w20a.json","time":"2021-12-15T15:46:09Z","releaseTime":"2016-05-18T12:45:14Z","sha1":"779532b8918db58fcbce6ba6b177c8fd44c6e08e","complianceLevel":0},{"id":"1.9.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/47a4367ff27db76067065807a97416711b7c7d09/1.9.4.json","time":"2021-12-15T15:44:15Z","releaseTime":"2016-05-10T10:17:16Z","sha1":"47a4367ff27db76067065807a97416711b7c7d09","complianceLevel":0},{"id":"1.9.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/6107cb3185da153f79be05b3f424804c130b2c88/1.9.3.json","time":"2021-12-15T15:44:14Z","releaseTime":"2016-05-10T08:33:35Z","sha1":"6107cb3185da153f79be05b3f424804c130b2c88","complianceLevel":0},{"id":"1.9.3-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2f6bb7de07c0784fe63d6edda19b0b80dcb45411/1.9.3-pre3.json","time":"2021-12-15T15:45:15Z","releaseTime":"2016-05-03T09:28:11Z","sha1":"2f6bb7de07c0784fe63d6edda19b0b80dcb45411","complianceLevel":0},{"id":"1.9.3-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c7b8426a21dabaddcf54c6fae4aa2a8c704e95b3/1.9.3-pre2.json","time":"2021-12-15T15:45:15Z","releaseTime":"2016-04-27T13:33:20Z","sha1":"c7b8426a21dabaddcf54c6fae4aa2a8c704e95b3","complianceLevel":0},{"id":"1.9.3-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8ebf237965d89a814b0d2075f5da41d13e3a714a/1.9.3-pre1.json","time":"2021-12-15T15:45:14Z","releaseTime":"2016-04-21T12:41:42Z","sha1":"8ebf237965d89a814b0d2075f5da41d13e3a714a","complianceLevel":0},{"id":"16w15b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9c04bc3453a5e1eea9cbbeb0c036cda8849fde95/16w15b.json","time":"2021-12-15T15:46:09Z","releaseTime":"2016-04-13T13:56:41Z","sha1":"9c04bc3453a5e1eea9cbbeb0c036cda8849fde95","complianceLevel":0},{"id":"16w15a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/18e789cfde0a8c02bbf9bf24102c2836fb24a412/16w15a.json","time":"2021-12-15T15:46:08Z","releaseTime":"2016-04-11T14:38:28Z","sha1":"18e789cfde0a8c02bbf9bf24102c2836fb24a412","complianceLevel":0},{"id":"16w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d35ef730a73c8862740fb7c85960e61889806f06/16w14a.json","time":"2021-12-15T15:46:08Z","releaseTime":"2016-04-07T12:47:51Z","sha1":"d35ef730a73c8862740fb7c85960e61889806f06","complianceLevel":0},{"id":"1.RV-Pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/268a225c8dbf8a2e6e17f1c2ac36192f046cd371/1.RV-Pre1.json","time":"2021-12-15T15:45:15Z","releaseTime":"2016-03-31T16:18:53Z","sha1":"268a225c8dbf8a2e6e17f1c2ac36192f046cd371","complianceLevel":0},{"id":"1.9.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b0be54cf45695e324b9926f990434f9a0235bd9b/1.9.2.json","time":"2021-12-15T15:44:14Z","releaseTime":"2016-03-30T15:23:55Z","sha1":"b0be54cf45695e324b9926f990434f9a0235bd9b","complianceLevel":0},{"id":"1.9.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/cb32af124abf1bc87c38b788926b3e592126a77c/1.9.1.json","time":"2021-12-15T15:44:13Z","releaseTime":"2016-03-30T13:43:07Z","sha1":"cb32af124abf1bc87c38b788926b3e592126a77c","complianceLevel":0},{"id":"1.9.1-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e13d03fac8dbe3b518542da89e9fa8064b76d4a3/1.9.1-pre3.json","time":"2021-12-15T15:45:14Z","releaseTime":"2016-03-11T09:20:36Z","sha1":"e13d03fac8dbe3b518542da89e9fa8064b76d4a3","complianceLevel":0},{"id":"1.9.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c9e2a5309789b76381a5de3fe0c73bec4c58ea6f/1.9.1-pre2.json","time":"2021-12-15T15:45:13Z","releaseTime":"2016-03-10T15:06:03Z","sha1":"c9e2a5309789b76381a5de3fe0c73bec4c58ea6f","complianceLevel":0},{"id":"1.9.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5adf2e9a343daa3e0b1609de322ff3c78b7299ec/1.9.1-pre1.json","time":"2021-12-15T15:45:13Z","releaseTime":"2016-03-09T16:27:29Z","sha1":"5adf2e9a343daa3e0b1609de322ff3c78b7299ec","complianceLevel":0},{"id":"1.9","type":"release","url":"https://launchermeta.mojang.com/v1/packages/7bb4eab858d50c58d2855228110dfe1a4c2fa293/1.9.json","time":"2021-12-15T15:44:15Z","releaseTime":"2016-02-29T13:49:54Z","sha1":"7bb4eab858d50c58d2855228110dfe1a4c2fa293","complianceLevel":0},{"id":"1.9-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0e8a702dc4d23661786f97b96129478b78ca928c/1.9-pre4.json","time":"2021-12-15T15:45:12Z","releaseTime":"2016-02-26T15:21:11Z","sha1":"0e8a702dc4d23661786f97b96129478b78ca928c","complianceLevel":0},{"id":"1.9-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9123315c9933002d2524e5cbb7300b49845a164c/1.9-pre3.json","time":"2021-12-15T15:45:12Z","releaseTime":"2016-02-24T15:52:36Z","sha1":"9123315c9933002d2524e5cbb7300b49845a164c","complianceLevel":0},{"id":"1.9-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/14e95ebcd3fb703c84183b8e84931563b03f84bc/1.9-pre2.json","time":"2021-12-15T15:45:11Z","releaseTime":"2016-02-18T17:41:00Z","sha1":"14e95ebcd3fb703c84183b8e84931563b03f84bc","complianceLevel":0},{"id":"1.9-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/712caae8ee8d75215896d17c5676dc15759d4079/1.9-pre1.json","time":"2021-12-15T15:45:11Z","releaseTime":"2016-02-17T15:23:19Z","sha1":"712caae8ee8d75215896d17c5676dc15759d4079","complianceLevel":0},{"id":"16w07b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/73d28ebef8689c0f9fd458da1988ebe95a3ba071/16w07b.json","time":"2021-12-15T15:46:07Z","releaseTime":"2016-02-16T15:22:39Z","sha1":"73d28ebef8689c0f9fd458da1988ebe95a3ba071","complianceLevel":0},{"id":"16w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7bf8e32bbdb481d7349f1cd283b17946827e8b60/16w07a.json","time":"2021-12-15T15:46:07Z","releaseTime":"2016-02-15T15:48:46Z","sha1":"7bf8e32bbdb481d7349f1cd283b17946827e8b60","complianceLevel":0},{"id":"16w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/58edeaa7b22cb9866aba1c9615b732a3db354add/16w06a.json","time":"2021-12-15T15:46:07Z","releaseTime":"2016-02-10T15:06:41Z","sha1":"58edeaa7b22cb9866aba1c9615b732a3db354add","complianceLevel":0},{"id":"16w05b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c24ea3b03a91bdbc7d8120eaf633acac101cd76c/16w05b.json","time":"2021-12-15T15:46:06Z","releaseTime":"2016-02-04T15:28:02Z","sha1":"c24ea3b03a91bdbc7d8120eaf633acac101cd76c","complianceLevel":0},{"id":"16w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9d135bfd2b15c171528a08f149de202f036e157/16w05a.json","time":"2021-12-15T15:46:06Z","releaseTime":"2016-02-03T15:48:38Z","sha1":"a9d135bfd2b15c171528a08f149de202f036e157","complianceLevel":0},{"id":"16w04a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aa0ba9a603bca8afa4b680a792aaabb88c93d016/16w04a.json","time":"2021-12-15T15:46:05Z","releaseTime":"2016-01-28T15:37:24Z","sha1":"aa0ba9a603bca8afa4b680a792aaabb88c93d016","complianceLevel":0},{"id":"16w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6a8c9b966ed051967cf2448924b6f73094b90ef2/16w03a.json","time":"2021-12-15T15:46:05Z","releaseTime":"2016-01-20T14:29:24Z","sha1":"6a8c9b966ed051967cf2448924b6f73094b90ef2","complianceLevel":0},{"id":"16w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7f1b36e80f5ede72bc1662e9b48036a1e2292abf/16w02a.json","time":"2021-12-15T15:46:04Z","releaseTime":"2016-01-13T15:15:16Z","sha1":"7f1b36e80f5ede72bc1662e9b48036a1e2292abf","complianceLevel":0},{"id":"15w51b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/16cb387f44a1585e64f8103142bd2910385ae65b/15w51b.json","time":"2021-12-15T15:46:04Z","releaseTime":"2015-12-17T15:30:41Z","sha1":"16cb387f44a1585e64f8103142bd2910385ae65b","complianceLevel":0},{"id":"15w51a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8c15fe5539b86e5c17b227c08f2d4849638fbb5d/15w51a.json","time":"2021-12-15T15:46:03Z","releaseTime":"2015-12-17T14:02:37Z","sha1":"8c15fe5539b86e5c17b227c08f2d4849638fbb5d","complianceLevel":0},{"id":"15w50a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/233d5225a6c9538d47179c781583df31433d3008/15w50a.json","time":"2021-12-15T15:46:03Z","releaseTime":"2015-12-09T15:35:57Z","sha1":"233d5225a6c9538d47179c781583df31433d3008","complianceLevel":0},{"id":"15w49b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc7c054bb890de4300429b712957c429ea72ac74/15w49b.json","time":"2021-12-15T15:46:02Z","releaseTime":"2015-12-03T15:23:22Z","sha1":"dc7c054bb890de4300429b712957c429ea72ac74","complianceLevel":0},{"id":"1.8.9","type":"release","url":"https://launchermeta.mojang.com/v1/packages/d546f1707a3f2b7d034eece5ea2e311eda875787/1.8.9.json","time":"2021-12-15T15:44:12Z","releaseTime":"2015-12-03T09:24:39Z","sha1":"d546f1707a3f2b7d034eece5ea2e311eda875787","complianceLevel":0},{"id":"15w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5bd5085de9b7920da92423049be9c50e29ee492b/15w49a.json","time":"2021-12-15T15:46:02Z","releaseTime":"2015-12-02T15:09:37Z","sha1":"5bd5085de9b7920da92423049be9c50e29ee492b","complianceLevel":0},{"id":"15w47c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aa59e973582a88e9437238aabec2a13b27a343ec/15w47c.json","time":"2021-12-15T15:46:01Z","releaseTime":"2015-11-20T12:46:56Z","sha1":"aa59e973582a88e9437238aabec2a13b27a343ec","complianceLevel":0},{"id":"15w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b11b494533bebdf2e261ac25c85fff5847b3ce82/15w47b.json","time":"2021-12-15T15:46:01Z","releaseTime":"2015-11-19T14:48:03Z","sha1":"b11b494533bebdf2e261ac25c85fff5847b3ce82","complianceLevel":0},{"id":"15w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5e26942d1168acd1722b51c9d7736f14e66954dc/15w47a.json","time":"2021-12-15T15:46:00Z","releaseTime":"2015-11-18T15:53:41Z","sha1":"5e26942d1168acd1722b51c9d7736f14e66954dc","complianceLevel":0},{"id":"15w46a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bdd0e0ba0769c4008cf7bc70df561657308d91c6/15w46a.json","time":"2021-12-15T15:46:00Z","releaseTime":"2015-11-12T12:11:47Z","sha1":"bdd0e0ba0769c4008cf7bc70df561657308d91c6","complianceLevel":0},{"id":"15w45a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/de6ed42afdcc54fbcd63436f82874a0656582d01/15w45a.json","time":"2021-12-15T15:45:59Z","releaseTime":"2015-11-05T13:04:07Z","sha1":"de6ed42afdcc54fbcd63436f82874a0656582d01","complianceLevel":0},{"id":"15w44b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4b68abcd91cd5f8edeb200fe78f2b832f719d8dd/15w44b.json","time":"2021-12-15T15:45:59Z","releaseTime":"2015-10-30T11:23:17Z","sha1":"4b68abcd91cd5f8edeb200fe78f2b832f719d8dd","complianceLevel":0},{"id":"15w44a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5ac6e4336887fc3300955e705f395095855b1a65/15w44a.json","time":"2021-12-15T15:45:58Z","releaseTime":"2015-10-28T15:09:36Z","sha1":"5ac6e4336887fc3300955e705f395095855b1a65","complianceLevel":0},{"id":"15w43c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1cd6c443b67d6bcf7e4e0fee3aa0288a3497cd88/15w43c.json","time":"2021-12-15T15:45:58Z","releaseTime":"2015-10-23T15:35:55Z","sha1":"1cd6c443b67d6bcf7e4e0fee3aa0288a3497cd88","complianceLevel":0},{"id":"15w43b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dbcdd656e950cb52b9eb933094eaf94e415a151e/15w43b.json","time":"2021-12-15T15:45:57Z","releaseTime":"2015-10-22T14:11:58Z","sha1":"dbcdd656e950cb52b9eb933094eaf94e415a151e","complianceLevel":0},{"id":"15w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5da66280e34f0cdbb5fe0d463deb4916d0181a64/15w43a.json","time":"2021-12-15T15:45:57Z","releaseTime":"2015-10-21T15:28:52Z","sha1":"5da66280e34f0cdbb5fe0d463deb4916d0181a64","complianceLevel":0},{"id":"15w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7b18842c1dbbe945d991851ffaff49ecd7efbb91/15w42a.json","time":"2021-12-15T15:45:57Z","releaseTime":"2015-10-14T13:25:14Z","sha1":"7b18842c1dbbe945d991851ffaff49ecd7efbb91","complianceLevel":0},{"id":"15w41b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/27ab9716cf332d457be085a808eb170fe1a1ff2c/15w41b.json","time":"2021-12-15T15:45:56Z","releaseTime":"2015-10-07T14:07:26Z","sha1":"27ab9716cf332d457be085a808eb170fe1a1ff2c","complianceLevel":0},{"id":"15w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/38026b4c0301e3441d8e0d5b367392d3212dc51d/15w41a.json","time":"2021-12-15T15:45:56Z","releaseTime":"2015-10-07T13:19:53Z","sha1":"38026b4c0301e3441d8e0d5b367392d3212dc51d","complianceLevel":0},{"id":"15w40b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a00ee3d8eb0c1cb38d928f5efb4a473768fa5286/15w40b.json","time":"2021-12-15T15:45:56Z","releaseTime":"2015-09-30T14:13:54Z","sha1":"a00ee3d8eb0c1cb38d928f5efb4a473768fa5286","complianceLevel":0},{"id":"15w40a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f5c9662f1674f7f0e55e82a77109ad88a6bc9df7/15w40a.json","time":"2021-12-15T15:45:55Z","releaseTime":"2015-09-30T13:13:54Z","sha1":"f5c9662f1674f7f0e55e82a77109ad88a6bc9df7","complianceLevel":0},{"id":"15w39c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/134e9d87a2c86e82d98bc7f8ba5965b7fd6634c1/15w39c.json","time":"2021-12-15T15:45:55Z","releaseTime":"2015-09-23T13:13:54Z","sha1":"134e9d87a2c86e82d98bc7f8ba5965b7fd6634c1","complianceLevel":0},{"id":"15w39b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/909aa3af2988edc58b1e9c66f906a883d9a34815/15w39b.json","time":"2021-12-15T15:45:54Z","releaseTime":"2015-09-21T15:09:52Z","sha1":"909aa3af2988edc58b1e9c66f906a883d9a34815","complianceLevel":0},{"id":"15w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7f914aa1098b8b35e20e9c021b57378d0a8fcc6c/15w39a.json","time":"2021-12-15T15:45:54Z","releaseTime":"2015-09-21T13:16:32Z","sha1":"7f914aa1098b8b35e20e9c021b57378d0a8fcc6c","complianceLevel":0},{"id":"15w38b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/222a234de865b9147cad4e3b2545d8af93c35065/15w38b.json","time":"2021-12-15T15:45:54Z","releaseTime":"2015-09-17T14:22:31Z","sha1":"222a234de865b9147cad4e3b2545d8af93c35065","complianceLevel":0},{"id":"15w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1b4dcb4c07599a5e5571d9d71570641086e821e4/15w38a.json","time":"2021-12-15T15:45:53Z","releaseTime":"2015-09-16T14:22:31Z","sha1":"1b4dcb4c07599a5e5571d9d71570641086e821e4","complianceLevel":0},{"id":"15w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9459c8c56ba4577b69cc12a9034769f0d20fb3dc/15w37a.json","time":"2021-12-15T15:45:53Z","releaseTime":"2015-09-10T14:22:31Z","sha1":"9459c8c56ba4577b69cc12a9034769f0d20fb3dc","complianceLevel":0},{"id":"15w36d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/49a6f0d3a233d103b5fdeb6aefd7a6b0208b5ce9/15w36d.json","time":"2021-12-15T15:45:53Z","releaseTime":"2015-09-04T14:22:31Z","sha1":"49a6f0d3a233d103b5fdeb6aefd7a6b0208b5ce9","complianceLevel":0},{"id":"15w36c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b1a04bae902de441013791777aa0461d446bd2c7/15w36c.json","time":"2021-12-15T15:45:52Z","releaseTime":"2015-09-02T16:07:22Z","sha1":"b1a04bae902de441013791777aa0461d446bd2c7","complianceLevel":0},{"id":"15w36b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2268159e9ce438054660ac86d55db3ddfed1e20b/15w36b.json","time":"2021-12-15T15:45:52Z","releaseTime":"2015-09-02T15:36:25Z","sha1":"2268159e9ce438054660ac86d55db3ddfed1e20b","complianceLevel":0},{"id":"15w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c185b19d54c00e43f85c610858909c40f9163708/15w36a.json","time":"2021-12-15T15:45:51Z","releaseTime":"2015-09-02T14:46:40Z","sha1":"c185b19d54c00e43f85c610858909c40f9163708","complianceLevel":0},{"id":"15w35e","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1fade4fe9d2587106ac3fa14775f9126d3198103/15w35e.json","time":"2021-12-15T15:45:51Z","releaseTime":"2015-08-28T18:14:02Z","sha1":"1fade4fe9d2587106ac3fa14775f9126d3198103","complianceLevel":0},{"id":"15w35d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f7eeb1ed37ec5c38cd8a04ba1fe90a50a1b24752/15w35d.json","time":"2021-12-15T15:45:51Z","releaseTime":"2015-08-28T16:25:35Z","sha1":"f7eeb1ed37ec5c38cd8a04ba1fe90a50a1b24752","complianceLevel":0},{"id":"15w35c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/362bda12d03da60b8481c79f4779bba7a2602c89/15w35c.json","time":"2021-12-15T15:45:50Z","releaseTime":"2015-08-28T11:21:00Z","sha1":"362bda12d03da60b8481c79f4779bba7a2602c89","complianceLevel":0},{"id":"15w35b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/fda82bd0b305eba9607742b9314a41a54f0a9952/15w35b.json","time":"2021-12-15T15:45:50Z","releaseTime":"2015-08-24T15:39:18Z","sha1":"fda82bd0b305eba9607742b9314a41a54f0a9952","complianceLevel":0},{"id":"15w35a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/801ae2c7be9b3e558a7aef6c766bddb74d4be66a/15w35a.json","time":"2021-12-15T15:45:50Z","releaseTime":"2015-08-24T14:19:31Z","sha1":"801ae2c7be9b3e558a7aef6c766bddb74d4be66a","complianceLevel":0},{"id":"15w34d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3c0d347369147a3951163679127a5bf8e78be5a2/15w34d.json","time":"2021-12-15T15:45:49Z","releaseTime":"2015-08-21T15:27:55Z","sha1":"3c0d347369147a3951163679127a5bf8e78be5a2","complianceLevel":0},{"id":"15w34c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/44d6774de6881154fd5f9ac6154dee5f202eb121/15w34c.json","time":"2021-12-15T15:45:49Z","releaseTime":"2015-08-21T12:45:20Z","sha1":"44d6774de6881154fd5f9ac6154dee5f202eb121","complianceLevel":0},{"id":"15w34b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3bec850cf623d63b26caf462b0be177bc9954a0a/15w34b.json","time":"2021-12-15T15:45:48Z","releaseTime":"2015-08-20T14:00:03Z","sha1":"3bec850cf623d63b26caf462b0be177bc9954a0a","complianceLevel":0},{"id":"15w34a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b8fdc5838196c33646a68610ed7586678a53b085/15w34a.json","time":"2021-12-15T15:45:48Z","releaseTime":"2015-08-19T12:56:01Z","sha1":"b8fdc5838196c33646a68610ed7586678a53b085","complianceLevel":0},{"id":"15w33c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c602ac43b9f2c23b4c39999a6368bbccd31852ca/15w33c.json","time":"2021-12-15T15:45:48Z","releaseTime":"2015-08-14T13:10:46Z","sha1":"c602ac43b9f2c23b4c39999a6368bbccd31852ca","complianceLevel":0},{"id":"15w33b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c108562e1ee548ba05439441e97fdcb0b01d1194/15w33b.json","time":"2021-12-15T15:45:47Z","releaseTime":"2015-08-12T15:29:11Z","sha1":"c108562e1ee548ba05439441e97fdcb0b01d1194","complianceLevel":0},{"id":"15w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e5b7e666fd697aef925f539d3983d03ed5d4457e/15w33a.json","time":"2021-12-15T15:45:47Z","releaseTime":"2015-08-12T14:05:07Z","sha1":"e5b7e666fd697aef925f539d3983d03ed5d4457e","complianceLevel":0},{"id":"15w32c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2bf1e36bc4099bba503063ec507b7600ca088e4c/15w32c.json","time":"2021-12-15T15:45:46Z","releaseTime":"2015-08-07T14:08:17Z","sha1":"2bf1e36bc4099bba503063ec507b7600ca088e4c","complianceLevel":0},{"id":"15w32b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/59db82d67a0a1c6b6a31d22cd050ff6c43f1611b/15w32b.json","time":"2021-12-15T15:45:46Z","releaseTime":"2015-08-06T13:51:47Z","sha1":"59db82d67a0a1c6b6a31d22cd050ff6c43f1611b","complianceLevel":0},{"id":"15w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4e80b2295bdb531e64326c4d3fbf93e8d330c5e7/15w32a.json","time":"2021-12-15T15:45:45Z","releaseTime":"2015-08-05T12:22:42Z","sha1":"4e80b2295bdb531e64326c4d3fbf93e8d330c5e7","complianceLevel":0},{"id":"15w31c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1345a9c6d2442415e5980c12fd7bd838072dbd90/15w31c.json","time":"2021-12-15T15:45:44Z","releaseTime":"2015-07-31T13:45:08Z","sha1":"1345a9c6d2442415e5980c12fd7bd838072dbd90","complianceLevel":0},{"id":"15w31b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c9c8d4b706ebb7a057bb91ac69d84ea060b8d174/15w31b.json","time":"2021-12-15T15:45:44Z","releaseTime":"2015-07-30T13:38:32Z","sha1":"c9c8d4b706ebb7a057bb91ac69d84ea060b8d174","complianceLevel":0},{"id":"15w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c9ad2064a55148bef3da7d98dde8d9ff50596ea/15w31a.json","time":"2021-12-15T15:45:43Z","releaseTime":"2015-07-29T13:24:33Z","sha1":"4c9ad2064a55148bef3da7d98dde8d9ff50596ea","complianceLevel":0},{"id":"1.8.8","type":"release","url":"https://launchermeta.mojang.com/v1/packages/690172f1227e1c1d2fa8fceadd0f578f7851a69e/1.8.8.json","time":"2021-12-15T15:44:12Z","releaseTime":"2015-07-27T10:31:28Z","sha1":"690172f1227e1c1d2fa8fceadd0f578f7851a69e","complianceLevel":0},{"id":"1.8.7","type":"release","url":"https://launchermeta.mojang.com/v1/packages/7152f102903cd3ce7514d84c8ac98efecac30839/1.8.7.json","time":"2021-12-15T15:44:11Z","releaseTime":"2015-06-05T10:10:44Z","sha1":"7152f102903cd3ce7514d84c8ac98efecac30839","complianceLevel":0},{"id":"1.8.6","type":"release","url":"https://launchermeta.mojang.com/v1/packages/acccbb056a3e8f3086c4614974fb3a894317853a/1.8.6.json","time":"2021-12-15T15:44:11Z","releaseTime":"2015-05-25T10:31:19Z","sha1":"acccbb056a3e8f3086c4614974fb3a894317853a","complianceLevel":0},{"id":"1.8.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/16da5f5be7478f3602c25182a90f2057ba2f60d8/1.8.5.json","time":"2021-12-15T15:44:11Z","releaseTime":"2015-05-22T11:15:28Z","sha1":"16da5f5be7478f3602c25182a90f2057ba2f60d8","complianceLevel":0},{"id":"1.8.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/043b84efde9fc25d849e979329c03101ac9b7795/1.8.4.json","time":"2021-12-15T15:44:10Z","releaseTime":"2015-04-17T11:37:50Z","sha1":"043b84efde9fc25d849e979329c03101ac9b7795","complianceLevel":0},{"id":"15w14a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9349d236c0f4b8760f75621b3eaad538055c759/15w14a.json","time":"2021-12-15T15:45:43Z","releaseTime":"2015-04-01T07:08:00Z","sha1":"e9349d236c0f4b8760f75621b3eaad538055c759","complianceLevel":0},{"id":"1.8.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/413ad8fdcf8f29f4f1c2b4425aa0dade00f75dd4/1.8.3.json","time":"2021-12-15T15:44:10Z","releaseTime":"2015-02-20T14:00:09Z","sha1":"413ad8fdcf8f29f4f1c2b4425aa0dade00f75dd4","complianceLevel":0},{"id":"1.8.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1e35829856a71261f5a7b2b3a83012c7434b2203/1.8.2.json","time":"2021-12-15T15:44:09Z","releaseTime":"2015-02-19T15:47:29Z","sha1":"1e35829856a71261f5a7b2b3a83012c7434b2203","complianceLevel":0},{"id":"1.8.2-pre7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d07a07da8ffe68a0929710c72346073a02a94933/1.8.2-pre7.json","time":"2021-12-15T15:45:10Z","releaseTime":"2015-02-16T13:01:35Z","sha1":"d07a07da8ffe68a0929710c72346073a02a94933","complianceLevel":0},{"id":"1.8.2-pre6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/07ae1d9b67d36399e239a2ff46d43a1f96ef141a/1.8.2-pre6.json","time":"2021-12-15T15:45:10Z","releaseTime":"2015-01-30T11:58:24Z","sha1":"07ae1d9b67d36399e239a2ff46d43a1f96ef141a","complianceLevel":0},{"id":"1.8.2-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08e7827173655705e938233cf148f955b4f67901/1.8.2-pre5.json","time":"2021-12-15T15:45:09Z","releaseTime":"2015-01-26T15:03:24Z","sha1":"08e7827173655705e938233cf148f955b4f67901","complianceLevel":0},{"id":"1.8.2-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/db4c583ec25447f7418fc8e458798905a1282b88/1.8.2-pre4.json","time":"2021-12-15T15:45:09Z","releaseTime":"2015-01-16T14:19:59Z","sha1":"db4c583ec25447f7418fc8e458798905a1282b88","complianceLevel":0},{"id":"1.8.2-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3d371e2f8c3b04b44c76ae908a1e6f800895aa80/1.8.2-pre3.json","time":"2021-12-15T15:45:08Z","releaseTime":"2015-01-15T16:44:33Z","sha1":"3d371e2f8c3b04b44c76ae908a1e6f800895aa80","complianceLevel":0},{"id":"1.8.2-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/50c6a27cbbd2df6adff74aaea9953a00c6ce38e3/1.8.2-pre2.json","time":"2021-12-15T15:45:08Z","releaseTime":"2015-01-15T15:07:31Z","sha1":"50c6a27cbbd2df6adff74aaea9953a00c6ce38e3","complianceLevel":0},{"id":"1.8.2-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/79c984156100e076c37316d6d6377ced3daaf379/1.8.2-pre1.json","time":"2021-12-15T15:45:07Z","releaseTime":"2014-12-18T11:29:41Z","sha1":"79c984156100e076c37316d6d6377ced3daaf379","complianceLevel":0},{"id":"1.8.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/62f9f77f67fd7d6c92cfae57cecd445be14ccd4e/1.8.1.json","time":"2021-12-15T15:44:09Z","releaseTime":"2014-11-24T14:13:31Z","sha1":"62f9f77f67fd7d6c92cfae57cecd445be14ccd4e","complianceLevel":0},{"id":"1.8.1-pre5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4460bbf278fef1312f03c1483599c31149fe85a7/1.8.1-pre5.json","time":"2021-12-15T15:45:07Z","releaseTime":"2014-11-19T14:30:48Z","sha1":"4460bbf278fef1312f03c1483599c31149fe85a7","complianceLevel":0},{"id":"1.8.1-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9024ad2831e3fc4450977aafe7bb3d07ff0d542/1.8.1-pre4.json","time":"2021-12-15T15:45:06Z","releaseTime":"2014-11-06T14:10:50Z","sha1":"e9024ad2831e3fc4450977aafe7bb3d07ff0d542","complianceLevel":0},{"id":"1.8.1-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c2f5fb57bf63012594b3dc34a80a8d888ec017ac/1.8.1-pre3.json","time":"2021-12-15T15:45:06Z","releaseTime":"2014-10-23T12:59:42Z","sha1":"c2f5fb57bf63012594b3dc34a80a8d888ec017ac","complianceLevel":0},{"id":"1.8.1-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8e77dedf93135552e1aaaebcec4c8d154d4dea04/1.8.1-pre2.json","time":"2021-12-15T15:45:05Z","releaseTime":"2014-10-16T14:19:27Z","sha1":"8e77dedf93135552e1aaaebcec4c8d154d4dea04","complianceLevel":0},{"id":"1.8.1-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f470d54d32f9e1d1a02e4e84e33b2407325ab62d/1.8.1-pre1.json","time":"2021-12-15T15:45:05Z","releaseTime":"2014-10-15T13:25:11Z","sha1":"f470d54d32f9e1d1a02e4e84e33b2407325ab62d","complianceLevel":0},{"id":"1.8","type":"release","url":"https://launchermeta.mojang.com/v1/packages/9eb165eef46294062d8698c8a78e8ac914949e7a/1.8.json","time":"2021-12-15T15:44:13Z","releaseTime":"2014-09-02T08:24:35Z","sha1":"9eb165eef46294062d8698c8a78e8ac914949e7a","complianceLevel":0},{"id":"1.8-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7fd3abc53ee1f813f5b574c8dc758fd694b6abd3/1.8-pre3.json","time":"2021-12-15T15:45:05Z","releaseTime":"2014-08-28T09:40:54Z","sha1":"7fd3abc53ee1f813f5b574c8dc758fd694b6abd3","complianceLevel":0},{"id":"1.8-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2c6bf8e3d17565117bbb5e188544439518d3ad95/1.8-pre2.json","time":"2021-12-15T15:45:04Z","releaseTime":"2014-08-25T14:52:18Z","sha1":"2c6bf8e3d17565117bbb5e188544439518d3ad95","complianceLevel":0},{"id":"1.8-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/00ddc59925abc10e08047c94657e3365b1e031d6/1.8-pre1.json","time":"2021-12-15T15:45:04Z","releaseTime":"2014-08-21T13:56:26Z","sha1":"00ddc59925abc10e08047c94657e3365b1e031d6","complianceLevel":0},{"id":"14w34d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e314c5316fc189a9883f5a786a6b9daffcff8e84/14w34d.json","time":"2021-12-15T15:45:43Z","releaseTime":"2014-08-20T12:46:59Z","sha1":"e314c5316fc189a9883f5a786a6b9daffcff8e84","complianceLevel":0},{"id":"14w34c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a82b66557f41c05f41477481e39be5d5ceec3c62/14w34c.json","time":"2021-12-15T15:45:42Z","releaseTime":"2014-08-19T15:31:24Z","sha1":"a82b66557f41c05f41477481e39be5d5ceec3c62","complianceLevel":0},{"id":"14w34b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f24d3b4a363411fec20a36c2bd92a62b628be003/14w34b.json","time":"2021-12-15T15:45:42Z","releaseTime":"2014-08-18T15:14:28Z","sha1":"f24d3b4a363411fec20a36c2bd92a62b628be003","complianceLevel":0},{"id":"14w34a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dc020c20f2d7a79dee3f601317a8a7cb191c0538/14w34a.json","time":"2021-12-15T15:45:41Z","releaseTime":"2014-08-18T14:14:11Z","sha1":"dc020c20f2d7a79dee3f601317a8a7cb191c0538","complianceLevel":0},{"id":"14w33c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/de314d5c6f011057f764e546a212731d40736c1f/14w33c.json","time":"2021-12-15T15:45:41Z","releaseTime":"2014-08-15T18:00:26Z","sha1":"de314d5c6f011057f764e546a212731d40736c1f","complianceLevel":0},{"id":"14w33b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dec4943bf73d83402d455243f83c8c550e36f7b5/14w33b.json","time":"2021-12-15T15:45:40Z","releaseTime":"2014-08-15T16:23:51Z","sha1":"dec4943bf73d83402d455243f83c8c550e36f7b5","complianceLevel":0},{"id":"14w33a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a1a938359171774c96e06f54bc0c12352a9d7992/14w33a.json","time":"2021-12-15T15:45:40Z","releaseTime":"2014-08-13T15:08:14Z","sha1":"a1a938359171774c96e06f54bc0c12352a9d7992","complianceLevel":0},{"id":"14w32d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/414e33e7d03d873966c199d959426da08aa5aebc/14w32d.json","time":"2021-12-15T15:45:40Z","releaseTime":"2014-08-08T15:13:41Z","sha1":"414e33e7d03d873966c199d959426da08aa5aebc","complianceLevel":0},{"id":"14w32c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3dfa2c82cd06c89735ac0c9b05151b4994efab19/14w32c.json","time":"2021-12-15T15:45:39Z","releaseTime":"2014-08-08T14:11:20Z","sha1":"3dfa2c82cd06c89735ac0c9b05151b4994efab19","complianceLevel":0},{"id":"14w32b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6230265cc1f324689cb5fbb7df21235ca0013e70/14w32b.json","time":"2021-12-15T15:45:39Z","releaseTime":"2014-08-07T14:45:17Z","sha1":"6230265cc1f324689cb5fbb7df21235ca0013e70","complianceLevel":0},{"id":"14w32a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/3af16f96e7800a8f0c31500a873b008c00036c84/14w32a.json","time":"2021-12-15T15:45:38Z","releaseTime":"2014-08-06T14:01:16Z","sha1":"3af16f96e7800a8f0c31500a873b008c00036c84","complianceLevel":0},{"id":"14w31a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1243fe2c047064613e42a2c0e7ce0018fdf94035/14w31a.json","time":"2021-12-15T15:45:38Z","releaseTime":"2014-07-30T15:38:05Z","sha1":"1243fe2c047064613e42a2c0e7ce0018fdf94035","complianceLevel":0},{"id":"14w30c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6327714a7712f723bb74492e2f5fcbb92b8b12a9/14w30c.json","time":"2021-12-15T15:45:37Z","releaseTime":"2014-07-24T14:39:09Z","sha1":"6327714a7712f723bb74492e2f5fcbb92b8b12a9","complianceLevel":0},{"id":"14w30b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/dddd3cf12b88f179baa286a9bb51f4c3902c3780/14w30b.json","time":"2021-12-15T15:45:37Z","releaseTime":"2014-07-23T15:03:03Z","sha1":"dddd3cf12b88f179baa286a9bb51f4c3902c3780","complianceLevel":0},{"id":"14w30a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f73b4bad130911c1ef16066aeb740574f20f90f7/14w30a.json","time":"2021-12-15T15:45:36Z","releaseTime":"2014-07-23T13:15:42Z","sha1":"f73b4bad130911c1ef16066aeb740574f20f90f7","complianceLevel":0},{"id":"14w29b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/02a4803aa427d29f9db910d22b263686d0135fcc/14w29b.json","time":"2021-12-15T15:45:36Z","releaseTime":"2014-07-16T17:27:40Z","sha1":"02a4803aa427d29f9db910d22b263686d0135fcc","complianceLevel":0},{"id":"14w29a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/5219707e16e90d57fbba55f635b68e4725d72b8f/14w29a.json","time":"2021-12-15T15:45:36Z","releaseTime":"2014-07-16T15:18:17Z","sha1":"5219707e16e90d57fbba55f635b68e4725d72b8f","complianceLevel":0},{"id":"14w28b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c18437b0194fb2af464b5fe0cb67ed0eeafb44e8/14w28b.json","time":"2021-12-15T15:45:35Z","releaseTime":"2014-07-10T14:28:48Z","sha1":"c18437b0194fb2af464b5fe0cb67ed0eeafb44e8","complianceLevel":0},{"id":"14w28a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d6b755e76453633e464ed09f82b0979a414d8e4/14w28a.json","time":"2021-12-15T15:45:35Z","releaseTime":"2014-07-09T15:42:36Z","sha1":"6d6b755e76453633e464ed09f82b0979a414d8e4","complianceLevel":0},{"id":"14w27b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/08f1ed6374fb9d87e34fe81ab50d19d01e3055dc/14w27b.json","time":"2021-12-15T15:45:34Z","releaseTime":"2014-07-02T18:34:56Z","sha1":"08f1ed6374fb9d87e34fe81ab50d19d01e3055dc","complianceLevel":0},{"id":"14w27a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c0e594ad64eac1b322e4724b92292daad80951eb/14w27a.json","time":"2021-12-15T15:45:34Z","releaseTime":"2014-07-02T16:07:20Z","sha1":"c0e594ad64eac1b322e4724b92292daad80951eb","complianceLevel":0},{"id":"14w26c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2fe002bebd830ccb5328329ed7efb7e9fb555519/14w26c.json","time":"2021-12-15T15:45:34Z","releaseTime":"2014-06-26T15:05:03Z","sha1":"2fe002bebd830ccb5328329ed7efb7e9fb555519","complianceLevel":0},{"id":"14w26b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/288aa1d9c5840c8d0f75ee682bc8a0a1564babfb/14w26b.json","time":"2021-12-15T15:45:33Z","releaseTime":"2014-06-25T15:08:39Z","sha1":"288aa1d9c5840c8d0f75ee682bc8a0a1564babfb","complianceLevel":0},{"id":"14w26a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6d41ffb32ced2eaaeed6b0ddd38b5e53f849c25f/14w26a.json","time":"2021-12-15T15:45:33Z","releaseTime":"2014-06-25T13:59:27Z","sha1":"6d41ffb32ced2eaaeed6b0ddd38b5e53f849c25f","complianceLevel":0},{"id":"14w25b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d8b348b5a412e809748f35f694fe5dc395a83b3a/14w25b.json","time":"2021-12-15T15:45:32Z","releaseTime":"2014-06-19T12:29:48Z","sha1":"d8b348b5a412e809748f35f694fe5dc395a83b3a","complianceLevel":0},{"id":"14w25a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0091b9fe0f95dc765e187840ff41235638ce22d6/14w25a.json","time":"2021-12-15T15:45:32Z","releaseTime":"2014-06-18T15:52:28Z","sha1":"0091b9fe0f95dc765e187840ff41235638ce22d6","complianceLevel":0},{"id":"14w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c5791a666929e783ba360e98247ff744b5ac3520/14w21b.json","time":"2021-12-15T15:45:32Z","releaseTime":"2014-05-22T15:17:55Z","sha1":"c5791a666929e783ba360e98247ff744b5ac3520","complianceLevel":0},{"id":"14w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f8c912b97cf684f4339571b27592e85b7ec84a19/14w21a.json","time":"2021-12-15T15:45:31Z","releaseTime":"2014-05-22T14:44:33Z","sha1":"f8c912b97cf684f4339571b27592e85b7ec84a19","complianceLevel":0},{"id":"14w20b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b4b682e67ff47a689cf3ff0b405eeec5758dfa9a/14w20b.json","time":"2021-12-15T15:45:31Z","releaseTime":"2014-05-15T16:47:21Z","sha1":"b4b682e67ff47a689cf3ff0b405eeec5758dfa9a","complianceLevel":0},{"id":"14w20a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/674e75f032a5473ad91531dfbfa7b8cb42f55f71/14w20a.json","time":"2021-12-15T15:45:31Z","releaseTime":"2014-05-15T14:01:20Z","sha1":"674e75f032a5473ad91531dfbfa7b8cb42f55f71","complianceLevel":0},{"id":"1.7.10","type":"release","url":"https://launchermeta.mojang.com/v1/packages/ed5d8789ed29872ea2ef1c348302b0c55e3f3468/1.7.10.json","time":"2021-12-15T15:44:05Z","releaseTime":"2014-05-14T17:29:23Z","sha1":"ed5d8789ed29872ea2ef1c348302b0c55e3f3468","complianceLevel":0},{"id":"1.7.10-pre4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f2a4a03329bb07d70d4837b6893c435f97deed25/1.7.10-pre4.json","time":"2021-12-15T15:45:02Z","releaseTime":"2014-05-14T16:29:23Z","sha1":"f2a4a03329bb07d70d4837b6893c435f97deed25","complianceLevel":0},{"id":"1.7.10-pre3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/94578a1fc1db7cb804a9be044008e54367f4905e/1.7.10-pre3.json","time":"2021-12-15T15:45:01Z","releaseTime":"2014-05-14T15:29:23Z","sha1":"94578a1fc1db7cb804a9be044008e54367f4905e","complianceLevel":0},{"id":"1.7.10-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2e8103cd14fc9a7db0c56f68cbc41a0b26ea9954/1.7.10-pre2.json","time":"2021-12-15T15:45:01Z","releaseTime":"2014-05-14T14:29:23Z","sha1":"2e8103cd14fc9a7db0c56f68cbc41a0b26ea9954","complianceLevel":0},{"id":"1.7.10-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a526665974dfa717f79f15529ae294d0a6074fc5/1.7.10-pre1.json","time":"2021-12-15T15:45:00Z","releaseTime":"2014-05-14T13:29:23Z","sha1":"a526665974dfa717f79f15529ae294d0a6074fc5","complianceLevel":0},{"id":"14w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ffcc6382a2d12310c42cc1b654ea8d88117cf105/14w19a.json","time":"2021-12-15T15:45:30Z","releaseTime":"2014-05-08T14:24:19Z","sha1":"ffcc6382a2d12310c42cc1b654ea8d88117cf105","complianceLevel":0},{"id":"14w18b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0aa29d5bc6915b347505a194260bd51bc8bf2960/14w18b.json","time":"2021-12-15T15:45:30Z","releaseTime":"2014-05-02T11:38:17Z","sha1":"0aa29d5bc6915b347505a194260bd51bc8bf2960","complianceLevel":0},{"id":"14w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/c64cc4d300948e2d8e5fb05e394b69edc680027e/14w18a.json","time":"2021-12-15T15:45:29Z","releaseTime":"2014-04-30T10:25:35Z","sha1":"c64cc4d300948e2d8e5fb05e394b69edc680027e","complianceLevel":0},{"id":"14w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2d857ecd809f15008f4718dc3b11ef5b60548ce4/14w17a.json","time":"2021-12-15T15:45:29Z","releaseTime":"2014-04-24T15:44:49Z","sha1":"2d857ecd809f15008f4718dc3b11ef5b60548ce4","complianceLevel":0},{"id":"14w11b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/022ade13058d98289f1625857462994a6ec40110/14w11b.json","time":"2021-12-15T15:45:28Z","releaseTime":"2014-04-14T14:36:19Z","sha1":"022ade13058d98289f1625857462994a6ec40110","complianceLevel":0},{"id":"1.7.9","type":"release","url":"https://launchermeta.mojang.com/v1/packages/5579bc9e25a9bb5e3187a2570693a0c6658edce4/1.7.9.json","time":"2021-12-15T15:44:08Z","releaseTime":"2014-04-14T13:29:23Z","sha1":"5579bc9e25a9bb5e3187a2570693a0c6658edce4","complianceLevel":0},{"id":"1.7.8","type":"release","url":"https://launchermeta.mojang.com/v1/packages/03d8e2e1c192d48ffc406cb7a483861cf26dfe25/1.7.8.json","time":"2021-12-15T15:44:08Z","releaseTime":"2014-04-09T07:58:16Z","sha1":"03d8e2e1c192d48ffc406cb7a483861cf26dfe25","complianceLevel":0},{"id":"1.7.7","type":"release","url":"https://launchermeta.mojang.com/v1/packages/47e228263557da73d0e2be803e5d83e5b246ae75/1.7.7.json","time":"2021-12-15T15:44:07Z","releaseTime":"2014-04-09T07:52:16Z","sha1":"47e228263557da73d0e2be803e5d83e5b246ae75","complianceLevel":0},{"id":"1.7.6","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b6dd3e6496ad415f0c57867dea1f97710d5f184c/1.7.6.json","time":"2021-12-15T15:44:07Z","releaseTime":"2014-04-09T07:52:06Z","sha1":"b6dd3e6496ad415f0c57867dea1f97710d5f184c","complianceLevel":0},{"id":"14w11a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ed3b597f26c1140b31d4c7421054e83398270e19/14w11a.json","time":"2021-12-15T15:45:28Z","releaseTime":"2014-03-13T14:02:50Z","sha1":"ed3b597f26c1140b31d4c7421054e83398270e19","complianceLevel":0},{"id":"1.7.6-pre2","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/977e8f92b306b2d798a7b69858f48fbe06dbb302/1.7.6-pre2.json","time":"2021-12-15T15:45:03Z","releaseTime":"2014-03-08T11:00:01Z","sha1":"977e8f92b306b2d798a7b69858f48fbe06dbb302","complianceLevel":0},{"id":"1.7.6-pre1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/39e402b6972475126fa9e8a883915a9ce5d7722a/1.7.6-pre1.json","time":"2021-12-15T15:45:02Z","releaseTime":"2014-03-08T11:00:00Z","sha1":"39e402b6972475126fa9e8a883915a9ce5d7722a","complianceLevel":0},{"id":"14w10c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/312e632fcac49d7c1dca6a7fa58824eace01d91d/14w10c.json","time":"2021-12-15T15:45:28Z","releaseTime":"2014-03-07T13:49:55Z","sha1":"312e632fcac49d7c1dca6a7fa58824eace01d91d","complianceLevel":0},{"id":"14w10b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/90e924daa64f7908e69d4c7c4451599d2592f9d3/14w10b.json","time":"2021-12-15T15:45:27Z","releaseTime":"2014-03-06T16:25:39Z","sha1":"90e924daa64f7908e69d4c7c4451599d2592f9d3","complianceLevel":0},{"id":"14w10a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/643d852decb88d011fab20df4cb14ed100362f0f/14w10a.json","time":"2021-12-15T15:45:27Z","releaseTime":"2014-03-06T14:23:04Z","sha1":"643d852decb88d011fab20df4cb14ed100362f0f","complianceLevel":0},{"id":"14w08a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c04557fe5dcfe1c2e302265b677549384008c14/14w08a.json","time":"2021-12-15T15:45:26Z","releaseTime":"2014-02-26T17:00:00Z","sha1":"4c04557fe5dcfe1c2e302265b677549384008c14","complianceLevel":0},{"id":"1.7.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4afb628501a6a206b80a47ab4f29ea6b98caac90/1.7.5.json","time":"2021-12-15T15:44:06Z","releaseTime":"2014-02-26T09:22:17Z","sha1":"4afb628501a6a206b80a47ab4f29ea6b98caac90","complianceLevel":0},{"id":"14w07a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/23dbadcc03150f2e3447d528f7f546ba8fd62246/14w07a.json","time":"2021-12-15T15:45:26Z","releaseTime":"2014-02-14T11:05:07Z","sha1":"23dbadcc03150f2e3447d528f7f546ba8fd62246","complianceLevel":0},{"id":"14w06b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2c381742bc9cadc33fbc0a823b4fb734aad78533/14w06b.json","time":"2021-12-15T15:45:26Z","releaseTime":"2014-02-06T17:30:42Z","sha1":"2c381742bc9cadc33fbc0a823b4fb734aad78533","complianceLevel":0},{"id":"14w06a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a59d77f95afc36421554f9fee3a930d6cca9209d/14w06a.json","time":"2021-12-15T15:45:25Z","releaseTime":"2014-02-06T14:30:17Z","sha1":"a59d77f95afc36421554f9fee3a930d6cca9209d","complianceLevel":0},{"id":"14w05b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0b0f0bb2354640bfeeafe8611a8cfb53e9c3edff/14w05b.json","time":"2021-12-15T15:45:25Z","releaseTime":"2014-01-31T14:05:50Z","sha1":"0b0f0bb2354640bfeeafe8611a8cfb53e9c3edff","complianceLevel":0},{"id":"14w05a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e9d4eb5a505a84dda9c36ea32f7ebb998a60a97f/14w05a.json","time":"2021-12-15T15:45:24Z","releaseTime":"2014-01-30T15:32:41Z","sha1":"e9d4eb5a505a84dda9c36ea32f7ebb998a60a97f","complianceLevel":0},{"id":"14w04b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/62524cf35e56e365a5dff36353fb77a38ff35269/14w04b.json","time":"2021-12-15T15:45:24Z","releaseTime":"2014-01-24T15:48:46Z","sha1":"62524cf35e56e365a5dff36353fb77a38ff35269","complianceLevel":0},{"id":"14w04a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/41307eaf3c2bf6b526986d8bb2fd698099298a2f/14w04a.json","time":"2021-12-15T15:45:23Z","releaseTime":"2014-01-23T15:26:13Z","sha1":"41307eaf3c2bf6b526986d8bb2fd698099298a2f","complianceLevel":0},{"id":"14w03b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4c3bab6bfb32daed6b30d298818e4b8bb37c4bb2/14w03b.json","time":"2021-12-15T15:45:23Z","releaseTime":"2014-01-16T16:36:19Z","sha1":"4c3bab6bfb32daed6b30d298818e4b8bb37c4bb2","complianceLevel":0},{"id":"14w03a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/73f7ed186402ac8927ce415507cfa70b6aa5483f/14w03a.json","time":"2021-12-15T15:45:23Z","releaseTime":"2014-01-16T14:45:13Z","sha1":"73f7ed186402ac8927ce415507cfa70b6aa5483f","complianceLevel":0},{"id":"14w02c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e7c40fe6754d5912ebc119a53e752c9024130e3f/14w02c.json","time":"2021-12-15T15:45:22Z","releaseTime":"2014-01-10T15:42:36Z","sha1":"e7c40fe6754d5912ebc119a53e752c9024130e3f","complianceLevel":0},{"id":"14w02b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/25f758976bfd97d533af7e38680db8983d2cf82d/14w02b.json","time":"2021-12-15T15:45:22Z","releaseTime":"2014-01-09T15:45:55Z","sha1":"25f758976bfd97d533af7e38680db8983d2cf82d","complianceLevel":0},{"id":"14w02a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/1348f531ae51631ea0ee1e467348440c5f93dcc2/14w02a.json","time":"2021-12-15T15:45:22Z","releaseTime":"2014-01-09T14:44:41Z","sha1":"1348f531ae51631ea0ee1e467348440c5f93dcc2","complianceLevel":0},{"id":"1.7.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/5db9d89cb6b89573384f324aa585b4c99525b37a/1.7.4.json","time":"2021-12-15T15:44:06Z","releaseTime":"2013-12-09T12:28:10Z","sha1":"5db9d89cb6b89573384f324aa585b4c99525b37a","complianceLevel":0},{"id":"1.7.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/cd133f90b7e339c50b3cdce64188a51469c6a128/1.7.3.json","time":"2021-12-15T15:44:06Z","releaseTime":"2013-12-06T13:55:34Z","sha1":"cd133f90b7e339c50b3cdce64188a51469c6a128","complianceLevel":0},{"id":"13w49a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/82cf56aabfbca3a1f1d13b4404050d9877b5a67e/13w49a.json","time":"2021-12-15T15:45:21Z","releaseTime":"2013-12-05T14:34:41Z","sha1":"82cf56aabfbca3a1f1d13b4404050d9877b5a67e","complianceLevel":0},{"id":"13w48b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/55543db98b2df3a986c99d8cdc8278a70493eb4a/13w48b.json","time":"2021-12-15T15:45:21Z","releaseTime":"2013-11-26T18:36:08Z","sha1":"55543db98b2df3a986c99d8cdc8278a70493eb4a","complianceLevel":0},{"id":"13w48a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/329f28adfb5ba0d6d81ceae27209e1eb97c4ef88/13w48a.json","time":"2021-12-15T15:45:20Z","releaseTime":"2013-11-25T16:53:39Z","sha1":"329f28adfb5ba0d6d81ceae27209e1eb97c4ef88","complianceLevel":0},{"id":"13w47e","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/81b30470c108a201cfb2dfd548dc0a52afa20a0a/13w47e.json","time":"2021-12-15T15:45:20Z","releaseTime":"2013-11-22T15:16:38Z","sha1":"81b30470c108a201cfb2dfd548dc0a52afa20a0a","complianceLevel":0},{"id":"13w47d","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ccf62018b2e8aa9628dab2353ed85a4239368f63/13w47d.json","time":"2021-12-15T15:45:20Z","releaseTime":"2013-11-22T13:51:15Z","sha1":"ccf62018b2e8aa9628dab2353ed85a4239368f63","complianceLevel":0},{"id":"13w47c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ca7616ffa259c99e2350f010555eba54e54b4dd0/13w47c.json","time":"2021-12-15T15:45:19Z","releaseTime":"2013-11-21T17:10:33Z","sha1":"ca7616ffa259c99e2350f010555eba54e54b4dd0","complianceLevel":0},{"id":"13w47b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ac1dc3c3a7d33aa47e97c7b3d419510696f57cde/13w47b.json","time":"2021-12-15T15:45:19Z","releaseTime":"2013-11-21T16:57:41Z","sha1":"ac1dc3c3a7d33aa47e97c7b3d419510696f57cde","complianceLevel":0},{"id":"13w47a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9bb727f63e3af146df7cbd47a6a3332d31550855/13w47a.json","time":"2021-12-15T15:45:18Z","releaseTime":"2013-11-21T15:59:58Z","sha1":"9bb727f63e3af146df7cbd47a6a3332d31550855","complianceLevel":0},{"id":"1.7.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/c2e8ecbf355760a74c93d7210767fa043d53f27c/1.7.2.json","time":"2021-12-15T15:44:05Z","releaseTime":"2013-10-25T13:00:00Z","sha1":"c2e8ecbf355760a74c93d7210767fa043d53f27c","complianceLevel":0},{"id":"1.7.1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/744a42505862bea0bdd5da55ff06e09536f36d66/1.7.1.json","time":"2021-12-15T15:45:00Z","releaseTime":"2013-10-23T12:01:07Z","sha1":"744a42505862bea0bdd5da55ff06e09536f36d66","complianceLevel":0},{"id":"1.7","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7a5aa5f3e3fba022efe0752660a5c7cd2dff2d16/1.7.json","time":"2021-12-15T15:45:03Z","releaseTime":"2013-10-22T15:04:05Z","sha1":"7a5aa5f3e3fba022efe0752660a5c7cd2dff2d16","complianceLevel":0},{"id":"13w43a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/d7c2d81bf137c9e1a84576241767de08909c29fd/13w43a.json","time":"2021-12-15T15:45:18Z","releaseTime":"2013-10-21T16:34:47Z","sha1":"d7c2d81bf137c9e1a84576241767de08909c29fd","complianceLevel":0},{"id":"13w42b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ce863b81986e6acce2983be040d2071711f6403c/13w42b.json","time":"2021-12-15T15:45:17Z","releaseTime":"2013-10-18T16:34:08Z","sha1":"ce863b81986e6acce2983be040d2071711f6403c","complianceLevel":0},{"id":"13w42a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8cef2eee33892b62b3a28559246c750c3487dd8f/13w42a.json","time":"2021-12-15T15:45:17Z","releaseTime":"2013-10-17T18:33:05Z","sha1":"8cef2eee33892b62b3a28559246c750c3487dd8f","complianceLevel":0},{"id":"13w41b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/015456cd8b5c68d0076536d4e867111cd36b541a/13w41b.json","time":"2021-12-15T15:45:17Z","releaseTime":"2013-10-11T15:09:17Z","sha1":"015456cd8b5c68d0076536d4e867111cd36b541a","complianceLevel":0},{"id":"13w41a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/43622c17e011441b8b63b0a27d79887c2f7516aa/13w41a.json","time":"2021-12-15T15:45:16Z","releaseTime":"2013-10-10T14:21:43Z","sha1":"43622c17e011441b8b63b0a27d79887c2f7516aa","complianceLevel":0},{"id":"13w39b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b2d2f0b1fd23b08f8d2fb9beff39f173a2d65160/13w39b.json","time":"2021-12-13T14:56:26Z","releaseTime":"2013-09-27T12:15:58Z","sha1":"b2d2f0b1fd23b08f8d2fb9beff39f173a2d65160","complianceLevel":0},{"id":"13w39a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/61b88e8c311ed6a647ebf13d9934c6a1e3a94a75/13w39a.json","time":"2021-12-13T14:56:26Z","releaseTime":"2013-09-26T15:11:19Z","sha1":"61b88e8c311ed6a647ebf13d9934c6a1e3a94a75","complianceLevel":0},{"id":"13w38c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/a9e87e0699f19fea280878f5deb744c5d5d3ccb1/13w38c.json","time":"2019-06-28T07:08:09Z","releaseTime":"2013-09-20T15:11:34Z","sha1":"a9e87e0699f19fea280878f5deb744c5d5d3ccb1","complianceLevel":0},{"id":"13w38b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/6f426be1993b140ab5d10459c91eb1f542d58c82/13w38b.json","time":"2019-06-28T07:08:09Z","releaseTime":"2013-09-20T13:45:40Z","sha1":"6f426be1993b140ab5d10459c91eb1f542d58c82","complianceLevel":0},{"id":"13w38a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e6dc1d9f9c8efeec67af438d5bf61be082f6e8a4/13w38a.json","time":"2019-06-28T07:08:09Z","releaseTime":"2013-09-19T16:34:21Z","sha1":"e6dc1d9f9c8efeec67af438d5bf61be082f6e8a4","complianceLevel":0},{"id":"1.6.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/b71bae449192fbbe1582ff32fb3765edf0b9b0a8/1.6.4.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-09-19T15:52:37Z","sha1":"b71bae449192fbbe1582ff32fb3765edf0b9b0a8","complianceLevel":0},{"id":"1.6.3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/903d6ba1bc87c301d88fa418f8b33446201c7d4e/1.6.3.json","time":"2019-06-28T07:07:47Z","releaseTime":"2013-09-13T10:54:41Z","sha1":"903d6ba1bc87c301d88fa418f8b33446201c7d4e","complianceLevel":0},{"id":"13w37b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b8d28154ee056af6af3c8c37815418fe0e9f34f8/13w37b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-13T10:54:41Z","sha1":"b8d28154ee056af6af3c8c37815418fe0e9f34f8","complianceLevel":0},{"id":"13w37a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2f33c613a4bb81ef5f56be03a8f578208ada382a/13w37a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-12T14:23:14Z","sha1":"2f33c613a4bb81ef5f56be03a8f578208ada382a","complianceLevel":0},{"id":"13w36b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/4a538e23057a596fc8c7e04d8a7738d866467f51/13w36b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-06T12:31:58Z","sha1":"4a538e23057a596fc8c7e04d8a7738d866467f51","complianceLevel":0},{"id":"13w36a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/bc915c4dc167dfba92fcc0ae3aa051ae0f9f089b/13w36a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-09-05T13:05:40Z","sha1":"bc915c4dc167dfba92fcc0ae3aa051ae0f9f089b","complianceLevel":0},{"id":"1.6.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/c0729761bf65dc58138ce508645dba1442fa78b8/1.6.2.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-07-05T13:09:02Z","sha1":"c0729761bf65dc58138ce508645dba1442fa78b8","complianceLevel":0},{"id":"1.6.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/7fd8e0c76f62813eb0465e31bb74b160c01472d6/1.6.1.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-06-28T14:48:41Z","sha1":"7fd8e0c76f62813eb0465e31bb74b160c01472d6","complianceLevel":0},{"id":"1.6","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/20116297638f7c70cd046e25a6ac90fee4cae61a/1.6.json","time":"2019-06-28T07:07:47Z","releaseTime":"2013-06-25T13:08:56Z","sha1":"20116297638f7c70cd046e25a6ac90fee4cae61a","complianceLevel":0},{"id":"13w26a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b349702aef5e3adaebec30c79338300423943930/13w26a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-24T16:06:06Z","sha1":"b349702aef5e3adaebec30c79338300423943930","complianceLevel":0},{"id":"13w25c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/934788bc580ef0a19725ee5bd31f02a0b866e0bf/13w25c.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-20T15:23:37Z","sha1":"934788bc580ef0a19725ee5bd31f02a0b866e0bf","complianceLevel":0},{"id":"13w25b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/8b7870ddd0d0b38779479ad782d65ad80e688cf7/13w25b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-18T15:13:27Z","sha1":"8b7870ddd0d0b38779479ad782d65ad80e688cf7","complianceLevel":0},{"id":"13w25a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/65c0e5fff89b477ac6f8ddb336f0e718d525d311/13w25a.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-17T14:08:06Z","sha1":"65c0e5fff89b477ac6f8ddb336f0e718d525d311","complianceLevel":0},{"id":"13w24b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/e1294b52803771cfb06767c4c40dced70475cb25/13w24b.json","time":"2019-06-28T07:08:08Z","releaseTime":"2013-06-14T12:19:13Z","sha1":"e1294b52803771cfb06767c4c40dced70475cb25","complianceLevel":0},{"id":"13w24a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/74666ab85cc5539f08aec638eabd63a552ed4125/13w24a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-06-13T15:32:23Z","sha1":"74666ab85cc5539f08aec638eabd63a552ed4125","complianceLevel":0},{"id":"13w23b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b19c87c7bfe0c0b202f79fc4b870b0ae97b00e53/13w23b.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-06-08T00:32:01Z","sha1":"b19c87c7bfe0c0b202f79fc4b870b0ae97b00e53","complianceLevel":0},{"id":"13w23a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/400a136ff102882dfa9bb8990aef32b81309d46a/13w23a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-06-07T16:04:20Z","sha1":"400a136ff102882dfa9bb8990aef32b81309d46a","complianceLevel":0},{"id":"13w22a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f8277e55fae1555de47b44f5e6620f13b79fbe4e/13w22a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-30T14:38:40Z","sha1":"f8277e55fae1555de47b44f5e6620f13b79fbe4e","complianceLevel":0},{"id":"13w21b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/eab4bc12a78d862fadb36192c5351e35888eab15/13w21b.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-27T08:50:42Z","sha1":"eab4bc12a78d862fadb36192c5351e35888eab15","complianceLevel":0},{"id":"13w21a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/ff59021171bd73aa155e40f84a924e1ab3f5307d/13w21a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-23T15:38:28Z","sha1":"ff59021171bd73aa155e40f84a924e1ab3f5307d","complianceLevel":0},{"id":"13w19a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/9360f33fa1391cbbfead0e0033c5a1e763f28d19/13w19a.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-10T14:48:02Z","sha1":"9360f33fa1391cbbfead0e0033c5a1e763f28d19","complianceLevel":0},{"id":"13w18c","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/79ab628c68cefd8daa25d186f7961299ef4e63a9/13w18c.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-03T09:19:35Z","sha1":"79ab628c68cefd8daa25d186f7961299ef4e63a9","complianceLevel":0},{"id":"13w18b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/2eea88342657ab8327af70ac2e1416859e0ef02a/13w18b.json","time":"2019-06-28T07:08:07Z","releaseTime":"2013-05-02T17:12:25Z","sha1":"2eea88342657ab8327af70ac2e1416859e0ef02a","complianceLevel":0},{"id":"13w18a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/0fdbf2d4561027558ba9475c5d318540c743dec9/13w18a.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-05-02T15:45:59Z","sha1":"0fdbf2d4561027558ba9475c5d318540c743dec9","complianceLevel":0},{"id":"13w17a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/f65b6bd3c813d67b026a3c9ec12e3280c495cf87/13w17a.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-04-25T15:50:00Z","sha1":"f65b6bd3c813d67b026a3c9ec12e3280c495cf87","complianceLevel":0},{"id":"1.5.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/a611948faa091ef3a0af43d39f77589c5e402170/1.5.2.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-04-25T15:45:00Z","sha1":"a611948faa091ef3a0af43d39f77589c5e402170","complianceLevel":0},{"id":"13w16b","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/b2c1241c6ca9d119a9f2df431cdf18a56f883d0d/13w16b.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-04-23T21:51:22Z","sha1":"b2c1241c6ca9d119a9f2df431cdf18a56f883d0d","complianceLevel":0},{"id":"13w16a","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/7efbf7a86354b08f0a5011c96752c92cabb2e67c/13w16a.json","time":"2019-06-28T07:08:06Z","releaseTime":"2013-04-21T12:49:30Z","sha1":"7efbf7a86354b08f0a5011c96752c92cabb2e67c","complianceLevel":0},{"id":"1.5.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/46b50f586db97821f22d2c94914c3a31f733a264/1.5.1.json","time":"2019-06-28T07:06:16Z","releaseTime":"2013-03-20T10:00:00Z","sha1":"46b50f586db97821f22d2c94914c3a31f733a264","complianceLevel":0},{"id":"1.5","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/00fa1c125d5ad5ccdbc55f1d1b53b6f52c85bd22/1.5.json","time":"2019-06-28T07:07:47Z","releaseTime":"2013-03-06T22:00:00Z","sha1":"00fa1c125d5ad5ccdbc55f1d1b53b6f52c85bd22","complianceLevel":0},{"id":"1.4.7","type":"release","url":"https://launchermeta.mojang.com/v1/packages/89802d57ccee3d03ec59d2ab1f44386234adb399/1.4.7.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-27T22:00:00Z","sha1":"89802d57ccee3d03ec59d2ab1f44386234adb399","complianceLevel":0},{"id":"1.4.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/19555cce1f6d04e2b417ac2e9e06b6b752d5a2de/1.4.5.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-19T22:00:00Z","sha1":"19555cce1f6d04e2b417ac2e9e06b6b752d5a2de","complianceLevel":0},{"id":"1.4.6","type":"release","url":"https://launchermeta.mojang.com/v1/packages/a7d02971582fcdf14ea275cc549cb57604a37079/1.4.6.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-19T22:00:00Z","sha1":"a7d02971582fcdf14ea275cc549cb57604a37079","complianceLevel":0},{"id":"1.4.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/578d09d5753e590ea043a68bdaaea45a5b9711ab/1.4.4.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-12-13T22:00:00Z","sha1":"578d09d5753e590ea043a68bdaaea45a5b9711ab","complianceLevel":0},{"id":"1.4.3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/180deba5c263367e914217be0701bd9e1a44f13b/1.4.3.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-11-30T22:00:00Z","sha1":"180deba5c263367e914217be0701bd9e1a44f13b","complianceLevel":0},{"id":"1.4.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/aec7405cf74ae5f79b13f6e8c88f66920eac0e1b/1.4.2.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-11-24T22:00:00Z","sha1":"aec7405cf74ae5f79b13f6e8c88f66920eac0e1b","complianceLevel":0},{"id":"1.4.1","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/859f584890b4db227f267026510c6ac2a5076d94/1.4.1.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-11-22T22:00:00Z","sha1":"859f584890b4db227f267026510c6ac2a5076d94","complianceLevel":0},{"id":"1.4","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/070986801bc1d42eac872758cf12f00afa7b5f35/1.4.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-11-18T22:00:00Z","sha1":"070986801bc1d42eac872758cf12f00afa7b5f35","complianceLevel":0},{"id":"1.3.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/2bd0ca9b77465a29df4b9449772d008f8724dd19/1.3.2.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-08-15T22:00:00Z","sha1":"2bd0ca9b77465a29df4b9449772d008f8724dd19","complianceLevel":0},{"id":"1.3.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/be773d2fff5c6e4db9929ae4ea780f8837323b6b/1.3.1.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-07-31T22:00:00Z","sha1":"be773d2fff5c6e4db9929ae4ea780f8837323b6b","complianceLevel":0},{"id":"1.3","type":"snapshot","url":"https://launchermeta.mojang.com/v1/packages/aeb1bb40dc59420433ae46a0f133392508218bbe/1.3.json","time":"2019-06-28T07:07:47Z","releaseTime":"2012-07-25T22:00:00Z","sha1":"aeb1bb40dc59420433ae46a0f133392508218bbe","complianceLevel":0},{"id":"1.2.5","type":"release","url":"https://launchermeta.mojang.com/v1/packages/886723c6385e62bb8dbe8026abf685140602404b/1.2.5.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-03-29T22:00:00Z","sha1":"886723c6385e62bb8dbe8026abf685140602404b","complianceLevel":0},{"id":"1.2.4","type":"release","url":"https://launchermeta.mojang.com/v1/packages/3cc81a28957e8c7d94bdd4f6b2c51ef8cae54f9b/1.2.4.json","time":"2019-06-28T07:06:15Z","releaseTime":"2012-03-21T22:00:00Z","sha1":"3cc81a28957e8c7d94bdd4f6b2c51ef8cae54f9b","complianceLevel":0},{"id":"1.2.3","type":"release","url":"https://launchermeta.mojang.com/v1/packages/4100a29330f76c93ef3bdc47d11fa016fd73de99/1.2.3.json","time":"2019-06-28T07:06:14Z","releaseTime":"2012-03-01T22:00:00Z","sha1":"4100a29330f76c93ef3bdc47d11fa016fd73de99","complianceLevel":0},{"id":"1.2.2","type":"release","url":"https://launchermeta.mojang.com/v1/packages/897ce0e56d1cecc9e720f1934c09ea395008aa9e/1.2.2.json","time":"2019-06-28T07:06:14Z","releaseTime":"2012-02-29T22:00:01Z","sha1":"897ce0e56d1cecc9e720f1934c09ea395008aa9e","complianceLevel":0},{"id":"1.2.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/dc5f9e134da9e18a2db42ddc246aba5cdfe28d3c/1.2.1.json","time":"2019-06-28T07:06:14Z","releaseTime":"2012-02-29T22:00:00Z","sha1":"dc5f9e134da9e18a2db42ddc246aba5cdfe28d3c","complianceLevel":0},{"id":"1.1","type":"release","url":"https://launchermeta.mojang.com/v1/packages/1c1aaa3dea5155b549d4baf3491e3f5f564c3b8b/1.1.json","time":"2019-06-28T07:05:45Z","releaseTime":"2012-01-11T22:00:00Z","sha1":"1c1aaa3dea5155b549d4baf3491e3f5f564c3b8b","complianceLevel":0},{"id":"1.0","type":"release","url":"https://launchermeta.mojang.com/v1/packages/edfc56a64dfc6430665d745264732db53b0d1b41/1.0.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-11-17T22:00:00Z","sha1":"edfc56a64dfc6430665d745264732db53b0d1b41","complianceLevel":0},{"id":"b1.8.1","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/5b5a652a385b3d04af8e05bb773696a227ebc300/b1.8.1.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-09-18T22:00:00Z","sha1":"5b5a652a385b3d04af8e05bb773696a227ebc300","complianceLevel":0},{"id":"b1.8","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/c2ce53a6d847e3c3efb640dc7d32e47e72e0a24f/b1.8.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-09-14T22:00:00Z","sha1":"c2ce53a6d847e3c3efb640dc7d32e47e72e0a24f","complianceLevel":0},{"id":"b1.7.3","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/0de35233bea254fd0011cceb4aa96e0a32b7efd2/b1.7.3.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-07-07T22:00:00Z","sha1":"0de35233bea254fd0011cceb4aa96e0a32b7efd2","complianceLevel":0},{"id":"b1.7.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/b9ac061f45d78c16739c95871d1540c681a187c8/b1.7.2.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-06-30T22:00:00Z","sha1":"b9ac061f45d78c16739c95871d1540c681a187c8","complianceLevel":0},{"id":"b1.7","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/3b7900fbef699471069015beef2a0d62cb2efabf/b1.7.json","time":"2019-06-28T07:05:45Z","releaseTime":"2011-06-29T22:00:00Z","sha1":"3b7900fbef699471069015beef2a0d62cb2efabf","complianceLevel":0},{"id":"b1.6.6","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/2c39299d7841e5273f5a6347373ba89eb48149d2/b1.6.6.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-30T22:00:00Z","sha1":"2c39299d7841e5273f5a6347373ba89eb48149d2","complianceLevel":0},{"id":"b1.6.5","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/f52059e5de7e06cbceba3642895005a36c40a6ef/b1.6.5.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-27T22:00:00Z","sha1":"f52059e5de7e06cbceba3642895005a36c40a6ef","complianceLevel":0},{"id":"b1.6.4","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/3a6546e2e4be5492c974359880f5cd6f1c513478/b1.6.4.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:04Z","sha1":"3a6546e2e4be5492c974359880f5cd6f1c513478","complianceLevel":0},{"id":"b1.6.3","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/4aa947cc55a28139e06ba6cde47b2c5aa3d9941c/b1.6.3.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:03Z","sha1":"4aa947cc55a28139e06ba6cde47b2c5aa3d9941c","complianceLevel":0},{"id":"b1.6.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/299360b97a57c73c0a6f258313200f40a37ab758/b1.6.2.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:02Z","sha1":"299360b97a57c73c0a6f258313200f40a37ab758","complianceLevel":0},{"id":"b1.6.1","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/72fc5a50e6a2fc9cdb5d77dcaa1f4cd4391536d3/b1.6.1.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:01Z","sha1":"72fc5a50e6a2fc9cdb5d77dcaa1f4cd4391536d3","complianceLevel":0},{"id":"b1.6","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/70c6be33812e5a030db15b28ccd72d30a5dcbca7/b1.6.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-05-25T22:00:00Z","sha1":"70c6be33812e5a030db15b28ccd72d30a5dcbca7","complianceLevel":0},{"id":"b1.5_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/cda4fc0e6f35c8645a013045be7c746e1a5b63d3/b1.5_01.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-04-19T22:00:00Z","sha1":"cda4fc0e6f35c8645a013045be7c746e1a5b63d3","complianceLevel":0},{"id":"b1.5","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/cd33026e81d260495f859a446a1f17e3071a17ea/b1.5.json","time":"2019-06-28T07:05:44Z","releaseTime":"2011-04-18T22:00:00Z","sha1":"cd33026e81d260495f859a446a1f17e3071a17ea","complianceLevel":0},{"id":"b1.4_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/7a7fbff959b9576845d83b215cc82ecf6bca5bcf/b1.4_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-04-04T22:00:00Z","sha1":"7a7fbff959b9576845d83b215cc82ecf6bca5bcf","complianceLevel":0},{"id":"b1.4","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/ce8cd5c165f2941d343cd98ec76a5b93d9a95c8c/b1.4.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-03-30T22:00:00Z","sha1":"ce8cd5c165f2941d343cd98ec76a5b93d9a95c8c","complianceLevel":0},{"id":"b1.3_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/f551611d75278e2847cca77421a51b99f4bb32de/b1.3_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-02-22T22:00:00Z","sha1":"f551611d75278e2847cca77421a51b99f4bb32de","complianceLevel":0},{"id":"b1.3b","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/a803c5a24b04ccab17269183b872cdaa38b32ae3/b1.3b.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-02-21T22:00:00Z","sha1":"a803c5a24b04ccab17269183b872cdaa38b32ae3","complianceLevel":0},{"id":"b1.2_02","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/afeabd62ef6bab19c8d570ab39a5e4161b27b85d/b1.2_02.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-01-20T22:00:00Z","sha1":"afeabd62ef6bab19c8d570ab39a5e4161b27b85d","complianceLevel":0},{"id":"b1.2_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/e9ea31d80bb8979bf3042165094d2e10b2899eaf/b1.2_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-01-13T22:00:00Z","sha1":"e9ea31d80bb8979bf3042165094d2e10b2899eaf","complianceLevel":0},{"id":"b1.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/703f0c0797d0b83dac8304b1c35ee4dcee6a2413/b1.2.json","time":"2019-06-28T07:05:43Z","releaseTime":"2011-01-12T22:00:00Z","sha1":"703f0c0797d0b83dac8304b1c35ee4dcee6a2413","complianceLevel":0},{"id":"b1.1_02","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/219e087b54dc2ca9a51a0204238cccaa035b5cef/b1.1_02.json","time":"2019-06-28T07:05:43Z","releaseTime":"2010-12-21T22:00:01Z","sha1":"219e087b54dc2ca9a51a0204238cccaa035b5cef","complianceLevel":0},{"id":"b1.1_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/d0d10f21a0f8115bdfbc2f0ddef2d93833af2e9d/b1.1_01.json","time":"2019-06-28T07:05:43Z","releaseTime":"2010-12-21T22:00:00Z","sha1":"d0d10f21a0f8115bdfbc2f0ddef2d93833af2e9d","complianceLevel":0},{"id":"b1.0.2","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/f8d933ed690495b66f76d0a5045e40c18881a26a/b1.0.2.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-12-20T22:00:00Z","sha1":"f8d933ed690495b66f76d0a5045e40c18881a26a","complianceLevel":0},{"id":"b1.0_01","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/c7559faa3f520837456b2a3736c663a856812049/b1.0_01.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-12-19T22:00:01Z","sha1":"c7559faa3f520837456b2a3736c663a856812049","complianceLevel":0},{"id":"b1.0","type":"old_beta","url":"https://launchermeta.mojang.com/v1/packages/5be70efae7eea5f18ce164fb264eaa9563a054ee/b1.0.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-12-19T22:00:00Z","sha1":"5be70efae7eea5f18ce164fb264eaa9563a054ee","complianceLevel":0},{"id":"a1.2.6","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/d385e176aa7d3d3702bac78ad1ba906a77de13df/a1.2.6.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-12-02T22:00:00Z","sha1":"d385e176aa7d3d3702bac78ad1ba906a77de13df","complianceLevel":0},{"id":"a1.2.5","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/491a4961f00770bd130206c013795f35af948493/a1.2.5.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-30T22:00:00Z","sha1":"491a4961f00770bd130206c013795f35af948493","complianceLevel":0},{"id":"a1.2.4_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/e802a257031c5b9297c971599cc2573c2efece2c/a1.2.4_01.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-29T22:00:00Z","sha1":"e802a257031c5b9297c971599cc2573c2efece2c","complianceLevel":0},{"id":"a1.2.3_04","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/467403a159661d486fbe49480faf0909ea533759/a1.2.3_04.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-25T22:00:00Z","sha1":"467403a159661d486fbe49480faf0909ea533759","complianceLevel":0},{"id":"a1.2.3_02","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/31fa028661857f2e3d3732d07a6d36ec21d6dbdc/a1.2.3_02.json","time":"2019-06-28T07:05:41Z","releaseTime":"2010-11-24T22:00:00Z","sha1":"31fa028661857f2e3d3732d07a6d36ec21d6dbdc","complianceLevel":0},{"id":"a1.2.3_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/2dbccc4579a4481dc8d72a962d396de044648522/a1.2.3_01.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-23T22:00:01Z","sha1":"2dbccc4579a4481dc8d72a962d396de044648522","complianceLevel":0},{"id":"a1.2.3","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/48f077bf27e0a01a0bb2051e0ac17a96693cb730/a1.2.3.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-23T22:00:00Z","sha1":"48f077bf27e0a01a0bb2051e0ac17a96693cb730","complianceLevel":0},{"id":"a1.2.2b","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/0fbd340ae9087db32535ed0fb2d119240e7e0aaa/a1.2.2b.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-09T22:00:01Z","sha1":"0fbd340ae9087db32535ed0fb2d119240e7e0aaa","complianceLevel":0},{"id":"a1.2.2a","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/6679a974769ad2c6b88025ccbb60c72612dcee1f/a1.2.2a.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-09T22:00:00Z","sha1":"6679a974769ad2c6b88025ccbb60c72612dcee1f","complianceLevel":0},{"id":"a1.2.1_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/79e993b71f867e777a0ac9e2816bfd3df5c1aaed/a1.2.1_01.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-04T22:00:01Z","sha1":"79e993b71f867e777a0ac9e2816bfd3df5c1aaed","complianceLevel":0},{"id":"a1.2.1","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/f601478f5b0bf55ba0a302a4d1a8ce402c9311c1/a1.2.1.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-04T22:00:00Z","sha1":"f601478f5b0bf55ba0a302a4d1a8ce402c9311c1","complianceLevel":0},{"id":"a1.2.0_02","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/48465dfa2e2066e3b06e8fca934f2bbd7d03e65c/a1.2.0_02.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-11-03T22:00:00Z","sha1":"48465dfa2e2066e3b06e8fca934f2bbd7d03e65c","complianceLevel":0},{"id":"a1.2.0_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/e31556ae6f925d4dc7a06a5110cce731eca6eaa8/a1.2.0_01.json","time":"2019-06-28T07:05:40Z","releaseTime":"2010-10-30T22:00:00Z","sha1":"e31556ae6f925d4dc7a06a5110cce731eca6eaa8","complianceLevel":0},{"id":"a1.2.0","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a0e7c34fba8c11fa8b84a56a01ed8505ad34b52a/a1.2.0.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-10-29T22:00:00Z","sha1":"a0e7c34fba8c11fa8b84a56a01ed8505ad34b52a","complianceLevel":0},{"id":"a1.1.2_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/c28a71888f39178cfc6f882fd62f49de920d138e/a1.1.2_01.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-09-22T22:00:00Z","sha1":"c28a71888f39178cfc6f882fd62f49de920d138e","complianceLevel":0},{"id":"a1.1.2","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/1231fefa206b10993e4b77b13f86fc72759db038/a1.1.2.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-09-19T22:00:00Z","sha1":"1231fefa206b10993e4b77b13f86fc72759db038","complianceLevel":0},{"id":"a1.1.0","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a30685ddf58121f25dd845e5361a3d262409489d/a1.1.0.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-09-12T22:00:00Z","sha1":"a30685ddf58121f25dd845e5361a3d262409489d","complianceLevel":0},{"id":"a1.0.17_04","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/7c85d4575c9cc951135c3e6e958e1fcb2ed4e4ae/a1.0.17_04.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-08-22T22:00:00Z","sha1":"7c85d4575c9cc951135c3e6e958e1fcb2ed4e4ae","complianceLevel":0},{"id":"a1.0.17_02","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/54d1b6731a61a0b513ec0f677b58249be6c94086/a1.0.17_02.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-08-19T22:00:00Z","sha1":"54d1b6731a61a0b513ec0f677b58249be6c94086","complianceLevel":0},{"id":"a1.0.16","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/139fcc1a590a1166b872046bf4b82cfb04452061/a1.0.16.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-08-11T22:00:00Z","sha1":"139fcc1a590a1166b872046bf4b82cfb04452061","complianceLevel":0},{"id":"a1.0.15","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/786cd66bd91d3bd8ebd5d7fb10ec63daf671b646/a1.0.15.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-08-03T22:00:00Z","sha1":"786cd66bd91d3bd8ebd5d7fb10ec63daf671b646","complianceLevel":0},{"id":"a1.0.14","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/eff58a647f38df437241e769a9703baa40e0efd8/a1.0.14.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-07-29T22:00:00Z","sha1":"eff58a647f38df437241e769a9703baa40e0efd8","complianceLevel":0},{"id":"a1.0.11","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/3467dbde729f4e43047e54627ca20c82c9ee9a66/a1.0.11.json","time":"2019-06-28T07:05:38Z","releaseTime":"2010-07-22T22:00:00Z","sha1":"3467dbde729f4e43047e54627ca20c82c9ee9a66","complianceLevel":0},{"id":"a1.0.5_01","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/269ea3fdb671777a7bd0e97d4046cc27dc909694/a1.0.5_01.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-07-12T22:00:00Z","sha1":"269ea3fdb671777a7bd0e97d4046cc27dc909694","complianceLevel":0},{"id":"a1.0.4","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a1f71c0a68d59c0b6570073b440fb55ff889ba5a/a1.0.4.json","time":"2019-06-28T07:05:39Z","releaseTime":"2010-07-08T22:00:00Z","sha1":"a1f71c0a68d59c0b6570073b440fb55ff889ba5a","complianceLevel":0},{"id":"inf-20100618","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/065ce5795aaf172080a4975cefac0d248bee7a3b/inf-20100618.json","time":"2019-06-28T07:05:42Z","releaseTime":"2010-06-15T22:00:00Z","sha1":"065ce5795aaf172080a4975cefac0d248bee7a3b","complianceLevel":0},{"id":"c0.30_01c","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/0bb9bdebc3e124818fd31779a4bb394283050a02/c0.30_01c.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-12-21T22:00:00Z","sha1":"0bb9bdebc3e124818fd31779a4bb394283050a02","complianceLevel":0},{"id":"c0.0.13a","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/5d77dd27f9684b4cbfbecc29a2c8c28d36a5e9c2/c0.0.13a.json","time":"2019-06-28T07:05:41Z","releaseTime":"2009-05-30T22:00:00Z","sha1":"5d77dd27f9684b4cbfbecc29a2c8c28d36a5e9c2","complianceLevel":0},{"id":"c0.0.13a_03","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/3e038a3d4ce26771a8019c8c348a18844b950fdc/c0.0.13a_03.json","time":"2019-06-28T07:05:41Z","releaseTime":"2009-05-21T22:00:00Z","sha1":"3e038a3d4ce26771a8019c8c348a18844b950fdc","complianceLevel":0},{"id":"c0.0.11a","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/d700384628b420acbe14388efc3b563e85ff7961/c0.0.11a.json","time":"2019-06-28T07:05:41Z","releaseTime":"2009-05-16T22:00:00Z","sha1":"d700384628b420acbe14388efc3b563e85ff7961","complianceLevel":0},{"id":"rd-161348","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/a937d17cca60af0a7d45d04b49a849af16b08a28/rd-161348.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-16T11:48:00Z","sha1":"a937d17cca60af0a7d45d04b49a849af16b08a28","complianceLevel":0},{"id":"rd-160052","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/c33dd04acfdbf34dcdfcca64db8545339ea24f02/rd-160052.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-15T22:52:00Z","sha1":"c33dd04acfdbf34dcdfcca64db8545339ea24f02","complianceLevel":0},{"id":"rd-20090515","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/1bcd01f323df5c5092e9f0967b3d310d5bc0013a/rd-20090515.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-14T22:00:00Z","sha1":"1bcd01f323df5c5092e9f0967b3d310d5bc0013a","complianceLevel":0},{"id":"rd-132328","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/77baa48d9cbbc6c3165c294e5bcdab2ca6903d57/rd-132328.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-13T21:28:00Z","sha1":"77baa48d9cbbc6c3165c294e5bcdab2ca6903d57","complianceLevel":0},{"id":"rd-132211","type":"old_alpha","url":"https://launchermeta.mojang.com/v1/packages/0f2a46082313d0ec67972f9f63c3fa6591f9bb85/rd-132211.json","time":"2019-06-28T07:05:42Z","releaseTime":"2009-05-13T20:11:00Z","sha1":"0f2a46082313d0ec67972f9f63c3fa6591f9bb85","complianceLevel":0}]},"forge":{"gameVersions":[{"id":"1.10.2","loaders":{"latest":{"id":"1.10.2-12.18.3.2511","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.10.2-forge1.10.2-12.18.3.2511.json"}}},{"id":"1.8","loaders":{"latest":{"id":"1.8-11.14.4.1577","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.8-forge1.8-11.14.4.1577.json"}}},{"id":"1.14.3","loaders":{"latest":{"id":"1.14.3-27.0.60","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.3-forge-27.0.60.json"}}},{"id":"1.13.2","loaders":{"latest":{"id":"1.13.2-25.0.219","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.13.2-forge-25.0.219.json"}}},{"id":"1.16.2","loaders":{"latest":{"id":"1.16.2-33.0.61","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.2-forge-33.0.61.json"}}},{"id":"1.15.2","loaders":{"latest":{"id":"1.15.2-31.2.50","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.15.2-forge-31.2.50.json"}}},{"id":"1.9","loaders":{"latest":{"id":"1.9-12.16.1.1938-1.9.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.9-forge1.9-12.16.1.1938-1.9.0.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.108","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.108.json"}}},{"id":"1.11","loaders":{"latest":{"id":"1.11-13.19.1.2199","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.11-forge1.11-13.19.1.2199.json"}}},{"id":"1.6.2","loaders":{"latest":{"id":"1.6.2-9.10.1.871","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.6.2-Forge9.10.1.871.json"}}},{"id":"1.6.1","loaders":{"latest":{"id":"1.6.1-8.9.0.775","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/Forge8.9.0.775.json"}}},{"id":"1.10","loaders":{"latest":{"id":"1.10-12.18.0.2000-1.10.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.10-forge1.10-12.18.0.2000-1.10.0.json"}}},{"id":"1.9.4","loaders":{"latest":{"id":"1.9.4-12.17.0.2317-1.9.4","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.9.4-forge1.9.4-12.17.0.2317-1.9.4.json"}}},{"id":"1.8.9","loaders":{"latest":{"id":"1.8.9-11.15.1.2318-1.8.9","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.8.9-forge1.8.9-11.15.1.2318-1.8.9.json"}}},{"id":"1.15","loaders":{"latest":{"id":"1.15-29.0.4","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.15-forge-29.0.4.json"}}},{"id":"1.12","loaders":{"latest":{"id":"1.12-14.21.1.2443","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12-forge1.12-14.21.1.2443.json"}}},{"id":"1.16.1","loaders":{"latest":{"id":"1.16.1-32.0.108","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.1-forge-32.0.108.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-28.2.23","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.4-forge-28.2.23.json"}}},{"id":"1.16.3","loaders":{"latest":{"id":"1.16.3-34.1.42","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.3-forge-34.1.42.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2855","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2855.json"}}},{"id":"1.7.10_pre4","loaders":{"latest":{"id":"1.7.10_pre4-10.12.2.1149-prerelease","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.7.10-pre4-Forge10.12.2.1149-prerelease.json"}}},{"id":"1.7.10","loaders":{"latest":{"id":"1.7.10-10.13.4.1614-1.7.10","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.7.10-Forge10.13.4.1614-1.7.10.json"}}},{"id":"1.11.2","loaders":{"latest":{"id":"1.11.2-13.20.1.2588","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.11.2-forge1.11.2-13.20.1.2588.json"}}},{"id":"1.7.2","loaders":{"latest":{"id":"1.7.2-10.12.2.1161-mc172","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.7.2-Forge10.12.2.1161-mc172.json"}}},{"id":"1.6.3","loaders":{"latest":{"id":"1.6.3-9.11.0.878","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.6.3-Forge9.11.0.878.json"}}},{"id":"1.8.8","loaders":{"latest":{"id":"1.8.8-11.15.0.1655","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.8.8-forge1.8.8-11.15.0.1655.json"}}},{"id":"1.16.4","loaders":{"latest":{"id":"1.16.4-35.1.37","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.4-forge-35.1.37.json"}}},{"id":"1.14.2","loaders":{"latest":{"id":"1.14.2-26.0.63","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.2-forge-26.0.63.json"}}},{"id":"1.15.1","loaders":{"latest":{"id":"1.15.1-30.0.51","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.15.1-forge-30.0.51.json"}}},{"id":"1.5.2","loaders":{"latest":{"id":"1.5.2-7.8.1.738","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.5.2-Forge7.8.1.738.json"}}},{"id":"1.6.4","loaders":{"latest":{"id":"1.6.4-9.11.1.1345","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.6.4-Forge9.11.1.1345.json"}}},{"id":"1.12.1","loaders":{"latest":{"id":"1.12.1-14.22.1.2485","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.1-forge1.12.1-14.22.1.2485.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.9","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.9.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.109","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.109.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.13","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.13.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.16","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.16.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.110","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.110.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.111","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.111.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.112","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.112.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.17","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.17.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.18","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.18.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.116","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.116.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.19","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.19.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.117","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.117.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.118","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.118.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.119","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.119.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.120","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.120.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.122","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.122.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.0.126","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.0.126.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.1.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.1.0.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.0.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.1","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.1.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.2","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.2.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.4","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.4.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.5","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.5.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.6","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.6.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.8","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.8.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.10","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.10.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.11","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.11.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.12","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.12.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.13","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.13.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.14","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.14.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.15","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.15.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.16","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.16.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.20","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.20.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-37.1.1","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.17.1-forge-37.1.1.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-38.0.17","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18-forge-38.0.17.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2856","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2856.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-28.2.25","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.4-forge-28.2.25.json"}}},{"id":"1.13.2","loaders":{"latest":{"id":"1.13.2-25.0.222","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.13.2-forge-25.0.222.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2857","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2857.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2858","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2858.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-39.0.0","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18.1-forge-39.0.0.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2859","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2859.json"}}},{"id":"1.13.2","loaders":{"latest":{"id":"1.13.2-25.0.223","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.13.2-forge-25.0.223.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-28.2.26","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.14.4-forge-28.2.26.json"}}},{"id":"1.12.2","loaders":{"latest":{"id":"1.12.2-14.23.5.2860","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.12.2-forge-14.23.5.2860.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-39.0.3","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18.1-forge-39.0.3.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-39.0.5","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.18.1-forge-39.0.5.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-36.2.22","url":"https://staging-cdn.modrinth.com/gamedata/forge/v0/versions/1.16.5-forge-36.2.22.json"}}}]},"fabric":{"gameVersions":[{"id":"1.18.1-rc3","loaders":{"latest":{"id":"1.18.1-rc3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-rc3-0.12.12.json"}}},{"id":"1.18.1","loaders":{"latest":{"id":"1.18.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-0.12.12.json"}}},{"id":"1.18.1-rc2","loaders":{"latest":{"id":"1.18.1-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-rc2-0.12.12.json"}}},{"id":"1.18.1-rc1","loaders":{"latest":{"id":"1.18.1-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-rc1-0.12.12.json"}}},{"id":"1.18.1-pre1","loaders":{"latest":{"id":"1.18.1-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18.1-pre1-0.12.12.json"}}},{"id":"1.18","loaders":{"latest":{"id":"1.18-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-0.12.12.json"}}},{"id":"1.18-rc4","loaders":{"latest":{"id":"1.18-rc4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc4-0.12.12.json"}}},{"id":"1.18-rc3","loaders":{"latest":{"id":"1.18-rc3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc3-0.12.12.json"}}},{"id":"1.18-rc2","loaders":{"latest":{"id":"1.18-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc2-0.12.12.json"}}},{"id":"1.18-rc1","loaders":{"latest":{"id":"1.18-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-rc1-0.12.12.json"}}},{"id":"1.18-pre8","loaders":{"latest":{"id":"1.18-pre8-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre8-0.12.12.json"}}},{"id":"1.18-pre7","loaders":{"latest":{"id":"1.18-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre7-0.12.12.json"}}},{"id":"1.18-pre6","loaders":{"latest":{"id":"1.18-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre6-0.12.12.json"}}},{"id":"1.18-pre5","loaders":{"latest":{"id":"1.18-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre5-0.12.12.json"}}},{"id":"1.18-pre4","loaders":{"latest":{"id":"1.18-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre4-0.12.12.json"}}},{"id":"1.18-pre3","loaders":{"latest":{"id":"1.18-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre3-0.12.12.json"}}},{"id":"1.18-pre2","loaders":{"latest":{"id":"1.18-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre2-0.12.12.json"}}},{"id":"1.18-pre1","loaders":{"latest":{"id":"1.18-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18-pre1-0.12.12.json"}}},{"id":"21w43a","loaders":{"latest":{"id":"21w43a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w43a-0.12.12.json"}}},{"id":"21w44a","loaders":{"latest":{"id":"21w44a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w44a-0.12.12.json"}}},{"id":"21w42a","loaders":{"latest":{"id":"21w42a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w42a-0.12.12.json"}}},{"id":"21w41a","loaders":{"latest":{"id":"21w41a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w41a-0.12.12.json"}}},{"id":"21w40a","loaders":{"latest":{"id":"21w40a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w40a-0.12.12.json"}}},{"id":"21w38a","loaders":{"latest":{"id":"21w38a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w38a-0.12.12.json"}}},{"id":"21w39a","loaders":{"latest":{"id":"21w39a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w39a-0.12.12.json"}}},{"id":"21w37a","loaders":{"latest":{"id":"21w37a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w37a-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-6","loaders":{"latest":{"id":"1.18_experimental-snapshot-6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-6-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-5","loaders":{"latest":{"id":"1.18_experimental-snapshot-5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-5-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-7","loaders":{"latest":{"id":"1.18_experimental-snapshot-7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-7-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-4","loaders":{"latest":{"id":"1.18_experimental-snapshot-4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-4-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-3","loaders":{"latest":{"id":"1.18_experimental-snapshot-3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-3-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-2","loaders":{"latest":{"id":"1.18_experimental-snapshot-2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-2-0.12.12.json"}}},{"id":"1.18_experimental-snapshot-1","loaders":{"latest":{"id":"1.18_experimental-snapshot-1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.18_experimental-snapshot-1-0.12.12.json"}}},{"id":"1.17.1","loaders":{"latest":{"id":"1.17.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-0.12.12.json"}}},{"id":"1.17.1-rc2","loaders":{"latest":{"id":"1.17.1-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-rc2-0.12.12.json"}}},{"id":"1.17.1-rc1","loaders":{"latest":{"id":"1.17.1-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-rc1-0.12.12.json"}}},{"id":"1.17.1-pre3","loaders":{"latest":{"id":"1.17.1-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-pre3-0.12.12.json"}}},{"id":"1.17.1-pre2","loaders":{"latest":{"id":"1.17.1-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-pre2-0.12.12.json"}}},{"id":"1.17.1-pre1","loaders":{"latest":{"id":"1.17.1-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17.1-pre1-0.12.12.json"}}},{"id":"1.17","loaders":{"latest":{"id":"1.17-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-0.12.12.json"}}},{"id":"1.17-rc1","loaders":{"latest":{"id":"1.17-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-rc1-0.12.12.json"}}},{"id":"1.17-pre5","loaders":{"latest":{"id":"1.17-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre5-0.12.12.json"}}},{"id":"1.17-pre4","loaders":{"latest":{"id":"1.17-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre4-0.12.12.json"}}},{"id":"1.17-pre2","loaders":{"latest":{"id":"1.17-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre2-0.12.12.json"}}},{"id":"1.17-pre3","loaders":{"latest":{"id":"1.17-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre3-0.12.12.json"}}},{"id":"1.17-pre1","loaders":{"latest":{"id":"1.17-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-pre1-0.12.12.json"}}},{"id":"21w20a","loaders":{"latest":{"id":"21w20a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w20a-0.12.12.json"}}},{"id":"21w19a","loaders":{"latest":{"id":"21w19a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w19a-0.12.12.json"}}},{"id":"21w18a","loaders":{"latest":{"id":"21w18a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w18a-0.12.12.json"}}},{"id":"1.17-rc2","loaders":{"latest":{"id":"1.17-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.17-rc2-0.12.12.json"}}},{"id":"21w17a","loaders":{"latest":{"id":"21w17a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w17a-0.12.12.json"}}},{"id":"21w16a","loaders":{"latest":{"id":"21w16a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w16a-0.12.12.json"}}},{"id":"21w15a","loaders":{"latest":{"id":"21w15a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w15a-0.12.12.json"}}},{"id":"21w14a","loaders":{"latest":{"id":"21w14a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w14a-0.12.12.json"}}},{"id":"21w13a","loaders":{"latest":{"id":"21w13a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w13a-0.12.12.json"}}},{"id":"21w11a","loaders":{"latest":{"id":"21w11a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w11a-0.12.12.json"}}},{"id":"21w10a","loaders":{"latest":{"id":"21w10a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w10a-0.12.12.json"}}},{"id":"21w08b","loaders":{"latest":{"id":"21w08b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w08b-0.12.12.json"}}},{"id":"21w08a","loaders":{"latest":{"id":"21w08a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w08a-0.12.12.json"}}},{"id":"21w07a","loaders":{"latest":{"id":"21w07a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w07a-0.12.12.json"}}},{"id":"21w06a","loaders":{"latest":{"id":"21w06a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w06a-0.12.12.json"}}},{"id":"21w05b","loaders":{"latest":{"id":"21w05b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w05b-0.12.12.json"}}},{"id":"21w05a","loaders":{"latest":{"id":"21w05a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w05a-0.12.12.json"}}},{"id":"1.16.5-rc1","loaders":{"latest":{"id":"1.16.5-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.5-rc1-0.12.12.json"}}},{"id":"1.16.5","loaders":{"latest":{"id":"1.16.5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.5-0.12.12.json"}}},{"id":"20w51a","loaders":{"latest":{"id":"20w51a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w51a-0.12.12.json"}}},{"id":"21w03a","loaders":{"latest":{"id":"21w03a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/21w03a-0.12.12.json"}}},{"id":"20w49a","loaders":{"latest":{"id":"20w49a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w49a-0.12.12.json"}}},{"id":"20w48a","loaders":{"latest":{"id":"20w48a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w48a-0.12.12.json"}}},{"id":"20w46a","loaders":{"latest":{"id":"20w46a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w46a-0.12.12.json"}}},{"id":"20w45a","loaders":{"latest":{"id":"20w45a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w45a-0.12.12.json"}}},{"id":"1.16.4","loaders":{"latest":{"id":"1.16.4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-0.12.12.json"}}},{"id":"1.16.4-pre2","loaders":{"latest":{"id":"1.16.4-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-pre2-0.12.12.json"}}},{"id":"1.16.4-rc1","loaders":{"latest":{"id":"1.16.4-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-rc1-0.12.12.json"}}},{"id":"1.16.4-pre1","loaders":{"latest":{"id":"1.16.4-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.4-pre1-0.12.12.json"}}},{"id":"1.16.3","loaders":{"latest":{"id":"1.16.3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.3-0.12.12.json"}}},{"id":"1.16.3-rc1","loaders":{"latest":{"id":"1.16.3-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.3-rc1-0.12.12.json"}}},{"id":"1.16_combat-3","loaders":{"latest":{"id":"1.16_combat-3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16_combat-3-0.12.12.json"}}},{"id":"1.16.2","loaders":{"latest":{"id":"1.16.2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-0.12.12.json"}}},{"id":"1.16.2-rc2","loaders":{"latest":{"id":"1.16.2-rc2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-rc2-0.12.12.json"}}},{"id":"1.16.2-rc1","loaders":{"latest":{"id":"1.16.2-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-rc1-0.12.12.json"}}},{"id":"1.16.2-pre3","loaders":{"latest":{"id":"1.16.2-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-pre3-0.12.12.json"}}},{"id":"1.16.2-pre1","loaders":{"latest":{"id":"1.16.2-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-pre1-0.12.12.json"}}},{"id":"1.16.2-pre2","loaders":{"latest":{"id":"1.16.2-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.2-pre2-0.12.12.json"}}},{"id":"20w30a","loaders":{"latest":{"id":"20w30a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w30a-0.12.12.json"}}},{"id":"20w28a","loaders":{"latest":{"id":"20w28a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w28a-0.12.12.json"}}},{"id":"20w29a","loaders":{"latest":{"id":"20w29a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w29a-0.12.12.json"}}},{"id":"1.16.1","loaders":{"latest":{"id":"1.16.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16.1-0.12.12.json"}}},{"id":"1.16","loaders":{"latest":{"id":"1.16-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-0.12.12.json"}}},{"id":"20w27a","loaders":{"latest":{"id":"20w27a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w27a-0.12.12.json"}}},{"id":"1.16-rc1","loaders":{"latest":{"id":"1.16-rc1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-rc1-0.12.12.json"}}},{"id":"1.16-pre7","loaders":{"latest":{"id":"1.16-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre7-0.12.12.json"}}},{"id":"1.16-pre8","loaders":{"latest":{"id":"1.16-pre8-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre8-0.12.12.json"}}},{"id":"1.16-pre5","loaders":{"latest":{"id":"1.16-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre5-0.12.12.json"}}},{"id":"1.16-pre4","loaders":{"latest":{"id":"1.16-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre4-0.12.12.json"}}},{"id":"1.16-pre3","loaders":{"latest":{"id":"1.16-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre3-0.12.12.json"}}},{"id":"1.16-pre6","loaders":{"latest":{"id":"1.16-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre6-0.12.12.json"}}},{"id":"1.16-pre2","loaders":{"latest":{"id":"1.16-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre2-0.12.12.json"}}},{"id":"1.16-pre1","loaders":{"latest":{"id":"1.16-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.16-pre1-0.12.12.json"}}},{"id":"20w22a","loaders":{"latest":{"id":"20w22a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w22a-0.12.12.json"}}},{"id":"20w20b","loaders":{"latest":{"id":"20w20b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w20b-0.12.12.json"}}},{"id":"20w20a","loaders":{"latest":{"id":"20w20a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w20a-0.12.12.json"}}},{"id":"20w21a","loaders":{"latest":{"id":"20w21a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w21a-0.12.12.json"}}},{"id":"20w19a","loaders":{"latest":{"id":"20w19a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w19a-0.12.12.json"}}},{"id":"20w18a","loaders":{"latest":{"id":"20w18a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w18a-0.12.12.json"}}},{"id":"20w17a","loaders":{"latest":{"id":"20w17a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w17a-0.12.12.json"}}},{"id":"20w16a","loaders":{"latest":{"id":"20w16a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w16a-0.12.12.json"}}},{"id":"20w15a","loaders":{"latest":{"id":"20w15a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w15a-0.12.12.json"}}},{"id":"20w14a","loaders":{"latest":{"id":"20w14a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w14a-0.12.12.json"}}},{"id":"20w14infinite","loaders":{"latest":{"id":"20w14infinite-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w14infinite-0.12.12.json"}}},{"id":"20w13b","loaders":{"latest":{"id":"20w13b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w13b-0.12.12.json"}}},{"id":"20w13a","loaders":{"latest":{"id":"20w13a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w13a-0.12.12.json"}}},{"id":"20w12a","loaders":{"latest":{"id":"20w12a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w12a-0.12.12.json"}}},{"id":"20w11a","loaders":{"latest":{"id":"20w11a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w11a-0.12.12.json"}}},{"id":"20w10a","loaders":{"latest":{"id":"20w10a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w10a-0.12.12.json"}}},{"id":"20w09a","loaders":{"latest":{"id":"20w09a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w09a-0.12.12.json"}}},{"id":"20w08a","loaders":{"latest":{"id":"20w08a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w08a-0.12.12.json"}}},{"id":"20w07a","loaders":{"latest":{"id":"20w07a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w07a-0.12.12.json"}}},{"id":"20w06a","loaders":{"latest":{"id":"20w06a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/20w06a-0.12.12.json"}}},{"id":"1.15.2","loaders":{"latest":{"id":"1.15.2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.2-0.12.12.json"}}},{"id":"1.15.1","loaders":{"latest":{"id":"1.15.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.1-0.12.12.json"}}},{"id":"1.15.2-pre1","loaders":{"latest":{"id":"1.15.2-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.2-pre1-0.12.12.json"}}},{"id":"1.15.1-pre1","loaders":{"latest":{"id":"1.15.1-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.1-pre1-0.12.12.json"}}},{"id":"1.15-pre7","loaders":{"latest":{"id":"1.15-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre7-0.12.12.json"}}},{"id":"1.15-pre6","loaders":{"latest":{"id":"1.15-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre6-0.12.12.json"}}},{"id":"1.15-pre4","loaders":{"latest":{"id":"1.15-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre4-0.12.12.json"}}},{"id":"1.15_combat-1","loaders":{"latest":{"id":"1.15_combat-1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15_combat-1-0.12.12.json"}}},{"id":"1.15-pre5","loaders":{"latest":{"id":"1.15-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre5-0.12.12.json"}}},{"id":"1.15.2-pre2","loaders":{"latest":{"id":"1.15.2-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15.2-pre2-0.12.12.json"}}},{"id":"1.15","loaders":{"latest":{"id":"1.15-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-0.12.12.json"}}},{"id":"1.15-pre3","loaders":{"latest":{"id":"1.15-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre3-0.12.12.json"}}},{"id":"1.15-pre2","loaders":{"latest":{"id":"1.15-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre2-0.12.12.json"}}},{"id":"19w46b","loaders":{"latest":{"id":"19w46b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w46b-0.12.12.json"}}},{"id":"1.15-pre1","loaders":{"latest":{"id":"1.15-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.15-pre1-0.12.12.json"}}},{"id":"19w46a","loaders":{"latest":{"id":"19w46a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w46a-0.12.12.json"}}},{"id":"19w45b","loaders":{"latest":{"id":"19w45b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w45b-0.12.12.json"}}},{"id":"19w45a","loaders":{"latest":{"id":"19w45a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w45a-0.12.12.json"}}},{"id":"1.14_combat-3","loaders":{"latest":{"id":"1.14_combat-3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14_combat-3-0.12.12.json"}}},{"id":"19w44a","loaders":{"latest":{"id":"19w44a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w44a-0.12.12.json"}}},{"id":"19w42a","loaders":{"latest":{"id":"19w42a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w42a-0.12.12.json"}}},{"id":"19w41a","loaders":{"latest":{"id":"19w41a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w41a-0.12.12.json"}}},{"id":"19w39a","loaders":{"latest":{"id":"19w39a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w39a-0.12.12.json"}}},{"id":"19w40a","loaders":{"latest":{"id":"19w40a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w40a-0.12.12.json"}}},{"id":"19w38b","loaders":{"latest":{"id":"19w38b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w38b-0.12.12.json"}}},{"id":"19w38a","loaders":{"latest":{"id":"19w38a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w38a-0.12.12.json"}}},{"id":"19w37a","loaders":{"latest":{"id":"19w37a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w37a-0.12.12.json"}}},{"id":"19w36a","loaders":{"latest":{"id":"19w36a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w36a-0.12.12.json"}}},{"id":"19w35a","loaders":{"latest":{"id":"19w35a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w35a-0.12.12.json"}}},{"id":"19w34a","loaders":{"latest":{"id":"19w34a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w34a-0.12.12.json"}}},{"id":"1.14_combat-0","loaders":{"latest":{"id":"1.14_combat-0-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14_combat-0-0.12.12.json"}}},{"id":"1.14.4","loaders":{"latest":{"id":"1.14.4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-0.12.12.json"}}},{"id":"1.14.4-pre7","loaders":{"latest":{"id":"1.14.4-pre7-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre7-0.12.12.json"}}},{"id":"1.14.4-pre6","loaders":{"latest":{"id":"1.14.4-pre6-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre6-0.12.12.json"}}},{"id":"1.14.4-pre5","loaders":{"latest":{"id":"1.14.4-pre5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre5-0.12.12.json"}}},{"id":"1.14.4-pre4","loaders":{"latest":{"id":"1.14.4-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre4-0.12.12.json"}}},{"id":"1.14.4-pre2","loaders":{"latest":{"id":"1.14.4-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre2-0.12.12.json"}}},{"id":"1.14.4-pre3","loaders":{"latest":{"id":"1.14.4-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre3-0.12.12.json"}}},{"id":"1.14.4-pre1","loaders":{"latest":{"id":"1.14.4-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.4-pre1-0.12.12.json"}}},{"id":"1.14_combat-212796","loaders":{"latest":{"id":"1.14_combat-212796-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14_combat-212796-0.12.12.json"}}},{"id":"1.14.3","loaders":{"latest":{"id":"1.14.3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-0.12.12.json"}}},{"id":"1.14.3-pre4","loaders":{"latest":{"id":"1.14.3-pre4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre4-0.12.12.json"}}},{"id":"1.14.3-pre2","loaders":{"latest":{"id":"1.14.3-pre2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre2-0.12.12.json"}}},{"id":"1.14.3-pre3","loaders":{"latest":{"id":"1.14.3-pre3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre3-0.12.12.json"}}},{"id":"1.14.3-pre1","loaders":{"latest":{"id":"1.14.3-pre1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.3-pre1-0.12.12.json"}}},{"id":"1.14.2","loaders":{"latest":{"id":"1.14.2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 4","loaders":{"latest":{"id":"1.14.2 Pre-Release 4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 4-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 3","loaders":{"latest":{"id":"1.14.2 Pre-Release 3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 3-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 2","loaders":{"latest":{"id":"1.14.2 Pre-Release 2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 2-0.12.12.json"}}},{"id":"1.14.2 Pre-Release 1","loaders":{"latest":{"id":"1.14.2 Pre-Release 1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.2 Pre-Release 1-0.12.12.json"}}},{"id":"1.14.1","loaders":{"latest":{"id":"1.14.1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.1-0.12.12.json"}}},{"id":"1.14.1 Pre-Release 2","loaders":{"latest":{"id":"1.14.1 Pre-Release 2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.1 Pre-Release 2-0.12.12.json"}}},{"id":"1.14.1 Pre-Release 1","loaders":{"latest":{"id":"1.14.1 Pre-Release 1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14.1 Pre-Release 1-0.12.12.json"}}},{"id":"1.14","loaders":{"latest":{"id":"1.14-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14-0.12.12.json"}}},{"id":"1.14 Pre-Release 5","loaders":{"latest":{"id":"1.14 Pre-Release 5-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 5-0.12.12.json"}}},{"id":"1.14 Pre-Release 4","loaders":{"latest":{"id":"1.14 Pre-Release 4-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 4-0.12.12.json"}}},{"id":"1.14 Pre-Release 3","loaders":{"latest":{"id":"1.14 Pre-Release 3-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 3-0.12.12.json"}}},{"id":"1.14 Pre-Release 2","loaders":{"latest":{"id":"1.14 Pre-Release 2-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 2-0.12.12.json"}}},{"id":"1.14 Pre-Release 1","loaders":{"latest":{"id":"1.14 Pre-Release 1-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/1.14 Pre-Release 1-0.12.12.json"}}},{"id":"19w14b","loaders":{"latest":{"id":"19w14b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w14b-0.12.12.json"}}},{"id":"19w14a","loaders":{"latest":{"id":"19w14a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w14a-0.12.12.json"}}},{"id":"3D Shareware v1.34","loaders":{"latest":{"id":"3D Shareware v1.34-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/3D Shareware v1.34-0.12.12.json"}}},{"id":"19w13b","loaders":{"latest":{"id":"19w13b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w13b-0.12.12.json"}}},{"id":"19w13a","loaders":{"latest":{"id":"19w13a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w13a-0.12.12.json"}}},{"id":"19w12a","loaders":{"latest":{"id":"19w12a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w12a-0.12.12.json"}}},{"id":"19w11b","loaders":{"latest":{"id":"19w11b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w11b-0.12.12.json"}}},{"id":"19w11a","loaders":{"latest":{"id":"19w11a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w11a-0.12.12.json"}}},{"id":"19w08b","loaders":{"latest":{"id":"19w08b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w08b-0.12.12.json"}}},{"id":"19w09a","loaders":{"latest":{"id":"19w09a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w09a-0.12.12.json"}}},{"id":"19w08a","loaders":{"latest":{"id":"19w08a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w08a-0.12.12.json"}}},{"id":"19w12b","loaders":{"latest":{"id":"19w12b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w12b-0.12.12.json"}}},{"id":"19w07a","loaders":{"latest":{"id":"19w07a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w07a-0.12.12.json"}}},{"id":"19w06a","loaders":{"latest":{"id":"19w06a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w06a-0.12.12.json"}}},{"id":"19w05a","loaders":{"latest":{"id":"19w05a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w05a-0.12.12.json"}}},{"id":"19w04b","loaders":{"latest":{"id":"19w04b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w04b-0.12.12.json"}}},{"id":"19w04a","loaders":{"latest":{"id":"19w04a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w04a-0.12.12.json"}}},{"id":"19w03c","loaders":{"latest":{"id":"19w03c-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w03c-0.12.12.json"}}},{"id":"19w03b","loaders":{"latest":{"id":"19w03b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w03b-0.12.12.json"}}},{"id":"19w03a","loaders":{"latest":{"id":"19w03a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w03a-0.12.12.json"}}},{"id":"18w50a","loaders":{"latest":{"id":"18w50a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w50a-0.12.12.json"}}},{"id":"19w02a","loaders":{"latest":{"id":"19w02a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/19w02a-0.12.12.json"}}},{"id":"18w49a","loaders":{"latest":{"id":"18w49a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w49a-0.12.12.json"}}},{"id":"18w47a","loaders":{"latest":{"id":"18w47a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w47a-0.12.12.json"}}},{"id":"18w47b","loaders":{"latest":{"id":"18w47b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w47b-0.12.12.json"}}},{"id":"18w46a","loaders":{"latest":{"id":"18w46a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w46a-0.12.12.json"}}},{"id":"18w45a","loaders":{"latest":{"id":"18w45a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w45a-0.12.12.json"}}},{"id":"18w44a","loaders":{"latest":{"id":"18w44a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w44a-0.12.12.json"}}},{"id":"18w48b","loaders":{"latest":{"id":"18w48b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w48b-0.12.12.json"}}},{"id":"18w48a","loaders":{"latest":{"id":"18w48a-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w48a-0.12.12.json"}}},{"id":"18w43c","loaders":{"latest":{"id":"18w43c-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w43c-0.12.12.json"}}},{"id":"18w43b","loaders":{"latest":{"id":"18w43b-0.12.12","url":"https://staging-cdn.modrinth.com/gamedata/fabric/v0/versions/18w43b-0.12.12.json"}}}]}} \ No newline at end of file diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 950061ba5..8feb2bd45 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -11,7 +11,7 @@ thiserror = "1.0" async-trait = "0.1.51" once_cell = "1.9.0" -daedalus = "0.1.6" +daedalus = "0.1.12" reqwest = { version = "0.11", features = ["json"] } serde = { version = "1.0", features = ["derive"] } diff --git a/theseus/src/meta.rs b/theseus/src/data/meta.rs similarity index 76% rename from theseus/src/meta.rs rename to theseus/src/data/meta.rs index 44b1fd869..1a993d7d8 100644 --- a/theseus/src/meta.rs +++ b/theseus/src/data/meta.rs @@ -1,27 +1,12 @@ +use crate::data::DataError; +use once_cell::sync; use serde::{Deserialize, Serialize}; -use std::io; -use tokio::sync::RwLockReadGuard; +use tokio::sync::{RwLock, RwLockReadGuard}; const META_FILE: &str = "meta.json"; -const META_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; +const META_URL: &str = "https://meta.modrinth.com/gamedata"; -#[derive(thiserror::Error, Debug)] -pub enum MetaError { - #[error("I/O error while reading metadata: {0}")] - IOError(#[from] io::Error), - - #[error("Daedalus error: {0}")] - DaedalusError(#[from] daedalus::Error), - - #[error("Attempted to access metadata without initializing it!")] - InitializedError, - - #[error("Error while serializing/deserializing JSON")] - SerdeError(#[from] serde_json::Error), -} - -use once_cell::sync; -use tokio::sync::RwLock; +static METADATA: sync::OnceCell> = sync::OnceCell::new(); #[derive(Clone, Serialize, Deserialize, Debug)] pub struct Metadata { @@ -30,10 +15,8 @@ pub struct Metadata { pub fabric: daedalus::modded::Manifest, } -static METADATA: sync::OnceCell> = sync::OnceCell::new(); - impl Metadata { - pub async fn init() -> Result<(), MetaError> { + pub async fn init() -> Result<(), DataError> { let meta_path = crate::LAUNCHER_WORK_DIR.join(META_FILE); if meta_path.exists() { @@ -63,7 +46,7 @@ impl Metadata { METADATA.get_or_init(|| RwLock::new(new)); } - Ok::<(), MetaError>(()) + Ok::<(), DataError>(()) } .await; @@ -75,7 +58,7 @@ impl Metadata { Err(err) => { log::warn!("Unable to fetch launcher metadata: {}", err) } - } + }; } }; @@ -88,7 +71,7 @@ impl Metadata { Ok(()) } - pub async fn fetch() -> Result { + pub async fn fetch() -> Result { let (game, forge, fabric) = futures::future::join3( daedalus::minecraft::fetch_version_manifest(Some(&*format!( "{}/minecraft/v0/manifest.json", @@ -106,10 +89,10 @@ impl Metadata { }) } - pub async fn get<'a>() -> Result, MetaError> { + pub async fn get<'a>() -> Result, DataError> { Ok(METADATA .get() - .ok_or_else(|| MetaError::InitializedError)? + .ok_or_else(|| DataError::InitializedError("metadata".to_string()))? .read() .await) } diff --git a/theseus/src/data/mod.rs b/theseus/src/data/mod.rs new file mode 100644 index 000000000..9308f2377 --- /dev/null +++ b/theseus/src/data/mod.rs @@ -0,0 +1,22 @@ +use std::io; + +pub use meta::Metadata; +pub use settings::Settings; + +mod meta; +mod settings; + +#[derive(thiserror::Error, Debug)] +pub enum DataError { + #[error("I/O error while reading data: {0}")] + IOError(#[from] io::Error), + + #[error("Daedalus error: {0}")] + DaedalusError(#[from] daedalus::Error), + + #[error("Attempted to access {0} without initializing it!")] + InitializedError(String), + + #[error("Error while serializing/deserializing data")] + SerdeError(#[from] serde_json::Error), +} diff --git a/theseus/src/data/settings.rs b/theseus/src/data/settings.rs new file mode 100644 index 000000000..5cce03dc7 --- /dev/null +++ b/theseus/src/data/settings.rs @@ -0,0 +1,96 @@ +use crate::data::DataError; +use once_cell::sync; +use serde::{Deserialize, Serialize}; +use tokio::sync::{RwLock, RwLockReadGuard}; + +const SETTINGS_FILE: &str = "settings.json"; + +static SETTINGS: sync::OnceCell> = sync::OnceCell::new(); + +#[derive(Clone, Serialize, Deserialize, Debug)] +pub struct Settings { + pub memory: i32, + pub game_resolution: (i32, i32), + pub custom_java_args: String, + pub java_8_path: Option, + pub java_17_path: Option, + pub wrapper_command: Option, +} + +impl Default for Settings { + fn default() -> Self { + Self { + memory: 2048, + game_resolution: (854, 480), + custom_java_args: "".to_string(), + java_8_path: None, + java_17_path: None, + wrapper_command: None, + } + } +} + +impl Settings { + pub async fn init() -> Result<(), DataError> { + let settings_path = crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE); + + if settings_path.exists() { + let settings_data = std::fs::read_to_string(settings_path) + .map(|x| serde_json::from_str::(&*x).ok()) + .ok() + .flatten(); + + if let Some(settings) = settings_data { + SETTINGS.get_or_init(|| RwLock::new(settings)); + } + } + + if SETTINGS.get().is_none() { + let new = Self::default(); + + std::fs::write( + crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE), + &*serde_json::to_string(&new)?, + )?; + + SETTINGS.get_or_init(|| RwLock::new(new)); + } + + Ok(()) + } + + pub async fn load() -> Result<(), DataError> { + let new = serde_json::from_str::(&*std::fs::read_to_string( + crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE), + )?)?; + + let write = &mut *SETTINGS + .get() + .ok_or_else(|| DataError::InitializedError("settings".to_string()))? + .write() + .await; + + *write = new; + + Ok(()) + } + + pub async fn save() -> Result<(), DataError> { + let settings = Self::get().await?; + + std::fs::write( + crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE), + &*serde_json::to_string(&*settings)?, + )?; + + Ok(()) + } + + pub async fn get<'a>() -> Result, DataError> { + Ok(SETTINGS + .get() + .ok_or_else(|| DataError::InitializedError("settings".to_string()))? + .read() + .await) + } +} diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs index 46dc99fc2..4195439b7 100644 --- a/theseus/src/launcher/args.rs +++ b/theseus/src/launcher/args.rs @@ -9,6 +9,13 @@ use std::io::{BufRead, BufReader}; use std::path::Path; use uuid::Uuid; +fn get_cp_separator() -> &'static str { + match super::download::get_os() { + Os::Osx | Os::Linux | Os::Unknown => ":", + Os::Windows => ";", + } +} + pub fn get_class_paths( libraries_path: &Path, libraries: &[Library], @@ -42,10 +49,7 @@ pub fn get_class_paths( .to_string(), ); - Ok(class_paths.join(match super::download::get_os() { - Os::Osx | Os::Linux | Os::Unknown => ":", - Os::Windows => ";", - })) + Ok(class_paths.join(get_cp_separator())) } pub fn get_class_paths_jar>( @@ -90,13 +94,23 @@ pub fn get_lib_path>(libraries_path: &Path, lib: T) -> Result, natives_path: &Path, + libraries_path: &Path, class_paths: &str, + version_name: &str, + memory: i32, + custom_args: Vec, ) -> Result, LauncherError> { let mut parsed_arguments = Vec::new(); if let Some(args) = arguments { parse_arguments(args, &mut parsed_arguments, |arg| { - parse_jvm_argument(arg, natives_path, class_paths) + parse_jvm_argument( + arg, + natives_path, + libraries_path, + class_paths, + version_name, + ) })?; } else { parsed_arguments.push(format!( @@ -113,13 +127,22 @@ pub fn get_jvm_arguments( parsed_arguments.push(class_paths.to_string()); } + parsed_arguments.push(format!("-Xmx{}M", memory)); + for arg in custom_args { + if !arg.is_empty() { + parsed_arguments.push(arg); + } + } + Ok(parsed_arguments) } fn parse_jvm_argument( argument: &str, natives_path: &Path, + libraries_path: &Path, class_paths: &str, + version_name: &str, ) -> Result { let mut argument = argument.to_string(); argument.retain(|c| !c.is_whitespace()); @@ -136,8 +159,22 @@ fn parse_jvm_argument( .to_string_lossy() .to_string(), ) + .replace( + "${library_directory}", + &*crate::util::absolute_path(libraries_path) + .map_err(|_| { + LauncherError::InvalidInput(format!( + "Specified libraries path {} does not exist", + libraries_path.to_string_lossy() + )) + })? + .to_string_lossy() + .to_string(), + ) + .replace("${classpath_separator}", get_cp_separator()) .replace("${launcher_name}", "theseus") .replace("${launcher_version}", env!("CARGO_PKG_VERSION")) + .replace("${version_name}", version_name) .replace("${classpath}", class_paths)) } @@ -151,6 +188,7 @@ pub fn get_minecraft_arguments( game_directory: &Path, assets_directory: &Path, version_type: &VersionType, + resolution: (i32, i32), ) -> Result, LauncherError> { if let Some(arguments) = arguments { let mut parsed_arguments = Vec::new(); @@ -166,6 +204,7 @@ pub fn get_minecraft_arguments( game_directory, assets_directory, version_type, + resolution, ) })?; @@ -181,6 +220,7 @@ pub fn get_minecraft_arguments( game_directory, assets_directory, version_type, + resolution, )? .split(' ') .into_iter() @@ -202,6 +242,7 @@ fn parse_minecraft_argument( game_directory: &Path, assets_directory: &Path, version_type: &VersionType, + resolution: (i32, i32), ) -> Result { Ok(argument .replace("${auth_access_token}", access_token) @@ -248,7 +289,9 @@ fn parse_minecraft_argument( .to_string_lossy() .to_string(), ) - .replace("${version_type}", version_type.as_str())) + .replace("${version_type}", version_type.as_str()) + .replace("${resolution_width}", &*resolution.0.to_string()) + .replace("${resolution_height}", &*resolution.1.to_string())) } fn parse_arguments( diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index dea332615..8371357c8 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -52,7 +52,10 @@ pub enum LauncherError { DaedalusError(#[from] daedalus::Error), #[error("Error while reading metadata: {0}")] - MetaError(#[from] crate::meta::MetaError), + MetaError(#[from] crate::data::DataError), + + #[error("Java error: {0}")] + JavaError(String), } #[derive(Debug, Eq, PartialEq, Clone, Copy, Deserialize, Serialize)] @@ -75,76 +78,92 @@ pub async fn launch_minecraft( root_dir: &Path, credentials: &Credentials, ) -> Result<(), LauncherError> { - let metadata = crate::meta::Metadata::get().await?; + let metadata = crate::data::Metadata::get().await?; + let settings = crate::data::Settings::get().await?; let versions_path = crate::util::absolute_path(root_dir.join("versions"))?; let libraries_path = crate::util::absolute_path(root_dir.join("libraries"))?; let assets_path = crate::util::absolute_path(root_dir.join("assets"))?; let legacy_assets_path = crate::util::absolute_path(root_dir.join("resources"))?; + let version = metadata + .minecraft + .versions + .iter() + .find(|x| x.id == version_name) + .ok_or_else(|| { + LauncherError::InvalidInput(format!("Version {} does not exist", version_name)) + })?; + + let loader_version = match mod_loader.unwrap_or_default() { + ModLoader::Vanilla => None, + ModLoader::Forge | ModLoader::Fabric => { + let loaders = if mod_loader.unwrap_or_default() == ModLoader::Forge { + &metadata + .forge + .game_versions + .iter() + .find(|x| x.id == version_name) + .ok_or_else(|| { + LauncherError::InvalidInput(format!( + "Version {} for mod loader Forge does not exist", + version_name + )) + })? + .loaders + } else { + &metadata + .fabric + .game_versions + .iter() + .find(|x| x.id == version_name) + .ok_or_else(|| { + LauncherError::InvalidInput(format!( + "Version {} for mod loader Fabric does not exist", + version_name + )) + })? + .loaders + }; + + let loader = if let Some(version) = loaders.iter().find(|x| x.stable) { + Some(version.clone()) + } else { + loaders.first().cloned() + }; + + Some(loader.ok_or_else(|| { + LauncherError::InvalidInput(format!( + "No mod loader version found for version {}", + version_name + )) + })?) + } + }; + + let version_jar_name = if let Some(loader) = &loader_version { + loader.id.clone() + } else { + version.id.clone() + }; + let mut version = download::download_version_info( &versions_path, - metadata - .minecraft - .versions - .iter() - .find(|x| x.id == version_name) - .ok_or_else(|| { - LauncherError::InvalidInput(format!("Version {} does not exist", version_name)) - })?, - match mod_loader.unwrap_or_default() { - ModLoader::Vanilla => None, - ModLoader::Forge | ModLoader::Fabric => { - let loaders = if mod_loader.unwrap_or_default() == ModLoader::Forge { - &metadata - .forge - .game_versions - .iter() - .find(|x| x.id == version_name) - .ok_or_else(|| { - LauncherError::InvalidInput(format!( - "Version {} for mod loader Forge does not exist", - version_name - )) - })? - .loaders - } else { - &metadata - .fabric - .game_versions - .iter() - .find(|x| x.id == version_name) - .ok_or_else(|| { - LauncherError::InvalidInput(format!( - "Version {} for mod loader Fabric does not exist", - version_name - )) - })? - .loaders - }; - - let loader = if let Some(version) = - loaders.get(&daedalus::modded::LoaderType::Stable) - { - Some(version.clone()) - } else if let Some(version) = loaders.get(&daedalus::modded::LoaderType::Latest) { - Some(version.clone()) - } else { - None - }; - - Some(loader.ok_or_else(|| { - LauncherError::InvalidInput(format!( - "No mod loader version found for version {}", - version_name - )) - })?) - } - } - .as_ref(), + version, + loader_version.as_ref(), ) .await?; + let java_path = if let Some(java) = &version.java_version { + if java.major_version == 17 || java.major_version == 16 { + settings.java_17_path.as_deref().ok_or_else(|| LauncherError::JavaError("Please install Java 17 or select your Java 17 installation settings before launching this version!".to_string()))? + } else { + &settings.java_8_path.as_deref().ok_or_else(|| LauncherError::JavaError("Please install Java 8 or select your Java 8 installation settings before launching this version!".to_string()))? + } + } else { + &settings.java_8_path.as_deref().ok_or_else(|| LauncherError::JavaError("Please install Java 8 or select your Java 8 installation settings before launching this version!".to_string()))? + }; + let client_path = crate::util::absolute_path( root_dir .join("versions") @@ -249,11 +268,30 @@ pub async fn launch_minecraft( let arguments = version.arguments.unwrap_or_default(); - let mut child = Command::new("java") + let mut command = Command::new(if let Some(wrapper) = &settings.wrapper_command { + wrapper.clone() + } else { + java_path.to_string() + }); + + if settings.wrapper_command.is_some() { + command.arg(java_path); + } + + command .args(args::get_jvm_arguments( arguments.get(&ArgumentType::Jvm).map(|x| x.as_slice()), &natives_path, + &libraries_path, &*args::get_class_paths(&libraries_path, version.libraries.as_slice(), &client_path)?, + &version_jar_name, + settings.memory, + settings + .custom_java_args + .split(" ") + .into_iter() + .map(|x| x.to_string()) + .collect(), )?) .arg(version.main_class) .args(args::get_minecraft_arguments( @@ -265,15 +303,16 @@ pub async fn launch_minecraft( root_dir, &assets_path, &version.type_, + settings.game_resolution, )?) .current_dir(root_dir) .stdout(Stdio::inherit()) - .stderr(Stdio::inherit()) - .spawn() - .map_err(|err| LauncherError::ProcessError { - inner: err, - process: "minecraft".to_string(), - })?; + .stderr(Stdio::inherit()); + + let mut child = command.spawn().map_err(|err| LauncherError::ProcessError { + inner: err, + process: "minecraft".to_string(), + })?; child.wait().map_err(|err| LauncherError::ProcessError { inner: err, diff --git a/theseus/src/launcher/rules.rs b/theseus/src/launcher/rules.rs index 43c40b814..123d7ef00 100644 --- a/theseus/src/launcher/rules.rs +++ b/theseus/src/launcher/rules.rs @@ -9,8 +9,10 @@ pub fn parse_rules(rules: &[Rule]) -> bool { pub fn parse_rule(rule: &Rule) -> bool { let result = if let Some(os) = &rule.os { parse_os_rule(os) + } else if let Some(features) = &rule.features { + features.has_demo_resolution.unwrap_or(false) } else { - rule.features.is_none() + true }; match rule.action { diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index 130eba75d..315f5ed18 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -6,14 +6,13 @@ #![warn(missing_docs, unused_import_braces, missing_debug_implementations)] use std::path::Path; -use std::time::Duration; lazy_static::lazy_static! { pub static ref LAUNCHER_WORK_DIR: &'static Path = Path::new("./launcher"); } +mod data; pub mod launcher; -mod meta; pub mod modpack; mod util; @@ -25,13 +24,14 @@ pub enum Error { #[error("Modpack error: {0}")] ModpackError(#[from] modpack::ModpackError), - #[error("Meta error: {0}")] - DaedalusError(#[from] meta::MetaError), + #[error("Data error: {0}")] + DaedalusError(#[from] data::DataError), } pub async fn init() -> Result<(), Error> { std::fs::create_dir_all(*LAUNCHER_WORK_DIR).expect("Unable to create launcher root directory!"); - crate::meta::Metadata::init().await?; + crate::data::Metadata::init().await?; + crate::data::Settings::init().await?; Ok(()) } diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index ef7313f4a..e0627d522 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -7,7 +7,6 @@ use crate::launcher::ModLoader; use super::pack::ModpackGame; use super::{pack, ModpackError, ModpackResult}; -use daedalus::modded::LoaderType; use serde::{Deserialize, Serialize}; pub const DEFAULT_FORMAT_VERSION: u32 = 1; @@ -45,7 +44,7 @@ impl TryFrom> for pack::Modpack { } } -const MODRINTH_GAMEDATA_URL: &'static str = "https://staging-cdn.modrinth.com/gamedata"; +const MODRINTH_GAMEDATA_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult { let source = match loader { ModLoader::Vanilla => Err(ModpackError::VersionError(String::from( @@ -60,11 +59,14 @@ fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult .game_versions .iter() .find(|&it| it.id == version) - .ok_or(ModpackError::VersionError(format!( - "No versions of modloader {:?} exist for Minecraft {}", - loader, version - )))? - .loaders[&LoaderType::Latest] + .map(|x| x.loaders.first()) + .flatten() + .ok_or_else(|| { + ModpackError::VersionError(format!( + "No versions of modloader {:?} exist for Minecraft {}", + loader, version + )) + })? .id .clone()) } @@ -88,7 +90,7 @@ impl<'a> TryFrom<&'a pack::Modpack> for Manifest<'a> { game: game_field, version_id: &pack.version, name: &pack.name, - summary: pack.summary.as_ref().map(String::as_str), + summary: pack.summary.as_deref(), files, dependencies: ManifestDeps::try_from(&pack.game)?, }) @@ -333,9 +335,9 @@ mod tests { summary: None, files: vec![ManifestFile { path: Path::new("mods/testmod.jar"), - hashes: ManifestHashes { + hashes: Some(ManifestHashes { sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - }, + }), env: ManifestEnvs::default(), downloads: vec!["https://example.com/testmod.jar"], }], @@ -383,9 +385,9 @@ mod tests { summary: None, files: vec![ManifestFile { path: Path::new("mods/testmod.jar"), - hashes: ManifestHashes { + hashes: Some(ManifestHashes { sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - }, + }), env: ManifestEnvs::default(), downloads: vec!["https://example.com/testmod.jar"], }], @@ -438,9 +440,9 @@ mod tests { summary: Some("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."), files: vec![ManifestFile { path: Path::new("mods/testmod.jar"), - hashes: ManifestHashes { + hashes: Some(ManifestHashes { sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", - }, + }), env: ManifestEnvs { client: ManifestEnv::Required, server: ManifestEnv::Unsupported, diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index e3433f5c4..d6c41c196 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -18,11 +18,11 @@ pub mod manifest; pub mod modrinth_api; pub mod pack; -pub const COMPILED_PATH: &'static str = "compiled/"; -pub const COMPILED_ZIP: &'static str = "compiled.mrpack"; -pub const MANIFEST_PATH: &'static str = "modrinth.index.json"; -pub const OVERRIDES_PATH: &'static str = "overrides/"; -pub const PACK_JSON5_PATH: &'static str = "modpack.json5"; +pub const COMPILED_PATH: &str = "compiled/"; +pub const COMPILED_ZIP: &str = "compiled.mrpack"; +pub const MANIFEST_PATH: &str = "modrinth.index.json"; +pub const OVERRIDES_PATH: &str = "overrides/"; +pub const PACK_JSON5_PATH: &str = "modpack.json5"; #[derive(thiserror::Error, Debug)] pub enum ModpackError { @@ -121,9 +121,9 @@ pub async fn realise_modpack( // NOTE: I'm using standard files here, since Serde does not support async readers let manifest_path = Some(dir.join(MANIFEST_PATH)) .filter(|it| it.exists() && it.is_file()) - .ok_or(ModpackError::ManifestError(String::from( - "Manifest missing or is not a file", - )))?; + .ok_or_else(|| { + ModpackError::ManifestError(String::from("Manifest missing or is not a file")) + })?; let manifest_file = std::fs::File::open(manifest_path)?; let reader = io::BufReader::new(manifest_file); let mut deserializer = serde_json::Deserializer::from_reader(reader); @@ -169,7 +169,7 @@ pub async fn compile_modpack(dir: &Path) -> ModpackResult<()> { let result_dir = dir.join(COMPILED_PATH); let pack: Modpack = json5::from_str(&fs::read_to_string(dir.join(PACK_JSON5_PATH)).await?)?; - fs::create_dir(&result_dir).await; + fs::create_dir(&result_dir).await?; if dir.join(OVERRIDES_PATH).exists() { fs_extra::dir::copy( dir.join(OVERRIDES_PATH), diff --git a/theseus/src/modpack/modrinth_api.rs b/theseus/src/modpack/modrinth_api.rs index 8d107bd80..7f4fd6b49 100644 --- a/theseus/src/modpack/modrinth_api.rs +++ b/theseus/src/modpack/modrinth_api.rs @@ -116,10 +116,12 @@ impl ModrinthAPI for ModrinthV1 { && it.game_versions.contains(&game_version.as_str()) && it.loaders.contains(&loader_str) }) - .ok_or(ModpackError::VersionError(format!( - "Unable to find compatible version of mod {}", - project.title - )))?; + .ok_or_else(|| { + ModpackError::VersionError(format!( + "Unable to find compatible version of mod {}", + project.title + )) + })?; // Project fields let envs = ModpackEnv::try_from(ManifestEnvs { @@ -135,7 +137,7 @@ impl ModrinthAPI for ModrinthV1 { .map(ModpackFile::from) .collect::>(); - let dep_futures = version.dependencies.iter().map(|it| self.get_version(&it)); + let dep_futures = version.dependencies.iter().map(|it| self.get_version(it)); let deps = try_join_all(dep_futures) .await? .into_iter() diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index 15f61709a..2cd017083 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -15,13 +15,13 @@ use super::{ }; use crate::launcher::ModLoader; -pub const MODRINTH_DEFAULT_MODPACK_DOMAINS: &'static [&'static str] = &[ +pub const MODRINTH_DEFAULT_MODPACK_DOMAINS: &[&str] = &[ "cdn.modrinth.com", "edge.forgecdn.net", "github.com", "raw.githubusercontent.com", ]; -pub const MODRINTH_MODPACK_DOMAIN_WHITELIST_VAR: &'static str = "WHITELISTED_MODPACK_DOMAINS"; +pub const MODRINTH_MODPACK_DOMAIN_WHITELIST_VAR: &str = "WHITELISTED_MODPACK_DOMAINS"; #[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] pub struct Modpack { @@ -114,18 +114,17 @@ impl Modpack { ) -> ModpackResult<()> { let whitelisted_domains = std::env::var(MODRINTH_MODPACK_DOMAIN_WHITELIST_VAR) .map(|it| serde_json::from_str::>(&it).ok().unwrap()) - .unwrap_or( + .unwrap_or_else(|_| { MODRINTH_DEFAULT_MODPACK_DOMAINS .iter() .cloned() .map(String::from) - .collect::>(), - ); + .collect::>() + }); - if whitelisted_domains + if !whitelisted_domains .iter() - .find(|it| it == &source.host_str().unwrap()) - .is_none() + .any(|it| it == source.host_str().unwrap()) { return Err(ModpackError::SourceWhitelistError(String::from( source.host_str().unwrap(), @@ -136,7 +135,7 @@ impl Modpack { path: PathBuf::from(dest), hashes, env: env.unwrap_or(ModpackEnv::Both), - downloads: HashSet::from_iter([String::from(source)].into_iter().cloned()), + downloads: HashSet::from_iter([String::from(source)].iter().cloned()), }; self.files.insert(file); @@ -180,8 +179,7 @@ impl ModpackFile { // URLs, I'm supplying it with an empty string to avoid reinventing the wheel. let bytes = download_file_mirrors( "", - &self - .downloads + self.downloads .iter() .map(|it| it.as_str()) .collect::>() diff --git a/theseus_cli/src/main.rs b/theseus_cli/src/main.rs index 7f755fb76..c27ebdd6d 100644 --- a/theseus_cli/src/main.rs +++ b/theseus_cli/src/main.rs @@ -1,2 +1,4 @@ +use theseus::launcher::{Credentials, ModLoader}; + #[tokio::main] async fn main() {} From 14e8e92f466d8dc8305d13c0a3ea0e38f31ef2f4 Mon Sep 17 00:00:00 2001 From: leocth Date: Sun, 20 Feb 2022 22:20:50 +0800 Subject: [PATCH 017/231] the first wave of refactors --- Cargo.lock | 23 ++- theseus/Cargo.toml | 5 +- theseus/src/launcher/download.rs | 166 ++++++++++---------- theseus/src/launcher/java.rs | 27 +--- theseus/src/lib.rs | 8 +- theseus/src/modpack/manifest.rs | 230 +++++++++++++--------------- theseus/src/modpack/mod.rs | 33 ++-- theseus/src/modpack/modrinth_api.rs | 61 ++++---- theseus/src/modpack/pack.rs | 5 +- 9 files changed, 264 insertions(+), 294 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e164ce914..385d8ea11 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -167,6 +167,26 @@ dependencies = [ "winapi", ] +[[package]] +name = "const_format" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22bc6cd49b0ec407b680c3e380182b6ac63b73991cb7602de350352fc309b614" +dependencies = [ + "const_format_proc_macros", +] + +[[package]] +name = "const_format_proc_macros" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef196d5d972878a48da7decb7686eded338b4858fbabeed513d63a7c98b2b82d" +dependencies = [ + "proc-macro2", + "quote", + "unicode-xid", +] + [[package]] name = "core-foundation" version = "0.9.2" @@ -1165,13 +1185,12 @@ dependencies = [ "async-trait", "bytes", "chrono", + "const_format", "daedalus", "fs_extra", "futures", "json5", - "lazy_static", "log", - "once_cell", "path-clean", "regex", "reqwest", diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 8feb2bd45..719d3ef00 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -9,7 +9,6 @@ edition = "2018" [dependencies] thiserror = "1.0" async-trait = "0.1.51" -once_cell = "1.9.0" daedalus = "0.1.12" @@ -27,7 +26,6 @@ path-clean = "0.1.0" fs_extra = "1.2.0" regex = "1.5" -lazy_static = "1.4" tokio = { version = "1", features = ["full"] } futures = "0.3" @@ -35,9 +33,12 @@ futures = "0.3" sys-info = "0.9.0" log = "0.4.14" +const_format = "0.2.22" [dev-dependencies] argh = "0.1.6" [[example]] name = "download-pack" + +[features] diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index e50de820a..85d3da439 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -9,30 +9,35 @@ use futures::future; use std::fs::File; use std::io::Write; use std::path::Path; +use std::time::Duration; pub async fn download_version_info( client_path: &Path, version: &Version, loader_version: Option<&LoaderVersion>, ) -> Result { - let id = loader_version.map(|x| &x.id).unwrap_or(&version.id); + let id = match loader_version { + Some(x) => &x.id, + None => &version.id, + }; - let path = &*client_path.join(id).join(format!("{}.json", id)); + let mut path = client_path.join(id); + path.push(id); + path.set_extension("json"); if path.exists() { - Ok(serde_json::from_str(&std::fs::read_to_string(path)?)?) + let contents = std::fs::read_to_string(path)?; + Ok(serde_json::from_str(&contents)?) } else { let mut info = fetch_version_info(version).await?; if let Some(loader_version) = loader_version { - let partial = fetch_partial_version(&*loader_version.url).await?; - + let partial = fetch_partial_version(&loader_version.url).await?; info = merge_partial_version(partial, info); - info.id = loader_version.id.clone(); } - - save_file(path, &bytes::Bytes::from(serde_json::to_string(&info)?))?; + let info_s = serde_json::to_string(&info)?; + save_file(&path, &bytes::Bytes::from(info_s))?; Ok(info) } @@ -42,22 +47,21 @@ pub async fn download_client( client_path: &Path, version_info: &VersionInfo, ) -> Result<(), LauncherError> { + let version = &version_info.id; let client_download = version_info .downloads .get(&DownloadType::Client) .ok_or_else(|| { LauncherError::InvalidInput(format!( - "Version {} does not have any client downloads", - &version_info.id + "Version {version} does not have any client downloads" )) })?; - let path = &*client_path - .join(&version_info.id) - .join(format!("{}.jar", &version_info.id)); - - save_and_download_file(path, &client_download.url, Some(&client_download.sha1)).await?; + let mut path = client_path.join(version); + path.push(version); + path.set_extension("jar"); + save_and_download_file(&path, &client_download.url, Some(&client_download.sha1)).await?; Ok(()) } @@ -65,16 +69,15 @@ pub async fn download_assets_index( assets_path: &Path, version: &VersionInfo, ) -> Result { - let path = &*assets_path - .join("indexes") - .join(format!("{}.json", &version.asset_index.id)); + let path = assets_path.join(format!("indexes/{}.json", &version.asset_index.id)); if path.exists() { - Ok(serde_json::from_str(&std::fs::read_to_string(path)?)?) + let content = std::fs::read_to_string(path)?; + Ok(serde_json::from_str(&content)?) } else { let index = fetch_assets_index(version).await?; - save_file(path, &bytes::Bytes::from(serde_json::to_string(&index)?))?; + save_file(&path, &bytes::Bytes::from(serde_json::to_string(&index)?))?; Ok(index) } @@ -89,7 +92,7 @@ pub async fn download_assets( index .objects .iter() - .map(|x| download_asset(assets_path, legacy_path, x.0, x.1)), + .map(|(name, asset)| download_asset(assets_path, legacy_path, name, asset)), ) .await .into_iter() @@ -104,23 +107,20 @@ async fn download_asset( name: &str, asset: &Asset, ) -> Result<(), LauncherError> { - let sub_hash = &&asset.hash[..2]; + let hash = &asset.hash; + let sub_hash = &hash[..2]; - let resource_path = assets_path.join("objects").join(sub_hash).join(&asset.hash); + let mut resource_path = assets_path.join("objects"); + resource_path.push(sub_hash); + resource_path.push(hash); - let resource = save_and_download_file( - &*resource_path, - &format!( - "https://resources.download.minecraft.net/{}/{}", - sub_hash, asset.hash - ), - Some(&*asset.hash), - ) - .await?; + let url = format!("https://resources.download.minecraft.net/{sub_hash}/{hash}"); + + let resource = save_and_download_file(&resource_path, &url, Some(hash)).await?; if let Some(legacy_path) = legacy_path { let resource_path = - legacy_path.join(name.replace('/', &*std::path::MAIN_SEPARATOR.to_string())); + legacy_path.join(name.replace('/', &std::path::MAIN_SEPARATOR.to_string())); save_file(resource_path.as_path(), &resource)?; } @@ -135,7 +135,7 @@ pub async fn download_libraries( future::join_all( libraries .iter() - .map(|x| download_library(libraries_path, natives_path, x)), + .map(|library| download_library(libraries_path, natives_path, library)), ) .await .into_iter() @@ -150,19 +150,16 @@ async fn download_library( library: &Library, ) -> Result<(), LauncherError> { if let Some(rules) = &library.rules { - if !super::rules::parse_rules(rules.as_slice()) { + if !super::rules::parse_rules(rules) { return Ok(()); } } - let (a, b) = future::join( + future::try_join( download_library_jar(libraries_path, library), download_native(natives_path, library), ) - .await; - - a?; - b?; + .await?; Ok(()) } @@ -171,55 +168,53 @@ async fn download_library_jar( libraries_path: &Path, library: &Library, ) -> Result<(), LauncherError> { - let mut path = libraries_path.to_path_buf(); - path.push(get_path_from_artifact(&*library.name)?); + let artifact_path = get_path_from_artifact(&library.name)?; + let path = libraries_path.join(&artifact_path); if let Some(downloads) = &library.downloads { if let Some(library) = &downloads.artifact { - save_and_download_file(&*path, &library.url, Some(&library.sha1)).await?; + save_and_download_file(&path, &library.url, Some(&library.sha1)).await?; } } else { - save_and_download_file( - &*path, - &format!( - "{}{}", - library - .url - .as_deref() - .unwrap_or("https://libraries.minecraft.net/"), - get_path_from_artifact(&*library.name)? - ), - None, - ) - .await?; + let url = format!( + "{}{artifact_path}", + library + .url + .as_deref() + .unwrap_or("https://libraries.minecraft.net/"), + ); + save_and_download_file(&path, &url, None).await?; } Ok(()) } async fn download_native(natives_path: &Path, library: &Library) -> Result<(), LauncherError> { - if let Some(natives) = &library.natives { - if let Some(os_key) = natives.get(&get_os()) { - if let Some(downloads) = &library.downloads { - if let Some(classifiers) = &downloads.classifiers { - #[cfg(target_pointer_width = "64")] - let parsed_key = os_key.replace("${arch}", "64"); - #[cfg(target_pointer_width = "32")] - let parsed_key = os_key.replace("${arch}", "32"); + use daedalus::minecraft::LibraryDownload; + use std::collections::HashMap; - if let Some(native) = classifiers.get(&*parsed_key) { - let file = download_file(&native.url, Some(&native.sha1)).await?; + // Try blocks in stable Rust when? + let optional_cascade = || -> Option<(&String, &HashMap)> { + let os_key = library.natives.as_ref()?.get(&get_os())?; + let classifiers = library.downloads.as_ref()?.classifiers.as_ref()?; + Some((os_key, classifiers)) + }; - let reader = std::io::Cursor::new(&*file); + if let Some((os_key, classifiers)) = optional_cascade() { + #[cfg(target_pointer_width = "64")] + let parsed_key = os_key.replace("${arch}", "64"); + #[cfg(target_pointer_width = "32")] + let parsed_key = os_key.replace("${arch}", "32"); - let mut archive = zip::ZipArchive::new(reader).unwrap(); - archive.extract(natives_path).unwrap(); - } - } - } + if let Some(native) = classifiers.get(&parsed_key) { + let file = download_file(&native.url, Some(&native.sha1)).await?; + + let reader = std::io::Cursor::new(&file); + + let mut archive = zip::ZipArchive::new(reader).unwrap(); + archive.extract(natives_path).unwrap(); } } - Ok(()) } @@ -228,27 +223,23 @@ async fn save_and_download_file( url: &str, sha1: Option<&str>, ) -> Result { - let read = std::fs::read(path).ok().map(bytes::Bytes::from); - - if let Some(bytes) = read { - Ok(bytes) - } else { - let file = download_file(url, sha1).await?; - - save_file(path, &file)?; - - Ok(file) + match std::fs::read(path) { + Ok(bytes) => Ok(bytes::Bytes::from(bytes)), + Err(_) => { + let file = download_file(url, sha1).await?; + save_file(path, &file)?; + Ok(file) + } } } -fn save_file(path: &Path, bytes: &bytes::Bytes) -> Result<(), std::io::Error> { +fn save_file(path: &Path, bytes: &bytes::Bytes) -> std::io::Result<()> { if let Some(parent) = path.parent() { std::fs::create_dir_all(parent)?; } let mut file = File::create(path)?; file.write_all(bytes)?; - Ok(()) } @@ -263,7 +254,7 @@ pub fn get_os() -> Os { pub async fn download_file(url: &str, sha1: Option<&str>) -> Result { let client = reqwest::Client::builder() - .tcp_keepalive(Some(std::time::Duration::from_secs(10))) + .tcp_keepalive(Some(Duration::from_secs(10))) .build() .map_err(|err| LauncherError::FetchError { inner: err, @@ -311,12 +302,11 @@ pub async fn download_file(url: &str, sha1: Option<&str>) -> Result Result { +async fn get_hash(bytes: bytes::Bytes) -> Result { let hash = tokio::task::spawn_blocking(|| sha1::Sha1::from(bytes).hexdigest()).await?; Ok(hash) diff --git a/theseus/src/launcher/java.rs b/theseus/src/launcher/java.rs index 8848d66bf..e703b17f3 100644 --- a/theseus/src/launcher/java.rs +++ b/theseus/src/launcher/java.rs @@ -1,30 +1,17 @@ use crate::launcher::LauncherError; -use lazy_static::lazy_static; -use regex::Regex; use std::process::Command; -lazy_static! { - static ref JAVA_VERSION_REGEX: Regex = Regex::new(r#""(.*?)""#).unwrap(); -} -pub fn check_java() -> Result, LauncherError> { +pub fn check_java() -> Result { let child = Command::new("java") .arg("-version") .output() - .map_err(|err| LauncherError::ProcessError { - inner: err, - process: "java".to_string(), + .map_err(|inner| LauncherError::ProcessError { + inner, + process: "java".into(), })?; - let output = &*String::from_utf8_lossy(&*child.stderr); - - if let Some(version_raw) = JAVA_VERSION_REGEX.find(output) { - let mut raw = version_raw.as_str().chars(); - raw.next(); - raw.next_back(); - - return Ok(Some(raw.as_str().to_string())); - } - - Ok(None) + let output = String::from_utf8_lossy(&child.stderr); + let output = output.trim_matches('\"'); + Ok(output.into()) } diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index 315f5ed18..412566204 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -5,11 +5,7 @@ #![warn(missing_docs, unused_import_braces, missing_debug_implementations)] -use std::path::Path; - -lazy_static::lazy_static! { - pub static ref LAUNCHER_WORK_DIR: &'static Path = Path::new("./launcher"); -} +static LAUNCHER_WORK_DIR: &'static str = "./launcher"; mod data; pub mod launcher; @@ -29,7 +25,7 @@ pub enum Error { } pub async fn init() -> Result<(), Error> { - std::fs::create_dir_all(*LAUNCHER_WORK_DIR).expect("Unable to create launcher root directory!"); + std::fs::create_dir_all(LAUNCHER_WORK_DIR).expect("Unable to create launcher root directory!"); crate::data::Metadata::init().await?; crate::data::Settings::init().await?; diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index e0627d522..b3a2293d4 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -1,5 +1,4 @@ -use std::collections::HashSet; -use std::path::{Path, PathBuf}; +use std::path::PathBuf; use std::convert::TryFrom; @@ -10,48 +9,47 @@ use super::{pack, ModpackError, ModpackResult}; use serde::{Deserialize, Serialize}; pub const DEFAULT_FORMAT_VERSION: u32 = 1; +const MODRINTH_GAMEDATA_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] #[serde(rename_all = "camelCase")] -pub struct Manifest<'a> { +pub struct Manifest { pub format_version: u32, - pub game: &'a str, - pub version_id: &'a str, - pub name: &'a str, - #[serde(borrow)] - pub summary: Option<&'a str>, - pub files: Vec>, - pub dependencies: ManifestDeps<'a>, + pub game: String, + pub version_id: String, + pub name: String, + pub summary: Option, + pub files: Vec, + pub dependencies: ManifestDeps, } -impl TryFrom> for pack::Modpack { +impl TryFrom for pack::Modpack { type Error = ModpackError; - fn try_from(manifest: Manifest<'_>) -> Result { + fn try_from(manifest: Manifest) -> Result { let files = manifest .files .into_iter() .map(pack::ModpackFile::try_from) - .collect::>>()?; + .collect::>()?; Ok(Self { - name: String::from(manifest.name), - version: String::from(manifest.version_id), - summary: manifest.summary.map(String::from), + name: manifest.name, + version: manifest.version_id, + summary: manifest.summary, game: ModpackGame::from(manifest.dependencies), files, }) } } -const MODRINTH_GAMEDATA_URL: &str = "https://staging-cdn.modrinth.com/gamedata"; fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult { let source = match loader { ModLoader::Vanilla => Err(ModpackError::VersionError(String::from( "Attempted to get mod loader version of Vanilla", ))), - ModLoader::Forge => Ok(format!("{}/forge/v0/manifest.json", MODRINTH_GAMEDATA_URL)), - ModLoader::Fabric => Ok(format!("{}/fabric/v0/manifest.json", MODRINTH_GAMEDATA_URL)), + ModLoader::Forge => Ok(format!("{MODRINTH_GAMEDATA_URL}/forge/v0/manifest.json")), + ModLoader::Fabric => Ok(format!("{MODRINTH_GAMEDATA_URL}/fabric/v0/manifest.json")), }?; let manifest = futures::executor::block_on(daedalus::modded::fetch_manifest(&source))?; @@ -63,96 +61,90 @@ fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult .flatten() .ok_or_else(|| { ModpackError::VersionError(format!( - "No versions of modloader {:?} exist for Minecraft {}", - loader, version + "No versions of modloader {loader:?} exist for Minecraft {version}", )) })? - .id - .clone()) + .id) } -impl<'a> TryFrom<&'a pack::Modpack> for Manifest<'a> { +impl TryFrom for Manifest { type Error = ModpackError; - fn try_from(pack: &'a pack::Modpack) -> Result { - let game_field: &'a str = match pack.game { - ModpackGame::Minecraft(..) => "minecraft", + fn try_from(pack: pack::Modpack) -> Result { + let pack::Modpack { + game, + version, + name, + summary, + files, + } = pack; + + let game = match game { + ModpackGame::Minecraft(..) => "minecraft".into(), }; - let files = pack - .files - .iter() - .map(ManifestFile::from) - .collect::>(); + let files: Vec<_> = pack.files.into_iter().map(ManifestFile::from).collect(); Ok(Manifest { format_version: DEFAULT_FORMAT_VERSION, - game: game_field, - version_id: &pack.version, - name: &pack.name, - summary: pack.summary.as_deref(), + game, + version_id: version, + name, + summary, files, - dependencies: ManifestDeps::try_from(&pack.game)?, + dependencies: ManifestDeps::try_from(pack.game)?, }) } } #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] #[serde(rename_all = "camelCase")] -pub struct ManifestFile<'a> { - #[serde(borrow)] - pub path: &'a Path, - pub hashes: Option>, +pub struct ManifestFile { + pub path: PathBuf, + pub hashes: Option, #[serde(default)] pub env: ManifestEnvs, - #[serde(borrow)] - pub downloads: Vec<&'a str>, + pub downloads: Vec, } -impl TryFrom> for pack::ModpackFile { +impl TryFrom for pack::ModpackFile { type Error = ModpackError; - fn try_from(file: ManifestFile<'_>) -> Result { + fn try_from(file: ManifestFile) -> Result { Ok(Self { - path: PathBuf::from(file.path), + path: file.path, hashes: file.hashes.map(pack::ModpackFileHashes::from), env: pack::ModpackEnv::try_from(file.env)?, - downloads: file.downloads.into_iter().map(ToOwned::to_owned).collect(), + downloads: file.downloads.into_iter().collect(), }) } } -impl<'a> From<&'a pack::ModpackFile> for ManifestFile<'a> { - fn from(file: &'a pack::ModpackFile) -> Self { +impl From for ManifestFile { + fn from(file: pack::ModpackFile) -> Self { Self { - path: file.path.as_path(), - hashes: file.hashes.as_ref().map(ManifestHashes::from), + path: file.path, + hashes: file.hashes.map(ManifestHashes::from), env: file.env.into(), - downloads: file - .downloads - .iter() - .map(String::as_str) - .collect::>(), + downloads: file.downloads.into_iter().collect(), } } } -#[derive(Clone, Copy, Debug, Deserialize, Serialize, PartialEq)] -pub struct ManifestHashes<'a> { - pub sha1: &'a str, +#[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] +pub struct ManifestHashes { + pub sha1: String, } -impl From> for pack::ModpackFileHashes { - fn from(hashes: ManifestHashes<'_>) -> Self { - Self { - sha1: String::from(hashes.sha1), - } +impl From for pack::ModpackFileHashes { + fn from(hashes: ManifestHashes) -> Self { + Self { sha1: hashes.sha1 } } } -impl<'a> From<&'a pack::ModpackFileHashes> for ManifestHashes<'a> { - fn from(hashes: &'a pack::ModpackFileHashes) -> Self { - Self { sha1: &hashes.sha1 } +impl From for ManifestHashes { + fn from(hashes: pack::ModpackFileHashes) -> Self { + Self { sha1: hashes.sha1 } } } @@ -213,55 +205,47 @@ impl From for ManifestEnvs { #[derive(Clone, Debug, Deserialize, Serialize, PartialEq)] #[serde(untagged)] -// HACK: I've tried for hours to get this working zero-copy, but I'm beat. If someone else wants to -// go through the # { +pub enum ManifestDeps { MinecraftFabric { - minecraft: &'a str, + minecraft: String, #[serde(rename = "fabric-loader")] fabric_loader: String, }, MinecraftForge { - minecraft: &'a str, + minecraft: String, forge: String, }, MinecraftVanilla { - minecraft: &'a str, + minecraft: String, }, } -impl From> for pack::ModpackGame { - fn from(deps: ManifestDeps<'_>) -> Self { +impl From for pack::ModpackGame { + fn from(deps: ManifestDeps) -> Self { use ManifestDeps::*; match deps { - MinecraftVanilla { minecraft } => { - Self::Minecraft(String::from(minecraft), ModLoader::Vanilla) - } - MinecraftFabric { minecraft, .. } => { - Self::Minecraft(String::from(minecraft), ModLoader::Fabric) - } - MinecraftForge { minecraft, .. } => { - Self::Minecraft(String::from(minecraft), ModLoader::Forge) - } + MinecraftVanilla { minecraft } => Self::Minecraft(minecraft, ModLoader::Vanilla), + MinecraftFabric { minecraft, .. } => Self::Minecraft(minecraft, ModLoader::Fabric), + MinecraftForge { minecraft, .. } => Self::Minecraft(minecraft, ModLoader::Forge), } } } -impl<'a> TryFrom<&'a pack::ModpackGame> for ManifestDeps<'a> { +impl TryFrom for ManifestDeps { type Error = ModpackError; - fn try_from(game: &'a pack::ModpackGame) -> Result { + fn try_from(game: pack::ModpackGame) -> Result { use super::pack::ModpackGame::*; Ok(match game { - Minecraft(ref ver, ModLoader::Vanilla) => Self::MinecraftVanilla { minecraft: ver }, - Minecraft(ref ver, loader @ ModLoader::Fabric) => Self::MinecraftFabric { - minecraft: ver, - fabric_loader: get_loader_version(*loader, ver)?, + Minecraft(minecraft, ModLoader::Vanilla) => Self::MinecraftVanilla { minecraft }, + Minecraft(minecraft, ModLoader::Fabric) => Self::MinecraftFabric { + minecraft, + fabric_loader: get_loader_version(ModLoader::Fabric, &minecraft)?, }, - Minecraft(ref ver, loader @ ModLoader::Forge) => Self::MinecraftForge { - minecraft: ver, - forge: get_loader_version(*loader, ver)?, + Minecraft(minecraft, ModLoader::Forge) => Self::MinecraftForge { + minecraft, + forge: get_loader_version(ModLoader::Fabric, &minecraft)?, }, }) } @@ -287,13 +271,13 @@ mod tests { "#; let expected_manifest = Manifest { format_version: 1, - game: "minecraft", - version_id: "deadbeef", - name: "Example Pack", + game: "minecraft".into(), + version_id: "deadbeef".into(), + name: "Example Pack".into(), summary: None, - files: Vec::new(), + files: vec![], dependencies: ManifestDeps::MinecraftVanilla { - minecraft: "1.17.1", + minecraft: "1.17.1".into(), }, }; let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); @@ -329,21 +313,21 @@ mod tests { "#; let expected_manifest = Manifest { format_version: 1, - game: "minecraft", - version_id: "deadbeef", - name: "Example Pack", + game: "minecraft".into(), + version_id: "deadbeef".into(), + name: "Example Pack".into(), summary: None, files: vec![ManifestFile { - path: Path::new("mods/testmod.jar"), + path: "mods/testmod.jar".into(), hashes: Some(ManifestHashes { - sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".into(), }), env: ManifestEnvs::default(), - downloads: vec!["https://example.com/testmod.jar"], + downloads: vec!["https://example.com/testmod.jar".into()], }], dependencies: ManifestDeps::MinecraftForge { - minecraft: "1.17.1", - forge: String::from("37.0.110"), + minecraft: "1.17.1".into(), + forge: "37.0.110".into(), }, }; let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); @@ -379,21 +363,21 @@ mod tests { "#; let expected_manifest = Manifest { format_version: 1, - game: "minecraft", - version_id: "deadbeef", - name: "Example Pack", + game: "minecraft".into(), + version_id: "deadbeef".into(), + name: "Example Pack".into(), summary: None, files: vec![ManifestFile { - path: Path::new("mods/testmod.jar"), + path: "mods/testmod.jar".into(), hashes: Some(ManifestHashes { - sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".into(), }), env: ManifestEnvs::default(), - downloads: vec!["https://example.com/testmod.jar"], + downloads: vec!["https://example.com/testmod.jar".into()], }], dependencies: ManifestDeps::MinecraftFabric { - minecraft: "1.17.1", - fabric_loader: String::from("0.9.0"), + minecraft: "1.17.1".into(), + fabric_loader: "0.9.0".into(), }, }; let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); @@ -434,24 +418,24 @@ mod tests { "#; let expected_manifest = Manifest { format_version: 1, - game: "minecraft", - version_id: "deadbeef", - name: "Example Pack", - summary: Some("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."), + game: "minecraft".into(), + version_id: "deadbeef".into(), + name: "Example Pack".into(), + summary: Some("Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.".into()), files: vec![ManifestFile { - path: Path::new("mods/testmod.jar"), + path: "mods/testmod.jar".into(), hashes: Some(ManifestHashes { - sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", + sha1: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa".into(), }), env: ManifestEnvs { client: ManifestEnv::Required, server: ManifestEnv::Unsupported, }, - downloads: vec!["https://example.com/testmod.jar"], + downloads: vec!["https://example.com/testmod.jar".into()], }], dependencies: ManifestDeps::MinecraftForge { - minecraft: "1.17.1", - forge: String::from("37.0.110"), + minecraft: "1.17.1".into(), + forge: "37.0.110".into(), }, }; let manifest: Manifest = serde_json::from_str(PACK_JSON).expect("Error parsing pack JSON"); diff --git a/theseus/src/modpack/mod.rs b/theseus/src/modpack/mod.rs index d6c41c196..74842c64c 100644 --- a/theseus/src/modpack/mod.rs +++ b/theseus/src/modpack/mod.rs @@ -2,7 +2,6 @@ use daedalus::download_file; use fs_extra::dir::CopyOptions; -use serde::Deserialize; use std::{convert::TryFrom, env, io, path::Path}; use tokio::{fs, try_join}; use uuid::Uuid; @@ -23,6 +22,10 @@ pub const COMPILED_ZIP: &str = "compiled.mrpack"; pub const MANIFEST_PATH: &str = "modrinth.index.json"; pub const OVERRIDES_PATH: &str = "overrides/"; pub const PACK_JSON5_PATH: &str = "modpack.json5"; +const PACK_GITIGNORE: &'static str = const_format::formatcp!(r#" +{COMPILED_PATH} +{COMPILED_ZIP} +"#); #[derive(thiserror::Error, Debug)] pub enum ModpackError { @@ -86,7 +89,8 @@ pub async fn realise_modpack_zip( dest: &Path, side: pack::ModpackSide, ) -> ModpackResult<()> { - let tmp = env::temp_dir().join(format!("theseus-{}/", Uuid::new_v4())); + let mut tmp = env::temp_dir(); + tmp.push(format!("theseus-{}/", Uuid::new_v4())); archive.extract(&tmp)?; realise_modpack(&tmp, dest, side).await } @@ -102,7 +106,7 @@ pub async fn realise_modpack( "Output is not a directory", ))); } - if dest.exists() && std::fs::read_dir(dest).map_or(false, |it| it.count() != 0) { + if std::fs::read_dir(dest).map_or(false, |it| it.count() != 0) { return Err(ModpackError::InvalidDirectory(String::from( "Output directory is non-empty", ))); @@ -112,22 +116,22 @@ pub async fn realise_modpack( } // Copy overrides - let overrides = Some(dir.join(OVERRIDES_PATH)).filter(|it| it.exists() && it.is_dir()); - if let Some(overrides) = overrides { + let overrides = dir.join(OVERRIDES_PATH); + if overrides.is_dir() { fs_extra::dir::copy(overrides, dest, &CopyOptions::new())?; } // Parse manifest // NOTE: I'm using standard files here, since Serde does not support async readers let manifest_path = Some(dir.join(MANIFEST_PATH)) - .filter(|it| it.exists() && it.is_file()) + .filter(|it| it.is_file()) .ok_or_else(|| { ModpackError::ManifestError(String::from("Manifest missing or is not a file")) })?; let manifest_file = std::fs::File::open(manifest_path)?; let reader = io::BufReader::new(manifest_file); - let mut deserializer = serde_json::Deserializer::from_reader(reader); - let manifest = Manifest::deserialize(&mut deserializer)?; + + let manifest: Manifest = serde_json::from_reader(reader)?; let modpack = Modpack::try_from(manifest)?; // Realise modpack @@ -137,14 +141,7 @@ pub async fn realise_modpack( pub fn to_pack_json5(pack: &Modpack) -> ModpackResult { let json5 = json5::to_string(pack)?; - Ok(format!("// This modpack is managed using Theseus. It can be edited using either a Theseus-compatible launcher or manually.\n{}", json5)) -} - -lazy_static::lazy_static! { - static ref PACK_GITIGNORE: String = format!(r#" - {0} - {1} - "#, COMPILED_PATH, COMPILED_ZIP); + Ok(format!("// This modpack is managed using Theseus. It can be edited using either a Theseus-compatible launcher or manually.\n{json5}")) } pub async fn create_modpack( @@ -158,7 +155,7 @@ pub async fn create_modpack( try_join!( fs::create_dir(&output_dir), fs::create_dir(output_dir.join(OVERRIDES_PATH)), - fs::write(output_dir.join(".gitignore"), PACK_GITIGNORE.as_str()), + fs::write(output_dir.join(".gitignore"), PACK_GITIGNORE), fs::write(output_dir.join(PACK_JSON5_PATH), to_pack_json5(&pack)?), )?; @@ -177,7 +174,7 @@ pub async fn compile_modpack(dir: &Path) -> ModpackResult<()> { &CopyOptions::new(), )?; } - let manifest = Manifest::try_from(&pack)?; + let manifest = Manifest::try_from(pack)?; fs::write( result_dir.join(MANIFEST_PATH), serde_json::to_string(&manifest)?, diff --git a/theseus/src/modpack/modrinth_api.rs b/theseus/src/modpack/modrinth_api.rs index 7f4fd6b49..a99fd9181 100644 --- a/theseus/src/modpack/modrinth_api.rs +++ b/theseus/src/modpack/modrinth_api.rs @@ -28,42 +28,35 @@ pub trait ModrinthAPI { pub struct ModrinthV1(pub String); #[derive(Debug, Deserialize)] -struct ModrinthV1Project<'a> { - title: &'a str, - client_side: &'a str, - server_side: &'a str, +struct ModrinthV1Project { + title: String, + client_side: String, + server_side: String, } #[derive(Debug, Deserialize)] -struct ModrinthV1ProjectVersion<'a> { - #[serde(borrow)] - dependencies: HashSet<&'a str>, - #[serde(borrow)] - game_versions: HashSet<&'a str>, - version_type: &'a str, - files: Vec>, - #[serde(borrow)] - loaders: HashSet<&'a str>, +struct ModrinthV1ProjectVersion { + dependencies: HashSet, + game_versions: HashSet, + version_type: String, + files: Vec, + loaders: HashSet, } #[derive(Clone, Debug, Deserialize)] -struct ModrinthV1ProjectVersionFile<'a> { - hashes: ManifestHashes<'a>, - url: &'a str, - filename: &'a str, +struct ModrinthV1ProjectVersionFile { + hashes: ManifestHashes, + url: String, + filename: String, } -impl From> for ModpackFile { - fn from(file: ModrinthV1ProjectVersionFile<'_>) -> Self { +impl From for ModpackFile { + fn from(file: ModrinthV1ProjectVersionFile) -> Self { Self { hashes: Some(ModpackFileHashes::from(file.hashes)), - downloads: { - let mut downloads: HashSet = HashSet::new(); - downloads.insert(String::from(file.url)); - downloads - }, + downloads: HashSet::from([file.url]), path: PathBuf::from(file.filename), - // WARNING: Since the sidedness of version 1 API requests is unknown, the environemnt is + // WARNING: Since the sidedness of version 1 API requests is unknown, the environment is // set here as both. env: ModpackEnv::Both, } @@ -78,10 +71,11 @@ impl ModrinthAPI for ModrinthV1 { channel: &str, game: &ModpackGame, ) -> ModpackResult> { + let domain = &self.0; // Fetch metadata let (project_json, versions_json): (Bytes, Bytes) = try_join!( - try_get_json(format!("{}/api/v1/mod/{}", self.0, project)), - try_get_json(format!("{}/api/v1/mod/{}/version", self.0, project)), + try_get_json(format!("{domain}/api/v1/mod/{project}")), + try_get_json(format!("{domain}/api/v1/mod/{project}/version")), )?; let (mut project_deserializer, mut versions_deserializer) = ( @@ -113,8 +107,8 @@ impl ModrinthAPI for ModrinthV1 { ModLoader::Vanilla => unreachable!(), }; it.version_type == channel - && it.game_versions.contains(&game_version.as_str()) - && it.loaders.contains(&loader_str) + && it.game_versions.contains(game_version) + && it.loaders.contains(loader_str) }) .ok_or_else(|| { ModpackError::VersionError(format!( @@ -125,8 +119,8 @@ impl ModrinthAPI for ModrinthV1 { // Project fields let envs = ModpackEnv::try_from(ManifestEnvs { - client: serde_json::from_str(project.client_side)?, - server: serde_json::from_str(project.server_side)?, + client: serde_json::from_str(&project.client_side)?, + server: serde_json::from_str(&project.server_side)?, })?; // Conversions @@ -155,7 +149,8 @@ impl ModrinthAPI for ModrinthV1 { } async fn get_version(&self, version: &str) -> ModpackResult> { - let version_json = try_get_json(format!("{}/api/v1/version/{}", self.0, version)).await?; + let domain = &self.0; + let version_json = try_get_json(format!("{domain}/api/v1/version/{version}")).await?; let mut version_deserializer = serde_json::Deserializer::from_slice(&version_json); let version = ModrinthV1ProjectVersion::deserialize(&mut version_deserializer)?; let base_path = PathBuf::from("mods/"); @@ -164,7 +159,7 @@ impl ModrinthAPI for ModrinthV1 { .files .into_iter() .map(ModpackFile::from) - .collect::>()) + .collect::>()) } } diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index 2cd017083..f9bff1dba 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -144,6 +144,7 @@ impl Modpack { } #[derive(Debug, Deserialize, Serialize, Clone, PartialEq, Eq)] +#[non_exhaustive] pub enum ModpackGame { // TODO: Currently, the launcher does not support specifying mod loader versions, so I just // store the loader here. @@ -256,9 +257,9 @@ mod tests { let mut files = HashSet::new(); files.insert(ModpackFile { path: PathBuf::from("mods/gravestones-v1.9.jar"), - hashes: ModpackFileHashes { + hashes: Some(ModpackFileHashes { sha1: String::from("3f0f6d523d218460310b345be03ab3f1d294e04d"), - }, + }), env: ModpackEnv::Both, downloads: { let mut downloads = HashSet::new(); From 28d1267afa3fb0b6288db07e9b3ffed4bcbd3b0d Mon Sep 17 00:00:00 2001 From: leocth Date: Sun, 20 Feb 2022 22:47:44 +0800 Subject: [PATCH 018/231] fix all the red wiggly wiggles --- Cargo.lock | 1 + theseus/Cargo.toml | 1 + theseus/src/data/meta.rs | 16 ++++++------- theseus/src/data/settings.rs | 16 +++++++------ theseus/src/launcher/args.rs | 42 +++++++++++++-------------------- theseus/src/modpack/manifest.rs | 18 +++++++------- theseus/src/modpack/pack.rs | 20 ++++++++-------- theseus/src/util.rs | 1 + 8 files changed, 56 insertions(+), 59 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 385d8ea11..7d9d476fd 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1191,6 +1191,7 @@ dependencies = [ "futures", "json5", "log", + "once_cell", "path-clean", "regex", "reqwest", diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 719d3ef00..53f4a91c1 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -34,6 +34,7 @@ sys-info = "0.9.0" log = "0.4.14" const_format = "0.2.22" +once_cell = "1.9.0" [dev-dependencies] argh = "0.1.6" diff --git a/theseus/src/data/meta.rs b/theseus/src/data/meta.rs index 1a993d7d8..5c42fc925 100644 --- a/theseus/src/data/meta.rs +++ b/theseus/src/data/meta.rs @@ -1,4 +1,6 @@ -use crate::data::DataError; +use std::path::Path; + +use crate::{data::DataError, LAUNCHER_WORK_DIR}; use once_cell::sync; use serde::{Deserialize, Serialize}; use tokio::sync::{RwLock, RwLockReadGuard}; @@ -17,13 +19,11 @@ pub struct Metadata { impl Metadata { pub async fn init() -> Result<(), DataError> { - let meta_path = crate::LAUNCHER_WORK_DIR.join(META_FILE); + let meta_path = Path::new(LAUNCHER_WORK_DIR).join(META_FILE); if meta_path.exists() { - let meta_data = std::fs::read_to_string(meta_path) - .map(|x| serde_json::from_str::(&*x).ok()) - .ok() - .flatten(); + let meta_data = std::fs::read_to_string(meta_path).ok() + .and_then(|x| serde_json::from_str::(&x).ok()); if let Some(metadata) = meta_data { METADATA.get_or_init(|| RwLock::new(metadata)); @@ -36,8 +36,8 @@ impl Metadata { let new = Self::fetch().await?; std::fs::write( - crate::LAUNCHER_WORK_DIR.join(META_FILE), - &*serde_json::to_string(&new)?, + Path::new(LAUNCHER_WORK_DIR).join(META_FILE), + &serde_json::to_string(&new)?, )?; if let Some(metadata) = METADATA.get() { diff --git a/theseus/src/data/settings.rs b/theseus/src/data/settings.rs index 5cce03dc7..55ab0e8cb 100644 --- a/theseus/src/data/settings.rs +++ b/theseus/src/data/settings.rs @@ -1,4 +1,6 @@ -use crate::data::DataError; +use std::path::Path; + +use crate::{data::DataError, LAUNCHER_WORK_DIR}; use once_cell::sync; use serde::{Deserialize, Serialize}; use tokio::sync::{RwLock, RwLockReadGuard}; @@ -32,7 +34,7 @@ impl Default for Settings { impl Settings { pub async fn init() -> Result<(), DataError> { - let settings_path = crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE); + let settings_path = Path::new(LAUNCHER_WORK_DIR).join(SETTINGS_FILE); if settings_path.exists() { let settings_data = std::fs::read_to_string(settings_path) @@ -49,7 +51,7 @@ impl Settings { let new = Self::default(); std::fs::write( - crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE), + Path::new(LAUNCHER_WORK_DIR).join(SETTINGS_FILE), &*serde_json::to_string(&new)?, )?; @@ -60,8 +62,8 @@ impl Settings { } pub async fn load() -> Result<(), DataError> { - let new = serde_json::from_str::(&*std::fs::read_to_string( - crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE), + let new = serde_json::from_str::(&std::fs::read_to_string( + Path::new(LAUNCHER_WORK_DIR).join(SETTINGS_FILE), )?)?; let write = &mut *SETTINGS @@ -79,8 +81,8 @@ impl Settings { let settings = Self::get().await?; std::fs::write( - crate::LAUNCHER_WORK_DIR.join(SETTINGS_FILE), - &*serde_json::to_string(&*settings)?, + Path::new(LAUNCHER_WORK_DIR).join(SETTINGS_FILE), + &serde_json::to_string(&*settings)?, )?; Ok(()) diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs index 4195439b7..cbef78133 100644 --- a/theseus/src/launcher/args.rs +++ b/theseus/src/launcher/args.rs @@ -21,21 +21,19 @@ pub fn get_class_paths( libraries: &[Library], client_path: &Path, ) -> Result { - let mut class_paths = Vec::new(); - - for library in libraries { + let mut class_paths = libraries.iter().filter_map(|library| { if let Some(rules) = &library.rules { if !super::rules::parse_rules(rules.as_slice()) { - continue; + return None; } } if !library.include_in_classpath { - continue; + return None; } - class_paths.push(get_lib_path(libraries_path, &library.name)?); - } + Some(get_lib_path(libraries_path, &library.name)) + }).collect::, _>>()?; class_paths.push( crate::util::absolute_path(&client_path) @@ -56,19 +54,14 @@ pub fn get_class_paths_jar>( libraries_path: &Path, libraries: &[T], ) -> Result { - let mut class_paths = Vec::new(); + let class_paths = libraries.iter().map(|library| { + get_lib_path(libraries_path, library.as_ref()) + }).collect::, _>>()?; - for library in libraries { - class_paths.push(get_lib_path(libraries_path, library)?) - } - - Ok(class_paths.join(match super::download::get_os() { - Os::Osx | Os::Linux | Os::Unknown => ":", - Os::Windows => ";", - })) + Ok(class_paths.join(get_cp_separator())) } -pub fn get_lib_path>(libraries_path: &Path, lib: T) -> Result { +pub fn get_lib_path(libraries_path: &Path, lib: &str) -> Result { let mut path = libraries_path.to_path_buf(); path.push(get_path_from_artifact(lib.as_ref())?); @@ -105,7 +98,7 @@ pub fn get_jvm_arguments( if let Some(args) = arguments { parse_arguments(args, &mut parsed_arguments, |arg| { parse_jvm_argument( - arg, + arg.to_string(), natives_path, libraries_path, class_paths, @@ -138,18 +131,17 @@ pub fn get_jvm_arguments( } fn parse_jvm_argument( - argument: &str, + mut argument: String, natives_path: &Path, libraries_path: &Path, class_paths: &str, version_name: &str, ) -> Result { - let mut argument = argument.to_string(); argument.retain(|c| !c.is_whitespace()); Ok(argument .replace( "${natives_directory}", - &*crate::util::absolute_path(natives_path) + &crate::util::absolute_path(natives_path) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified natives path {} does not exist", @@ -196,8 +188,8 @@ pub fn get_minecraft_arguments( parse_arguments(arguments, &mut parsed_arguments, |arg| { parse_minecraft_argument( arg, - &*credentials.access_token, - &*credentials.username, + &credentials.access_token, + &credentials.username, &credentials.id, version, asset_index_name, @@ -212,8 +204,8 @@ pub fn get_minecraft_arguments( } else if let Some(legacy_arguments) = legacy_arguments { Ok(parse_minecraft_argument( legacy_arguments, - &*credentials.access_token, - &*credentials.username, + &credentials.access_token, + &credentials.username, &credentials.id, version, asset_index_name, diff --git a/theseus/src/modpack/manifest.rs b/theseus/src/modpack/manifest.rs index b3a2293d4..85e6c16c3 100644 --- a/theseus/src/modpack/manifest.rs +++ b/theseus/src/modpack/manifest.rs @@ -53,7 +53,7 @@ fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult }?; let manifest = futures::executor::block_on(daedalus::modded::fetch_manifest(&source))?; - Ok(manifest + let version = manifest .game_versions .iter() .find(|&it| it.id == version) @@ -63,8 +63,8 @@ fn get_loader_version(loader: ModLoader, version: &str) -> ModpackResult ModpackError::VersionError(format!( "No versions of modloader {loader:?} exist for Minecraft {version}", )) - })? - .id) + })?; + Ok(version.id.clone()) } impl TryFrom for Manifest { @@ -79,20 +79,20 @@ impl TryFrom for Manifest { files, } = pack; - let game = match game { + let game_name = match &game { ModpackGame::Minecraft(..) => "minecraft".into(), }; - let files: Vec<_> = pack.files.into_iter().map(ManifestFile::from).collect(); + let files: Vec<_> = files.into_iter().map(ManifestFile::from).collect(); Ok(Manifest { format_version: DEFAULT_FORMAT_VERSION, - game, + game: game_name, version_id: version, name, summary, files, - dependencies: ManifestDeps::try_from(pack.game)?, + dependencies: ManifestDeps::try_from(game)?, }) } } @@ -240,12 +240,12 @@ impl TryFrom for ManifestDeps { Ok(match game { Minecraft(minecraft, ModLoader::Vanilla) => Self::MinecraftVanilla { minecraft }, Minecraft(minecraft, ModLoader::Fabric) => Self::MinecraftFabric { - minecraft, fabric_loader: get_loader_version(ModLoader::Fabric, &minecraft)?, + minecraft, }, Minecraft(minecraft, ModLoader::Forge) => Self::MinecraftForge { - minecraft, forge: get_loader_version(ModLoader::Fabric, &minecraft)?, + minecraft, }, }) } diff --git a/theseus/src/modpack/pack.rs b/theseus/src/modpack/pack.rs index f9bff1dba..9e39acf95 100644 --- a/theseus/src/modpack/pack.rs +++ b/theseus/src/modpack/pack.rs @@ -33,6 +33,16 @@ pub struct Modpack { } impl Modpack { + pub fn new(game: ModpackGame, version: &str, name: &str, summary: Option<&str>) -> Self { + Self { + game, + version: String::from(version), + name: String::from(name), + summary: summary.map(String::from), + files: HashSet::new(), + } + } + /// Download a modpack's files for a given side to a given destination /// Assumes the destination exists and is a directory pub async fn download_files(&self, dest: &Path, side: ModpackSide) -> ModpackResult<()> { @@ -49,16 +59,6 @@ impl Modpack { Ok(()) } - pub fn new(game: ModpackGame, version: &str, name: &str, summary: Option<&str>) -> Self { - Self { - game, - version: String::from(version), - name: String::from(name), - summary: summary.map(String::from), - files: HashSet::new(), - } - } - pub async fn add_project( &mut self, project: &str, diff --git a/theseus/src/util.rs b/theseus/src/util.rs index 48d4fdc5a..62633378a 100644 --- a/theseus/src/util.rs +++ b/theseus/src/util.rs @@ -3,6 +3,7 @@ use std::{env, io}; use path_clean::PathClean; +// https://stackoverflow.com/a/54817755 pub fn absolute_path(path: impl AsRef) -> io::Result { let path = path.as_ref(); From 6b11613b9974f66ae2c453b29be61411528ef959 Mon Sep 17 00:00:00 2001 From: leocth Date: Sun, 20 Feb 2022 22:52:02 +0800 Subject: [PATCH 019/231] a tiny bit of error handling --- theseus/examples/download-pack.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theseus/examples/download-pack.rs b/theseus/examples/download-pack.rs index 084bb44c8..3488fa1f1 100644 --- a/theseus/examples/download-pack.rs +++ b/theseus/examples/download-pack.rs @@ -45,7 +45,7 @@ pub async fn main() { ); let start = Instant::now(); - fetch_modpack(&args.url, args.hash.as_deref(), &dest, ModpackSide::Client).await; + fetch_modpack(&args.url, args.hash.as_deref(), &dest, ModpackSide::Client).await.unwrap(); let end = start.elapsed(); println!("Download completed in {} seconds", end.as_secs_f32()); From 596ca8ab4fb97e572136f3f301fae589b62710a9 Mon Sep 17 00:00:00 2001 From: leocth Date: Sun, 20 Feb 2022 22:54:05 +0800 Subject: [PATCH 020/231] &* is simply just bad. let deref coercion figure it out --- theseus/src/data/meta.rs | 6 +++--- theseus/src/data/settings.rs | 4 ++-- theseus/src/launcher/args.rs | 16 ++++++++-------- theseus/src/launcher/download.rs | 2 +- theseus/src/launcher/mod.rs | 6 +++--- theseus/src/launcher/rules.rs | 2 +- theseus_cli/src/main.rs | 2 -- 7 files changed, 18 insertions(+), 20 deletions(-) diff --git a/theseus/src/data/meta.rs b/theseus/src/data/meta.rs index 5c42fc925..7e2bddeac 100644 --- a/theseus/src/data/meta.rs +++ b/theseus/src/data/meta.rs @@ -73,12 +73,12 @@ impl Metadata { pub async fn fetch() -> Result { let (game, forge, fabric) = futures::future::join3( - daedalus::minecraft::fetch_version_manifest(Some(&*format!( + daedalus::minecraft::fetch_version_manifest(Some(&format!( "{}/minecraft/v0/manifest.json", META_URL ))), - daedalus::modded::fetch_manifest(&*format!("{}/forge/v0/manifest.json", META_URL)), - daedalus::modded::fetch_manifest(&*format!("{}/fabric/v0/manifest.json", META_URL)), + daedalus::modded::fetch_manifest(&format!("{}/forge/v0/manifest.json", META_URL)), + daedalus::modded::fetch_manifest(&format!("{}/fabric/v0/manifest.json", META_URL)), ) .await; diff --git a/theseus/src/data/settings.rs b/theseus/src/data/settings.rs index 55ab0e8cb..05a24f8ed 100644 --- a/theseus/src/data/settings.rs +++ b/theseus/src/data/settings.rs @@ -38,7 +38,7 @@ impl Settings { if settings_path.exists() { let settings_data = std::fs::read_to_string(settings_path) - .map(|x| serde_json::from_str::(&*x).ok()) + .map(|x| serde_json::from_str::(&x).ok()) .ok() .flatten(); @@ -52,7 +52,7 @@ impl Settings { std::fs::write( Path::new(LAUNCHER_WORK_DIR).join(SETTINGS_FILE), - &*serde_json::to_string(&new)?, + &serde_json::to_string(&new)?, )?; SETTINGS.get_or_init(|| RwLock::new(new)); diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs index cbef78133..65dc3feba 100644 --- a/theseus/src/launcher/args.rs +++ b/theseus/src/launcher/args.rs @@ -108,7 +108,7 @@ pub fn get_jvm_arguments( } else { parsed_arguments.push(format!( "-Djava.library.path={}", - &*crate::util::absolute_path(natives_path) + &crate::util::absolute_path(natives_path) .map_err(|_| LauncherError::InvalidInput(format!( "Specified natives path {} does not exist", natives_path.to_string_lossy() @@ -153,7 +153,7 @@ fn parse_jvm_argument( ) .replace( "${library_directory}", - &*crate::util::absolute_path(libraries_path) + &crate::util::absolute_path(libraries_path) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified libraries path {} does not exist", @@ -240,14 +240,14 @@ fn parse_minecraft_argument( .replace("${auth_access_token}", access_token) .replace("${auth_session}", access_token) .replace("${auth_player_name}", username) - .replace("${auth_uuid}", &*uuid.to_hyphenated().to_string()) + .replace("${auth_uuid}", &uuid.to_hyphenated().to_string()) .replace("${user_properties}", "{}") .replace("${user_type}", "mojang") .replace("${version_name}", version) .replace("${assets_index_name}", asset_index_name) .replace( "${game_directory}", - &*crate::util::absolute_path(game_directory) + &crate::util::absolute_path(game_directory) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified game directory {} does not exist", @@ -259,7 +259,7 @@ fn parse_minecraft_argument( ) .replace( "${assets_root}", - &*crate::util::absolute_path(assets_directory) + &crate::util::absolute_path(assets_directory) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified assets directory {} does not exist", @@ -271,7 +271,7 @@ fn parse_minecraft_argument( ) .replace( "${game_assets}", - &*crate::util::absolute_path(assets_directory) + &crate::util::absolute_path(assets_directory) .map_err(|_| { LauncherError::InvalidInput(format!( "Specified assets directory {} does not exist", @@ -282,8 +282,8 @@ fn parse_minecraft_argument( .to_string(), ) .replace("${version_type}", version_type.as_str()) - .replace("${resolution_width}", &*resolution.0.to_string()) - .replace("${resolution_height}", &*resolution.1.to_string())) + .replace("${resolution_width}", &resolution.0.to_string()) + .replace("${resolution_height}", &resolution.1.to_string())) } fn parse_arguments( diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index 85d3da439..2cd76191d 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -270,7 +270,7 @@ pub async fn download_file(url: &str, sha1: Option<&str>) -> Result bool { let regex = Regex::new(version.as_str()); if let Ok(regex) = regex { - if !regex.is_match(&*sys_info::os_release().unwrap_or_default()) { + if !regex.is_match(&sys_info::os_release().unwrap_or_default()) { return false; } } diff --git a/theseus_cli/src/main.rs b/theseus_cli/src/main.rs index c27ebdd6d..7f755fb76 100644 --- a/theseus_cli/src/main.rs +++ b/theseus_cli/src/main.rs @@ -1,4 +1,2 @@ -use theseus::launcher::{Credentials, ModLoader}; - #[tokio::main] async fn main() {} From 9016785f888c4850121d6659636e728375465092 Mon Sep 17 00:00:00 2001 From: venashial Date: Mon, 21 Feb 2022 21:01:45 -0800 Subject: [PATCH 021/231] GUI initial commit --- .gitignore | 4 + .idea/git_toolbox_prj.xml | 15 + .idea/theseus.iml | 2 + Cargo.lock | 3234 ++++++++++++++++- Cargo.toml | 3 +- theseus_gui/.eslintrc.cjs | 20 + theseus_gui/.npmrc | 1 + theseus_gui/.prettierrc | 6 + theseus_gui/README.md | 40 + theseus_gui/package.json | 33 + theseus_gui/pnpm-lock.yaml | 1835 ++++++++++ theseus_gui/src-tauri/Cargo.toml | 24 + theseus_gui/src-tauri/build.rs | 3 + theseus_gui/src-tauri/icons/128x128.png | Bin 0 -> 3512 bytes theseus_gui/src-tauri/icons/128x128@2x.png | Bin 0 -> 7012 bytes theseus_gui/src-tauri/icons/32x32.png | Bin 0 -> 974 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 0 -> 2863 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 0 -> 3858 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 0 -> 3966 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 0 -> 7737 bytes .../src-tauri/icons/Square30x30Logo.png | Bin 0 -> 903 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 0 -> 8591 bytes .../src-tauri/icons/Square44x44Logo.png | Bin 0 -> 1299 bytes .../src-tauri/icons/Square71x71Logo.png | Bin 0 -> 2011 bytes .../src-tauri/icons/Square89x89Logo.png | Bin 0 -> 2468 bytes theseus_gui/src-tauri/icons/StoreLogo.png | Bin 0 -> 1523 bytes theseus_gui/src-tauri/icons/icon.icns | Bin 0 -> 941717 bytes theseus_gui/src-tauri/icons/icon.ico | Bin 0 -> 86642 bytes theseus_gui/src-tauri/icons/icon.png | Bin 0 -> 14183 bytes theseus_gui/src-tauri/src/main.rs | 89 + theseus_gui/src-tauri/tauri.conf.json | 63 + theseus_gui/src/app.d.ts | 13 + theseus_gui/src/app.html | 11 + theseus_gui/src/routes/__layout.svelte | 11 + theseus_gui/src/routes/index.svelte | 9 + theseus_gui/static/favicon.png | Bin 0 -> 1571 bytes theseus_gui/static/robots.txt | 3 + theseus_gui/static/svelte-welcome.png | Bin 0 -> 360807 bytes theseus_gui/static/svelte-welcome.webp | Bin 0 -> 115470 bytes theseus_gui/svelte.config.js | 13 + theseus_gui/tsconfig.json | 41 + 41 files changed, 5428 insertions(+), 45 deletions(-) create mode 100644 .idea/git_toolbox_prj.xml create mode 100644 theseus_gui/.eslintrc.cjs create mode 100644 theseus_gui/.npmrc create mode 100644 theseus_gui/.prettierrc create mode 100644 theseus_gui/README.md create mode 100644 theseus_gui/package.json create mode 100644 theseus_gui/pnpm-lock.yaml create mode 100644 theseus_gui/src-tauri/Cargo.toml create mode 100644 theseus_gui/src-tauri/build.rs create mode 100644 theseus_gui/src-tauri/icons/128x128.png create mode 100644 theseus_gui/src-tauri/icons/128x128@2x.png create mode 100644 theseus_gui/src-tauri/icons/32x32.png create mode 100644 theseus_gui/src-tauri/icons/Square107x107Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square142x142Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square150x150Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square284x284Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square30x30Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square310x310Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square44x44Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square71x71Logo.png create mode 100644 theseus_gui/src-tauri/icons/Square89x89Logo.png create mode 100644 theseus_gui/src-tauri/icons/StoreLogo.png create mode 100644 theseus_gui/src-tauri/icons/icon.icns create mode 100644 theseus_gui/src-tauri/icons/icon.ico create mode 100644 theseus_gui/src-tauri/icons/icon.png create mode 100644 theseus_gui/src-tauri/src/main.rs create mode 100644 theseus_gui/src-tauri/tauri.conf.json create mode 100644 theseus_gui/src/app.d.ts create mode 100644 theseus_gui/src/app.html create mode 100644 theseus_gui/src/routes/__layout.svelte create mode 100644 theseus_gui/src/routes/index.svelte create mode 100644 theseus_gui/static/favicon.png create mode 100644 theseus_gui/static/robots.txt create mode 100644 theseus_gui/static/svelte-welcome.png create mode 100644 theseus_gui/static/svelte-welcome.webp create mode 100644 theseus_gui/svelte.config.js create mode 100644 theseus_gui/tsconfig.json diff --git a/.gitignore b/.gitignore index ea8c4bf7f..c8130a783 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,5 @@ /target +node_modules/ +.svelte-kit/ +theseus_gui/build/ +WixTools \ No newline at end of file diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 000000000..b3820067b --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/theseus.iml b/.idea/theseus.iml index 7343894ae..b768ce958 100644 --- a/.idea/theseus.iml +++ b/.idea/theseus.iml @@ -48,6 +48,8 @@ + + diff --git a/Cargo.lock b/Cargo.lock index 7d9d476fd..a5df52823 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,6 +8,12 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "adler32" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aae1277d39aeec15cb388266ecc24b11c80469deae6067e17a1a7aa9e5c1f234" + [[package]] name = "aho-corasick" version = "0.7.18" @@ -17,6 +23,21 @@ dependencies = [ "memchr", ] +[[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.55" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "159bb86af3a200e19a068f4224eae4c8bb2d0fa054c7e5d1cacd5cef95e684cd" + [[package]] name = "argh" version = "0.1.6" @@ -34,7 +55,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48ad219abc0c06ca788aface2e3a1970587e3413ab70acd20e54b6ec524c1f8f" dependencies = [ "argh_shared", - "heck", + "heck 0.3.3", "proc-macro2", "quote", "syn", @@ -46,6 +67,119 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38de00daab4eac7d753e97697066238d67ce9d7e2d823ab4f72fe14af29f3f33" +[[package]] +name = "arrayref" +version = "0.3.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" + +[[package]] +name = "arrayvec" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b" + +[[package]] +name = "arrayvec" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" + +[[package]] +name = "ashpd" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7915e26e0786f91768d23de32afafa4ee5e2ea76be21c0ecd8e14441543c1655" +dependencies = [ + "enumflags2", + "futures", + "rand 0.8.4", + "serde", + "serde_repr", + "zbus", +] + +[[package]] +name = "async-broadcast" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90622698a1218e0b2fb846c97b5f19a0831f6baddee73d9454156365ccfa473b" +dependencies = [ + "easy-parallel", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-channel" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2114d64672151c0c5eaa5e131ec84a74f06e1e559830dabba01ca30605d66319" +dependencies = [ + "concurrent-queue", + "event-listener", + "futures-core", +] + +[[package]] +name = "async-executor" +version = "1.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "871f9bb5e0a22eeb7e8cf16641feb87c9dc67032ccf8ff49e772eb9941d3a965" +dependencies = [ + "async-task", + "concurrent-queue", + "fastrand", + "futures-lite", + "once_cell", + "slab", +] + +[[package]] +name = "async-io" +version = "1.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a811e6a479f2439f0c04038796b5cfb3d2ad56c230e0f2d3f7b04d68cfee607b" +dependencies = [ + "concurrent-queue", + "futures-lite", + "libc", + "log", + "once_cell", + "parking", + "polling", + "slab", + "socket2", + "waker-fn", + "winapi", +] + +[[package]] +name = "async-lock" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e97a171d191782fba31bb902b14ad94e24a68145032b7eedf871ab0bc0d077b6" +dependencies = [ + "event-listener", +] + +[[package]] +name = "async-recursion" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d7d78656ba01f1b93024b7c3a0467f1608e4be67d725749fdcd7d2c7678fd7a2" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "async-task" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d306121baf53310a3fd342d88dc0824f6bbeace68347593658525565abee8" + [[package]] name = "async-trait" version = "0.1.51" @@ -57,6 +191,48 @@ dependencies = [ "syn", ] +[[package]] +name = "atk" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2c3d816ce6f0e2909a96830d6911c2aff044370b1ef92d7f267b43bae5addedd" +dependencies = [ + "atk-sys", + "bitflags", + "glib", + "libc", +] + +[[package]] +name = "atk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58aeb089fb698e06db8089971c7ee317ab9644bade33383f63631437b03aafb6" +dependencies = [ + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "system-deps 6.0.2", +] + +[[package]] +name = "attohttpc" +version = "0.18.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e69e13a99a7e6e070bb114f7ff381e58c7ccc188630121fc4c2fe4bcf24cd072" +dependencies = [ + "flate2", + "http", + "log", + "native-tls", + "openssl", + "serde", + "serde_json", + "serde_urlencoded", + "url", + "wildmatch", +] + [[package]] name = "autocfg" version = "1.0.1" @@ -69,12 +245,53 @@ version = "0.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" +[[package]] +name = "bincode" +version = "1.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad" +dependencies = [ + "serde", +] + [[package]] name = "bitflags" version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "blake2b_simd" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "afa748e348ad3be8263be728124b24a24f268266f6f5d58af9d75f6a40b5c587" +dependencies = [ + "arrayref", + "arrayvec 0.5.2", + "constant_time_eq", +] + +[[package]] +name = "blake3" +version = "1.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a08e53fc5a564bb15bfe6fae56bd71522205f1f91893f9c0116edad6496c183f" +dependencies = [ + "arrayref", + "arrayvec 0.7.2", + "cc", + "cfg-if", + "constant_time_eq", + "digest 0.10.3", + "rayon", +] + +[[package]] +name = "block" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" + [[package]] name = "block-buffer" version = "0.7.3" @@ -84,7 +301,16 @@ dependencies = [ "block-padding", "byte-tools", "byteorder", - "generic-array", + "generic-array 0.12.4", +] + +[[package]] +name = "block-buffer" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf7fe51849ea569fd452f37822f606a5cabb684dc918707a0193fd4664ff324" +dependencies = [ + "generic-array 0.14.5", ] [[package]] @@ -96,6 +322,15 @@ dependencies = [ "byte-tools", ] +[[package]] +name = "bstr" +version = "0.2.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" +dependencies = [ + "memchr", +] + [[package]] name = "bumpalo" version = "3.8.0" @@ -141,11 +376,92 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "cache-padded" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1db59621ec70f09c5e9b597b220c7a2b43611f4710dc03ceb8748637775692c" + +[[package]] +name = "cairo-rs" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e8b14c80d8d1a02fa6d914b9d1afeeca9bc34257f8300d9696e1e331ae114223" +dependencies = [ + "bitflags", + "cairo-sys-rs", + "glib", + "libc", + "thiserror", +] + +[[package]] +name = "cairo-sys-rs" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c55d429bef56ac9172d25fecb85dc8068307d17acd74b377866b7a1ef25d3c8" +dependencies = [ + "glib-sys 0.15.6", + "libc", + "system-deps 6.0.2", +] + +[[package]] +name = "cargo_toml" +version = "0.11.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e270ef0cd868745878982f7ce470aa898d0d4bb248af67f0cf66f54617913ef" +dependencies = [ + "serde", + "serde_derive", + "toml", +] + [[package]] name = "cc" version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" +dependencies = [ + "jobserver", +] + +[[package]] +name = "cfb" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca453e8624711b2f0f4eb47076a318feda166252a827ee25d067b43de83dcba0" +dependencies = [ + "byteorder", + "uuid", +] + +[[package]] +name = "cfg-expr" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b412e83326147c2bb881f8b40edfbf9905b9b8abaebd0e47ca190ba62fda8f0e" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-expr" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3431df59f28accaf4cb4eed4a9acc66bea3f3c3753aa6cdc2f024174ef232af7" +dependencies = [ + "smallvec", +] + +[[package]] +name = "cfg-expr" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "295b6eb918a60a25fec0b23a5e633e74fddbaf7bb04411e65a10c366aca4b5cd" +dependencies = [ + "smallvec", +] [[package]] name = "cfg-if" @@ -153,6 +469,12 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e" + [[package]] name = "chrono" version = "0.4.19" @@ -167,6 +489,46 @@ dependencies = [ "winapi", ] +[[package]] +name = "cocoa" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63902e9223530efb4e26ccd0cf55ec30d592d3b42e21a28defc42a9586e832" +dependencies = [ + "bitflags", + "block", + "cocoa-foundation", + "core-foundation", + "core-graphics", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "cocoa-foundation" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7ade49b65d560ca58c403a479bb396592b155c0185eada742ee323d1d68d6318" +dependencies = [ + "bitflags", + "block", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", + "objc", +] + +[[package]] +name = "concurrent-queue" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30ed07550be01594c6026cff2a1d7fe9c8f683caa798e12b68694ac9e88286a3" +dependencies = [ + "cache-padded", +] + [[package]] name = "const_format" version = "0.2.22" @@ -187,6 +549,18 @@ dependencies = [ "unicode-xid", ] +[[package]] +name = "constant_time_eq" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + [[package]] name = "core-foundation" version = "0.9.2" @@ -203,6 +577,40 @@ version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5827cebf4670468b8772dd191856768aedcb1b0278a04f989f7766351917b9dc" +[[package]] +name = "core-graphics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2581bbab3b8ffc6fcbd550bf46c355135d16e9ff2a6ea032ad6b9bf1d7efe4fb" +dependencies = [ + "bitflags", + "core-foundation", + "core-graphics-types", + "foreign-types", + "libc", +] + +[[package]] +name = "core-graphics-types" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a68b68b3446082644c91ac778bf50cd4104bfb002b5a6a7c44cca5a2c70788b" +dependencies = [ + "bitflags", + "core-foundation", + "foreign-types", + "libc", +] + +[[package]] +name = "cpufeatures" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95059428f66df56b63431fdb4e1947ed2190586af5c5a8a8b71122bdf5a7f469" +dependencies = [ + "libc", +] + [[package]] name = "crc32fast" version = "1.2.2" @@ -212,6 +620,103 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "crossbeam-channel" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e54ea8bc3fb1ee042f5aace6e3c6e025d3874866da222930f70ce62aceba0bfa" +dependencies = [ + "cfg-if", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" +dependencies = [ + "cfg-if", + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00d6d2ea26e8b151d99093005cb442fb9a37aeaca582a03ec70946f49ab5ed9" +dependencies = [ + "cfg-if", + "crossbeam-utils", + "lazy_static", + "memoffset", + "scopeguard", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e5bed1f1c269533fa816a0a5492b3545209a205ca1a54842be180eb63a16a6" +dependencies = [ + "cfg-if", + "lazy_static", +] + +[[package]] +name = "crypto-common" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57952ca27b5e3606ff4dd79b0020231aaf9d6aa76dc05fd30137538c50bd3ce8" +dependencies = [ + "generic-array 0.14.5", + "typenum", +] + +[[package]] +name = "cssparser" +version = "0.27.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754b69d351cdc2d8ee09ae203db831e005560fc6030da058f86ad60c92a9cb0a" +dependencies = [ + "cssparser-macros", + "dtoa-short", + "itoa 0.4.8", + "matches", + "phf 0.8.0", + "proc-macro2", + "quote", + "smallvec", + "syn", +] + +[[package]] +name = "cssparser-macros" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dfae75de57f2b2e85e8768c3ea840fd159c8f33e2b6522c7835b7abac81be16e" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "ctor" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ccc0a48a9b826acdf4028595adc9db92caea352f7af011a3034acd172a52a0aa" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "cty" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b365fabc795046672053e29c954733ec3b05e4be654ab130fe8f1f94d7051f35" + [[package]] name = "daedalus" version = "0.1.13" @@ -228,15 +733,211 @@ dependencies = [ "tokio", ] +[[package]] +name = "darling" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d706e75d87e35569db781a9b5e2416cff1236a47ed380831f959382ccd5f858" +dependencies = [ + "darling_core 0.10.2", + "darling_macro 0.10.2", +] + +[[package]] +name = "darling" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d0d720b8683f8dd83c65155f0530560cba68cd2bf395f6513a483caee57ff7f4" +dependencies = [ + "darling_core 0.13.1", + "darling_macro 0.13.1", +] + +[[package]] +name = "darling_core" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0c960ae2da4de88a91b2d920c2a7233b400bc33cb28453a2987822d8392519b" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.9.3", + "syn", +] + +[[package]] +name = "darling_core" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a340f241d2ceed1deb47ae36c4144b2707ec7dd0b649f894cb39bb595986324" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.10.0", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b5a2f4ac4969822c62224815d069952656cadc7084fdca9751e6d959189b72" +dependencies = [ + "darling_core 0.10.2", + "quote", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c41b3b7352feb3211a0d743dc5700a4e3b60f51bd2b368892d1e0f9a95f44b" +dependencies = [ + "darling_core 0.13.1", + "quote", + "syn", +] + +[[package]] +name = "deflate" +version = "0.7.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "707b6a7b384888a70c8d2e8650b3e60170dfc6a67bb4aa67b6dfca57af4bedb4" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "deflate" +version = "0.8.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73770f8e1fe7d64df17ca66ad28994a0a623ea497fa69486e14984e715c5d174" +dependencies = [ + "adler32", + "byteorder", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version 0.4.0", + "syn", +] + [[package]] name = "digest" version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5" dependencies = [ - "generic-array", + "generic-array 0.12.4", ] +[[package]] +name = "digest" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2fb860ca6fafa5552fb6d0e816a69c8e49f0908bf524e30a90d97c85892d506" +dependencies = [ + "block-buffer 0.10.2", + "crypto-common", + "subtle", +] + +[[package]] +name = "dirs" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fd78930633bd1c6e35c4b42b1df7b0cbc6bc191146e512bb3bedf243fcc3901" +dependencies = [ + "libc", + "redox_users 0.3.5", + "winapi", +] + +[[package]] +name = "dirs-next" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" +dependencies = [ + "cfg-if", + "dirs-sys-next", +] + +[[package]] +name = "dirs-sys-next" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ebda144c4fe02d1f7ea1a7d9641b6fc6b580adcfa024ae48797ecdeb6825b4d" +dependencies = [ + "libc", + "redox_users 0.4.0", + "winapi", +] + +[[package]] +name = "dispatch" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd0c93bb4b0c6d9b77f4435b0ae98c24d17f1c45b2ff844c6151a07256ca923b" + +[[package]] +name = "dtoa" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "56899898ce76aaf4a0f24d914c97ea6ed976d42fec6ad33fcbb0a1103e07b2b0" + +[[package]] +name = "dtoa-short" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bde03329ae10e79ede66c9ce4dc930aa8599043b0743008548680f25b91502d6" +dependencies = [ + "dtoa", +] + +[[package]] +name = "easy-parallel" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6907e25393cdcc1f4f3f513d9aac1e840eb1cc341a0fccb01171f7d14d10b946" + +[[package]] +name = "either" +version = "1.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" + +[[package]] +name = "embed_plist" +version = "1.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4ef6b89e5b37196644d8796de5268852ff179b44e96276cf4290264843743bb7" + [[package]] name = "encoding_rs" version = "0.8.29" @@ -246,12 +947,70 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "enumflags2" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a25c90b056b3f84111cf183cbeddef0d3a0bbe9a674f057e1a1533c315f24def" +dependencies = [ + "enumflags2_derive", + "serde", +] + +[[package]] +name = "enumflags2_derive" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "144ec79496cbab6f84fa125dc67be9264aef22eb8a28da8454d9c33f15108da4" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "event-listener" +version = "2.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77f3309417938f28bf8228fcff79a4a37103981e3e186d2ccd19c74b38f4eb71" + [[package]] name = "fake-simd" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed" +[[package]] +name = "fastrand" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +dependencies = [ + "instant", +] + +[[package]] +name = "field-offset" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e1c54951450cbd39f3dbcf1005ac413b49487dabf18a720ad2383eccfeffb92" +dependencies = [ + "memoffset", + "rustc_version 0.3.3", +] + +[[package]] +name = "filetime" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "975ccf83d8d9d0d84682850a38c8169027be83368805971cc4f238c2b245bc98" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.10", + "winapi", +] + [[package]] name = "flate2" version = "1.0.22" @@ -261,7 +1020,7 @@ dependencies = [ "cfg-if", "crc32fast", "libc", - "miniz_oxide", + "miniz_oxide 0.4.4", ] [[package]] @@ -301,6 +1060,16 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2022715d62ab30faffd124d40b76f4134a550a87792276512b18d63272333394" +[[package]] +name = "futf" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df420e2e84819663797d1ec6544b13c5be84629e7bb00dc960d6917db2987843" +dependencies = [ + "mac", + "new_debug_unreachable", +] + [[package]] name = "futures" version = "0.3.18" @@ -349,6 +1118,21 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e481354db6b5c353246ccf6a728b0c5511d752c08da7260546fc0933869daa11" +[[package]] +name = "futures-lite" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7694489acd39452c77daa48516b894c153f192c3578d5a839b62c58099fcbf48" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "memchr", + "parking", + "pin-project-lite", + "waker-fn", +] + [[package]] name = "futures-macro" version = "0.3.18" @@ -390,6 +1174,100 @@ dependencies = [ "slab", ] +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "gdk" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6e05c1f572ab0e1f15be94217f0dc29088c248b14f792a5ff0af0d84bcda9e8" +dependencies = [ + "bitflags", + "cairo-rs", + "gdk-pixbuf", + "gdk-sys", + "gio", + "glib", + "libc", + "pango", +] + +[[package]] +name = "gdk-pixbuf" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8750501d75f318c2ec0314701bc8403901303210def80bafd13f6b6059a3f45" +dependencies = [ + "bitflags", + "gdk-pixbuf-sys", + "gio", + "glib", + "libc", +] + +[[package]] +name = "gdk-pixbuf-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413424d9818621fa3cfc8a3a915cdb89a7c3c507d56761b4ec83a9a98e587171" +dependencies = [ + "gio-sys 0.15.6", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "system-deps 6.0.2", +] + +[[package]] +name = "gdk-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32e7a08c1e8f06f4177fb7e51a777b8c1689f743a7bc11ea91d44d2226073a88" +dependencies = [ + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gio-sys 0.15.6", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "pango-sys", + "pkg-config", + "system-deps 6.0.2", +] + +[[package]] +name = "gdkx11-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b4b7f8c7a84b407aa9b143877e267e848ff34106578b64d1e0a24bf550716178" +dependencies = [ + "gdk-sys", + "glib-sys 0.15.6", + "libc", + "system-deps 6.0.2", + "x11", +] + +[[package]] +name = "generator" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c1d9279ca822891c1a4dae06d185612cf8fc6acfe5dff37781b41297811b12ee" +dependencies = [ + "cc", + "libc", + "log", + "rustversion", + "winapi", +] + [[package]] name = "generic-array" version = "0.12.4" @@ -399,6 +1277,27 @@ dependencies = [ "typenum", ] +[[package]] +name = "generic-array" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fd48d33ec7f05fbfa152300fdad764757cbded343c1aa1cff2fbaf4134851803" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + [[package]] name = "getrandom" version = "0.2.3" @@ -407,7 +1306,201 @@ checksum = "7fcd999463524c52659517fe2cea98493cfe485d10565e7b0fb07dbba7ad2753" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.10.2+wasi-snapshot-preview1", +] + +[[package]] +name = "gio" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96efd8a1c00d890f6b45671916e165b5e43ccec61957d443aff6d7e44f62d348" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-io", + "gio-sys 0.15.6", + "glib", + "libc", + "once_cell", + "thiserror", +] + +[[package]] +name = "gio-sys" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0a41df66e57fcc287c4bcf74fc26b884f31901ea9792ec75607289b456f48fa" +dependencies = [ + "glib-sys 0.14.0", + "gobject-sys 0.14.0", + "libc", + "system-deps 3.2.0", + "winapi", +] + +[[package]] +name = "gio-sys" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d0fa5052773f5a56b8ae47dab09d040f5d9ce1311f4f99006e16e9a08269296" +dependencies = [ + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "system-deps 6.0.2", + "winapi", +] + +[[package]] +name = "glib" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa570813c504bdf7539a9400180c2dd4b789a819556fb86da7226d7d1b037b49" +dependencies = [ + "bitflags", + "futures-channel", + "futures-core", + "futures-executor", + "futures-task", + "glib-macros", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "once_cell", + "smallvec", + "thiserror", +] + +[[package]] +name = "glib-macros" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41bfd8d227dead0829ac142454e97531b93f576d0805d779c42bfd799c65c572" +dependencies = [ + "anyhow", + "heck 0.4.0", + "proc-macro-crate 1.1.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "glib-sys" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c1d60554a212445e2a858e42a0e48cece1bd57b311a19a9468f70376cf554ae" +dependencies = [ + "libc", + "system-deps 3.2.0", +] + +[[package]] +name = "glib-sys" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4366377bd56697de8aaee24e673c575d2694d72e7756324ded2b0428829a7b8" +dependencies = [ + "libc", + "system-deps 6.0.2", +] + +[[package]] +name = "glob" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574" + +[[package]] +name = "globset" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10463d9ff00a2a068db14231982f5132edebad0d7660cd956a1c30292dbcbfbd" +dependencies = [ + "aho-corasick", + "bstr", + "fnv", + "log", + "regex", +] + +[[package]] +name = "gobject-sys" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa92cae29759dae34ab5921d73fff5ad54b3d794ab842c117e36cafc7994c3f5" +dependencies = [ + "glib-sys 0.14.0", + "libc", + "system-deps 3.2.0", +] + +[[package]] +name = "gobject-sys" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df6859463843c20cf3837e3a9069b6ab2051aeeadf4c899d33344f4aea83189a" +dependencies = [ + "glib-sys 0.15.6", + "libc", + "system-deps 6.0.2", +] + +[[package]] +name = "gtk" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f2d1326b36af927fe46ae2f89a8fec38c6f0d279ebc5ef07ffeeabb70300bfc" +dependencies = [ + "atk", + "bitflags", + "cairo-rs", + "field-offset", + "futures-channel", + "gdk", + "gdk-pixbuf", + "gio", + "glib", + "gtk-sys", + "gtk3-macros", + "libc", + "once_cell", + "pango", + "pkg-config", +] + +[[package]] +name = "gtk-sys" +version = "0.15.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d5bc2f0587cba247f60246a0ca11fe25fb733eabc3de12d1965fc07efab87c84" +dependencies = [ + "atk-sys", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys 0.15.6", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "pango-sys", + "system-deps 6.0.2", +] + +[[package]] +name = "gtk3-macros" +version = "0.15.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24f518afe90c23fba585b2d7697856f9e6a7bbc62f65588035e66f6afb01a2e9" +dependencies = [ + "anyhow", + "proc-macro-crate 1.1.2", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", ] [[package]] @@ -444,6 +1537,12 @@ dependencies = [ "unicode-segmentation", ] +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -454,14 +1553,34 @@ dependencies = [ ] [[package]] -name = "http" -version = "0.2.5" +name = "hex" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1323096b05d41827dadeaee54c9981958c0f94e670bc94ed80037d1a7b8b186b" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "html5ever" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aafcf38a1a36118242d29b92e1b08ef84e67e4a5ed06e0a80be20e6a32bfed6b" +dependencies = [ + "log", + "mac", + "markup5ever", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "http" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31f4c6746584866f0feabcc69893c5b51beef3831656a968ed7ae254cdc4fd03" dependencies = [ "bytes", "fnv", - "itoa", + "itoa 1.0.1", ] [[package]] @@ -475,6 +1594,12 @@ dependencies = [ "pin-project-lite", ] +[[package]] +name = "http-range" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "21dec9db110f5f872ed9699c3ecf50cf16f423502706ba5c72462e28d3157573" + [[package]] name = "httparse" version = "1.5.1" @@ -502,7 +1627,7 @@ dependencies = [ "http-body", "httparse", "httpdate", - "itoa", + "itoa 0.4.8", "pin-project-lite", "socket2", "tokio", @@ -524,6 +1649,22 @@ dependencies = [ "tokio-native-tls", ] +[[package]] +name = "ico" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a4b3331534254a9b64095ae60d3dc2a8225a7a70229cd5888be127cdc1f6804" +dependencies = [ + "byteorder", + "png 0.11.0", +] + +[[package]] +name = "ident_case" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9e0384b61958566e926dc50660321d12159025e767c18e043daf26b70104c39" + [[package]] name = "idna" version = "0.2.3" @@ -535,6 +1676,24 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "ignore" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "713f1b139373f96a2e0ce3ac931cd01ee973c3c5dd7c40c0c2efe96ad2b6751d" +dependencies = [ + "crossbeam-utils", + "globset", + "lazy_static", + "log", + "memchr", + "regex", + "same-file", + "thread_local", + "walkdir", + "winapi-util", +] + [[package]] name = "indexmap" version = "1.7.0" @@ -545,6 +1704,24 @@ dependencies = [ "hashbrown", ] +[[package]] +name = "infer" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f92b41dab759f9e8427c03f519c344a14655490b8db548dac1e57a75b3258391" +dependencies = [ + "cfb", +] + +[[package]] +name = "inflate" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f5f9f47468e9a76a6452271efadc88fe865a82be91fe75e6c0c57b87ccea59d4" +dependencies = [ + "adler32", +] + [[package]] name = "instant" version = "0.1.12" @@ -560,12 +1737,65 @@ version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" +[[package]] +name = "itertools" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b71991ff56294aa922b450139ee08b3bfc70982c6b2c7562771375cf73542dd4" +[[package]] +name = "itoa" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35" + +[[package]] +name = "javascriptcore-rs" +version = "0.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf053e7843f2812ff03ef5afe34bb9c06ffee120385caad4f6b9967fcd37d41c" +dependencies = [ + "bitflags", + "glib", + "javascriptcore-rs-sys", +] + +[[package]] +name = "javascriptcore-rs-sys" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "905fbb87419c5cde6e3269537e4ea7d46431f3008c5d057e915ef3f115e7793c" +dependencies = [ + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "jni-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaf4bc02d17cbdd7ff4c7438cafcdf7fb9a4613313ad11b4f8fefe7d3fa0130" + +[[package]] +name = "jobserver" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af25a77299a7f711a01975c35a6a424eb6862092cc2d6c72c4ed6cbc56dfc1fa" +dependencies = [ + "libc", +] + [[package]] name = "js-sys" version = "0.3.55" @@ -575,6 +1805,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "json-patch" +version = "0.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f995a3c8f2bc3dd52a18a583e90f9ec109c047fa1603a853e46bcda14d2e279d" +dependencies = [ + "serde", + "serde_json", + "treediff", +] + [[package]] name = "json5" version = "0.4.1" @@ -586,6 +1827,18 @@ dependencies = [ "serde", ] +[[package]] +name = "kuchiki" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1ea8e9c6e031377cff82ee3001dc8026cdf431ed4e2e6b51f98ab8c73484a358" +dependencies = [ + "cssparser", + "html5ever", + "matches", + "selectors", +] + [[package]] name = "lazy_static" version = "1.4.0" @@ -594,15 +1847,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.108" +version = "0.2.119" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8521a1b57e76b1ec69af7599e75e38e7b7fad6610f037db8c79b127201b5d119" +checksum = "1bf2e165bb3457c8e098ea76f3e3bc9db55f87aa90d52d0e6be741470916aaa4" [[package]] name = "lock_api" -version = "0.4.5" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712a4d093c9976e24e7dbca41db895dabcbac38eb5f4045393d17a95bdfb1109" +checksum = "88943dd7ef4a2e5a4bfa2753aaab3013e34ce2533d1996fb18ef591e315e2b3b" dependencies = [ "scopeguard", ] @@ -616,12 +1869,77 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "loom" +version = "0.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "edc5c7d328e32cc4954e8e01193d7f0ef5ab257b5090b70a964e099a36034309" +dependencies = [ + "cfg-if", + "generator", + "scoped-tls", + "serde", + "serde_json", + "tracing", + "tracing-subscriber", +] + +[[package]] +name = "mac" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c41e0c4fef86961ac6d6f8a82609f55f31b05e4fce149ac5710e439df7619ba4" + +[[package]] +name = "mac-notification-sys" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb6b71a9a89cd38b395d994214297447e8e63b1ba5708a9a2b0b1048ceda76" +dependencies = [ + "cc", + "chrono", + "dirs", + "objc-foundation", +] + +[[package]] +name = "malloc_buf" +version = "0.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62bb907fe88d54d8d9ce32a3cceab4218ed2f6b7d35617cafe9adf84e43919cb" +dependencies = [ + "libc", +] + [[package]] name = "maplit" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" +[[package]] +name = "markup5ever" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a24f40fb03852d1cdd84330cddcaf98e9ec08a7b7768e952fad3b4cf048ec8fd" +dependencies = [ + "log", + "phf 0.8.0", + "phf_codegen", + "string_cache", + "string_cache_codegen", + "tendril", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata", +] + [[package]] name = "matches" version = "0.1.9" @@ -634,12 +1952,30 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" +[[package]] +name = "memoffset" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +dependencies = [ + "autocfg", +] + [[package]] name = "mime" version = "0.3.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a60c7ce501c71e03a9c9c0d35b861413ae925bd979cc7a4e30d060069aaac8d" +[[package]] +name = "miniz_oxide" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "791daaae1ed6889560f8c4359194f56648355540573244a5448a83ba1ecc7435" +dependencies = [ + "adler32", +] + [[package]] name = "miniz_oxide" version = "0.4.4" @@ -652,9 +1988,9 @@ dependencies = [ [[package]] name = "mio" -version = "0.7.14" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8067b404fe97c70829f082dec8bcf4f71225d7eaea1d8645349cb76fa06205cc" +checksum = "ba272f85fa0b41fc91872be579b3bbe0f56b792aa361a380eb669469f68dafb2" dependencies = [ "libc", "log", @@ -690,6 +2026,98 @@ dependencies = [ "tempfile", ] +[[package]] +name = "ndk" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d64d6af06fde0e527b1ba5c7b79a6cc89cfc46325b0b2887dffe8f70197e0c3c" +dependencies = [ + "bitflags", + "jni-sys", + "ndk-sys", + "num_enum", + "thiserror", +] + +[[package]] +name = "ndk-context" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e3c5cc68637e21fe8f077f6a1c9e0b9ca495bb74895226b476310f613325884" + +[[package]] +name = "ndk-glue" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9b1454575120e3265d2442222299c711ace58ba417532ee4f0fc71b860016b93" +dependencies = [ + "lazy_static", + "libc", + "log", + "ndk", + "ndk-context", + "ndk-macro", + "ndk-sys", +] + +[[package]] +name = "ndk-macro" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05d1c6307dc424d0f65b9b06e94f88248e6305726b14729fd67a5e47b2dc481d" +dependencies = [ + "darling 0.10.2", + "proc-macro-crate 0.1.5", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "ndk-sys" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1bcdd74c20ad5d95aacd60ef9ba40fdf77f767051040541df557b7a9b2a2121" + +[[package]] +name = "new_debug_unreachable" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e4a24736216ec316047a1fc4252e27dabb04218aa4a3f37c6e7ddbf1f9782b54" + +[[package]] +name = "nix" +version = "0.23.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f866317acbd3a240710c63f065ffb1e4fd466259045ccb504130b7f668f35c6" +dependencies = [ + "bitflags", + "cc", + "cfg-if", + "libc", + "memoffset", +] + +[[package]] +name = "nodrop" +version = "0.1.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72ef4a56884ca558e5ddb05a1d1e7e1bfd9a68d9ed024c21704cc98872dae1bb" + +[[package]] +name = "notify-rust" +version = "4.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "367e1355a950d3e758e414f3ca1b3981a57a2aa1fa3338eb0059f5b230b6ffa4" +dependencies = [ + "mac-notification-sys", + "serde", + "winrt-notification", + "zbus", + "zvariant", + "zvariant_derive", +] + [[package]] name = "ntapi" version = "0.3.6" @@ -709,6 +2137,17 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.42" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b2021c8337a54d21aca0d59a92577a029af9431cb59b909b03252b9c164fad59" +dependencies = [ + "autocfg", + "num-integer", + "num-traits", +] + [[package]] name = "num-traits" version = "0.2.14" @@ -728,6 +2167,66 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "720d3ea1055e4e4574c0c0b0f8c3fd4f24c4cdaf465948206dea090b57b526ad" +dependencies = [ + "num_enum_derive", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d992b768490d7fe0d8586d9b5745f6c49f557da6d81dc982b1d167ad4edbb21" +dependencies = [ + "proc-macro-crate 1.1.2", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "objc" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" +dependencies = [ + "malloc_buf", + "objc_exception", +] + +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + +[[package]] +name = "objc_exception" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" +dependencies = [ + "cc", +] + +[[package]] +name = "objc_id" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92d4ddb4bd7b50d730c215ff871754d0da6b2178849f8a2a2ab69712d0c073b" +dependencies = [ + "objc", +] + [[package]] name = "once_cell" version = "1.9.0" @@ -740,6 +2239,16 @@ version = "0.2.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c" +[[package]] +name = "open" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5a82915836ef43159bb6a3c64d884c42329ccd0b8afdca737cf1e3dd701709dc" +dependencies = [ + "pathdiff", + "winapi", +] + [[package]] name = "openssl" version = "0.10.38" @@ -773,6 +2282,68 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "ordered-stream" +version = "0.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44630c059eacfd6e08bdaa51b1db2ce33119caa4ddc1235e923109aa5f25ccb1" +dependencies = [ + "futures-core", + "pin-project-lite", +] + +[[package]] +name = "os_info" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "023df84d545ef479cf67fd2f4459a613585c9db4852c2fad12ab70587859d340" +dependencies = [ + "log", + "serde", + "winapi", +] + +[[package]] +name = "os_pipe" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e3492ebca331b895fe23ed427dce2013d9b2e00c45964f12040b0db38b8ab27" +dependencies = [ + "libc", + "winapi", +] + +[[package]] +name = "pango" +version = "0.15.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "78c7420fc01a390ec200da7395b64d705f5d82fe03e5d0708aee422c46538be7" +dependencies = [ + "bitflags", + "glib", + "libc", + "once_cell", + "pango-sys", +] + +[[package]] +name = "pango-sys" +version = "0.15.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7022c2fb88cd2d9d55e1a708a8c53a3ae8678234c4a54bf623400aeb7f31fac2" +dependencies = [ + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "libc", + "system-deps 6.0.2", +] + +[[package]] +name = "parking" +version = "2.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "427c3892f9e783d91cc128285287e70a59e206ca452770ece88a76f7a3eddd72" + [[package]] name = "parking_lot" version = "0.11.2" @@ -781,7 +2352,17 @@ checksum = "7d17b78036a60663b797adeaee46f5c9dfebb86948d1255007a1d6be0271ff99" dependencies = [ "instant", "lock_api", - "parking_lot_core", + "parking_lot_core 0.8.5", +] + +[[package]] +name = "parking_lot" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f5ec2493a61ac0506c0f4199f99070cbe83857b0337006a30f3e6719b8ef58" +dependencies = [ + "lock_api", + "parking_lot_core 0.9.1", ] [[package]] @@ -793,17 +2374,36 @@ dependencies = [ "cfg-if", "instant", "libc", - "redox_syscall", + "redox_syscall 0.2.10", "smallvec", "winapi", ] +[[package]] +name = "parking_lot_core" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28141e0cc4143da2443301914478dc976a61ffdb3f043058310c70df2fed8954" +dependencies = [ + "cfg-if", + "libc", + "redox_syscall 0.2.10", + "smallvec", + "windows-sys", +] + [[package]] name = "path-clean" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ecba01bf2678719532c5e3059e0b5f0811273d94b397088b82e3bd0a78c78fdd" +[[package]] +name = "pathdiff" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835116a5c179084a830efb3adc117ab007512b535bc1a21c991d3b32a6b44dd" + [[package]] name = "percent-encoding" version = "2.1.0" @@ -853,6 +2453,104 @@ dependencies = [ "sha-1", ] +[[package]] +name = "phf" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dfb61232e34fcb633f43d12c58f83c1df82962dcdfa565a4e866ffc17dafe12" +dependencies = [ + "phf_macros 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", +] + +[[package]] +name = "phf" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabbf1ead8a5bcbc20f5f8b939ee3f5b0f6f281b6ad3468b84656b658b455259" +dependencies = [ + "phf_macros 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", +] + +[[package]] +name = "phf_codegen" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cbffee61585b0411840d3ece935cce9cb6321f01c45477d30066498cd5e1a815" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", +] + +[[package]] +name = "phf_generator" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17367f0cc86f2d25802b2c26ee58a7b23faeccf78a396094c13dced0d0182526" +dependencies = [ + "phf_shared 0.8.0", + "rand 0.7.3", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared 0.10.0", + "rand 0.8.4", +] + +[[package]] +name = "phf_macros" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6fde18ff429ffc8fe78e2bf7f8b7a5a5a6e2a8b58bc5a9ac69198bbda9189c" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_macros" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58fdf3184dd560f160dd73922bea2d5cd6e8f064bf4b13110abd81b03697b4e0" +dependencies = [ + "phf_generator 0.10.0", + "phf_shared 0.10.0", + "proc-macro-hack", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "phf_shared" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c00cf8b9eafe68dde5e9eaa2cef8ee84a9336a47d566ec55ca16589633b65af7" +dependencies = [ + "siphasher", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", +] + [[package]] name = "pin-project-lite" version = "0.2.7" @@ -871,12 +2569,110 @@ version = "0.3.22" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" +[[package]] +name = "png" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0b0cabbbd20c2d7f06dbf015e06aad59b6ca3d9ed14848783e98af9aaf19925" +dependencies = [ + "bitflags", + "deflate 0.7.20", + "inflate", + "num-iter", +] + +[[package]] +name = "png" +version = "0.16.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c3287920cb847dee3de33d301c463fba14dda99db24214ddf93f83d3021f4c6" +dependencies = [ + "bitflags", + "crc32fast", + "deflate 0.8.6", + "miniz_oxide 0.3.7", +] + +[[package]] +name = "polling" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "685404d509889fade3e86fe3a5803bca2ec09b0c0778d5ada6ec8bf7a8de5259" +dependencies = [ + "cfg-if", + "libc", + "log", + "wepoll-ffi", + "winapi", +] + +[[package]] +name = "pollster" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5da3b0203fd7ee5720aa0b5e790b591aa5d3f41c3ed2c34a3a393382198af2f7" + [[package]] name = "ppv-lite86" version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed0cfbc8191465bed66e1718596ee0b0b35d5ee1f41c5df2189d0fe8bde535ba" +[[package]] +name = "precomputed-hash" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" + +[[package]] +name = "proc-macro-crate" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d6ea3c4595b96363c13943497db34af4460fb474a95c43f4446ad341b8c9785" +dependencies = [ + "toml", +] + +[[package]] +name = "proc-macro-crate" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dada8c9981fcf32929c3c0f0cd796a9284aca335565227ed88c83babb1d43dc" +dependencies = [ + "thiserror", + "toml", +] + +[[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-macro-hack" +version = "0.5.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" + [[package]] name = "proc-macro2" version = "1.0.32" @@ -895,6 +2691,20 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "rand" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" +dependencies = [ + "getrandom 0.1.16", + "libc", + "rand_chacha 0.2.2", + "rand_core 0.5.1", + "rand_hc 0.2.0", + "rand_pcg", +] + [[package]] name = "rand" version = "0.8.4" @@ -902,9 +2712,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e7573632e6454cf6b99d7aac4ccca54be06da05aca2ef7423d22d27d4d4bcd8" dependencies = [ "libc", - "rand_chacha", - "rand_core", - "rand_hc", + "rand_chacha 0.3.1", + "rand_core 0.6.3", + "rand_hc 0.3.1", +] + +[[package]] +name = "rand_chacha" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4c8ed856279c9737206bf725bf36935d8666ead7aa69b52be55af369d193402" +dependencies = [ + "ppv-lite86", + "rand_core 0.5.1", ] [[package]] @@ -914,7 +2734,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.3", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", ] [[package]] @@ -923,7 +2752,16 @@ version = "0.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d34f1408f55294453790c48b2f1ebbb1c5b4b7563eb1f418bcfcfdbb06ebb4e7" dependencies = [ - "getrandom", + "getrandom 0.2.3", +] + +[[package]] +name = "rand_hc" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c" +dependencies = [ + "rand_core 0.5.1", ] [[package]] @@ -932,9 +2770,58 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d51e9f596de227fda2ea6c84607f5558e196eeaf43c986b724ba4fb8fdf497e7" dependencies = [ - "rand_core", + "rand_core 0.6.3", ] +[[package]] +name = "rand_pcg" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "16abd0c1b639e9eb4d7c50c0b8100b0d0f849be2349829c740fe8e6eb4816429" +dependencies = [ + "rand_core 0.5.1", +] + +[[package]] +name = "raw-window-handle" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fba75eee94a9d5273a68c9e1e105d9cffe1ef700532325788389e5a83e2522b7" +dependencies = [ + "cty", +] + +[[package]] +name = "rayon" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c06aca804d41dbc8ba42dfd964f0d01334eceb64314b9ecf7c5fad5188a06d90" +dependencies = [ + "autocfg", + "crossbeam-deque", + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78120e2c850279833f1dd3582f730c4ab53ed95aeaaaa862a2a5c71b1656d8e" +dependencies = [ + "crossbeam-channel", + "crossbeam-deque", + "crossbeam-utils", + "lazy_static", + "num_cpus", +] + +[[package]] +name = "redox_syscall" +version = "0.1.57" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce" + [[package]] name = "redox_syscall" version = "0.2.10" @@ -944,6 +2831,27 @@ dependencies = [ "bitflags", ] +[[package]] +name = "redox_users" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "de0737333e7a9502c789a36d7c7fa6092a49895d4faa31ca5df163857ded2e9d" +dependencies = [ + "getrandom 0.1.16", + "redox_syscall 0.1.57", + "rust-argon2", +] + +[[package]] +name = "redox_users" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "528532f3d801c87aec9def2add9ca802fe569e44a544afe633765267840abe64" +dependencies = [ + "getrandom 0.2.3", + "redox_syscall 0.2.10", +] + [[package]] name = "regex" version = "1.5.4" @@ -955,6 +2863,15 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax", +] + [[package]] name = "regex-syntax" version = "0.6.25" @@ -1005,12 +2922,83 @@ dependencies = [ "winreg", ] +[[package]] +name = "rfd" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2aaf1d71ccd44689f7c2c72da1117fd8db71f72a76fe9b5c5dbb17ab903007e0" +dependencies = [ + "ashpd", + "block", + "dispatch", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "gtk-sys", + "js-sys", + "lazy_static", + "log", + "objc", + "objc-foundation", + "objc_id", + "pollster", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.30.0", +] + +[[package]] +name = "rust-argon2" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b18820d944b33caa75a71378964ac46f58517c92b6ae5f762636247c09e78fb" +dependencies = [ + "base64", + "blake2b_simd", + "constant_time_eq", + "crossbeam-utils", +] + +[[package]] +name = "rustc_version" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +dependencies = [ + "semver 0.11.0", +] + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver 1.0.6", +] + +[[package]] +name = "rustversion" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" + [[package]] name = "ryu" version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c9613b5a66ab9ba26415184cfc41156594925a9cf3a2057e57f31ff145f6568" +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + [[package]] name = "schannel" version = "0.1.19" @@ -1021,6 +3009,12 @@ dependencies = [ "winapi", ] +[[package]] +name = "scoped-tls" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea6a9290e3c9cf0f18145ef7ffa62d68ee0bf5fcd651017e586dc7fd5da448c2" + [[package]] name = "scopeguard" version = "1.1.0" @@ -1051,19 +3045,63 @@ dependencies = [ ] [[package]] -name = "serde" -version = "1.0.130" +name = "selectors" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "df320f1889ac4ba6bc0cdc9c9af7af4bd64bb927bccdf32d81140dc1f9be12fe" +dependencies = [ + "bitflags", + "cssparser", + "derive_more", + "fxhash", + "log", + "matches", + "phf 0.8.0", + "phf_codegen", + "precomputed-hash", + "servo_arc", + "smallvec", + "thin-slice", +] + +[[package]] +name = "semver" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" +dependencies = [ + "semver-parser", +] + +[[package]] +name = "semver" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a4a3381e03edd24287172047536f20cabde766e2cd3e65e6b00fb3af51c4f38d" + +[[package]] +name = "semver-parser" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" +dependencies = [ + "pest", +] + +[[package]] +name = "serde" +version = "1.0.136" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -1076,11 +3114,22 @@ version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ - "itoa", + "itoa 0.4.8", "ryu", "serde", ] +[[package]] +name = "serde_repr" +version = "0.1.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "98d0516900518c29efa217c298fa1f4e6c6ffc85ae29fd7f4ee48f176e1a9ed5" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "serde_urlencoded" version = "0.7.0" @@ -1088,19 +3137,74 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edfa57a7f8d9c1d260a549e7224100f6c43d43f9103e06dd8b4095a9b2b43ce9" dependencies = [ "form_urlencoded", - "itoa", + "itoa 0.4.8", "ryu", "serde", ] +[[package]] +name = "serde_with" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec1e6ec4d8950e5b1e894eac0d360742f3b1407a6078a604a731c4b3f49cefbc" +dependencies = [ + "rustversion", + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "1.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12e47be9471c72889ebafb5e14d5ff930d89ae7a67bbdb5f8abb564f845a927e" +dependencies = [ + "darling 0.13.1", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serialize-to-javascript" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c9823f2d3b6a81d98228151fdeaf848206a7855a7a042bbf9bf870449a66cafb" +dependencies = [ + "serde", + "serde_json", + "serialize-to-javascript-impl", +] + +[[package]] +name = "serialize-to-javascript-impl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74064874e9f6a15f04c1f3cb627902d0e6b410abbf36668afa873c61889f1763" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "servo_arc" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d98238b800e0d1576d8b6e3de32827c2d74bee68bb97748dcf5071fb53965432" +dependencies = [ + "nodrop", + "stable_deref_trait", +] + [[package]] name = "sha-1" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d94d0bede923b3cea61f3f1ff57ff8cdfd77b400fb8f9998949e0cf04163df" dependencies = [ - "block-buffer", - "digest", + "block-buffer 0.7.3", + "digest 0.8.1", "fake-simd", "opaque-debug", ] @@ -1111,6 +3215,36 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" +[[package]] +name = "sha2" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "55deaec60f81eefe3cce0dc50bda92d6d8e88f2a27df7c5033b42afeb1ed2676" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.3", +] + +[[package]] +name = "sharded-slab" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" +dependencies = [ + "lazy_static", +] + +[[package]] +name = "shared_child" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0d94659ad3c2137fef23ae75b03d5241d633f8acded53d672decfa0e6e0caef" +dependencies = [ + "libc", + "winapi", +] + [[package]] name = "signal-hook-registry" version = "1.4.0" @@ -1120,6 +3254,12 @@ dependencies = [ "libc", ] +[[package]] +name = "siphasher" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a86232ab60fa71287d7f2ddae4a7073f6b7aac33631c3015abb556f08c6d0a3e" + [[package]] name = "slab" version = "0.4.5" @@ -1134,14 +3274,132 @@ checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "socket2" -version = "0.4.2" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5dc90fe6c7be1a323296982db1836d1ea9e47b6839496dde9a541bc496df3516" +checksum = "66d72b759436ae32898a2af0a14218dbf55efde3feeb170eb623637db85ee1e0" dependencies = [ "libc", "winapi", ] +[[package]] +name = "soup2-sys" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9f056675eda9a7417163e5f742bb119e8e1d385edd2ada8f7031a7230a3ec10a" +dependencies = [ + "bitflags", + "gio-sys 0.14.0", + "glib-sys 0.14.0", + "gobject-sys 0.14.0", + "libc", + "system-deps 5.0.0", +] + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "state" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87cf4f5369e6d3044b5e365c9690f451516ac8f0954084622b49ea3fde2f6de5" +dependencies = [ + "loom", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "string_cache" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33994d0838dc2d152d17a62adf608a869b5e846b65b389af7f3dbc1de45c5b26" +dependencies = [ + "lazy_static", + "new_debug_unreachable", + "parking_lot 0.11.2", + "phf_shared 0.10.0", + "precomputed-hash", + "serde", +] + +[[package]] +name = "string_cache_codegen" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f24c8e5e19d22a726626f1a5e16fe15b132dcf21d10177fa5a45ce7962996b97" +dependencies = [ + "phf_generator 0.8.0", + "phf_shared 0.8.0", + "proc-macro2", + "quote", +] + +[[package]] +name = "strsim" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6446ced80d6c486436db5c078dde11a9f73d42b57fb273121e160b84f63d894c" + +[[package]] +name = "strsim" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" + +[[package]] +name = "strum" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaf86bbcfd1fa9670b7a129f64fc0c9fcbbfe4f1bc4210e9e98fe71ffc12cde2" + +[[package]] +name = "strum" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f7ac893c7d471c8a21f31cfe213ec4f6d9afeed25537c772e08ef3f005f8729e" +dependencies = [ + "strum_macros 0.22.0", +] + +[[package]] +name = "strum_macros" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d06aaeeee809dbc59eb4556183dd927df67db1540de5be8d3ec0b6636358a5ec" +dependencies = [ + "heck 0.3.3", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "strum_macros" +version = "0.22.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "339f799d8b549e3744c7ac7feb216383e4005d94bdb22561b3ab8f3b808ae9fb" +dependencies = [ + "heck 0.3.3", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + [[package]] name = "syn" version = "1.0.82" @@ -1163,6 +3421,275 @@ dependencies = [ "libc", ] +[[package]] +name = "system-deps" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "480c269f870722b3b08d2f13053ce0c2ab722839f472863c3e2d61ff3a1c2fa6" +dependencies = [ + "anyhow", + "cfg-expr 0.8.1", + "heck 0.3.3", + "itertools", + "pkg-config", + "strum 0.21.0", + "strum_macros 0.21.1", + "thiserror", + "toml", + "version-compare 0.0.11", +] + +[[package]] +name = "system-deps" +version = "5.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18db855554db7bd0e73e06cf7ba3df39f97812cb11d3f75e71c39bf45171797e" +dependencies = [ + "cfg-expr 0.9.1", + "heck 0.3.3", + "pkg-config", + "toml", + "version-compare 0.0.11", +] + +[[package]] +name = "system-deps" +version = "6.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1a45a1c4c9015217e12347f2a411b57ce2c4fc543913b14b6fe40483328e709" +dependencies = [ + "cfg-expr 0.10.1", + "heck 0.4.0", + "pkg-config", + "toml", + "version-compare 0.1.0", +] + +[[package]] +name = "tao" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b3b3bbc9151bce45db3cf9ccb808730c8df8786d0223f34591f6e5890503939" +dependencies = [ + "bitflags", + "cairo-rs", + "cc", + "cocoa", + "core-foundation", + "core-graphics", + "crossbeam-channel", + "dispatch", + "gdk", + "gdk-pixbuf", + "gdk-sys", + "gdkx11-sys", + "gio", + "glib", + "glib-sys 0.15.6", + "gtk", + "instant", + "lazy_static", + "libc", + "log", + "ndk", + "ndk-glue", + "ndk-sys", + "objc", + "parking_lot 0.11.2", + "raw-window-handle", + "scopeguard", + "serde", + "tao-core-video-sys", + "unicode-segmentation", + "windows 0.30.0", + "windows_macros", + "x11-dl", +] + +[[package]] +name = "tao-core-video-sys" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "271450eb289cb4d8d0720c6ce70c72c8c858c93dd61fc625881616752e6b98f6" +dependencies = [ + "cfg-if", + "core-foundation-sys", + "libc", + "objc", +] + +[[package]] +name = "tar" +version = "0.4.38" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b55807c0344e1e6c04d7c965f5289c39a8d94ae23ed5c0b57aabac549f871c6" +dependencies = [ + "filetime", + "libc", + "xattr", +] + +[[package]] +name = "tauri" +version = "1.0.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb0c4a4ffd1f9b02cc3e974ce902f8132fb3d08ec6cce4ca193f97d921f5bce4" +dependencies = [ + "anyhow", + "attohttpc", + "bincode", + "cfg_aliases", + "dirs-next", + "either", + "embed_plist", + "flate2", + "futures", + "futures-lite", + "glib", + "glob", + "gtk", + "http", + "ignore", + "notify-rust", + "once_cell", + "open", + "os_info", + "os_pipe", + "percent-encoding", + "rand 0.8.4", + "raw-window-handle", + "regex", + "rfd", + "semver 1.0.6", + "serde", + "serde_json", + "serde_repr", + "serialize-to-javascript", + "shared_child", + "state", + "tar", + "tauri-macros", + "tauri-runtime", + "tauri-runtime-wry", + "tauri-utils", + "tempfile", + "thiserror", + "tokio", + "url", + "uuid", + "zip", +] + +[[package]] +name = "tauri-build" +version = "1.0.0-rc.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "855e47d8cfb2219fc14d2eed2c09bfb35f9ecd71a40ca2084aeeee2d23e0b60d" +dependencies = [ + "anyhow", + "cargo_toml", + "serde_json", + "tauri-utils", + "winres", +] + +[[package]] +name = "tauri-codegen" +version = "1.0.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eef4656d174ba982198266da0c016573fe6c7c760e4290f05c8c384fe180007e" +dependencies = [ + "base64", + "blake3", + "proc-macro2", + "quote", + "regex", + "serde", + "serde_json", + "sha2", + "tauri-utils", + "thiserror", + "uuid", + "walkdir", + "zstd", +] + +[[package]] +name = "tauri-macros" +version = "1.0.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0993f5a867e321d26200b2d6394cdf482bd6cc5a0e4691bcabf811544f51cd4" +dependencies = [ + "heck 0.4.0", + "proc-macro2", + "quote", + "syn", + "tauri-codegen", + "tauri-utils", +] + +[[package]] +name = "tauri-runtime" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "851cd65e2c9df4dd70a4f9e115fb2441ac89f1c80df79de0c15a448b4acd7768" +dependencies = [ + "gtk", + "http", + "http-range", + "infer", + "serde", + "serde_json", + "tauri-utils", + "thiserror", + "uuid", + "webview2-com", + "windows 0.30.0", +] + +[[package]] +name = "tauri-runtime-wry" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0184f95e065fb80afadf53f0a5f87a75af2da774d0524fe8cb2976fbec4a0bf2" +dependencies = [ + "gtk", + "ico", + "infer", + "png 0.16.8", + "tauri-runtime", + "tauri-utils", + "uuid", + "webview2-com", + "windows 0.30.0", + "wry", +] + +[[package]] +name = "tauri-utils" +version = "1.0.0-rc.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ad38ad698838886bf22ecb91c4b3d1ce178fdff7901ac7bff370103a4f51e59" +dependencies = [ + "ctor", + "glob", + "heck 0.4.0", + "html5ever", + "json-patch", + "kuchiki", + "phf 0.10.1", + "proc-macro2", + "quote", + "serde", + "serde_json", + "serde_with", + "serialize-to-javascript", + "thiserror", + "url", + "walkdir", + "zstd", +] + [[package]] name = "tempfile" version = "3.2.0" @@ -1171,12 +3698,23 @@ checksum = "dac1c663cfc93810f88aed9b8941d48cabf856a1b111c29a40439018d870eb22" dependencies = [ "cfg-if", "libc", - "rand", - "redox_syscall", + "rand 0.8.4", + "redox_syscall 0.2.10", "remove_dir_all", "winapi", ] +[[package]] +name = "tendril" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9ef557cb397a4f0a5a3a628f06515f78563f2209e64d47055d9dc6052bf5e33" +dependencies = [ + "futf", + "mac", + "utf-8", +] + [[package]] name = "theseus" version = "0.1.0" @@ -1215,6 +3753,22 @@ dependencies = [ "tokio", ] +[[package]] +name = "theseus_gui" +version = "0.1.0" +dependencies = [ + "serde", + "serde_json", + "tauri", + "tauri-build", +] + +[[package]] +name = "thin-slice" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" + [[package]] name = "thiserror" version = "1.0.30" @@ -1235,6 +3789,15 @@ dependencies = [ "syn", ] +[[package]] +name = "thread_local" +version = "1.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5516c27b78311c50bf42c071425c560ac799b11c30b31f87e3081965fe5e0180" +dependencies = [ + "once_cell", +] + [[package]] name = "time" version = "0.1.43" @@ -1262,29 +3825,29 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "1.14.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" +checksum = "2af73ac49756f3f7c01172e34a23e5d0216f6c32333757c2c61feb2bbff5a5ee" dependencies = [ - "autocfg", "bytes", "libc", "memchr", "mio", "num_cpus", "once_cell", - "parking_lot", + "parking_lot 0.12.0", "pin-project-lite", "signal-hook-registry", + "socket2", "tokio-macros", "winapi", ] [[package]] name = "tokio-macros" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c9efc1aba077437943f7515666aa2b882dfabfbfdf89c819ea75a8d6e9eaba5e" +checksum = "b557f72f448c511a979e2564e55d74e6c4432fc96ff4f6241bc6bded342643b7" dependencies = [ "proc-macro2", "quote", @@ -1315,6 +3878,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "toml" +version = "0.5.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa" +dependencies = [ + "serde", +] + [[package]] name = "tower-service" version = "0.3.1" @@ -1329,9 +3901,21 @@ checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if", "pin-project-lite", + "tracing-attributes", "tracing-core", ] +[[package]] +name = "tracing-attributes" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8276d9a4a3a558d7b7ad5303ad50b53d58264641b82914b7ada36bd762e7a716" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "tracing-core" version = "0.1.21" @@ -1341,6 +3925,44 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "tracing-log" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6923477a48e41c1951f1999ef8bb5a3023eb723ceadafe78ffb65dc366761e3" +dependencies = [ + "lazy_static", + "log", + "tracing-core", +] + +[[package]] +name = "tracing-subscriber" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5312f325fe3588e277415f5a6cca1f4ccad0f248c4cd5a4bd33032d7286abc22" +dependencies = [ + "ansi_term", + "lazy_static", + "matchers", + "regex", + "sharded-slab", + "smallvec", + "thread_local", + "tracing", + "tracing-core", + "tracing-log", +] + +[[package]] +name = "treediff" +version = "3.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "761e8d5ad7ce14bb82b7e61ccc0ca961005a275a060b9644a2431aa11553c2ff" +dependencies = [ + "serde_json", +] + [[package]] name = "try-lock" version = "0.2.3" @@ -1396,15 +4018,22 @@ dependencies = [ "idna", "matches", "percent-encoding", + "serde", ] +[[package]] +name = "utf-8" +version = "0.7.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" + [[package]] name = "uuid" version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc5cf98d8186244414c848017f0e2676b3fcb46807f6668a97dfe67359a3c4b7" dependencies = [ - "getrandom", + "getrandom 0.2.3", "serde", ] @@ -1414,6 +4043,41 @@ version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" +[[package]] +name = "version-compare" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1c18c859eead79d8b95d09e4678566e8d70105c4e7b251f707a03df32442661b" + +[[package]] +name = "version-compare" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fe88247b92c1df6b6de80ddc290f3976dbdf2f5f5d3fd049a9fb598c6dd5ca73" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "waker-fn" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" + +[[package]] +name = "walkdir" +version = "2.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "808cf2735cd4b6866113f648b791c6adc5714537bc222d9347bb203386ffda56" +dependencies = [ + "same-file", + "winapi", + "winapi-util", +] + [[package]] name = "want" version = "0.3.0" @@ -1424,6 +4088,12 @@ dependencies = [ "try-lock", ] +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + [[package]] name = "wasi" version = "0.10.2+wasi-snapshot-preview1" @@ -1506,6 +4176,104 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "webkit2gtk" +version = "0.17.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2cbd39499e917de9dad36eb11c09f665eb984d432638ae7971feed98eb96df88" +dependencies = [ + "bitflags", + "cairo-rs", + "gdk", + "gdk-sys", + "gio", + "gio-sys 0.15.6", + "glib", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "gtk", + "gtk-sys", + "javascriptcore-rs", + "libc", + "once_cell", + "webkit2gtk-sys", +] + +[[package]] +name = "webkit2gtk-sys" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ddcce6f1e0fc7715d651dba29875741509f5fc12f4e2976907272a74405f2b01" +dependencies = [ + "atk-sys", + "bitflags", + "cairo-sys-rs", + "gdk-pixbuf-sys", + "gdk-sys", + "gio-sys 0.15.6", + "glib-sys 0.15.6", + "gobject-sys 0.15.5", + "gtk-sys", + "javascriptcore-rs-sys", + "libc", + "pango-sys", + "pkg-config", + "soup2-sys", + "system-deps 5.0.0", +] + +[[package]] +name = "webview2-com" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb8e90ac2d9ce39cdb70017aaec641be09fbdd702b7b332b9896d053eb469524" +dependencies = [ + "webview2-com-macros", + "webview2-com-sys", + "windows 0.30.0", + "windows_macros", +] + +[[package]] +name = "webview2-com-macros" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1515c6c82fcee93f6edaacc72c8e233dbe4ff3ca569dce1901dfc36c404a3e99" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "webview2-com-sys" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "92160310b3322397e4ff8a8285a7429d73a07a68fda44ee80879605b93e53f76" +dependencies = [ + "regex", + "serde", + "serde_json", + "thiserror", + "windows 0.30.0", + "windows-bindgen", +] + +[[package]] +name = "wepoll-ffi" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d743fdedc5c64377b5fc2bc036b01c7fd642205a0d96356034ae3404d49eb7fb" +dependencies = [ + "cc", +] + +[[package]] +name = "wildmatch" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6c48bd20df7e4ced539c12f570f937c6b4884928a87fee70a479d72f031d4e0" + [[package]] name = "winapi" version = "0.3.9" @@ -1522,12 +4290,187 @@ 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" +[[package]] +name = "windows" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9f39345ae0c8ab072c0ac7fe8a8b411636aa34f89be19ddd0d9226544f13944" +dependencies = [ + "windows_i686_gnu 0.24.0", + "windows_i686_msvc 0.24.0", + "windows_x86_64_gnu 0.24.0", + "windows_x86_64_msvc 0.24.0", +] + +[[package]] +name = "windows" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b749ebd2304aa012c5992d11a25d07b406bdbe5f79d371cb7a918ce501a19eb0" +dependencies = [ + "windows_aarch64_msvc 0.30.0", + "windows_i686_gnu 0.30.0", + "windows_i686_msvc 0.30.0", + "windows_x86_64_gnu 0.30.0", + "windows_x86_64_msvc 0.30.0", +] + +[[package]] +name = "windows-bindgen" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "944c545fcae9dd66488308f8b69aa3ba34f53714416ecfcdcbbfa4b6821e27c6" +dependencies = [ + "windows_quote", + "windows_reader", +] + +[[package]] +name = "windows-sys" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3df6e476185f92a12c072be4a189a0210dcdcf512a1891d6dff9edb874deadc6" +dependencies = [ + "windows_aarch64_msvc 0.32.0", + "windows_i686_gnu 0.32.0", + "windows_i686_msvc 0.32.0", + "windows_x86_64_gnu 0.32.0", + "windows_x86_64_msvc 0.32.0", +] + +[[package]] +name = "windows_aarch64_msvc" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29277a4435d642f775f63c7d1faeb927adba532886ce0287bd985bffb16b6bca" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" + +[[package]] +name = "windows_gen" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "30dff4d91d22520628bb94b66f2bb313cb16a09a515a32320a84a1b449bc94c0" +dependencies = [ + "windows_quote", + "windows_reader", +] + +[[package]] +name = "windows_i686_gnu" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0866510a3eca9aed73a077490bbbf03e5eaac4e1fd70849d89539e5830501fd" + +[[package]] +name = "windows_i686_gnu" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1145e1989da93956c68d1864f32fb97c8f561a8f89a5125f6a2b7ea75524e4b8" + +[[package]] +name = "windows_i686_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" + +[[package]] +name = "windows_i686_msvc" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf0ffed56b7e9369a29078d2ab3aaeceea48eb58999d2cff3aa2494a275b95c6" + +[[package]] +name = "windows_i686_msvc" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4a09e3a0d4753b73019db171c1339cd4362c8c44baf1bcea336235e955954a6" + +[[package]] +name = "windows_i686_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" + +[[package]] +name = "windows_macros" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62ae44ab917e9005fe710d99d52d227ca0164b10a09be90649142cc3fab825d3" +dependencies = [ + "syn", + "windows_gen", + "windows_quote", + "windows_reader", +] + +[[package]] +name = "windows_quote" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "71f02c51a77e6248c1206aaa920802c32d50a05205e229b118d7f3afd3036667" + +[[package]] +name = "windows_reader" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e44e6df0da993cda589c5ac852272fbb2a0ead67a031a017dd3eac11528a2d72" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384a173630588044205a2993b6864a2f56e5a8c1e7668c07b93ec18cf4888dc4" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ca64fcb0220d58db4c119e050e7af03c69e6f4f415ef69ec1773d9aab422d5a" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.24.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bd8f062d8ca5446358159d79a90be12c543b3a965c847c8f3eedf14b321d399" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.30.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08cabc9f0066848fef4bc6a1c1668e6efce38b661d2aeec75d18d8617eebb5f1" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.32.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" + [[package]] name = "winreg" version = "0.7.0" @@ -1537,6 +4480,154 @@ dependencies = [ "winapi", ] +[[package]] +name = "winres" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b68db261ef59e9e52806f688020631e987592bd83619edccda9c47d42cde4f6c" +dependencies = [ + "toml", +] + +[[package]] +name = "winrt-notification" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "007a0353840b23e0c6dc73e5b962ff58ed7f6bc9ceff3ce7fe6fbad8d496edf4" +dependencies = [ + "strum 0.22.0", + "windows 0.24.0", + "xml-rs", +] + +[[package]] +name = "wry" +version = "0.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "620bfe8ed3cde9310f32a69ffc654dfd8dae4ac5a0e08d6fbf0205a996fc7f0f" +dependencies = [ + "cocoa", + "core-graphics", + "gdk", + "gio", + "glib", + "gtk", + "http", + "libc", + "log", + "objc", + "objc_id", + "once_cell", + "serde", + "serde_json", + "sys-info", + "tao", + "thiserror", + "url", + "webkit2gtk", + "webkit2gtk-sys", + "webview2-com", + "windows 0.30.0", + "windows_macros", +] + +[[package]] +name = "x11" +version = "2.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6dd0565fa8bfba8c5efe02725b14dff114c866724eff2cfd44d76cea74bcd87a" +dependencies = [ + "libc", + "pkg-config", +] + +[[package]] +name = "x11-dl" +version = "2.19.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ea26926b4ce81a6f5d9d0f3a0bc401e5a37c6ae14a1bfaa8ff6099ca80038c59" +dependencies = [ + "lazy_static", + "libc", + "pkg-config", +] + +[[package]] +name = "xattr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "244c3741f4240ef46274860397c7c74e50eb23624996930e484c16679633a54c" +dependencies = [ + "libc", +] + +[[package]] +name = "xml-rs" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2d7d3948613f75c98fd9328cfdcc45acc4d360655289d0a7d4ec931392200a3" + +[[package]] +name = "zbus" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7bb86f3d4592e26a48b2719742aec94f8ae6238ebde20d98183ee185d1275e9a" +dependencies = [ + "async-broadcast", + "async-channel", + "async-executor", + "async-io", + "async-lock", + "async-recursion", + "async-task", + "async-trait", + "byteorder", + "derivative", + "enumflags2", + "event-listener", + "futures-core", + "futures-sink", + "futures-util", + "hex", + "lazy_static", + "nix", + "once_cell", + "ordered-stream", + "rand 0.8.4", + "serde", + "serde_repr", + "sha1", + "static_assertions", + "winapi", + "zbus_macros", + "zbus_names", + "zvariant", +] + +[[package]] +name = "zbus_macros" +version = "2.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36823cc10fddc3c6b19f048903262dacaf8274170e9a255784bdd8b4570a8040" +dependencies = [ + "proc-macro-crate 1.1.2", + "proc-macro2", + "quote", + "regex", + "syn", +] + +[[package]] +name = "zbus_names" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "45dfcdcf87b71dad505d30cc27b1b7b88a64b6d1c435648f48f9dbc1fdc4b7e1" +dependencies = [ + "serde", + "static_assertions", + "zvariant", +] + [[package]] name = "zip" version = "0.5.13" @@ -1559,3 +4650,58 @@ checksum = "a64c3c977bc3434ce2d4bcea8ad3c644672de0f2c402b72b9171ca80a8885d14" dependencies = [ "zip", ] + +[[package]] +name = "zstd" +version = "0.10.0+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3b1365becbe415f3f0fcd024e2f7b45bacfb5bdd055f0dc113571394114e7bdd" +dependencies = [ + "zstd-safe", +] + +[[package]] +name = "zstd-safe" +version = "4.1.4+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2f7cd17c9af1a4d6c24beb1cc54b17e2ef7b593dc92f19e9d9acad8b182bbaee" +dependencies = [ + "libc", + "zstd-sys", +] + +[[package]] +name = "zstd-sys" +version = "1.6.3+zstd.1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc49afa5c8d634e75761feda8c592051e7eeb4683ba827211eb0d731d3402ea8" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "zvariant" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49ea5dc38b2058fae6a5b79009388143dadce1e91c26a67f984a0fc0381c8033" +dependencies = [ + "byteorder", + "enumflags2", + "libc", + "serde", + "static_assertions", + "zvariant_derive", +] + +[[package]] +name = "zvariant_derive" +version = "3.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c2cecc5a61c2a053f7f653a24cd15b3b0195d7f7ddb5042c837fb32e161fb7a" +dependencies = [ + "proc-macro-crate 1.1.2", + "proc-macro2", + "quote", + "syn", +] diff --git a/Cargo.toml b/Cargo.toml index 780f8c615..0789446cf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,5 +2,6 @@ members = [ "theseus", - "theseus_cli" + "theseus_cli", + "theseus_gui/src-tauri" ] \ No newline at end of file diff --git a/theseus_gui/.eslintrc.cjs b/theseus_gui/.eslintrc.cjs new file mode 100644 index 000000000..3ccf435f0 --- /dev/null +++ b/theseus_gui/.eslintrc.cjs @@ -0,0 +1,20 @@ +module.exports = { + root: true, + parser: '@typescript-eslint/parser', + extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'prettier'], + plugins: ['svelte3', '@typescript-eslint'], + ignorePatterns: ['*.cjs'], + overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }], + settings: { + 'svelte3/typescript': () => require('typescript') + }, + parserOptions: { + sourceType: 'module', + ecmaVersion: 2020 + }, + env: { + browser: true, + es2017: true, + node: true + } +}; diff --git a/theseus_gui/.npmrc b/theseus_gui/.npmrc new file mode 100644 index 000000000..b6f27f135 --- /dev/null +++ b/theseus_gui/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/theseus_gui/.prettierrc b/theseus_gui/.prettierrc new file mode 100644 index 000000000..ff2677efd --- /dev/null +++ b/theseus_gui/.prettierrc @@ -0,0 +1,6 @@ +{ + "useTabs": true, + "singleQuote": true, + "trailingComma": "none", + "printWidth": 100 +} diff --git a/theseus_gui/README.md b/theseus_gui/README.md new file mode 100644 index 000000000..94a48f5ff --- /dev/null +++ b/theseus_gui/README.md @@ -0,0 +1,40 @@ +# create-svelte + +Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). + +## Creating a project + +If you're seeing this, you've probably already done this step. Congrats! + +```bash +# create a new project in the current directory +npm init svelte@next + +# create a new project in my-app +npm init svelte@next my-app +``` + +> Note: the `@next` is temporary + +## Developing + +Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: + +```bash +npm run dev + +# or start the server and open the app in a new browser tab +npm run dev -- --open +``` + +## Building + +To create a production version of your app: + +```bash +npm run build +``` + +You can preview the production build with `npm run preview`. + +> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. diff --git a/theseus_gui/package.json b/theseus_gui/package.json new file mode 100644 index 000000000..3d08a8813 --- /dev/null +++ b/theseus_gui/package.json @@ -0,0 +1,33 @@ +{ + "scripts": { + "dev": "tauri dev", + "dev:web": "svelte-kit dev", + "tauri": "tauri", + "build": "tauri build", + "build:web": "svelte-kit build", + "test": "cargo ../test --manifest-path ./src-tauri/Cargo.toml", + "format": "prettier --ignore-path .gitignore --write --plugin-search-dir=. src", + "check": "cargo check --manifest-path src-tauri/Cargo.toml && svelte-check --tsconfig ./tsconfig.json" + }, + "devDependencies": { + "@tauri-apps/cli": "^1.0.0-rc.5", + "@sveltejs/adapter-static": "next", + "@sveltejs/kit": "next", + "@typescript-eslint/eslint-plugin": "^5.10.1", + "@typescript-eslint/parser": "^5.10.1", + "eslint": "^7.32.0", + "eslint-config-prettier": "^8.3.0", + "eslint-plugin-svelte3": "^3.2.1", + "prettier": "^2.5.1", + "prettier-plugin-svelte": "^2.5.0", + "svelte": "^3.46.0", + "svelte-check": "^2.2.6", + "svelte-preprocess": "^4.10.1", + "tslib": "^2.3.1", + "typescript": "~4.5.4" + }, + "type": "module", + "dependencies": { + "@tauri-apps/api": "^1.0.0-rc.1" + } +} diff --git a/theseus_gui/pnpm-lock.yaml b/theseus_gui/pnpm-lock.yaml new file mode 100644 index 000000000..ec0c373e8 --- /dev/null +++ b/theseus_gui/pnpm-lock.yaml @@ -0,0 +1,1835 @@ +lockfileVersion: 5.3 + +specifiers: + '@sveltejs/adapter-static': next + '@sveltejs/kit': next + '@tauri-apps/api': ^1.0.0-rc.1 + '@tauri-apps/cli': ^1.0.0-rc.5 + '@typescript-eslint/eslint-plugin': ^5.10.1 + '@typescript-eslint/parser': ^5.10.1 + eslint: ^7.32.0 + eslint-config-prettier: ^8.3.0 + eslint-plugin-svelte3: ^3.2.1 + prettier: ^2.5.1 + prettier-plugin-svelte: ^2.5.0 + svelte: ^3.46.0 + svelte-check: ^2.2.6 + svelte-preprocess: ^4.10.1 + tslib: ^2.3.1 + typescript: ~4.5.4 + +dependencies: + '@tauri-apps/api': 1.0.0-rc.1 + +devDependencies: + '@sveltejs/adapter-static': 1.0.0-next.28 + '@sveltejs/kit': 1.0.0-next.281_svelte@3.46.4 + '@tauri-apps/cli': 1.0.0-rc.5 + '@typescript-eslint/eslint-plugin': 5.12.1_78ba2542c270c83b2a80bb1c125195b6 + '@typescript-eslint/parser': 5.12.1_eslint@7.32.0+typescript@4.5.5 + eslint: 7.32.0 + eslint-config-prettier: 8.4.0_eslint@7.32.0 + eslint-plugin-svelte3: 3.4.0_eslint@7.32.0+svelte@3.46.4 + prettier: 2.5.1 + prettier-plugin-svelte: 2.6.0_prettier@2.5.1+svelte@3.46.4 + svelte: 3.46.4 + svelte-check: 2.4.5_svelte@3.46.4 + svelte-preprocess: 4.10.3_svelte@3.46.4+typescript@4.5.5 + tslib: 2.3.1 + typescript: 4.5.5 + +packages: + + /@babel/code-frame/7.12.11: + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + dependencies: + '@babel/highlight': 7.16.10 + dev: true + + /@babel/helper-validator-identifier/7.16.7: + resolution: {integrity: sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/highlight/7.16.10: + resolution: {integrity: sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.16.7 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + + /@eslint/eslintrc/0.4.3: + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.3 + espree: 7.3.1 + globals: 13.12.1 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/config-array/0.5.0: + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.3 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.13.0 + dev: true + + /@rollup/pluginutils/4.1.2: + resolution: {integrity: sha512-ROn4qvkxP9SyPeHaf7uQC/GPFY6L/OWy9+bd9AwcjOAWQwxRscoEyAUD8qCY5o5iL4jqQwoLk2kaTKJPb/HwzQ==} + engines: {node: '>= 8.0.0'} + dependencies: + estree-walker: 2.0.2 + picomatch: 2.3.1 + dev: true + + /@sveltejs/adapter-static/1.0.0-next.28: + resolution: {integrity: sha512-c4xLyeSwnbGQxe4f1SLpHTbxZDm3TEr43scR3tOlVgQN+mnAL9aDdl3nTtdzWmrUDmDEmY4GriAwLyFLZuINLw==} + dependencies: + tiny-glob: 0.2.9 + dev: true + + /@sveltejs/kit/1.0.0-next.281_svelte@3.46.4: + resolution: {integrity: sha512-IBEqbckzNmLGEFqi+4gG0XxNyQ/koO+OYK2fSjNZvRxLL9W1H4RhMRmEGdZGvPt1opBuqD0ErgdgmHMNO+B8XQ==} + engines: {node: '>=14.13'} + hasBin: true + peerDependencies: + svelte: ^3.44.0 + dependencies: + '@sveltejs/vite-plugin-svelte': 1.0.0-next.37_svelte@3.46.4+vite@2.8.4 + sade: 1.8.1 + svelte: 3.46.4 + vite: 2.8.4 + transitivePeerDependencies: + - diff-match-patch + - less + - sass + - stylus + - supports-color + dev: true + + /@sveltejs/vite-plugin-svelte/1.0.0-next.37_svelte@3.46.4+vite@2.8.4: + resolution: {integrity: sha512-EdSXw2rXeOahNrQfMJVZxa/NxZxW1a0TiBI3s+pVxnxU14hEQtnkLtdbTFhnceu22gJpNPFSIJRcIwRBBDQIeA==} + engines: {node: ^14.13.1 || >= 16} + peerDependencies: + diff-match-patch: ^1.0.5 + svelte: ^3.44.0 + vite: ^2.7.0 + peerDependenciesMeta: + diff-match-patch: + optional: true + dependencies: + '@rollup/pluginutils': 4.1.2 + debug: 4.3.3 + kleur: 4.1.4 + magic-string: 0.25.7 + svelte: 3.46.4 + svelte-hmr: 0.14.9_svelte@3.46.4 + vite: 2.8.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@tauri-apps/api/1.0.0-rc.1: + resolution: {integrity: sha512-VBUOmfT8ea02JB/Qr+FHeaLnug5BRA7ro2pX47q0GZCbZsU9b+iPnOXl0ShJwT0melR7B6iamyhDwkHStMVfQA==} + engines: {node: '>= 12.13.0', npm: '>= 6.6.0', yarn: '>= 1.19.1'} + dependencies: + type-fest: 2.11.2 + dev: false + + /@tauri-apps/cli-darwin-arm64/1.0.0-rc.5: + resolution: {integrity: sha512-X+3EIAUGfoL8uE6PBADZC8FcUISe4JPQCxXgaVv6ehoZGoCh/pFJF7AvBGTQxbnvngqM7Xce4Lmh63Io2/5ggw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-darwin-x64/1.0.0-rc.5: + resolution: {integrity: sha512-fEpgOdAvKdq9C5/yip8RnwP1VS+nRrtKdzzplu4jY6njDVH/Vom8mg+EfXkCY5RveCaoskJMFgUvt10IGeZHBA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm-gnueabihf/1.0.0-rc.5: + resolution: {integrity: sha512-V7sWSBrpLyvkQxpkHIM8JltYqQhiTpThySDjO8POtrTqkRwM5BXORcCYhxTAKCedecfYK/RNUJ6Q0t7+3jS6DQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm64-gnu/1.0.0-rc.5: + resolution: {integrity: sha512-HhM+2FInxtUAI/41LF4fDEzmhLQUq6DOoo7fLN94vgWlhsPyWZoDGP9pA043XbO86+4OX5JZUW1SnTVXMwEaMA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-arm64-musl/1.0.0-rc.5: + resolution: {integrity: sha512-DhHdKOhf3+peA/sM0c9CpxK89cp8GVwOB5osFW55fxBZbD0mJFeL2SzjkgfGFqFu6Ci/ZiibQGfEp8XTC8OsYA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-x64-gnu/1.0.0-rc.5: + resolution: {integrity: sha512-pZzsOHRGG/mdcn7fF/yOIOdeVzGxZUtZqvlGSd90ZM9Ps3//uYGCBHoNTbeSwp/V6+D0KVDaSCbm9lYlHoXcdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-linux-x64-musl/1.0.0-rc.5: + resolution: {integrity: sha512-COwWCbOhEjBlzGRGTa0ESO4/AiC0cBZ2UEPExRn++S+kWSPJ2vsyMdCLu3hiMy1ABSIRcQ4Vc68M1iVkLhOHHw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli-win32-x64-msvc/1.0.0-rc.5: + resolution: {integrity: sha512-zzizUmPWvnWjj+IUCk36kVjS9j1Bg5JmnwOW5QdX26+a64q5vocmVimCgrfZ5STw3sDFXE++S55ghpzhhH5o+g==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tauri-apps/cli/1.0.0-rc.5: + resolution: {integrity: sha512-Q3D0R5YdZRA5EcL206hwwKCyXpet2mRDcfaRTU/IXwF73bS4AMja+JdAGfO2cyHuSvXd+b//Cgbei2zCG8M6hw==} + engines: {node: '>= 10'} + hasBin: true + optionalDependencies: + '@tauri-apps/cli-darwin-arm64': 1.0.0-rc.5 + '@tauri-apps/cli-darwin-x64': 1.0.0-rc.5 + '@tauri-apps/cli-linux-arm-gnueabihf': 1.0.0-rc.5 + '@tauri-apps/cli-linux-arm64-gnu': 1.0.0-rc.5 + '@tauri-apps/cli-linux-arm64-musl': 1.0.0-rc.5 + '@tauri-apps/cli-linux-x64-gnu': 1.0.0-rc.5 + '@tauri-apps/cli-linux-x64-musl': 1.0.0-rc.5 + '@tauri-apps/cli-win32-x64-msvc': 1.0.0-rc.5 + dev: true + + /@types/json-schema/7.0.9: + resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} + dev: true + + /@types/node/17.0.19: + resolution: {integrity: sha512-PfeQhvcMR4cPFVuYfBN4ifG7p9c+Dlh3yUZR6k+5yQK7wX3gDgVxBly4/WkBRs9x4dmcy1TVl08SY67wwtEvmA==} + dev: true + + /@types/pug/2.0.6: + resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==} + dev: true + + /@types/sass/1.43.1: + resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} + dependencies: + '@types/node': 17.0.19 + dev: true + + /@typescript-eslint/eslint-plugin/5.12.1_78ba2542c270c83b2a80bb1c125195b6: + resolution: {integrity: sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.12.1_eslint@7.32.0+typescript@4.5.5 + '@typescript-eslint/scope-manager': 5.12.1 + '@typescript-eslint/type-utils': 5.12.1_eslint@7.32.0+typescript@4.5.5 + '@typescript-eslint/utils': 5.12.1_eslint@7.32.0+typescript@4.5.5 + debug: 4.3.3 + eslint: 7.32.0 + functional-red-black-tree: 1.0.1 + ignore: 5.2.0 + regexpp: 3.2.0 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser/5.12.1_eslint@7.32.0+typescript@4.5.5: + resolution: {integrity: sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.12.1 + '@typescript-eslint/types': 5.12.1 + '@typescript-eslint/typescript-estree': 5.12.1_typescript@4.5.5 + debug: 4.3.3 + eslint: 7.32.0 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager/5.12.1: + resolution: {integrity: sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.12.1 + '@typescript-eslint/visitor-keys': 5.12.1 + dev: true + + /@typescript-eslint/type-utils/5.12.1_eslint@7.32.0+typescript@4.5.5: + resolution: {integrity: sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/utils': 5.12.1_eslint@7.32.0+typescript@4.5.5 + debug: 4.3.3 + eslint: 7.32.0 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types/5.12.1: + resolution: {integrity: sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree/5.12.1_typescript@4.5.5: + resolution: {integrity: sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.12.1 + '@typescript-eslint/visitor-keys': 5.12.1 + debug: 4.3.3 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils/5.12.1_eslint@7.32.0+typescript@4.5.5: + resolution: {integrity: sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 5.12.1 + '@typescript-eslint/types': 5.12.1 + '@typescript-eslint/typescript-estree': 5.12.1_typescript@4.5.5 + eslint: 7.32.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@7.32.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys/5.12.1: + resolution: {integrity: sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.12.1 + eslint-visitor-keys: 3.3.0 + dev: true + + /acorn-jsx/5.3.2_acorn@7.4.1: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 + dev: true + + /acorn/7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv/8.10.0: + resolution: {integrity: sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /ansi-colors/4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: true + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /anymatch/3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: true + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /astral-regex/2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + dev: true + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-crc32/0.2.13: + resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} + dev: true + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: true + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name/1.1.3: + resolution: {integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=} + dev: true + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.1 + dev: true + + /es6-promise/3.3.1: + resolution: {integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=} + dev: true + + /esbuild-android-arm64/0.14.23: + resolution: {integrity: sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.14.23: + resolution: {integrity: sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.14.23: + resolution: {integrity: sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.14.23: + resolution: {integrity: sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.14.23: + resolution: {integrity: sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.14.23: + resolution: {integrity: sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.14.23: + resolution: {integrity: sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.14.23: + resolution: {integrity: sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.14.23: + resolution: {integrity: sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.14.23: + resolution: {integrity: sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.14.23: + resolution: {integrity: sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.14.23: + resolution: {integrity: sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.14.23: + resolution: {integrity: sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.14.23: + resolution: {integrity: sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64/0.14.23: + resolution: {integrity: sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64/0.14.23: + resolution: {integrity: sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.14.23: + resolution: {integrity: sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.14.23: + resolution: {integrity: sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.14.23: + resolution: {integrity: sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.14.23: + resolution: {integrity: sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + esbuild-android-arm64: 0.14.23 + esbuild-darwin-64: 0.14.23 + esbuild-darwin-arm64: 0.14.23 + esbuild-freebsd-64: 0.14.23 + esbuild-freebsd-arm64: 0.14.23 + esbuild-linux-32: 0.14.23 + esbuild-linux-64: 0.14.23 + esbuild-linux-arm: 0.14.23 + esbuild-linux-arm64: 0.14.23 + esbuild-linux-mips64le: 0.14.23 + esbuild-linux-ppc64le: 0.14.23 + esbuild-linux-riscv64: 0.14.23 + esbuild-linux-s390x: 0.14.23 + esbuild-netbsd-64: 0.14.23 + esbuild-openbsd-64: 0.14.23 + esbuild-sunos-64: 0.14.23 + esbuild-windows-32: 0.14.23 + esbuild-windows-64: 0.14.23 + esbuild-windows-arm64: 0.14.23 + dev: true + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier/8.4.0_eslint@7.32.0: + resolution: {integrity: sha512-CFotdUcMY18nGRo5KGsnNxpznzhkopOcOo0InID+sgQssPrzjvsyKZPvOgymTFeHrFuC3Tzdf2YndhXtULK9Iw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 7.32.0 + dev: true + + /eslint-plugin-svelte3/3.4.0_eslint@7.32.0+svelte@3.46.4: + resolution: {integrity: sha512-MIQUTuRv3o7LyQ+360qOc9mLT35j1I5YzHr04g/UDcvJTpg0X/kHWELY99ve869Rp/9wjqD7I26Aq5H8OH5RIg==} + engines: {node: '>=10'} + peerDependencies: + eslint: '>=6.0.0' + svelte: ^3.2.0 + dependencies: + eslint: 7.32.0 + svelte: 3.46.4 + dev: true + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + + /eslint-utils/2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-utils/3.0.0_eslint@7.32.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys/1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys/2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys/3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint/7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + hasBin: true + dependencies: + '@babel/code-frame': 7.12.11 + '@eslint/eslintrc': 0.4.3 + '@humanwhocodes/config-array': 0.5.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.3 + doctrine: 3.0.0 + enquirer: 2.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.12.1 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.3.5 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.8.0 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /espree/7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2_acorn@7.4.1 + eslint-visitor-keys: 1.3.0 + dev: true + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery/1.4.0: + resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker/2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + dev: true + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true + + /fast-glob/3.2.11: + resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.4 + dev: true + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=} + dev: true + + /fastq/1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + dev: true + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + dev: true + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.5 + rimraf: 3.0.2 + dev: true + + /flatted/3.2.5: + resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} + dev: true + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + dev: true + + /functional-red-black-tree/1.0.1: + resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} + dev: true + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob/7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /globals/13.12.1: + resolution: {integrity: sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalyzer/0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: true + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.11 + ignore: 5.2.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globrex/0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: true + + /graceful-fs/4.2.9: + resolution: {integrity: sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==} + dev: true + + /has-flag/3.0.0: + resolution: {integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0=} + engines: {node: '>=4'} + dev: true + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + dev: true + + /ignore/4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + dev: true + + /ignore/5.2.0: + resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==} + engines: {node: '>= 4'} + dev: true + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /imurmurhash/0.1.4: + resolution: {integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o=} + engines: {node: '>=0.8.19'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + dev: true + + /is-core-module/2.8.1: + resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} + dependencies: + has: 1.0.3 + dev: true + + /is-extglob/2.1.1: + resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /isexe/2.0.0: + resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} + dev: true + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=} + dev: true + + /kleur/4.1.4: + resolution: {integrity: sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==} + engines: {node: '>=6'} + dev: true + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.truncate/4.4.2: + resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + dev: true + + /magic-string/0.25.7: + resolution: {integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch/4.0.4: + resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimist/1.2.5: + resolution: {integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==} + dev: true + + /mkdirp/0.5.5: + resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} + hasBin: true + dependencies: + minimist: 1.2.5 + dev: true + + /mri/1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + dev: true + + /nanoid/3.3.1: + resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare/1.4.0: + resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true + + /once/1.4.0: + resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} + dependencies: + wrappy: 1.0.2 + dev: true + + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + dev: true + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-is-absolute/1.0.1: + resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} + engines: {node: '>=0.10.0'} + dev: true + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /postcss/8.4.6: + resolution: {integrity: sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.1 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-plugin-svelte/2.6.0_prettier@2.5.1+svelte@3.46.4: + resolution: {integrity: sha512-NPSRf6Y5rufRlBleok/pqg4+1FyGsL0zYhkYP6hnueeL1J/uCm3OfOZPsLX4zqD9VAdcXfyEL2PYqGv8ZoOSfA==} + peerDependencies: + prettier: ^1.16.4 || ^2.0.0 + svelte: ^3.2.0 + dependencies: + prettier: 2.5.1 + svelte: 3.46.4 + dev: true + + /prettier/2.5.1: + resolution: {integrity: sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /progress/2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /punycode/2.1.1: + resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} + engines: {node: '>=6'} + dev: true + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: true + + /regexpp/3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve/1.22.0: + resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} + hasBin: true + dependencies: + is-core-module: 2.8.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true + + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.0 + dev: true + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.0 + dev: true + + /rollup/2.67.3: + resolution: {integrity: sha512-G/x1vUwbGtP6O5ZM8/sWr8+p7YfZhI18pPqMRtMYMWSbHjKZ/ajHGiM+GWNTlWyOR0EHIdT8LHU+Z4ciIZ1oBw==} + engines: {node: '>=10.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /sade/1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + dependencies: + mri: 1.2.0 + dev: true + + /sander/0.5.1: + resolution: {integrity: sha1-dB4kXiMfB8r7b98PEzrfohalAq0=} + dependencies: + es6-promise: 3.3.1 + graceful-fs: 4.2.9 + mkdirp: 0.5.5 + rimraf: 2.7.1 + dev: true + + /semver/7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slice-ansi/4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /sorcery/0.10.0: + resolution: {integrity: sha1-iukK19fLBfxZ8asMY3hF1cFaUrc=} + hasBin: true + dependencies: + buffer-crc32: 0.2.13 + minimist: 1.2.5 + sander: 0.5.1 + sourcemap-codec: 1.4.8 + dev: true + + /source-map-js/1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map/0.7.3: + resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} + engines: {node: '>= 8'} + dev: true + + /sourcemap-codec/1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} + dev: true + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: true + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /svelte-check/2.4.5_svelte@3.46.4: + resolution: {integrity: sha512-nRft8BbG2wcxyCdHDZ7X43xLcvDzua3xLwq6wzHGcAF3ka3Jyhv2rvgq0+SF9NwHLMefp9C2XkM6etzsxK/cMQ==} + hasBin: true + peerDependencies: + svelte: ^3.24.0 + dependencies: + chokidar: 3.5.3 + fast-glob: 3.2.11 + import-fresh: 3.3.0 + minimist: 1.2.5 + picocolors: 1.0.0 + sade: 1.8.1 + source-map: 0.7.3 + svelte: 3.46.4 + svelte-preprocess: 4.10.3_svelte@3.46.4+typescript@4.5.5 + typescript: 4.5.5 + transitivePeerDependencies: + - '@babel/core' + - coffeescript + - less + - node-sass + - postcss + - postcss-load-config + - pug + - sass + - stylus + - sugarss + dev: true + + /svelte-hmr/0.14.9_svelte@3.46.4: + resolution: {integrity: sha512-bKE9+4qb4sAnA+TKHiYurUl970rjA0XmlP9TEP7K/ncyWz3m81kA4HOgmlZK/7irGK7gzZlaPDI3cmf8fp/+tg==} + peerDependencies: + svelte: '>=3.19.0' + dependencies: + svelte: 3.46.4 + dev: true + + /svelte-preprocess/4.10.3_svelte@3.46.4+typescript@4.5.5: + resolution: {integrity: sha512-ttw17lJfb/dx2ZJT9sesaXT5l7mPQ9Apx1H496Kli3Hkk7orIRGpOw6rCPkRNzr6ueVPqb4vzodS5x7sBFhKHw==} + engines: {node: '>= 9.11.2'} + requiresBuild: true + peerDependencies: + '@babel/core': ^7.10.2 + coffeescript: ^2.5.1 + less: ^3.11.3 || ^4.0.0 + node-sass: '*' + postcss: ^7 || ^8 + postcss-load-config: ^2.1.0 || ^3.0.0 + pug: ^3.0.0 + sass: ^1.26.8 + stylus: ^0.55.0 + sugarss: ^2.0.0 + svelte: ^3.23.0 + typescript: ^3.9.5 || ^4.0.0 + peerDependenciesMeta: + '@babel/core': + optional: true + coffeescript: + optional: true + less: + optional: true + node-sass: + optional: true + postcss: + optional: true + postcss-load-config: + optional: true + pug: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + typescript: + optional: true + dependencies: + '@types/pug': 2.0.6 + '@types/sass': 1.43.1 + detect-indent: 6.1.0 + magic-string: 0.25.7 + sorcery: 0.10.0 + strip-indent: 3.0.0 + svelte: 3.46.4 + typescript: 4.5.5 + dev: true + + /svelte/3.46.4: + resolution: {integrity: sha512-qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==} + engines: {node: '>= 8'} + dev: true + + /table/6.8.0: + resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.10.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /text-table/0.2.0: + resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} + dev: true + + /tiny-glob/0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: true + + /tslib/2.3.1: + resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==} + dev: true + + /tsutils/3.21.0_typescript@4.5.5: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.5.5 + dev: true + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true + + /type-fest/2.11.2: + resolution: {integrity: sha512-reW2Y2Mpn0QNA/5fvtm5doROLwDPu2zOm5RtY7xQQS05Q7xgC8MOZ3yPNaP9m/s/sNjjFQtHo7VCNqYW2iI+Ig==} + engines: {node: '>=12.20'} + dev: false + + /typescript/4.5.5: + resolution: {integrity: sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.1.1 + dev: true + + /v8-compile-cache/2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + dev: true + + /vite/2.8.4: + resolution: {integrity: sha512-GwtOkkaT2LDI82uWZKcrpRQxP5tymLnC7hVHHqNkhFNknYr0hJUlDLfhVRgngJvAy3RwypkDCWtTKn1BjO96Dw==} + engines: {node: '>=12.2.0'} + hasBin: true + peerDependencies: + less: '*' + sass: '*' + stylus: '*' + peerDependenciesMeta: + less: + optional: true + sass: + optional: true + stylus: + optional: true + dependencies: + esbuild: 0.14.23 + postcss: 8.4.6 + resolve: 1.22.0 + rollup: 2.67.3 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wrappy/1.0.2: + resolution: {integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true diff --git a/theseus_gui/src-tauri/Cargo.toml b/theseus_gui/src-tauri/Cargo.toml new file mode 100644 index 000000000..b9b5e1155 --- /dev/null +++ b/theseus_gui/src-tauri/Cargo.toml @@ -0,0 +1,24 @@ +[package] +name = "theseus_gui" +version = "0.1.0" +default-run = "theseus_gui" +edition = "2021" +rust-version = "1.57" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[build-dependencies] +tauri-build = { version = "1.0.0-rc.3", features = [] } + +[dependencies] +serde_json = "1.0" +serde = { version = "1.0", features = ["derive"] } +tauri = { version = "1.0.0-rc.3", features = ["api-all"] } + +[features] +# by default Tauri runs in production mode +# when `tauri dev` runs it is executed with `cargo run --no-default-features` if `devPath` is an URL +default = [ "custom-protocol" ] +# this feature is used used for production builds where `devPath` points to the filesystem +# DO NOT remove this +custom-protocol = [ "tauri/custom-protocol" ] diff --git a/theseus_gui/src-tauri/build.rs b/theseus_gui/src-tauri/build.rs new file mode 100644 index 000000000..795b9b7c8 --- /dev/null +++ b/theseus_gui/src-tauri/build.rs @@ -0,0 +1,3 @@ +fn main() { + tauri_build::build() +} diff --git a/theseus_gui/src-tauri/icons/128x128.png b/theseus_gui/src-tauri/icons/128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..6be5e50e9b9ae84d9e2ee433f32ef446495eaf3b GIT binary patch literal 3512 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 literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/128x128@2x.png b/theseus_gui/src-tauri/icons/128x128@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e81becee571e96f76aa5667f9324c05e5e7a4479 GIT binary patch literal 7012 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 Sh@|Ye~|0>}wMPLT8jm@Y!H33Sz}5aFI6 zM9Lzqz|;A*0sGs=2A1uU!1nk2dGF7knQwr99SAFen)x(eCO;F8y2C~0FD1YxRTPcy zPWVxkUYmeuz}Tv?7&Fe-!UE{)ZW)Mb;H)^#eHDv$`dkZGguJz@^MA!ZNGAUqt{|0H zpZ7Ch9S`q5!>R%}>}62!+(T^evyO+ImSo2wpu)su4^3nw5(%)KD%gbSev^*HZZ&3( z#&c@Z0gH|}Ck)w6fh0&NBJ62ib%R}(3@$VFl*_#l2W$wQ-~4RmZZAt5O*^2Q5}Xr8Hy@c`#pM?kc?hFWxRXr*mUfUCXf4ka5DD~ zat6d85COB05l#(P9*cQZ3EC8fVdS~?&vN#rce(aF9@xp80O2{{FBvU+{X>Hoh;xI` z{$e^Nw1y*VbO8wv`8|-m?NwNaKGTGaF{P^JLB^DbOYWIbn%eT`*!^C1H36=O8Z-M> zkD~88ry`eSo`tEBN4>w7OWZwUzlh{WM1m8R6zepqGcGMaV7vWY9b?K4b6~|HVG)ec wi>I@ws#sZo7or4_*4M>7;p5{nr2pZ?Uu4>Krr0kU)&Kwi07*qoM6N<$f)&@lf&c&j literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/Square107x107Logo.png b/theseus_gui/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0ca4f27198838968bd60ed7d371bfa23496b7fe5 GIT binary patch literal 2863 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 Y2S8W#vM)6=T>t<807*qoM6N<$f*y@n<^TWy literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/Square284x284Logo.png b/theseus_gui/src-tauri/icons/Square284x284Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c021d2ba76619c08969ab688db3b27f29257aa6f GIT binary patch literal 7737 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 literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/Square30x30Logo.png b/theseus_gui/src-tauri/icons/Square30x30Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..621970023096ed9f494ba18ace15421a45cd65fa GIT binary patch literal 903 zcmV;219<$2P)2 z+CUKPMqaqGiH;zb!R4$B-WXS^YzQr=@UH>k4?*L)&R=zYjBrZenKdc9|JlS$SO*RJ zKt8FSTDAdk1g_WPAO!p^V!AuL;Lm;uQyV;zKq)J3i(;q*;k+pD%f3eltU`PYdy9(k0&%` zuWAPcV6|-y?|?7O1W!KSK}pbk8#~!|FA@(VJkt^V@0lio{afoAeo*f&$W2s6${5!1eKvAGD2$GZwSB98L2ZVS- zKn8ENRkZ*sb!@QugOrQNK3(sy1v%J#m|rpB+h|Nkqa3FRT>74xSs{#&saU2Lf!_Iq zKmuKAESh`gs!fneGWn+nf}l?7jE$HW!Af&vE5=G!QU)U2v&HLIBGXKk4nQx{hsHjL zLPMAo5=*uInFbq7(aa`Y2VX5wCmaeqvECOFv)a>0t>ZaEb*cJccER=BB?KFZhV$c^ znL*l8x*UYZv4WK|j?~Jt6~~F%{pk~z5A*>^M`?r5m9@RJ_x|uEtX(6Vk@Y()MVto* z93wr)%3m%|#OZ~srm>zF(JvDuTq*@;d&^>_BJm5hOU`3FjG70L#Vzv9I?`<7$T@

jU?lMi@tgxr7CqX_r3uw^y4tVU3Pm0sw;|1WSUO%?=bG`*Kmz6u4{#ti;T7AWIBAEh!(Y zz>O01&#X?Ds@L)Sb{CkG#Yz4$3o d@96)?#cz^xWoA}>B$xmI002ovPDHLkV1l3&k#zt7 literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/Square310x310Logo.png b/theseus_gui/src-tauri/icons/Square310x310Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f9bc04839491e66c07b16ab03743c0c53b4109cc GIT binary patch literal 8591 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 JPDHLkV1lm|RXG3v literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/Square71x71Logo.png b/theseus_gui/src-tauri/icons/Square71x71Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..63440d7984936a9caa89275928d8dce97e4d033b GIT binary patch literal 2011 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

9ni|V?1P1G5Mec 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�gxE;{o#q>?v!`-BmD2v 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

5l#v3A#xI3*z~1~fvo9Q(N^(==!|_FZ z*duZ=+M1~)8E|otX8KNZlr?qels#x_1Xq@9IIw~@9uAREJVH)Xw^}UclF6327}E42 zT)E&?U%TK?(+K7%R!`H5oX0i)4Qn5??Iw3p5J~6_u+aWehY{DSn}3V2p$bgjnAu?o)v@iC254fXeMv50$9YrpU`N?u@QIWs)T?SP|fa}(|9 zqAX+!7`cx=4)cCBg5h~pu(?@9`)aCr#oyz$ld=#RFxYCNZCZls@4v2~*e-t6PEVvV z&bbK3b3wt(Coc!ufAbXXC<**#HQ%J9k`New6iG<5RjtO4XVO?dCvwxD{kJ#tfQr(X zg^NTwF-FwAeS_{V4bfel8l`~NbfrTR2s!G>WduFWxH(t~aK4q=6rEE^$+Uox>gJO2 z{L<;6Q6nHa5#ZEM>H58not!)z(6*_=^~8}jWf*IG$AUKVWOZ4?)GfF z+BM#*wKKmLFD7E~W3U!$IVm$k_k1f&Kz6WV8@55P?r~bcg-Za-!rvW?ns&)KOGT2~ zlkAyqhQj=P$Eg3w#K~}zH@J5bo-BfHjInKSz$@?+Z)NPD4pHj^_Qxmi`UqoTy=`sV zLVxrXGuBr=QRm|}wg75yetQQK4fY3#P_~J}zEfPnb2C4Wo!E(d*(cA;b?7$g2in<( zPn)ghX}nzJPmb6(3Dpeg_GW~Hc}Lt=lgsSZz z!5QXyz7KaR;D`3Ee}d`af{H>WWZ|Io1QI3~4Ll_`g1(cRnhLK73Ro)7zPCd={1W2x zRp%Xlvv4>!<2@}$hz|!V{T}_eHx2xkLl^hQoZTCnsjCl|W_@5Fx2(+j0ogy&Y+;L- z<)G$*CiN7hOm^s!{U>1F7U=iNk{+u~dAC!eDz%=|glFW0jEZU1&o(G_c#wTxUjnG} z#cg3>jEpUi#Mlq@t?Msg_#geK^Lx@DyHWf7=AS5vVyM7YOjvUVCfcpVR<(+5!H?9- zySI6s>o3m&*zr||=wcPGyBkQV`EWJl@bH8qobjOp+sXL*)=&yX)8aAbf~tGv?a2SN zu^Ddo-z?DWk9h9Yz#5p^NU#x~wYSd?H@w@!2Gb4G)6-utEMV~~M85Br5ff(v5O1|T z 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 { + let url = "https://github.com/probablykasper/tauri-template".to_string(); + shell::open(&event.window().shell_scope(), url, None).unwrap(); + } + _ => {} + } + }) + .run(ctx) + .expect("error while running tauri application"); +} \ No newline at end of file diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json new file mode 100644 index 000000000..271576c42 --- /dev/null +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -0,0 +1,63 @@ +{ + "package": { + "productName": "Modrinth" + }, + "build": { + "distDir": "../build", + "devPath": "http://localhost:3000", + "beforeDevCommand": "pnpm dev:web", + "beforeBuildCommand": "pnpm run build:web" + }, + "tauri": { + "bundle": { + "active": true, + "targets": [ + "dmg", + "deb", + "appimage", + "msi" + ], + "identifier": "com.modrinth.theseus", + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], + "resources": [], + "externalBin": [], + "copyright": "", + "category": "Game", + "shortDescription": "", + "longDescription": "", + "deb": { + "depends": [], + "useBootstrapper": false + }, + "macOS": { + "frameworks": [], + "minimumSystemVersion": "", + "useBootstrapper": false, + "exceptionDomain": "", + "signingIdentity": null, + "providerShortName": null, + "entitlements": null + }, + "windows": { + "certificateThumbprint": null, + "digestAlgorithm": "sha256", + "timestampUrl": "" + } + }, + "updater": { + "active": false + }, + "allowlist": { + "all": true + }, + "security": { + "csp": "default-src blob: data: filesystem: ws: wss: http: https: tauri: 'unsafe-eval' 'unsafe-inline' 'self' img-src: 'self'" + } + } +} diff --git a/theseus_gui/src/app.d.ts b/theseus_gui/src/app.d.ts new file mode 100644 index 000000000..7090ee710 --- /dev/null +++ b/theseus_gui/src/app.d.ts @@ -0,0 +1,13 @@ +/// + +// See https://kit.svelte.dev/docs/typescript +// for information about these interfaces +declare namespace App { + interface Locals {} + + interface Platform {} + + interface Session {} + + interface Stuff {} +} diff --git a/theseus_gui/src/app.html b/theseus_gui/src/app.html new file mode 100644 index 000000000..442445bef --- /dev/null +++ b/theseus_gui/src/app.html @@ -0,0 +1,11 @@ + + + + + + %svelte.head% + + +

+ + diff --git a/theseus_gui/src/routes/__layout.svelte b/theseus_gui/src/routes/__layout.svelte new file mode 100644 index 000000000..33d71a434 --- /dev/null +++ b/theseus_gui/src/routes/__layout.svelte @@ -0,0 +1,11 @@ + + +
+ +
+ + diff --git a/theseus_gui/src/routes/index.svelte b/theseus_gui/src/routes/index.svelte new file mode 100644 index 000000000..5ba58bf3e --- /dev/null +++ b/theseus_gui/src/routes/index.svelte @@ -0,0 +1,9 @@ + + +

Modrinth

+ + diff --git a/theseus_gui/static/favicon.png b/theseus_gui/static/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..825b9e65af7c104cfb07089bb28659393b4f2097 GIT binary patch literal 1571 zcmV+;2Hg3HP)Px)-AP12RCwC$UE6KzI1p6{F2N z1VK2vi|pOpn{~#djwYcWXTI_im_u^TJgMZ4JMOsSj!0ma>B?-(Hr@X&W@|R-$}W@Z zgj#$x=!~7LGqHW?IO8+*oE1MyDp!G=L0#^lUx?;!fXv@l^6SvTnf^ac{5OurzC#ZMYc20lI%HhX816AYVs1T3heS1*WaWH z%;x>)-J}YB5#CLzU@GBR6sXYrD>Vw(Fmt#|JP;+}<#6b63Ike{Fuo!?M{yEffez;| zp!PfsuaC)>h>-AdbnwN13g*1LowNjT5?+lFVd#9$!8Z9HA|$*6dQ8EHLu}U|obW6f z2%uGv?vr=KNq7YYa2Roj;|zooo<)lf=&2yxM@e`kM$CmCR#x>gI>I|*Ubr({5Y^rb zghxQU22N}F51}^yfDSt786oMTc!W&V;d?76)9KXX1 z+6Okem(d}YXmmOiZq$!IPk5t8nnS{%?+vDFz3BevmFNgpIod~R{>@#@5x9zJKEHLHv!gHeK~n)Ld!M8DB|Kfe%~123&Hz1Z(86nU7*G5chmyDe ziV7$pB7pJ=96hpxHv9rCR29%bLOXlKU<_13_M8x)6;P8E1Kz6G<&P?$P^%c!M5`2` zfY2zg;VK5~^>TJGQzc+33-n~gKt{{of8GzUkWmU110IgI0DLxRIM>0US|TsM=L|@F z0Bun8U!cRB7-2apz=y-7*UxOxz@Z0)@QM)9wSGki1AZ38ceG7Q72z5`i;i=J`ILzL z@iUO?SBBG-0cQuo+an4TsLy-g-x;8P4UVwk|D8{W@U1Zi z!M)+jqy@nQ$p?5tsHp-6J304Q={v-B>66$P0IDx&YT(`IcZ~bZfmn11#rXd7<5s}y zBi9eim&zQc0Dk|2>$bs0PnLmDfMP5lcXRY&cvJ=zKxI^f0%-d$tD!`LBf9^jMSYUA zI8U?CWdY@}cRq6{5~y+)#h1!*-HcGW@+gZ4B};0OnC~`xQOyH19z*TA!!BJ%9s0V3F?CAJ{hTd#*tf+ur-W9MOURF-@B77_-OshsY}6 zOXRY=5%C^*26z?l)1=$bz30!so5tfABdSYzO+H=CpV~aaUefmjvfZ3Ttu9W&W3Iu6 zROlh0MFA5h;my}8lB0tAV-Rvc2Zs_CCSJnx@d`**$idgy-iMob4dJWWw|21b4NB=LfsYp0Aeh{Ov)yztQi;eL4y5 zMi>8^SzKqk8~k?UiQK^^-5d8c%bV?$F8%X~czyiaKCI2=UHp8-5fBjR1nE7} zd+)t>lDu&4)pPIv{&C*_#@J(!u?g(8)|_k3Z+`PzJ3v)g?kW)-5dZ*J<)6x^0{{W` zBWRldAN!;J9^^X!Faz>351+p`+(>p!($|bfPwSocY1Ue-zCH2{Z~FL6=DO;2+$Y8p z(qM3Lz&+-M97OLMe5xyqau#n}LS9n{fbc(j=O=0-zoPSjIe5_E0Iphxo9U1f5uaM^WQn^o{S0Qx^)-fAk+^oQCo;{P9i z1G>&k1Mm?_1GxX!%b4Uk3}j3)A)^l_fC2y4s~&)f0bu6;^JM}9NC1-=_BrzZ>$omw zfDd&2$8zO3fbk>Votnjsj*X8yQAs@~A^pc$&d`v2w5A0 zMZq(@c>lBn!S}&@KyWdAU?=Fe5ojcFpOZ~9_o3fz-e#Kf$DF+#rcyr{&IxtAMmkz5 z&z}>D@A+qGwQ*I{V{{))P9s*3(jq24gimra8x~uik7+gO9{yoJ1b+3fu8UywE zfB(wcB><+`1R=)EGpz2HjnF?jiDQ9~${WN!UT~feuj${0zZqaifYUf@_YeWz? zknZATyzoyO$$<^)i4JU*X}rIm0lKbAkke2Tvtv(vc&h50yb%}zR6+F#^;oIcyBRZD zCxQxV-YzBx@qvujy#HbC0fPUrjpf2&Vsp^Z60;N)QFSJx$O&g_1Gnu5LUTrv_kvEj z*PQ0fMl*gPw+GEmr3^*lZn_|K9Gkl*qPkf_+%{lX8`FwFr5>`>?eAwqA)wen;No8b=eEW zFVKv+x*A8Wt$p`>{-P*+Kp?mKWotpumd?3BG?<3bi69;KANFdHr4qdq}5_!Ec<`9~ukYi2d4Q*spZoEtn8WsJtX_agI;4ZI0rTNuofQcL3 z+}u9}-TFvuX#Py|XD-Y;!UW&He;1sL96cW88ZD&HXBf?zt@;+YuxujBva|1{zObx4 z`r?4M5H1Mk98zg#EPCtF?ztzHuU+It!48|iFU)%^g946R>6BQX4;H=w;&`DKU4dxM8aR2fT zp6&73{CnX4TQ*9EV`rC+xj9GlXAMI6LA3JFN$25v=%0}khIt(_?Yko`?Vpc8WIuW7 ziO);g57)$uLw@#WmDbQ4~cLFrSToC_5D@3o#uC=9rIhervqmd8|@xJ=vEY zj6eBL69x#LU%&L26?0?GKZA{tm!<4r(E< zCk~fSoohEwQ!_%VpEI@}>KW*E^K=m7De-M#8=J7_u<-F*|vry*Up#rB%!E+c=(<9p%biKrR$<1uST*7(JUs-nHIm zkrc`I_o6<@%(1V-ozi-sMTTxqb8~(gC2sbk?%COv?W@#S zH56V1H0J=dSg1}1`naJj_5{jPgGD?1XplL)U05#sw(Azf%H$ zD=VE^RyJ7PwKzr@(v-Eo74hs7c^O4;Th`&&Y4$x~b3>;x+1a{V{YQ%4Mp;L^Wao=C zFE*C5h|qbU`uW@UR25~}*!W4G&LZr$Jo57LZ`-rW{CNK{_<3|5YTj}xpu3!>%3{;y zB|!62sfFjyrvG0)@O50`%np0zPo%#S+s@YYioa6Hk8w;E9dOcR1O8T2ttWxOOxg{= z-v*k$bqNH;H=`c*qV%a#^_w6r#=_uW>67Kg7Z*3?1K<5RNf=##SoX%m73!DbW5Jb0 z$_)44kKR!x*qOHRxWL)mtdcdYiK=tp{v8MY6}9Vk<*~M$->;j``;)3=pVl+?owN=Q z4GnR1>KA5r;{&5gZvDDvZMKlKwNs9W-pTtFE}FmM$WV(zxxJX5;(Zf0`Om6zUDk!u z_g!49lh)v@XoEwFHj9sK@$za)y4hZFA$_ZCt|hd6>F(|0Z}}xfmNNvj3iVHKU~$6x z#$x)vNA;WlgqAqi!`k~NiRvv8+{XX*J+()dD9kaP@7Zr3^)`8o4X?Voy2`aJvt!}P znKEY>SU;EHl{RxhiOsRPXFac{N@OMWuH6hcAvk>yM zU(<%En=WXI0_bgyk5J{q?bM2u=GZrpTU`Vcu=hr7K>ckXAsarjuex8Ofej}|ZR?`K zly9_tkKuAx%o2Qixle6xP4t0~ql7qB_y^mi=M3cofLupT$RI=NxGukabzTO+q z5SbErGj*<2WSHEfg#RB~Jm(pBZ@b$sme;^d*=^r5#gwUe!T|Tw?hEGi&oK$&VF7kr4FZ45U!A9EF@7nDScM!KuIb_tFC3)<{6^ zWV>ps&w}0Wrr7un^0wXv^CH8|zKMr{=8TM}I?M56i<0B5{N$rPIQeMY_}JJU)PHXp z%1PzGZO_fwC(wOMGIl$KB{Dq{%_ zzgxiuTjy1=yfO7&XwYbfFzv0>E4ZW1dgmVg$DN|>ad}UAqtp=0{`RAjFrI|RgFGCT zUzFb@EfwCmS#%C&8H6Al=U1S1TQ8&(x#@ux+AEe*@p03&?-vuSBhZLQbIKO*-(&M5 zXhR6WYmOp`r;6;MAAF&ckirU|2qIz%05Mi7A2{5VcGGsE>b;e5qe{NA$BW^^Lt9(h z(=k;(9Am3LsPkX3b;rIv^*<4oY6@%=Fzx~BdodFOHo!T*SR^iF=T~cP^^iMk&+{m>_%80BS^Bo&l{R>A_`CmuBZ^f`)ErD*+Gv zjAT$8jLLLz*EB|!x{u=m1Bb1$likekogUp_@>mddy;_0%PfNzg8!tP@Nl9?+^^I~L zkq(X!)Q21^zP=W?j=opB;8xRl(__xieLhPwU&}eCwNo8L`n`NT;VCr?|L{gPk#8lYe$vPSYxoxnC{J?XNBW$!xZsID)Qiy7Pu*OR0lvKH>%pE3`V^!IFs#d%lxJ{3n`tYus z<@Fh}Y%=n54uO|>mbx-2&5E)5yYmvl*ix0-;`)E?k43_r>4fSc$@4mSw{0q22Qcj{ z4?iMLuG6-$KvCQ$?YXpQvd7$Em5wzNlRx5z+u@qWBxf{Hee{3TM&9=?i=q3T?r+}w znVVc-{bP~I8sX2%(5G~OD2}wf;GJi{M8*j+0+R%S4evU73=410bA*VndpK4OmG9!Y zZCOlbhv+0HMNKOzyHF|pI_LUIyU>*(17SdIhx!IKn$JQkX%>3FKP;-DNCcZkEdfwL znL1adtgZ=5K7b*Y5a#u#j*y-qAP>jyKDV#j{T}oPS#XR;7g)|`R3y#zCTv!DwV~OldfG6B$6nYECW+W`%;X$BxAx}=Qy|c3qm8w- zbt8YAwWM!je|kc)=-G50rL-ziePoF*%WV+wPCM5fHNn_z@@Z(+-!y)`l)sq8= z9NLLK?plx_MoQb~`k~nYgc!w74|@Qzz?*3~-$B1jjALl8eU)75^>ZHC4MFw&`0;~; z1lTqvpZQh(L|T@-uD~a3=OH#CI4NA4CvXYclBETCUAq}@%Y=uKFmMG2S6Vs*jd{J0 zc^Dc{dgbApqwVZx-E75Dj6va@Ow5L@wxXrLcDgwUUm|FL94DeKCDd#B`{ud8sQdAt zviqt^z((iAaXQ2G5**{YKgsW}oVdd3AmfEg>lqh9_V*^P-@&ECsgE|}8Sd|WY9lUp zo^Od+EZI=HhgZK|!BGDb<(|Wl%pRwdzI)X5B^uKsp7soW9V0m!?0;dgYm{}qJfGQS zfAd~8+QJ9svAD^91|RM=aGaV9(k`r|p2O@M)4F3H9&8A{2(G>;>9o<({xvm~BB84- zJmC6LTugVMmzN-z5u5N!LptN8gj{Oo>BgH@GhDX1j8YMwIESFG>aY+ms!L?{IrR&Zgric@%=*~oHh%l6ekl4o;ig-md1W)VaGejFvM_vVo{mcf1B<5`ls zYih(T*a;69#~M}Mb#|>NghKhg`zgL8DQEhj%?>L4)ssdMcHqFW ztEZ=zoJ7-XS6+R7es16`UEl3#S~~iwBbFGPa@Kl9hA}p&+nk~W8PgG4vLV3W_Vi}8)B^+LUibm?uy6dmFq?R>w-ro=;m z$BywvPfRp`M4W|^2MR(YFC3!caYs1oyY%Wp zBZ_C7c}-W?vh%z?^Uq@be?I9X&x?%1+snM-mbm?+^s7N)`0JxlcMj$=uv}(K8e=IN?dw-P^yM zcdc}F5epCW?8+qu`uizvDo{Sw-JG}gnh$&kBW&C5?1rD#lUgLBy?G^6#Dn^9eEl(C zmI4f*mXnzC<36TC$$)2rqYIRGU;4pkh4VY@oW@mnd19~-kPW`7;?Y@4Cl zztM6R7A=bpY+~`1*Wddd3zDT5u_bD%;})LmANZ#F5_f_0`|%XoCy0G>a`%cQz!`^E zZvzgG+aKE6j2^n0_l~MFmpl=$+4X;VjwHKKW@Va;>D^N^YJc__9O`joFyoIi&d(He#nudVRYWgwhJ*j;Y2<8+CCB-rcN_qDmFbwiJ*)7A34lIOkV1^y6 z@XdmMV%&1p7x@u^$PZs4s+8;E2)efmevP%KO3p(}F7$c?Ler_$$kR*MQ|}zbQFPd2 ztJX2nitjo}hd*r>vWC}+#kjZJ9Y=k)^uM-jvE5p858=L@{BX~-VUDG;u1quP@cW|h zEia`6ds>~l>W+$Uy3+)7g7hYv$Vw-Iy?q#M=!}blmB6%_M4?-y@0#id6m=%n>cY|Z_6#;-OZM}zw{ zL6G=`*>##N^QJTTSPIVae2=XsXKv#7`h&H2Q_7C|AN=vgjC4YDb&e^G-Qlr}^V#on+BLh=?UvwaB8g zr@YOqUj`o#I)mzq>r-NMPAqm)=;e-`q8bolWAO4AnG1<^E}MOIO)I$QyS^q;RZIg# z++R3Kdgp6XypV8f1|7gdBw0R1J<7r}z>U_62X)ZmUh|6{n&wBRn_#|U zGn?ee1BPq8>80DMX;5qH{B0k@){CWIg;6>yMeSF)7jiuBF+z%C-I_6lM>guFp))O` z%me1sC^Ox4@?N7XBoD*uMDb03)@CH(5#P;CU}Rf&j=I==U+9iU zcHS00+Z-$^xeseDEsI#7&(|vGSYGB4BzP@naZO9NXb~4Z%Wuq(yB?lJG0H>&mJ7s^ z_f7{E<2c{-qSmUS>*Gv?p zR`2+oKMJN905W4t#6M#>`zyb!JC_cjxgtDux~p(Z`g@Z#Rv7;#b+Gy6>t##B^-n9w zp^0FJ)I$sMB224SDfIlyqGBAr?cnhnd?0@XN{t!?QtR-Y)x;ATgs<3+ABm4n@DS0t z+RBAoEFbfq8BG!7A7B=T*`xf)_~AGKf;N+{{5bwdwOdXAZ>J5;)c1!HJSV(oKeM!NOt>y5C(5mt zzQ#Sd`!4PaE+#fMHY?w8l9=vbz;f_M(}%T#`g2sJ6j?9w5#kHSsW(?)NT)o>?TgYj zo~wZR4zKL-zEhmFmDAbABd2GdwPNGx-dNx6Xy=@G6=-KkFmsdmL%bFEDcjt_;n`Cm za9fm<7_l(FOlfGS=;)6F(H6-`6DRu_elXT@V_&Y3e}V-jFR{{nKGT`OkyRH+hUa55 zUEEVP4{S(WaS*LpJ~y!I@xP@)=cKi04RD1hs^x5p?c*Y#{3!v}3Dm{on-TgvHyAA~ zDF@m3BHx4&w7sc_x=7LgVKce`WrB}uL3Qq`@hC=%Mc>NvZ(e0%?YNzGjTWclmI)T5 z*ySRN9M9t(G=8cg{bKj>9XV2EQLJ@aQGv9L9M_iw9FT&e=hlAsK2GwaspIY7-6e!v zCko-fpiHRG|GU=4Mo)l%K?vKeWDxqkLi2Bb2xS57_s|5 z_Pr|Hl|+BO?pgTUusZrxjixx%NeAfU^vYxdjXFVJRiHgTsTRWLhNI!D&H{;Q(#|P{h zcBDP$s^+(JJ0i2FeE!Bakujlmlh(SNTn)0K==x>&V9E-XgIXxZtQR?K1`bPt%LY}G{>ynGdqy>mw$UFvU-xUh1@K)m)bICa%BmyUId7rg9hv%BhdVLDb3J0NH`?a7nAEGlV?p`SP`H8s#CUK z!CT3bilU1$UXSzm)$JDfH%eL4OO)d*3bDT9KJG#6z|HFSJr)hoUFL1`4(j|us+4cU z-0_hneV)-}63vIlmFz+OW1A^i2&tv7t{&Ku_cS!1&88v0YxIpruvL!xPyEj|!V=pi zKbkh;+e0-_?`qqlI(barzy*wU^y8ES8cxOPStKo+%_B=ZqFXb}k$Jaww~(K(il>nxkR;{+_t{&Lc%`z5;HeoQZLzFt)2%bCoq z!0vxi`3gzzBO?opF6_%mxhx3CdtQr&%WEO|iT7bv=IR0jBnk9(A~AO#s=o5N6HUi? zlUFf^G8pW(tQ=ScrX1fLLp^|dZ6&`Wjaw3vN+GFG_z$8Nbp8D?mOk3q5@@CUH|RDV zpy12idhQE#c{`m-*Uf9yUkF*>l7otkHI=_2geBS;N(4kMJK+PgD0@vJ>DprM3lWJ; z-Hdg>c5CEuh_}ZY)GlvlUXC4{kw_aisBJ_GqCY2TmZlA8L%ei3#x~LuXagn zB8m{_h14<ZS;M!S_ zEUMc;!me&cfa(17wL5;uCqmpSakR%<08nanQTu_iUbxrc8 z+Rs}?TfD3ovjnIiuR1C*4P}-AZEx>-MH}=oFV!4xtOlt%r$76?G*#;r?#cw$QRFBv zf@^F#&q53&0uzlx z>Z>sUw1KC6nToBvE>CXc-sTbgFl`ZLJtbpNT;t17MtRsgA^bhkA}itElY5D;%wpBA zsy8F`zCfI&_eO2Jek913e2Eeuaxf?Axmh2NV_F$#RLxO0Ff_zoLeTb!gvw_*?E>w( zxJHb2-SXo-4P75_YG2vbx*7QRLEOnHYY1q~aTi~YAwLkk7_7+J#cizlN;)C8O9!us z!9?Tnmp8eT!e#-HToaEb7d$YT2My~6&X~$Tn8sD$>MWY{Nts8L zCpE^PU9|nUCR77+<&fLg_LP99l3{Z*O>&k~=yh)z2$qh)*3VhTyf-#^?dgJ0CC>nQ zphL(K`24{BEges28`~3(*5G=^eKGv9Z{Xw+MmoI5_Y;8^ zCws45)#A_l&Iz!PSCq92=~QTq%G7UNoDXS>G4F*$47JVn2c{uhUwq21s!$LDc8&?N zyM`I0`g|y4zC(gmF02wolY>`@16NT&X?2D*7o`4z}+{Sn|$2C4+Bj`3k@Ef z%mo8US7C|V#Mi?P!k?}dW;iXs-U*)MAOTt4uB{$#vxq2OH&l4fq24w1Z4pLYv2Br( zi>Ti3kr3(p5}LI=R_=5Bg2{wxvuE`JqQB`*8ds6?<2Lp4>?>2q2-FW7%Rm<|;h4@3 z`~%K9gy*cY#!_~oKCrQDE17VlmUA^$4b}VgF^#%to_l}NzKB%maY6Pa%WugO{^b!L zmW#y*q0X3EQ7F=-h)%`mHu}d;WXVn$)VpOH<73`SSV%arvlR4;<^AQuO7`nIP3FKl*om=XuQcR5^0`6Sor;gzM+DxonRIIdQ(l0gd_U>hW z_5j+iB#{;|^0tm$Xb;|xi4y=}JHZa_xuw>;&Ig}zc*a@#(4Fl4=+cwv%EWgP-)n9%Ow>o;EMD;&*Gr0!bLD+x z+VY_6_W7yA&qM-fm3X;ae;-cM2SlZ-!KW974Ep*om-{ELPu=O&kCz^r&s%GL_-_Qme_cW$Oq@P+y1aN zA9yEi6sV^Kja)bGZ+xXqZRT1?I+9I8XumU@L^X4>06jXGug&3FEoOowOS#sn>7tc} z5F7V}3=4#Pd9N|PUtYp|q-Q2gd#ACz7qB+_ES}_ecjvwzYWJFv zN)_`P91>wBIl?3jJ8_?SpI2J*oLyKdDx>h^>X+dLH+QXM9%bfYTr)L?$SS>ZY=Fl~ zDUP2$dip}11xSm{BBUmr@v`soaGWGQEO9XTSp6DNfJR%o6zJXY+Fh!-P;JH*+_sCt{dumU!8V*tjtvM?~93_){InmtQwRyAPv*a0uxkv z2~vl?Yq6qe{dJN`JdF5oK3kh~(v8|s8*9K`SB3GT2wwtN_I7{2RO;ww;>$o+3k{XU z)&>j3AL|`DZY$;%8BQsZ@nKeBQOZ&!0cN2m$d-_~{5uz&5pCZwdy+wzB&!K5!sw%= z%&#?MYEJq&n~oMEk4?8y3V9;T8p9oE>sUHi<@oWvk=>J@g*$Z>kl{ToYnOfeQsdZm ze*zuqpTXKg0gpA@4LRJ!6~we--fLnT2~gx%ZBvo@2{uPo-9!3y10_k1s;t-#Pn7k` zAyKu*b}9nHBh(QipU>@~TZu}%T_uHuTSce!zQ75TjdUfE7Wy%H2*_w zExgQj^pO)UMk4(*SfDIHha+-GwD@4OAs+N82+bQ;V9KWROtvH}iNU;|5@NAf+S74j zs%ck`EurXc7vu%Hwb zzf-5E^a)wmntqHE&!8!>*#M|YqJmSVRm680l<^E!gTwMk2j4gp=YeLLe$5Y?9=6Sp z0Q?~c^4y}pqneFhLi`i>mbn+!0Xar9oWobku42`20;^qf7K)0B{rBQM;fsP8^g)Vi zr8m#5v;1xwV8*tOgjorwv=JI*#Azzhfy>^k4pZMCEIn^?aBH_VDJI>xo|pr zO*BNMBJwm`MTRrElRn?ET|HeZ3lYcP`?;4%!CI)S@WMJP>XBNxsC0fof3PZCO)sX; z#+$CMcJNhgX@}7TVpJ!JxAE2SLboxGWTHyh=G6tnJ`q{1BdkHRehIjr`t|zZKnZXb zd)WL8umSi=PPJx%05-zE+Rs+t{PDFbq1WW>OdmBKG7q41u34g z0v0*OCMt025>D-1x5=+%`s50so9{c+cUL$ddpp(!s2kh84?YbIr@Q{JPov1Te%lbh zltIy>|HwHA$y`wN>ASQo+6fsCinfp&{f^E{#d_e-RiRs5S+Fn9z)QB~tN>iD`-3_k zFp`knU&_lU*oUz12k*zN{Lp_tiLjsYFm!i!x2vcO-25-!1HgWl?eWHW-`d~M_!)&N zbi=%NS!LL8?-n)Mhf)Hbe&0+(3EW7$4M6CD7YA{@m`G9!Pb_(b|{P${ZgX}(lDpN=DUa!gSkBFAeJ>aNyJvl`jq>`;G9I$ z{dK_-JnH}}`gXCyk7+w_tR{@5_Euvo%`Z0zidT=GxE*QSNg80WuT?mzO>7_1`Ap;I z(r$LV^^Qy^t3X6TIq}&bN0NO5A5o8vW;pNlRh!FGdfhD;NSJ>wE7I2f896 z4(=V#KK0_^cq!%Q0U7XGDEB{57ZP=gKK$0Eb!hpQJ>T%WX^dXz4H__^>dRr zPDDVr#GGc+Up5}UMB{XCJF0)K8A$G=><0SZruk+I_kSdgqc0O+S4Gvh>h_W_cgrk2 zV`Xi}O-%qt2Gm$uR&WDr_xC;&^xTso(OHkg%i04mpb$r)OtjtcIa-VMf+fynvg18U zQQ8H%gWlWA*4gxI=)oV*Tp)b;fgnmw^X|Z#|mb*G4ZHHMLxpj|{_mi=8T%;O<>;5Nc5Y zaL@wm^2lIVb%Uhhxx`eO_j?2%;4tqGrA6`LLEGi)jw|UnQ?|ZTWyrQ0ON~9ZWjRDN zLSJiEaUeFVm@%u%nB6`&Y61Mr`uh8F!ZxOD7eklTQi}88WULO$PTxe=|50Pc_Oj=o z=f@q>2rg+^RAM(^bp*I>dY%iVX=3r%mi~-;d+WFBt!ApR>sN{vb1aNrt=GK%em%mf zH#hjAoFDv+Ci$uL!kvtQYCjPpG6bfj5IbR*N9XRPAtwCTO8lx zt=spg$iYy1`z+43E3Hh9P~3z){3zYTheru?fucT?-{Q0q3Gw%{gyQ36&GRDGPhwbi zh5U*>M?zBeX+sBK)a_Jg-%uttBX0Ry2I)`bybMmHb5~(XIE8QC<-tc}eh_kmyY!K; zik?gA&M)Yaw*YaH_EyHM^_|FwsY(qG6)VrvZQ^^QcllZTwb&_OxG@1%3rANeE9C{G zMN`sKk;?a%Jy>skKAW&kfHr5|9sWAY7?$0(9^rxC5hIx=fM2-tL}byvkt{Fmh59u! zHlNZF3(;Z&#v(C2*oGb3Fl(!uXe)`cdPZSrf5FK&YxeEJJYn!wi<*f%R%gB<`9s>o- zu&@VF%PZqt?(Le>Cu`|^Kuz}*&^4U@YESTAo^KfVwfdFgvNJwcQfTgjW=U0$&Siep%dil7yByAKT410Jnx6xm>R|`++c3sGiZ9(C`J*Pi zc!gTXDW5e3u4jN!)kCOSS6eqLs%(S-L0`0kuw1mG2@Z^MPccni;55fGltAc!ZSlp- z!dIY51ksi7b9eUYnE#4=-jAydk?D&Uj)-5f*NKsq6K29ae#6*3!z!94I zbW%ugX#2&p4*<-90BsXK(Mm*QDU42#(g@s34<5f%i#$fsXdA2I#D?e` zPBN63TU0Z(odR3-Mj{@~`8u+9$a^Ae34;_c%57pov87)s8pYcwD#}G7xlXIw7vDv7 z5gFIT=-zqwGV!q~psEPuoW~1*UMO908iSIZ7IEYh<^_l|UUO`nm+{4JV&QIW#c_5) z=y?#Sl;ik|^Vtg;FMWqKvg_gS*`Xn=<#LvFCfldA@1%krJi5?MRKF%2cHqVYIV>VgPoRXHQq3Kfi#O$?*s%eFla*L>Fr}u%`!a-<9oMQtU-)$xxS=g{*#Pli` z!CHg#47DFk?(;V~8ErkLP2!{P5eL$<)gjH$u(%R~YW#Tc!Z8z88D-)mjb?Zmm?6p{ z%+dvNKN<~;$06rciRR6u8cw z&8qJxfz?3@8tmW?5-?w-)8}XAN88M2*4NleF|47;vW<(Hwr5{*Y?6&UL=`SP$7CNP zju!vYk8ND-l?eK_Czh4Q-kf_8*Uibaj_bC?cG?uMudfP;_db}vq=3Ntg;C=ABm*^rpg>;L%hP#KAl zOfDX6x=RnLD5kAnbx_rH3KDBmx<|#At(9Kc&(V8fX2b^F7j#rgQM1B-${{mQ`+84D zTRG)To5N(fFSxAb5Jn&75GL80c9G-Xsa*emn*T*ar|~Cgm~S9GUtds*D?rh z;5cr(%us|(ot0wxAIF;P;{X!CK8_*u-*Fy$aIl_XcBrq9{B`>~gLcd0^)hc)4>A5% z>RCJGtU-70XBey+A;d~#X2n~4uFWOnh@cHsKB{A}>UhuN}L_&_DZ0&M&fu7T-Xd^n?j zbzr+BLYwU8a|&r&l!pQ`$>DakOQB#&`o{c+*_-TG4VNTD8;#}6jI8F@m*sJ!170_g zT`)9laA)-O&}6`Oedk6iuDSI-TPPxP?$vbaWiBOSS}o#|eVORT*iBA5>|sO$Y`st2 z6x6|7@bTJrZ5K-MjvRbvt6bL#JyW^u687{Y4weCev385CCHZ1DnrLOF+_0P@=jJul zR_||QwEmXGIFbXHy-vZ>Bh}~7dc`JoQ1`p1E6a76JG@Vz@$sJ&k>AKd6gw#qaYSn9 zi^;}mA@!9w76gs;!wKH07yIt{5=e|l2*XbJE<{&BJNflOHlykjMd z^NkEvS$oC2@cw^rDS5jqE$i_+h^L)l%HWXPAp7Xj2_8x(swX^CH_(whP zaeMme=jujrnJ;rus<8XvBQ@%o=Dek%zuNr%#blPPK5DYb``EJ*8g{=}%aPCQ>ttmw z^yof+dQTqAwr4cK%H#J6Yk!4QZGkL*;&;-#E-jBLi5Aa`SFsLm7=cyz94#{e^1BT!fRBDO7Y%O318MO@ z5x{?0>q{{gGku7LV?W$7LHTW8^K$P={C-G+?|zQg)PoRx!W(+C;Jzhk@VPuu~fD$QBMm$ADap?2J94plF)#d-}n?IiN<$2KGO zylL*EP69=$06N?D^|CcOe*ClC_42zR_E~hwr-MaaWyO&)>t9HKycv68oSm}vNTB9x zEHHD-z2zhj2fE&>b`{G(2!^)@3`Z_mUANb$dnCEiAnSs;sdf#UZ8JD{GL{IZh>_Ln zvt=h_Wgj5nCJwJ1>+Ts;y}f{rxu9}yq30e5ImYrwn zaoLK+haJDk*r#d2g!0H!W!J^K@B2;3ob)psPQ!Qo{h>m8&>U`HX$5+o(ce^o?|3s^ zJ3niSgNce1LOTn|)VX1KVKDXBd0ng#C(eFmNpK?;dseogR7c4?mCNt}F-BvV@(Gms zB8Uv71xDy+6P*Xvn-gkg^=cV48z-B}q~DIml`#i;9u=F_zBk(syf^X0Mt6of%%6LC z&S|EHip4ozrOJrU|B0;+Kkmn#YJc|0y?c^E*ZZ@c+3|fyWGX)$@w0 z=qbS|Cxj(AxIxTPq`OI+AY)-rg`@_Tm}Nv8e!XRd>$JidkC$9jb=S|mv-ew=(}W=1 zWs4)ve)zg|iJ8R5Halue!AI+@u{(1HDSZlGd2dYG$1q9@;pVjJ81y|oE9;;$-g4nI zfz=r9SA431u-=m}ZcaQ`s<2QG+ir5sduS%uqjVZXU;_|pwCjh z6J#p7H@(E}b=%J`$qjw}j1D})$*hRG;}*}jTQl?Jw-z8ZyE=;8UAXr z*qq!0QaOgjCpX^MX~NWKsLDl@GrFvKRac77e_TYZH}#86T4xdrJ2E7JQn`lCd2=1q zgRETD46`uHW|hi@H-j+VAN(m-#ib=!&N*qAQnAWlEUT7_S-ekM5DOmQd10RKaK75k30j_6)7`%vr^Vd(iD|EK?YTXVKV;YLV5IUMZHD+e$cY90A_}#`P zqhUPt#DuQg($nurh43UgF;V^r^YF*RD+NAuo710fd(M4Xk)0C3c4$GS`Mm*Wq_t%= zMEg=xwAsBI5?-t%0Hks|wA4&tH63O=;G8SPx>bw1awEC?5Q>=`t+h2|)9{zk>_dgI zp&&t>JztdrzRTL&TxnOz#*rio+?p^5-hl?JgVt1U#_}-+7hv6 zHGoL){e+0ZcB~XwQJQazWHcwa)XFU;VsCCmBu4JfP&Z+%tE~ zZEbaj=a|8Gs@TV_{2ADe4&Mbng~sbvf7VJ|zm44}x*|GzTp1d%_E(-9+>xL|PN#CPoTfUR}M{g$4 zc^Xe&8$0RqdbMjPOntWK?(CYgc_!mylbpauh}*gx=bqh@-RvS2NCIS8a&Bv51%CU) z0R~341n=#SZJ^2~yYO^$^Zvc4u;<#-on~bcp%=?7mP^NnW0ugcTfy`m7|{+mYrl^F z(d#Ncm??wsOG?$m$&|1Qmj(Vg%|HzQB7$2*gXIFL_sB+?0)D0ZT-D9SDZ1{C!me*jUHq-I#ipL~JRg!oL{A8JP^!ZmYXZS8n&?qqobSdrnVBc{Z4;U6WQq zA=3~i%J*YH*N?}DZC6xB!7Hjkg$=avu z7lUThC?N&x$tjT@eC8)mQVTK%ajvLNBJ7PyNxu2?G?xM%w~lG{s{4#S;~(-B`Yn4FoaR+q|tzCC+f zXsR!B?sR~#!M0Hxfs);K_hOhEH>uVe-H-b^Bd)y!jIrVz;M+zOrt%0h!>=rfp)Eeyz#@$Q`<&(pt!ey!O@k+HM z-r;GLHwZcI#C{AmrauF)y!9%cPSwjjT%VR<+68CYM;ptrAAd_VS=zF!Mgpy;s)9zIKpl^h*X3X1%pMR{rbQ}S{x}n4J1?s{f zd8ix84@W^;E;@_IMuF!P!1i4M&`t>*%1BdFvG;XO6Tpn^_GAv9lNvT34$D;&N~6YK zW8cobHUC(%&-s|6|`6{<{t-fYTm}=%#O=ubCqZ2bl#HclpiVsa9SlM!((&xga zuLk;Tl(|*zvS#NlS{lmRQU)DxRvedzHQqVkd2318ca!d-KTGV9?lI=nmZU^&ClO^#^V?(Vwe?6pEW@T$Roj0Y zg6uZWY#>Zz8qhLahw0rxZA_+x$)FW-jEc{x3S^pKA{O2}zBk^Q9j<+Bynp-9?~g~f z;{Qt80E*Wclo|!aEay0`cEA!QGPql;L-(&Hz1xSv2TlGDu_kN-CGIlu?(U56u)uAy z46E+Vi=89}xAs{|51qdoR=st36<+^*iqSR99uTfS8|4xDC1i)6qAvhwJ|zSKkF(iZ zyjfc>fBF~A%P|OwDI9(xv7MMt|9W#H!vctKyR!hPWYA;?Z#vF(>wY3JpyrJ-J(_9X z>c0xS`MW03q)EUzn8IT=^Y`S=$@DUMr?}0Dk&NVBu<94>2?KHjPYrO~%Bz4jmb=9j zZfMizB)i)POzM(M!HXNzzD~KVJRTiBo=Dv6X1%;&5ao0EK8Z6M1Hu|+x}_aJh>(Jgt0FFjM?>rFBDnMPXoeW8uAVnbh!w5`>^P5 z!l?N{Uoa$_XNnGZE+VX&3JXf2PnMOw4ob@KOQ7{~3vxs5&=*?K{GbNM+h53ko;Tlv z&4!~@fc>k{{E`#?P-q{<4so6dTwedN@Sd5hmy^WH`B6A-pVqDnQuKZIbd5ziI;1AC zQux{4NUZF3J^A!7Gh{+V`1SLkhHcp4JV!oEB;F*Z`;ivU;rF*Vl^nR{R(uZ*FTeCU zf5wK!EDwEO@Z-!17!}rm*g$6Jgnbty^@hz>9e~fKKt{ z9-Q!0Ocw8ba{E=q5Kc zlq17nP8lGmJbKVze&|oM8vkg^b%}Gp#hCK-Ev!K#_Tc}KRe5Ruf#lF0lK1>4rbdOu zrH#};NWYz)#N6lNM-#qWr+ce$VaZ%|a{(SCF9e&+Q{dWCH{9?k?u^t`WwYsCd{=x>ROv`Wp;|XU@ zv|HdFD0*mFoU19@gung-u8Yt@2Z$A-xAYH&3T>0s^3dMbxZ&s}ANeE@DKkK@3CF(# z)EvB){uM~*jxAKUihr&<5#;ZG`?RnZ?_(!RqJxmJMa?X2vh_XHFp<*Ty>Un`qnyxhKf-RaoD8vC2VmPzK5^8O_+2>A`y-|vBt^Z2amuWB#A2KKWZU4jh3!PCK zv2Z~lr$jqHA+ny~Cyny|_FMOj8NsoN3&H>P0pwpQQhwO zal6?mA{Xt~3)E2nAF_QpIhWU0E>Dv1u8SzAF)|;Rq3^T;$-=x8?7{&x%)jF!=~VKx z!{^M%@h@Ec53S%UpCxAbGa4Iv)TZ4!t)!OaE{AVSKOd|9iz0KcgfX<dx*mf6lL!UC2sG#K|H@(Vk3ko`RhSkCjhT`& zx~oA+r|nUOSf(NwVk5L_W|RRtk|9GVRW5LL=o`$a)9fy7Ta0pyjWOtBX>r-OU^>=% zRcMh~Ovb*Wb8cYkY%_JmYxjey2;rnHM~qwW>hMgw5JM4h%fp8cg8Nwbu@rLw8=RTC zcZ9^hZi}DR)i52jb3r;PxKN_eq*gy(r8$&-s}z5#jmDHuttK!v@JGl|HH?mC#SPJP zt|%bJ`cP~Dvg2-`j%ke8TZt>EbxrKySC6*ZJng;v#80x ztKM99nHr0sF`(g*xXuwOEKl52vxdQ+esgJLL4?2<>^+`z?a|s4o_DsSysrUc7&F9R zE~m7I6?C@Tf}^SjZZ1#>gKKQ=r3LcHy)3-h z1W^2C_MdsoW&Y^ou$VR138%3~jS5GoH@q-@N?1#Fs_+lZ0JBa~z?tAUBa$+rDOzzf zXgAtYK*;n0wIiW?wYjC$r!HVl8k!+nn|jAtuWF*>>JyHF2(%$&38+;;oh2`;ULWxm zz3|^Qv$8S!B>eGqRsZ`PwMjbT>BxGYWpvN8rl^cgT7m`-i-8|FRR%79W%&w5Sq=0m zeU`}2q`h%njWFW1kn(|Vrhvx%Sq$XNaxKrwQYcs^6=E!O5ul>sRI+fy6M)bR3ZRJw$ zU($pOfqq)yvelbpqBp*sf1e_Wn3)cg3(oGo&G^nsXE}hb*ZKXcIG&fJk_>tkE zR=a2X=9wlX3TYWu1WUa!+vv6eEG-z}K0*CqXz3)$3W_mgsN*;r{WR<2PkcW3f8Ys^ zp|sdDx*aTFcQ0V{QjJLkTeW>TbE?VUB?`_u8;=d(ot97Hh2c z`;S^UX#lx6=fl7IliHGyI;5)onldl9?$ z395B1xiiE=82r_`Mff!Vl36R9;l5k(wzDrc`*CDUQc<X zHfPoYlv?x2fW?*lL-94c{wNypcA6J^`xsxo-IXf{PnQVbFL!OItNHD$2Zl!jcA=$+ zg!-d7^&LZ8Jvr|%BA`=R)?=LagQ2DSCJgKT@MIiJ?J8`;MMysirC}>kGF^*Fd^cBt zppKv;VK?>iwgkpijuYJD)q?$ccHdJm^bbeJmzhp3&5LUiX@nZp z5i==&+ZdMm$l(_Ig!PX~b(8;dk*4r@L02=Nz_ z0`yn$y@h*@>${V7{S{AMT>6_xie?c5V!d>zxoKzd#TPE3-Hep@?>-toB*lR{963e* z#f^O1u6oPU4b!{M7Mzz`Ti{mSdo!qe8la&Ifzu**FwRvU>@Xz#dr4Z~vT7R?Vr9<~ z9tNwDz$|lXGCe+PE1Y{j7M;c9aJz6k&mZwcC~7T>S_KRD6ul#T`0zma2Hy%?qj=~p z66Nzs>xyvR=q^F4sztf2-cJz5V(IAky+T1{e^z&aix{FtOdCyNKcRX1#9r7poGb(R zL%W!P@VmBpLQIlI^+=Bd(?5Bjg~y_)h6qcmPi*>T+hM=iqg)J7?)OC%X`ZoGgThdV+yowC4X@j$ zKZC75glfTOQ`-xN#!x>$GsK0^l<2}IB{l}gzSNMpD8cU?o!_=+IidVVp6J=ZApIwI zr(HD$JMq75ZvPy<#m5kS^uC(4x@w<$i+DurTuMnxR%~el4g`I(uNgRj_5m({>k{K^ zC5oS4NunKjLSYgqL*(=lX8{gx%})ODPH<%?cqXO^7@v7O zw~T)bwH9W#yztweHId&f%^tT`e;M90D;my-G`h1{HKPS#Y|FP}R-y)lf3|+q)*cl9 z@b?iOrQa95!9Tv^H^WA^(`Pm2mQjvuw?AwE|EJj#?EOz+%v+kI_uue_j^_-=1C!Ku z?teZ>`192*M?qZ!0bk`GMD5<@Yl2fv~%>wyLl9U1Tfh_6_vF_TkPrTl{u!vb@ zZY3>{bU_7<(c9}8D3I2XN7JwztExL)jmM?-%74rG>5ND#%+8G#8P86Sx=XRG)qP)g zI4d{e!>X5md7mF}$%Dafy8X?h&guHrZ;LKtsd0c2VCCNCprGy29a8WGC!~Weoi*zs z(hRvf+WV8F@Tc59-64s`vuDr5*dd!?fvFMgEH5hKj)GOYc^EH^qSlfYq`9itVxNVQ zv2WM-@T7B`rcXy+aSaHQOqL|y`V*1JweY`eTbDp&{4=TJzD`95%D<&y-$I ziJo;SLDw&-5@N6rm>ci)=-c+F^-a%5!^81Y8_B-S4r}iOb}?ju*Iq9hUBPN?h>^7^ zfPM=n67BAO0xPb%vg1PWa|!`@B!^Tx=zI|LKH3*CnyKWrKQg9t_IN@wMPoMm+c@Qo zy@_w*(9VX4V5`F;B##PKgAQT{R8AAwZOwk8z%Q~JuyNmyUtbNE(Z9%j)H=d@i}A{6 z)Is^xXQ!ewp(2W0}M*+P5XII`LnwW)E9WWPX~Uvn@`jAp|B)EDHK&P&yzhhj`*NTQ5Y)?5AXnt5le=&S4p>)XTr_ z@gem1sBECdnjaoGZg;L+6k!^)u5@#L)uvt^Xv}ue^>e+XKgDt->fvV3)m%}!+GjlNNkaNBeu6ZDV zS2rY~8P>MdR`aU%`d+-+5u+O-{Je<*hwv_OQ^zAGTWrx;TP%(DZ&QJsha|Sc^S=hQ zlh_$JDc3GH?}$duSIgf`2><->Wia&)fr<67fP*G)m;2~Uk4GzMIx~Db0>oufA!Xl? z!(~HOSVMm$j-0Kqcq`mBpLyO|J0lc&@v|+@Y?+adnR-wE6)WyMJdA9vu~Vj%2!7uU z69P@x%RWUt5EWY=Ws$|C9$TVSAeDWiFuI58l6I+I*ofoW4Sc1{qW7r_n5jL_JL7i?T49vtI=5w3)A8>j;&{;}U8f_e-C zv#JiSnRyq`462(hXgZM~yT1efm6Kv{FkF%t9KCb=e;?Bo;-UXY>^jY6L9Qoy)0q>; zOZHNcIR(}@o$&7r*>>ojfet6hq zJg;eyyIZW%w^PoL?YjNxrt!&b&$6oc4midos2*G0w{5SY9hI@M)FYYi@BPj`;-9uC zJN>~)I1z@0wsMg1{$-I(|B;&(S7yPmbBns^E~|o@bAJ@31SkhnNAjov-H$C<0QG|- z=LeJso-6kYFU^4zG$_?r=5ygzC%*eqGlrG=`1ASCt9c|F(N*r8B1|)J=i0sT^$G?L z;FB6*MsU07amTeU`bV7Mt(l{~V3d`I=#dTcF?FoLhX7O7P%SDs5#=OUnT;0rxD7S? zVEUfB?h#L(){Do3y*1YlDqca&E?SQk%KV#e0LfDI4Yh6oE!Ap6HE8pGzzOaWcoLXGh87|T_!`Go zY4P}ABt{$7q!^m>HA0)BgvD8JW}uH}aL$H2o%lL|->lIYxa>w6aU_Efe7{2vUXxsX z<4Qc3U^#lnN;$K4>V=@_{pyqw5X$L{)bZtCe z>JNH|rPl%ZC1G~~m9kFA6AsTX^o|tP@o(NYroL~EnOSaStspLs|aQfQY z|MFrLgoon+jQJ0`OQMDE`F^`O5S@M|_G(v*B0A70bUjIWH1Ju!BnJgzD)&3Y_mAjg zYTw>cF--jf-~{QA1iXsGEbj;qfzR@UMg$d~`{GGiGWR(WWKoLMHn>iQx0s@6V&&1cC^u zO$KT00Uok+t=f z6!0S2Z}(w3s)55;fIfYo3@^?A0uD1^a|TeG8NGQ-oIlORxZHTcz}3X?FUyaTfVfp2 zMPSp*SCZ{mM&UnM08#t_25QAi(3kdzTs!4%@A$&fPssx80&73c?3QjfwLNB8cf#vG zdLSiH^7!@K1%DMYzCDlTQ*M3Woq;6zo!t-oO%oa^XmuY!^f1>ion~5W%&7@%HO$Av z;vE}8c5e5P6{vKdtead&al)L5E?7pXTQp8bteNgu@X9_7XY#uxU#hC)`EQxES&#eD zeDU7^uhf0CK(E5D#TpmJ75R>6_(RYOuoG5{CDvXxvJYh8%8u!>;N}T5XY5j` z!?b7o$#RZ;($mZqU2acNgJ`WF{XwnxA1T2##hu%Mjk5Zn91?Rns3ZljUIt?U9kWsb zUi4_4^wRvk?#ufYVc8znNRy@qDdKcSXh&XT7~`qb15ct z;R&EJq{Hivva45yFrij!l1^SxE;ZeR)!xo~n{u?fX70m+ov*nK9^+xzOXiZ)S(re1 zhKum_Q*c60UaVhhS;E_gjAuYD)VHa#`+UF6l-eW{83-*Q^aD^dDoLHI@JX?jon4K* z9$BVO>s&70@=YC8rgg0ynAcSopKUv-)I^r&n)=D-+n;tW$Ar2?iCoI97nxBK4*hqG zUSX3X_dZ`zQNHvp(DyPm$z;L<+>#~fAmr$Ifo?E5l^)&{?-x1|_X(^^4u^fq`BPT% zoE=VE!Od4D1)LCVv|u; z*ZWS%mVev%sG>zOIWuO|vq8f_5YA;>M=t!PN7}xEczj`pu&An7zrrq@tu2+XsPbJR zaG@19YerBPZlzHt^DDs9OcZ%}F}>aFjSeH<(~n1WVR*mh2F`J7@sZrcMF8AS6QpUs zm*f+0+&zDF(7b-we5C$_^D2=D1yh_4gxUJ&rEWxs@0tA?z{<}|X7vLGPEkb$N~k4u z?n;}5Ck|Z{J z0X@N_jD(WaqbHMYF@wt7>UwR*4UV=D$BX0yt6y*tGCfjoiS@Gr4xV`LJ_&JC_6ELq8;VlITL5PD$XoB^JM`&Hm>=ma-!VDd>2z#n;{Tw(3D|&8hi~=onfV_nom9 zZ?ETG6J|vGcZBrX{4+pKd`%W>-2VM-@R~6AU-=^=drMxrWsTa3rNX;z4LW+*yy~|o zL{KpE9cS=)Sajl0d*%arSjt+s1FW#_z#jNo)OY!b$M$V66|LV5`(qmP-Ya{y8L@1J zpls|LYWCOiKp!P?VxL`8$6_s)8g+A`5_7(h)QLq3;3Q&)1_z#F4`v{bWO1O6Nr4=I zbjUM86_$)L2*k;;=7~cpg!?iw)JT>ouvsXJ8^mYJ_xDZw?VVzZdUM*uIV-tbD1bX6@>Q!k zW;3(j#Vdm9y#^DqJrdPII=LLgMA5}qs?N{rq6;YJgo-r3X?&%PW}7RasQY@JCoNFv zx&Ly+G!Nem$Q!%;NU7}gP;z*_&`x)e$q4)Spx5 zhI0!(7C^@TX8@>jWdLmLqw0u%jB|g_VvzAKQ`tE4)G?79(_|!r-@Qphzqhg^0*h5r z!;x&7TDB21m~Hf6Lh^1^Tn>n6sQ{{E+tiEEr%(4ef1nFrMp9(%ik;E2EPZ)E6H}v6#TedW3QHCItc3n zjf4pX9qQSxaP;OIQ1{%3zFfYJ7*R^Gqj(U* zDnH(jfjY&?=U%h6Rle;ez|C$una(Fy0?^K`js|)wt>RgWHQxW5ALGv87Z3h(@c3t{ zbTmH&-;tlpy{m8(m(-mOm+;=7FU&r8tUY=+brq!pCx>55bs5~7n72aGD6ZZR?GJXE z+oAj8AbCxF*SN>oM>BH9bWIw|r=`oB59f`Q98G1P^Hnd#pE%>95dNwLctVqf+VJW> zdy+S+{!e^&6|G%Qs#ek$(`fI6@PKW82-@%?Hr#>GoK9v{7Pqyr*^CtUW(oglWWtkp zhr4~0ge1|F%pBGcwzX87#Rq`9r#qa9ShS@9?*SLKHIE|8Yu9_Wdp!@Giux`2i0Ml2 zO+Uh$vC&+<87pDsQhHf(&Gz% zzvjdWbP#}oHju%MH=4&-FFV^6zPcop1Uvx=MN@^Bl)PhWZx6YP-!?R05PaL*di}9k zmda7$Ggs+y^Y))38Zcn?>0NoF^@yZKcGV>Qox;LC7C_1zAxP`GiM}1JAVP`81BN$r zZs>lZv9t{3^j20)=N=8EMHxSnpAB5FYeSnBEg3g6aDnhoJ)8lNTaS#PHvIjy3`;tP z0B&_SmO5-B8MvA$0Y@c$Lp#Rm?kbY)j@~K1oLj$$8hzn=m0OH&EM8A#=7u z_PB)+C!f%9L5{%fkLcfNo6oe~eka!bv#6%`?ocP--65-nCt>T{tfCpr;=2@Jh~@~U zcj2W1zLAhY9?45x!rtcD8iC+gmHExaq;WAU4KK;A&G7TK+|v}Tv-XZ_y18#9wdTFv z2Zv>+3LXtVE!Qa$*piWrr=?wJGF@&6G^C+DC}`q%s?A6MhmD-#8pd)3QQ{oRrL*Ml zR3u(y7vFou1otzG$001Rq99wnh0n2tfflF|agQGlfaxK+DMSgzd5yu=s^Qz7wa-tC z`|1%AQg6-WfSCuC;y|&5y}H%zOQ9Uqw)%_?v@!v~=|$pv2cM+(wO>CIJoh4F{T8ym z*gkhrXd?ym?e<(?&5)1-Hb~=f^p|&9g>Nl zu34$wY_BJa^J2Fa^~*uGi3)pZv%Q~hk*#FGj^1}3gFlu71GA{aiasD+JFD=13FXr~ zpXR{vjUY_IJ~tQtOd#;J1faxbs_yu084eD}fRN$5uI})+h-$Xk`OlJaG>q3k02~eP z9cI=3|4YjPUJD^3Jw%i)T)-g|3~#Rs$1(MN)ws>LwNoRB_LbA<3E!u=xf}{WEM(U8 z&m#Ghpe&FaVq7;s1sUt`TITi;NrOCzH?TvOv4gL1zZiYrDuxzUZ}V@DW;aR)gC*#y z2s#oP-Gf|DN9h`F6yFmCa9M_2zi@6+#<{T~2h^Fe2l3xRHMDYzMiu&{JFoW-az{EH zCz3QYUrL&T(5Kb+@f6WpxF2*ms?n*yZ^|-`!8^LK*5vzuB2Y#O-)QUEu5UX}S7`Um zp)SB3m{Q2T$6`U3O!*|1HEwW2np!qQ2ee-ppm)K#j$`9@@!I59Ztcx!KTa&`1T9;> z{cnkmz<>dx+qa6TrkyQZe=V%{A4V2DDo>4PRQYHOmFes&+Immq58niq)f6P?&y zFoW74D@OAcz-8RZbiuYjy(z0DFKZ-@ISD--wmE9TPJWP{$iw+K!m-L4!x33A)Ff2& zjtxe*s*&A7#Q~&rGh19B6*j!hH>->rUZxCUz#wXq!NGPi^luewC&Ad`*InG*y}xCCQEr|0EL#B);tATQ+N zFaK|czBC;_$sJGkff$@+KW8MqMR3oxB5`EMM?Djs4?P`&UkBU1SHSizRO0aca&Fh4 zTi#sGDZvG!LNCx>7zgCFBHBIMiV)~SN4`m+)n|CThkZ@rAF-GoA#gQeZBIfS`dTam zNnwSmIhVX#POZrG%*Rol5ZbFveXo6=_*K>wAJn=3QU%@+x6f0umS4;qYyZ3;qr=}W zGZ9_e_hqtY|LHnWpnqMPFb?D<3n=%McHm1t5fr5F=t6RM18jR z4gQYTO2ROzJy$x23_uA=#eJN zx0XI0GO3RwZ&)F})n~WWp=|-N^H*C!nRuY7Ko)i)=rbH_H}sdiT8awN4s@O4?RlGE zEPKe3i1d@idz+AB8*?+$O^f5EuK`O52K6C#myHAASb#P#w>us{HN$h%i=0cLEihz} zTiSi~a>L>06W{~qci6+7RHt#|!A>b0+B3TL?zmy_6{>Y^iL>TZX0ulz&u9{B;a<)XM z+*Q6B{($>8zr{R(>6wuEB8I94;|m-~fT|oA=eFt|_Bz%KL^gzZP}C5r(ceUY<pf zI@_Osea}+7BhaHCjO(Ajc=Nw=%gVMq=B*x&7O$HX{?FkiF$QRt4LCk>7Hc&mYA1`h z;$XDQ3ETM;RQwv1Xk2{QLa0P{$dhti54lO~-}NpDf%J2LUiT*5^jhPfUPzu0v@VS+ zd+KZvENfccLVlCXGD)(&^d$u=hmyUlViDqfxs^v4%hX3t0oYz;l|ER&yz)zG(mP zn&DbY3TWFszWVY22{s>@J+zu13IsZ?^3#7sTEGz(m`xfhF11}UKDQi{$sov)DFUgQ zwuLDds-?H+_eiLmL0;Pcv`~qNjN#Ed&>@5Zh--~;uo0)sZAs1%u=_?rPfPDFne?It zg^U2uh}Tds)Pxc!e98t&&%=K7uHvbXluA0W90+INfQNu=I%Y1??50>mR*K*NGx3a-J^onUKROapnkNnEKv5zs-q_W za*+42S`{V|nI+|A%4&1RIG6pl8vn)-&RX zZar%LUFmYY+s43tJQJu-h?;H@eR}k*k@)+igZu4W$PtBA8eJJyYpb}(?IXwVG8lmN zxmTCXI-x{=F-n8Z+NF3b;cJ>u&s6(= z4;@x~P`|xi^j=18#s}dXpOiOlrXjKy+Sl@je}>~20(kU~-5=pG5+sFoy``}S)V+Yd zmU`;c8388=S548Xj-c$=lG9wQQj$jAcxX|zVja7cyUBAE2|@bJ*L671hf~$XhCqUJ zI-hcM2=Z^eQ!8zu^jEz&MP8vdYnW3<^L?n2Bh!IQc7W^7i+10o>@%)_ila!^PY)ic zw3Ebkzhj{AXsg<<9!VDE*0u!0TSwKI;NIF>=5ITDGs>!=oy+unV6SgLjM4vu+oLl9 zX(3V=(tA1ZN^0=Q@q;yYkq4*Oof+-M)Bn+G{}E@e&loT{VpPj@qkr>%Wtd<_Do{}P zbtq53YA)TmuJ}DLaBqYOzSDja>b7|VlM9|DBqE1rEFS%c%CxEl3LRjG{V$3gZT(Mp zswQ9|R}gAZdOb5C)io+1ST;6+ zBbPxjkY!q1w(LOCK|Udk59-z>g0|nhOL4lk{rw;OXJ|zj6Cy0)nytP;7dAah9h%r9kEVj(9(bGuLDuvnABQ`AzS`ac8bd zo6|Fq0k=EDEhf%U&jUB~bqvB}X*Ar@yq+8yh=cyDSsHiyDYM_0=R0fijrYKA@4^=$ zd`Rn3>V)=!m6ggTLU56dtR|3-ev*Rx?ztgzbM+4#R$lzDhIgeqh!lq`|3tJ;My9yE)SJ(E3*MkASPu4*!-CPuUEsCcHnh4}bJ$PRN#TZP@zY;8b$X%K@|Ffz& zVL6bw-~)$o|3@G`O2F#_G*rL0!CX9a;poXcd}er?r9Rqa)Oq5M6D+Hbj$z=7B}zE~ zH5&zDJI0um&x@H5&enH(ja>Jq+U1R5Nb}SQNj`d-^K85YZvy}Po3oItdb*6J?bnuU zkBU=*g-3RsgU%3t%T2bbv4Ja^Su`8UA4*n9-8jY+8bM!^2>5=#Z#9 zMgm2XSR3k3*8gSsO6-M7Ah^7bMgIJ(anw#daECyWsPpZ+r0VnMiEbL!C!DY zocqT`;mBl%cH$p(Av5X+ktmQZPZVzV7LQ;xLO~}YZgZ>4T;k@#P=Lrg$yWyCfEeI! zx$hp1D-aPXo-EsH@bK2C440@f)1o68+_!Jj=nQu(6Vm)n8onm0%b8AxgosF$(hY8= z+!F5rh6EV#cmjl@L+j|PPwfT9y#ABd6r-xU;ec~dxaflyy3)!Ce)_+;G=&H)oE(@~s3YgE1pa;51C>F7(ZgSzDf z_mKnd#fyP>te_>WPs^R^)#5|{h&Z)%9EHCWAWcN5$XgCU`6zQj%#~XC%&(u=V}2R- zS;F1=i|`uV-o`#G0Qbb&-=63?MG6KA;0)&T#jKqAJNde zYhQt2Y+&x!8SVk*0kEN}=jvP<^tLz<=kOqC_IOf$^^&EUHEz^or276YNa!0dXBi3N zI?H%lPhzeOzEasQ-1&F_ea_0~66*M##+~I^hrLaMzc|u*n%BfdS}>EQq#&{Ipk`Bw zEpF!i<6{$j0BY^R^?)N0tr11}SP3ZpnD$r0?0W6?u;pwd`qM39=s>0%@h*Rfb?$F$ z)^O_8+b9)iO#r8eH7Xrwm#gNx`cyA23E^0b@fuILFd@_$TVo95m1+y!(%$(+qK)2_ z+$}W=P&!d4Fq$28YbIJ+OJqi7cKG?5L9yag1gwD;z;K?Bj8t#7E0}wFNjdYso z=8M_0#5CzZnj~0Q-1Im(9R*M&=e${)*X0@}!X_sUL8(dNJlanmFdELzRD@H2)}SBY z5L1Qzmwitd{pU4@8;zVBwiQvyN%%n9Gk^U9WiRcpuB2e9IP#|~ps+^yKiCZ4rE*9Xm}LO40B5}~oB1z`+Zs$P(SvI-x6GUXQ)G}m_ob%Ss@%;- zBOCn5te@hAx=p>y(R=xbs?`#QEmr*-T5V&Mbr*Z0+D&WG@o0*6m91tL;@x}tu1x=&%z{tz4+V{gs;~iyC zyT2gpeuu%hPk37>7XJQk+AQEb;{Rvh^bX~_i2k4NSulH7p3i!z*{z?zlXl-}+c_}W zcXYLUap059#7?C1%|~erI5UjL=H@KMtCDUVo`cE!<)J`#B;|<2wu^ca_IFPLlZDsX zr6!A@m5)AXyqSr|GRM8<1fjf|;f?lDr!}v*!f$`3`qD#)rmv9?PZ58K03@5ZT=X}I zY%7RjYR}+*vH-wafVv3Gs|92)Hc#sWOBfG%#`_80#gP7#NOG`B5PQ&Jm^4^V{ zyrgnU`Oc*B*iGwZ9ubfZ*I|&e@?xrG*HjMou;a0MRh-0P*1uh!Q9FvXio*={kp&xg zHvg1X`w-+07W#l3ITaKDjBM9iU0R$qH1$aJIKkg@@8&go&Q063;C-@$xo2`$AARZ`kUu)Q_b;9%myZW#JL z9r_aJ2p}akbcCkAWusgX^ZOVgP${SZAVAxL99X9!!3{tyh?Efe8u}&yj7RWZ)11o4 zC>V5+^|2MG{ao9tHXXZrB{y`*MNz`d(iQa^~n!H1G_au?gDpGVh1>XmLSWW+lUPehEZ|#Czv4DLD zb4pNvWJ;;96G}kQ8CJWqTlRsge2Qo_o|1=J=*_%(gw>}i4FB50c zoeaKQ>%YXhbhprqxld5GZ({5KweP5U`O<5A(BFSM0h_S6qDd<|S&fa=3di=%88CTW z-SzQ<60rR#6M%burUal^MOjOEP$OvZcM6KD?HdEwzof~zRedq8(tqjs>KMzkgnQkFttS# zv`+{%#o4UlCW}a#{45pVP%);fjQ!G1v$Pf-lwFa|&}jEo96km8W*j$K8TJ0au&0e4 z$3-+h?VB9w%GyfeXON*Q)bvwe)sqq|HhLVNmqOZqc2w*}!ui>=l@nmYj9uiw3K<3H z1IPO;(h?w#wq0$1fcVt2ERU8qUJqhMf@tb@^eaxDntWE%vm5X8(`^0#fE!h68+qzp$N{cGErWwQZ7+{T^N`4FW9MYq?c`o5q=E zm{7GthMNCY##ywAQ|pFkFQeU2rD{aN+^-(aQDo=qe00Iv+hT!g@7@BbQ^~QtaB;+P zF#EqMmrx0m{~`yxcY3hh|4@PTvK7HRied3|mOQvGXd`zQ4i9pb6eb1j+uL6HT?er# z0-vO%a>i%MEG6N-Cg;l(1&^!Te=Y1T)qL8!=RNQFKXdGe3(O5#$?P6p9Q@xB_~-<$ z4+{=;J{rypO^^fN1i(uyX85^GyDn-oxkBqFv%v#>0I;^?ZBGz{`|NE#W+XnQaqEHc zsfSKy7hI4aKbpck868t=!f0s=HTkWuk7H9(d_=voWd?IL2ja)B#uvuz{&FzCK|7(t#WcFa-LH z&jRbkyUWO;ndne12T$dgR zI-A#2u>5@#0i%gN*gVHT*NUF5_j8Q1(#DxzjS0<6^6kh0qv#`=mAGYG&6ptL)7z{{ z5RrRN8~$dl9dN@?m-ng~8RBaKq%szyNemw4io+3)KbGQjr+L22H{sNIYR;RTk2pvM z)3b#+1pRpeV1+gmXnrqAA)~}{1?Lf|RgK`&bi5CH<0P}d^}8#Inh%xw8-8$|6*HWt zheFUHkHurfJh@t2n*VvlGFq^46LS{(Whg*6g8d;e+gmO7EMNl*Xs-xu!u^Yh<`4i4 zO9;yFy?ejurXR?$0J=<=pJu#^3Ixp#;&yC0PM<^jZXbp!yt--Z`tGi1a2A05cIIws zDjhU1fcqs3D{i^nK&zTj`V?llDR*OV)NF>>3GeZ-a(QqS$#t>3dBFyJ!n`}AW$cv8 z4;Q+S=FIeWR@lW@8)rq;&nUrc1Nns zLgYux=7jpQM5qnv4}UhcmN5(FkeOeDz>XF$VPRq+rY=a^_Ar94GB!L}SJ^L0gVJH5p#egZIn$H}I{7+ie|!WgJvO9sFJ zn0j`-@FxYeu0TC=q<7Wqj^)E8d42UF3$<$QruR98NQKFe=}n9VGdut9diK4Oa^tP^ z%SxR(q0O1AG&P`?7z^$znuSO>+A&u8Uc#csPpO(wHn=}~%cnFKRgAS-5qooPX?njs_rZB@bs4zQe(@E-7_Z*OOQnlwL^{DN>=~mXW>QhR zYIiZ5WlO;dR|iUf{-L0+ROTk$i=}4ddwO&Hd*Ol8zUf4#7LOrARx7ReFAW9;cp%$j zVX2v;jz%4Aj_HdW0DZj!v!*;Huc*Tj1ZIODWQnd32SP4^v!|UT$B*abwQGO4yL=!I zi~!^cgxKzP28;}CIiSkxiHl8=H@&MV&F_O9&Q_wu;5(X8r?1{i7wC%j646Wc;X5$X zORozCHvMUmvt4mdn8eAE2J|3H9|ONzC0Yin4)oG;i;`&cSz4u2nQ865rvM|Ta|L7krx)N`Ldk`mtD$JSkF zWC$|%7-9b5J*zgS5d=GmvgqbmHGlh3%OthzT;oXcLWH?=*aF-kdy4KK3hP5D1cRY! zZ|J&nBX_Eo%kw2O3JCNFEW@0)&&JO}MUsjfsc6te&LH`Fvv>Mt%yhQTk7lY*9Br zB|M^Lw`L=$#n&f^l|4vD|-`J*;~drDq9`ORw#RA&%-(Qe1E_D zz4!MQcyOHe=lyxTp0C#@f=d`2uUm>-fW=Pgi>%fJN*%&)p&v5G+RSEO4e8aQCQ1^wCB8qp?J=Iffnu%mebmjr}@6Lp20 zTNIv5y?EWHYGgz_?X0be!>s$XHYEP5N6H0ef8|qOO~=>uhtUMF9Qc8uMP$!2p;`ByBbxmj~>x zuv)0wPToP7(8e1>7mihFxw1JK*=F)9f?Rfv@ags{;x2?e;u{{m6dIFlL~{Jm$bg~x)KytnQd(=(i^=3Ttu|zQsB!bipSg_;A=YEfv*0@9^W0CzHj>?>kH>AZ|I&e7?3BABps}2Uw;<5qx4PDz_K$GojhxXZ?&l69uo&Sy|I^;im z;_tYcAlUx^&KlP+;*2}q#dSV&Qu)mZl{9mlR6r7vC!Rj4yLnu3nve^>t64wB1@Q_i zL=#Q2_N)^uhTsM78ZR#rJtD;B1kFpYWx6u-?8sma>Q6gwoaD0+gl=`Oa?yTv3UY1v|R<)_MMPRPZQR|h6CEk;<%IjBJ1Edt z*nx902JB55|L7GdY=w4+a!_H)c1x1soLKVl;d8-d3#aGgxu2`X7(xQV#L8)p-wW8VKRi678cOd(f;;c+ z8`J?}367C|GDEXJ4Uoclt{Kddo&8o>Q5UUMtOxL+n-%`&a|PS{N*CC2oo+2ZIQz5= zZLuY+=C)Brzhwbwu(^9(ky#4LEyq7_CGqSgN%@=Cn66M=GVL%XZm0sLig1hjmy=9f zE2~&1w>B<|cDJP0Yzbt0LWd>w5oDt$$F($YREV&`EbQ}SV#X$EKPI#hrBRKuuG_Mz1?v|4RxBP+m+^KPPi@cq@q%OJw9>Y(K4qhIWYIpYk1(HTE~u) z^4^l-S6-1pb*qJP0!c#;ZbE9D^o6yM-UHd&Ys&<2zQDkh76M`RQ8%>e;HSMyXniLr z$?D3bW0a0#$1*4m$Ok($-|J$FP(k7sUL|)()u7fVM@be)!fp&PyRv?PO;;oSU*ds_ES&MOL?KlZJE;Awn}QPvRxZ8IP5^!~W{TB*Rc($FQd zJyv^V#jQn+kot79?H`#Oo`uylZ?W&mId2LFdYj^Um3mxp9t;`=g)e;n_}5YH&l_sP z->MQ3&fW;^AQig!d-pXl{rF`$)0=a9!;d7jjED2mob|f}$-VL(Q$fdEeZD0x5}bA+ zTKL-)28r(&l==44@cgLl)y2CXi+CFVTK~G$Ft|s$Gc$eSsS_ zEj+MNm4tR7S?lT`H|v?JO8kUiYj*c_9Bc%3&yL7Q9;+s(>|}EYaXY}r9&^dZFQs+{ zqtXQ8=c+s;Q8?{>kS^!IIsM_9yb1(i!a6tKcYfPeFXBBaeKqdT@%g9k5AWAE!JSZN z#GP&W=a}R}dXxwutb(kRq!B8GeQCzFW1X$m_tzVWm^>gmK~U@8`)W3sxW0~Gs!p`0 zdy3xu`Sh#w_#j&P{IKZsPheO7cSrEe2s8)0)FI-RTuB1*f-{0Q+nRc=fw?Jx^oV%E z-6bOC(z{D=I!|~3dQZn)N(P}QN&x>zXsp{&#RYJK?Ppg0zkIKUH1O9(O+BR6^^5(g zMg<^F5jS$Fpa{Q+Jb;0rJimDsrwXd(*l`$>DmkTZoBVWV!<%g-DfJ(SmWEoADIj>* zHpCLkWWt`2)jGByi+5yo{!T43InZE5$y#BuHiHzp?h?M~YGfhNy6!SGdvmIsid1C+GwKj(!zWrQw`rDLsfc~KOt~+mMqne2%YXiCvsB@Hf zsX)3+@9Iib1q()$39@ZoCivEQLReY9TG7H%v>e*ZZ0dhW6Bri7`z^!c4d4&SZzPa{ zL;wC=aUQ?;2Z@F8w5hd&Rt<&y2a1jhD`&v$HX&%Ul8w$RVP zP~MyG0;Qj*5Tl07+b1PyN5m=zREU`51U4OCP13vm@x7w`*Zid{!4Da|U-$$&K0-0F;MVF-sL#59)A96M}DdM+W z|9-`ZQUkV#)T;cfQQMbSym%{5YP@Lf$56Hsa}|w^)@`kU0q35tHSGjS1IVM!Mqg?? zc)A_xX^8HbXA`;j`boN(WICSng^1qE_-nS)nc?9I89|)-k~ZN_3(41a2;TnRnApC- z*vXUa+k}k`TIrq8*L^%ZIR0lDEBps(h&3wwHUCfe?7zv9u-nXG{{al1_bt?ZQ@z)A zo>WKJ)C7_D#f1jG$(rVdeokdscZ$#2j3X<2L+DJ+DQem}_YZW?O88z!Glv$-TkEpY zglvnmvTZko6L$S4$uL);Gk#pVsH*sagy67;Q5KJ8_Aw7axCI6px<}S`D$NlM>0v!)CArlaE?H0 zM~%9+Hl_*e0evA975FapouxOSt?Fkb#}J$$O8*w zw10^_m#<21CcsmWig!WOuBGJV<0oHW2jK7YODd=HTYZptCFiX@vk9KUW)(WScuqSC z%$d1+R5rwj;!-vF5ON9{4v5OCUB@p2aPGJc6$#Hmg-Shvte=%Z-eL>@=_chmEb&p; zo=}EMdA#o5l6Et2=`PbmO1rc88+4nH;>S+t@e}u9>n}T|ZoY3R!Jps|(Gewv>u7Oz zb5MPTG+%<-=&?$EGUyaL5ho!iUcHH=eP*C^vwlBtO@4ix?b@E>{ zSi}EtpBe-EXbul+c`+O(+jK1z;EWIjS&RR^J_KO_^8pjEZ(V zOMoKQTk+T8F2#0p$bW3ZK8x8nhn%)Q@XgzW^hcLj76~UrZEVTUO6wU%x0=}X$0P`f zOB`S0$6BKeTF0nAplo5qN})ZkSU4nCPCXi_;*qT#1Vh_^UpfGBEadcOV3OcHhW>FJ zF>0(YrEy%6X;?=3NUX}4%X%hvT+Us=;3zD3Lvvt-ngUqol#b*CS~CdfF{2-B>KE!Y zmCV0@UaQ*hvt)2i z0y#e%AfMwjH;^Su;Vy+2w47{`7mLXs+0{|-E8IMGn&PoNpBlF`44=KKeUTY;YLz7d zHh3X?srjRqZQiq$?MNE+;)7yR+dqdUtIlvaB~|wxRvBp?RD5(E(jX^i1YIv_hO)$m zYqvRRZ~PKTv1%V_rU@YCLpIjCoi=dHT8$xD7AQ&`OI)=mh_xM}RaJSSJ=R>FLy1@D zg4oGP9wyM{=rVSZkeP{P9F#fmLVcVY>3WY@go?UZ{VwS_8ax=cMSer_ z<^&DHKh|wz48TwWDFUi0Dve-e=GS%JULuSel5`I+9kx7Y0Tci%-x0?P`L=IWjdyJE z6t{1AW#NV&86Msy=wXFDOQduR_^$z?7sW*o@78lQd-=4ySXwT5=8Dj;XY13Cy9?$? zl-lo~r|@tp=G;GdM*TEJ$L!mNvzPfB>mRlmA0!##wrILj6DW6|B_xZ7@4nj%4l^^z z=zJP_^~rRvYwC1ropGdMBV`830#$-)Bw`{%z%VS$=EK9*p|Or&?(ct(k_V<3^sT6M zViqnq5u~KjzAbavyIf!z;*1Sz#zKCw8V}S>hsM@2H)$K$p*YXU5S&8%w5y(VAt#q; zPWN`U`-sCn9eGV!W+YWBR4e^cIR(mR(tLN#Fxp>ec}%xJkoqAtDN0R-II8qOwKJiP z6y-eN+U_wPLS=JGzRx&y;bfbed$n(OkdQKa7I^zKhLjvic)&sOmLahyOA;*%`K+_P zh_gJbYQhleD)WApa=vd8Ykhm^tVbEhPJSfwCiE8dTu&{feHB198RnNx!9{ZZXHuW5 zM+8|;pZ<=-I~!l_Q9L4P&`{)Ru-=gMZF5QGMgmJt$xH^DkP&(0O)smKeHMT zFgq>452__mk8eXSB&Hdf`*tlC?8iE^ zqGPab8|bA*?S7o^IhEMwxa)3CO8jwK7oEVQ{DVnb+Y@p^T-7ztS?Y^7wqUz^@)0^F zP_K`{IshKNBFTs#JKdpidJd)*+<&Gp31TSIn#MC9!HYl2%4kp}D$OABW8_2X9%Ves zl`3W3oFm)_>O7fGccoPUTU@e+8jed2A!GB_(Yir?c!$6M+eV|Qts~sL08`8@l{c%_ z2Z?2OJ>T0KQVWu9Q+M|}_Okr3FcvNJy}3!vdDi9NeDq)mf+@*y}_=5N) z^B9$%tTv;8a+EBQYL6crnW`3lgMqRWmofZXZkMHz2rl>&Yh&k@A&h~ycoBHi8=6HBNZIP9YNdaE-)G2!AJi zL#cZ{c+*+zIF-pKvtyq3+!KPQ+ua(IOP}6go1d^5j-IKvP~jlMvlXUvA{XCbziYuQ zRQiR{{Dk_8YnT2Ob)z5=;|EM(H=?d3LKgPOOJeO)k9q=oPqF)K>8Fxuai?HMZXlNu z;8kMI?qBWS64≺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

&^J*aUiu104M{mx8-U5N>&r9CB`>Zl+N(MCUP) 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Þ#-z-i?jX^$`f`$t`6r&uImaC{ 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°tq&Gj%2h|q|U3ujd$%MT` z`2=XZ6AvLj9-7Yntv>!ME$zvwlez#~3m=7A3XtYm_!RUh5%!(=!c-8R2}nW%Mn?A09U%@wnLR&}pju z;&SZFW;9<5R8)Mhy}J;-Gm-2oN`Fow4w=B(yu}dR*uq==(4vny^y$}^%A5^&?jl9C zHA@8|tgYg!m%J*2{~@X|1BvH-fuD#hSg8_Hr+vV9yKTSY((R4?SgrVHn^!mGmQAz@ z^ylQN9&Te`BwjUeno%n8M{h}R=|(C0uQRgWWd%6>-J@;9ENo`_J|9QyS*R+e|K2x> zeB?r{VP5;$mF_hS6FCVD2qa>~P7Yl|b@%3%Uba`TnF{3x?cA{wqV2r(M&N?h?_La# zS0BlVVw8USC4vH52Nq&)95Y}o?tGw*VQAqzgKyc;KEwt;j%~`Bcy1eaIf=+@ecdmT zUKlG+4da6D$eWX8%Fuw3a%a-hY~zF>2dE9d`Gauo{v12fc%WyApNsx?X1PU1@V@xx zkk)s*4pa}T-+^KALCprP5VNoIYV`hVEIM0^yHV367CLO)8$9hl@!$zt-N>(NFI13 zr~#Wn(r;QGcl^yd{n9tlv`FUe(0tRgQ`Go`UmwiSQ$E2$NLRTdeicw%Nu*^{4_`gSLu4=Ty zYr#B<$IvRfU)$kz#q9t6<_(1*{5UOyG3Fc}mc99CvspZEqvpeJG189ki)qK{%9%G* zSaSuH@Au(8I*>pNyTcfx;J08JFY#x#j)Cr%Dl^!PLsRF=Hz{XkIE8|yq^%CQ1ooFA z3Eyy2*XY0?cqSA5=en<0N68>llv|^{c!vrZBMtdRha3!F!EhHK&Y@Rt$QgzVSVRsK z4Nn|2R}*NQM3Zf-?qM+-kzUczXJ{bKnug<90!eggDr!uTD%X6eDW~vDA1^oy!SKp* z3$Wb~3Jx*8cy;ePA=zY?x0%-uD|&OE8i3y+u*S2jt2+Id*xR+)qTJCM#bEew70e_E$ZfCaO85<*?VTI z@bzyQU9V9dXYSw!-xQ%4CH!Q$!v%zu4)i7ah&*pq`*HvU5qLF~_T8L44sX}lXT8`| z+P~X?txVXZ{_Tcf+7&wqYVQ8Nt%tTfv34&U zrmK=DiMFDgB}jpzndHI3TKBp9ADqMn;?SeZ2>hn4p33_>f#I;@9&uJxC~Q(oXs5W0 zMB4TvIXesVX$Ap!4M=hh=ej5=XP#d_SlP~lbGZ?iq|%oY*2TlwCHR1ztE%tP{AF2b zYS`zo9o|nvWWQ~&Z&Q^huT2Z`7+-Yey|c%a*6D3NVlMS+x@lJ|v^i^3+x*{K%hHx^ zya{ejD@Eyvz;n#X0_lqs+)w(L1I0xF6X+`o;2_$~o-j!~pybS)P;k!%*ty z3-@I8vBmy6RQWduxF)yZB|^*vPzBN@2Vuu4VXdU^OM3ZkBe>^F?XEUcUU;MYG`yw%2|AXx3j85k~?? zPNWUihBD0Bc5#~z>%+RqXFEtNiXqcI3HL%Xbg{33Kzz^YVN{a(Tp(UOlR*I1vO~1h zD{;7RT=SgCHLxz{0R^Ka8iSZVk2u|zVh8xhj^?8yRfx4QUhW6C?KUOj+{%gN%x^-sK)Gr0+-PY;jGAL5RY42c#5xTL$>7rrRH~C!RSqwKSx}Tst05?qG$;vbTO{%e^n$lzzt&nK0=cLAy=*@Lgr^&!f|M z)+W4MGksgzuV2&w$P`c>#|ZYOA_7LMGtNbQA?cT}D%Au`3MZ%6ZbgeSOsd+TFmgqP zheALFMmqlieBC_Q4lIC!L?&(+Sn2o|eUo85qk(;yUQunt{P3L`9E1VFh5tjhBxDR|wN$ z^upn=C@9Bzu|BdB5hP@L8706vaIy3Kjj6juuJulK3-*8B@jIVyL2E~7)4Q?g_!ZBh zzvMTP-8i$|X6D~>z9OEkPqvgy9X@@<;lY`CKj@@bJPQ+XK?vKP0#L$A5|n`VIy=K- z$#DikbpA^@6G#LZqcal_?hV{}k*V-}g#+JTh=hT~XiZAYcwoh6*kelUJU?hzf~qS@hgwn$KeWd3 z5n-2p0TK~Frft{hV}mGWg`VCP2}Vm+eJ?yH`^FVlW%|0>(8)-GSI+0~{li6>?8HA+ z#F~kisr?`%kD^6%eK-4sN|lUcPemK_FOTSb>T?@{Kc)Bf^K`HG77uQX*IOEMGs@C! zUKC6ZsT$3IoF5UD#yFx`F&~N_))!z*17Iu2wWhgUVTgqPqArunQh`Qjg4UR8 z^og~|z~+AHN}An>@8?;;2Q3{{w_zt?r?%yNy7_}TKub7oSVQ1y5iQ7ZnfKwtXy1eK zA80~T18|`R^m2S~teQ_-pS;a!gnb8?BWhwv?orAlHzvp>}%)2aracIH}z({n8(J);3f7gBbJ zTw_Vs;2%@WYOGMTQ;5^~!(64?JweLPyFPgij5Y^IJNu06Hn|U)+;+U{=lE_lO7me2 zd4i&pJU7ldrR@1pQ-5mu_HUWIY7;eZ{~pQe5`yB8wTFctFWQGhi_^@*ptVrGj}kH1 zPwQwm__{J_aVoLt_`=Ow&-z7Y(KOXR)>%qGR`jAgh0%gv_#uL4?T{iRDcHEl;Gde} zE7R|iwCq%E%dV&Fj!yaQpZ%U&>T^TP^h|a;PK%iP3GI{aRAhnO`}`&vVTL=T1l(LEBUBz)q;Mer|P$GD)wxe`t)}JisQ zen(Y%h7CI>7(Fl<6f9Ns&mSi60c6>e`z4sigI`jq(S+|{%~>>nPz+3i9~DY^sj!ew zXPm}q0|!di40`sCmg}j)IsJypwpAZ79YwomEH7r$F?En4g{}q$aZxlzItX?$?6}Y? zaW5KH7GmY8#k*o9hf(l&=EMXJNe#f1Xdn9E=)u8o{Hp|&>=~cHmb6GA7=%q=9l|vy z^wqdG1YXO~fTU%G_@cz?be7|x0aX+OXz(C+g3mUoNRh@?8-ckHJRMZpzR0jFuDEd$6 zK_#y-?3v2gBccalF;uC}OKKJ2~BPirj?Z`qE8<#Y-%(ssftBq^|S9Jo=Z^@ev}6o&-( z!O9EmA?-2YDT&hE`wd=eat5_4=g$&ZK?ul#5mm9cwClCOBZ&da7>eYKjGBt}vxEP5 zrke%D4Rs zRKsac+k&lH0^aXva_@(}PLhP|-_YRX0{`3FSDj78x6tKRe=)WatDQ`L0RM+S10vjb z_adn+x{znV$&ItA?LH$W=da{fyoX4_?|mZ~Rb1=s3Q^V5I(6>viw9_w_ue_J)XW4@ zPx+sO8sD$&u~5W`^q1{OnH0SrO|x?i+%);5`=WjBXlro(lh1~;NbT;i-vkBOTb%jo zT9*M>StFKC-$()^)Vh#((V*KDCI6~dhAj8F#9Rif`6kOX^3z1e3u2{=6F<(r?XF_bu$|0i@8zgcTOnmL$gPrbFLL;*M3 zkx9|{(m54KF8%Gh#lse3l}BD22ZeX0iT(Ie(XjE~{@&i_Xsev`?9a z(x5W;7I^m$&!T%|22nIxrk}b_LJbBjm0Q+&z6p3!EmDsClXzh>PKH;R@Rm$43EVfq z9nK37p=VLHX;s%D!>h{Oce6QAS1PR5y@L`K zI=GthsCBn(-Z2$_-N{ov4UjC;bx*Wq*W>jkEDP_}W)LcS?W+ZuKo%%#nDC>9KHnCe z=L0;9P=G=V&|J(`hhNqx0>zyhLhJXmX)3{MQVkShwQ!Pp+^R40gJPvi);9 zMr{v`aT`?i#MGI3Vy0|{_xW#j$rRu@qYw~+`l~~4sNX#f40sfUoY4p-%UQ0@+}BUU z<>rjwV21Po)hpn~i{<+OWfj)e*Cf4IaxqGD;%TC&iI`eB*xi zYy-&Yn|G09?gq<(ke!%Q2L6~yj=I1F2n_6$DoEve$Vdy0Pc@rk2^^T|cw)Po;#Q~) zL={Jyof(>X!6;uOF6QYE$0#=NO$Sd(G)m&Pf9QOU6q*BjD&JsuYRXZ;@N$KVR#W`=@DvmvMDO+C^%o8T~V*J9@vzl=IAI~vx(VJeViuQZY7)TYvj7OtFloyfb zWZ6HdIX}a43uJaXUt-372FcgPp^T=Hi3AXigDU6Eog&fd)n6CN2hQd4Y-q8XxJ}~Eq0@poa~DWI6k!4l`gsEn4dGDaur9KE z&qrh}Zk5Pr=BdD|bvQ3*&5a~jqvIu6>6D_m-rZD5>Qe0%IGpqoLtlMqotG#U^-f`T z@m#IvZT{6SMK4&wNRujaTRCc=WAYsx4Bv<*fB$_?SljZF!a|73XldF4;}a2g25gv% zkKt`}MYG{QR%5Sx443!3>mK8F3Y#kpOpQgg2u_zyUi;kw$D_g@nV0U(nBlI)mi~mb zM?J7CZ^~ry%yREe^6vL^I+VPcK(*>-^bPiSix|KUmpXDy;VKVD=hh6zo-Xi47Y=!Nf*|daniU zvdpS*F8Eob`?UDK5D?3pC}W}R0%Ub}?01hSKsHRE1ye4yQp(Ed=rvz*y50iukPq7k zKSc_LMZXVW1xkOHMCn@!gne?@KN2VMIp(N zDPmG{06^~ZT|2udCwcy{UXPsLG_3)<_jI2jvzqVS?^~|^_6qAH#~91XYMFdQ`ICGz zfseE^+9>INT57rzD4v?___JonEaMB`bDC}DCMP4>QB&rIF)uKT8ZH_@;iET?Rov5 zRUC5}(mG%$Sqc`wHv?OdoU4bMfpFdVCgqivLSwGXF8k7v@CqOTPgt~&DGB7GU=XNqA|!*rE9>V8x|Sa&&V6DJY0}B z7b%lZTCsf&Ho|`Ad27C8?&@tQ(0O)J+4n4N{l%95=%^~dBo|?yMO^{HFf7s#y(mVU z7NY~pNq=#_4qt3*Cz*iRS1@@@^ea@a@$0!`W+n^ii#lqpvr0;&3wyLIz~$>3&#CG| zbhAPQX^INgqI$$|2a2QyEgtPP4Od~PCwC)v|D_TBr4RmHjKZ9Qk^xh6*nbE2qw=a2 zMsB?9JCrrIG5B&aH4_L0uv#4j#0Sx}@MfNzaaw=taikvMC)6s>aFV(qZJuW78MdlwW_Dle)YJZD{W_1WK8cSR1O84tOjU;7Klnf; z{RN&gG(h+$`i!GDnWlg&dK@V8#1|=D+uTZE5!tVLuF%vg1hU>97@Tt=p@cxqrQHhw zjVvRzqJPe9`a?T0;w9*edADfTsQf;Uz7X?6$-nnT5Mz?w>24EF@8FaA^26J9*J>pO zOBg1GtS|5QIVIMwkLky+OF4cq%ey?i%F+C2|F!%tn~40v1VtTqOVi#g@{!ecjdS#m zPG;m?>}A;dyvrLmp42dw77G2TrOL=1<2diwoOx4vPigr0(&{I#*;IS#pQK&6Bs@jy zy}zF#?S*01+zBV|ktgRw4on6%mnz~O>*!WEq=dk%cl10m9%wT5HEK%PopUuwxc>|PV=S^k6TPH$8{{%=UkM6dq3g3G`9-(NPt{b}yoPh0 z=XFH?!vr2ThXE}8g{u-tNG&jX9B(J3^KJeLvxFsqca&`h7EswX zM}kN`GCqnupVv7_bim?SMj&##fyUN+!i}yyO81duGm-n}J)01&c=}e$i2bNOfZwC$ z$6SJAS+R}TeoSrkgL!G``9Gu7>nvUl{?tcD_7D@Sa^7#~=P$Ctbkwi~mKBqYf40wo zl}DVg?JS2>-QxUJMVEcZBx0hZe7E+F%A7YKZ#SG}3H$TIcFuO7Jd>o8u|gF&@S_J|GHI$r~mQ; zuKJ_n)6^Nq;o|2Fy3%K|@bu9LEwbR^q|BmH7}vcIp33|37QZC1n{cT5E zW&jBFk}Cgbfc3~zTp|G})gIfU!~&NyQh3ZR7_NzLlYbxDfgNPQsQ5 z3a-UWsb~nmEaNKKML_q~XrSEJt^OX??y-6L)99B)L*n#d{LC1YunP0)l!baggn+FD zY^DB`nnT7*zKB!wcq7?&rVh-p+{*$jgPu$8ck##uRECG_QprQ_>e0l8zriVIdP_xvvHX< zah1MDg6CA?QFrV6pG*i}gru{&>Lh#NBA&IE5kt7&vV(%^z`sLG*fHp%OG6mlLw0FR zKREXLGYu~|FZBMWn~nC@A|m!6=OSH-mO3?s#V+!l4?Cf0wGI=GNGLBt(PEULzc?V4 z{L{{8!N)CE92q5ZLyd>t+22x%O%x>c^_1|4DbN;I^q;q?Fdl%ltU$4iKq11n<*K3O9yOR}yAh-Oyr25!y zD#s;VbTv>^zeo4Ig_yymS@p6{CMq}drrNm`QurBPJUh*JA?f!bxBn~mZ5Y(aF%7;X zl%=;|C?^1IF4Dyp2(fT=w1`XX(Gd)tEal21)N zZZ~6t!IZa1v8G2`4_WcdoX4vA+l63J<%&1%m72xgx4p)eebe{VJ?P&%@q0?l%*-`> zlbJe@x?uEh&TT3sr#PDOb-}84yngiV)lR`%e9#wf)dl-sQTlewQor44&2Igk4%ngCaM!gS4et{)esDhhSJpx2-6 zb&JsEE!=lM73;^Q%8NQb1LF-d$Z|T|xM*cDc@)4hQC~ABBr5K5M@_ear0+iMJRFo@ zHGIM5OE7DeI?UP%BCON`I^7;GB&M$Z@{sL2=$cj))K?5N^rmpj>$dX>|MMJoMc9xp z_tJSM1Mpd?B9qUjo!fD~_vx;}yxHg35pk`fd0Ae7wyLeez)vI{ImBr8#m=b-6#rHW zWiV6w6EDoIr3_A2v*#}GGyY1Tu~ zakT(ue*VJ*usz%!99ovOsyWc67g>+5*L zIZPu-dJM_NHS4YKOII?}+!O}z5S4rX3?(H$z_b<`i`fgX0;<=5=Fb{_CIbch4s#s* ztUU-T1=F$j zD~7O4Q97#^Cqxe_=rS~2+{S!Ys_q1Q`u#M3viw^<S%x)K)(GH=5 zoIhNhd2}-@ap{E{k4-&&=Le5%+RUI^`Ra+_5Cmlfim*~**`8az@%qjGin>BCO|~-C z=#z3U!P<6yjko>y!L^iM(9mNaO2GsXOwPnC3eY^t2H)zM+F|@#-TN@P<7Bu?GHi3_ z`-S}V`^_@G1E^AessqQ)&RL09-?1tfl8f@G^%+`|1sHS{a-EL+9=@b${>zm443}HZ z#4cOC>*I;k(yCFvxNt8R?L6s3;@2tvT^gliGr_pQz{bs%DYJ`^1;&n?j#mEQqkX2^ zl4qS31heUBZWyqt@8*fAGNABaTOqo$#pQIwd1t#^>v<`E5I)8dAq}`)<0$ zuJ;GiG+vL&7JJ}t26JRGrGJyY@>Mj6apZ;-pFU1|ElG+hR`PWkE;Z06Xd>eSyt)xh0?0=DJW3A?%xjzEyMfWy8$&7jA~l-0kc6 z9N*X2CT<~rI2m?YM^Z>CpR%v`IU>B3E&Ws{9w^@&*EB0rue_?+%gOsO*fG^*#{DLT zC85=P%R5c@Dhe7tP5MHx0a-YzL)|R27(E!5wI@|qV7;5I#(+oKmnt4~CH9JSO*Sp0 zIel^suw3GLCZ!H2S_D4~M4}N%3iP@flWu&kZX$EEfX!o`M%$KDG(>Y18n$;pWnq`k z1P%=Xwc^_fo7!*MwrnbgI|q0V?Rt`%yIv*9s=>eRb1e@02>FAf%+Dq%_}~(~4#b?u zozgp(GDVnR?BgEAG|xIcQ`He~GyGL9$fUIlH~tkjtaN?swOi9RuSy4ldSt2(LJ67$ zJAFhQaDTTkbNiZ;j08yzj7ie73@@oc5l{gImO2+4`8RO?BvouXU=ABR`)FQ;*-k=3G6i+-;hAAuRpqCHW>$b7NY<#PKu}Qj{ zABjF*)hBO7#~q?iM2W{GGbbgCCG~SBGtS~XOD|~}Bemd;Jb%y7dNons21kT*TQWyP zXxL8EzHseyT4;;PEDceGd+xKcFDY|gw^p8lcLF^%=YygMpGxbLvN&nXJbYbKTmikp zaR%N;Q#19Riqpq4Ucc?n)7tFcrvVwx!5z*{@D{E8{yW}Hkpdv=;YT_woN&y;jS>*Y zSZkRUOV3FykObTviN|&cDa`Sfo!UOMcgft7ZyDQDt+_Zy(QNq#J*jmk%#|^x%WQ*eNJ~2QkI!)Nf z1$_<^%%*yF)&?%5`U0Q~3i`AD5?>k;zYm@dA9w>3y@Yhn%kb+{ZMw(biy}V-=by}; zA*g{d|ACP%r|zZw2#r^UBCsRh#!w=o5IsrL|7rYMDiSSShOBDxit9u@zSH?3Hs466 zh#s{i7Y-f_uv!`@544{X1BTPYlWiE~3ozD_YgpqiJcAOzM7Il0h~Ry`H;2GlRP16@ z!I;seSGBKe6|{jeALUj~87PwRz3du(+dg^*!NJ#@+UmnVs&oi!xFzcPig3cG!4I(L z*myQ0z)J06#BXf9PDN6b5X z9$bxwt+zQL`3Q~EU#suv$Oiy|r&GoTW2xUpo$F?s2bykZc^|cA%H}i#2^!9iWo|uE z{vJftl6gM8Oz7bHPNaOpaubp-H|A~4qk}$6*KS{x599b7{2=e@BWLd2`$b+?P+0jF zDCOa(5k8jA@$e zPlU|y#eTi_sZZ`qaq$;ftZ7SGr@p@-U)s}>0ol;RpR+|Y-cC1ulcx7-z_Uu-7j4uQ zvnFe-=Xn>hR_uuk-mXty%hW&`dYWn1!Z09rYH?&5UHhdc}_F^IFG<;D!>ez}0kCn)DP4 zXwSG?)P;RkS@pQI>VPw#6n4ZY#S5wd<2mQI&7xbr@98;4bgZD2F(;z00-|E@a#V^M z0gPv$2OznR^NKkYv>-+yk_qhy(k_>?sZTl6g={7z`fum(xsdj}QBn+~>oE&qEK)_rO4_s`eo5}8vo?rC>nlD4LcS7D%rG|gj=^bkNqGF&yx7|2_%LH zF%p|ayDIYbT)zcuXZWJYsLk-kFsBxDvaGTtiEeL;|J&_}k8jc8Oqb}b*l16vH+II~ zqrFym)_T@zUVRm(06ij0+99-jq~pAHIxt2zmZ|ThLjl5Po+}pyuLPZ_s^|yLrg;%6 ze+4>abZJke^w{!#23cs-1_aA&=UKfvB==YLj+qt>Pe<8ED=Kz5l{HqXSS}0(rE@-G z-uk-IrZ{ulBk5YdITK*xlifo{-K`f^`v^`8wo=tlNjT+Dp$-kTz`9TGM&R9}%Z~@l z+S=9F`<&_cfp-Pue>G(Kc`(w7L?_$uLclM(@VDUT=`YFVBj(014!TfQl4Wvgsx}l} zJ66+;JIA?p;@WRd3o7)^bRa27sZYRHgLnaK41)e)=ZBSFz1t5i-3Frn&;c?rdM|&f zatr75bR&rn3b1g{NH%nU?h&e;Pp(3ILQl?D%l}eZkp6773@W@wt6ovt7XPC@Ywv{X z3-v{FEAy3E(O2@UNG?+BjZ#7DpNMqDmm@O=HMLEvZ?prqUEMZ=ENTb3k*6Eq$IdT@ zV1036SjJmLcPEUEejF5H)K0X8-^Cf8Evr}W-2 zO3<@E=_QN$hUXQewYBT6cTxAKB22ZD-P2K3*y(5^E+%Gd)#YrM#<`ZqXOODC7{(BI z8B0Wt!&O_Fj_0&Fj&LFu-elXRZ6XpVfIsvUN(Se%sB2I#yc_Vd4s>ym*#CGOyvj1d z-WX~@u8RjTRyV*BgxJtz>d#JPb|p2{H+;Sr^|j5NzR!vV#729~rmqs&|N3u*XwSSH zUf(1C7>j`HEUT$5!dBeMnbj~uTtU*9FXcv9q|BFHfZKt zDlOKca+0L8G-6+0ZG$D$ZNj>4FR94~cr8UH1vI5D-xAI^I+Q>Q9fz zJCXw;BnBFAEewdQFcv(3VOW5a^+=(}&kBD7q+4|;q#`L!Z_w zTq%|DtYEI{em~~V?NYs(^E4W!1znv~K|8Qc{<)KS{ZpmjH5=px_{z-Wl>Km5TC={p ztaMU;LKyoOC5_^VWMbl6kv;jxKc;%(#qYE3rS6Qj&_!q-LC}kQ;u&>|DxjUW*(&ZC zmXNTPnnwX#e_+aO_$~5Eret`3E;dr@$roI>TC=}PF-!F)_9?M$etG{FCALm1;x@p% zWaxQ_rpu%5;J6`2lfgZ6MU6>g-_Yu1oj>hE>x1Fq+A@PPG@%6&TJ*u+II!UcqU=+C zDpt3Indz_iWKdILMd1J~pAWDP`C-NPVOi1NdSYkP+32u$!LzH-ar7aKlx+l!U-%Ph zuR`d?3RY#($@$3gRAZ)&e+3#p(qcuvZC#VMeZWkdcCKMUV~g zOfb|{O24`onzFJ(Pch`dO3rB0(8M!R@BNtm-n6Q25jbjJ5Fsv`^?VE~8a=opD*aJ- zwOO_?UWPnEo*QA#w{iDSx6HZf$`%>fGx}~ae9MhX=>6g78@Qnn(Wu$#=+$SlmG|2w z#IsE&-Hmxaupg+14Z4|avD}%nC6xx*nxti_tw7R3ba9yMm;B+>8aG~3*Rmdk2yq12 zYbIUPhSrH0t0$zDhBys83UTnRj+3b^*W+P4lI%R6{PJ82T0t@L8uLAM-_yui^a%_< zBUJxd=4?x#*J)AX1)a*zFYN+EHlNpz(eZ1>x#q@~<4Hxz#9)K_*?P^Zi)gT(wE1C& zL`v4dxQE3Ff8F`O@1!=NEP4mh9rQ&%jDgEp zokKhm&mfCN`U~l@a#lwulWwqKC)6Het4cfW?8o}&lPSN~=#77MaJO42`LZ@mt-oO| zVbabCmJe${mOa^@}GPZ+}1H?!KMK+f*mtI zHwzDD3tlE~4H?yFr#wjin{Ha@AafZ;hRkGG<+CVIx7Bkfz>R#4rfuEqQ?h}rKwaPr zua(!q7J0f9s}qT93k5MmNI-!pB!NsW9grzDv9U3CN)Lpy$<};|M*mPXb;2u zq;}#yqCP?+$7wiP>AOK_bkj zXuer8)B_NdA-zGf_u$8(3jM&I8wRkiBoA^-n$LoScH<3=59hIDgD+ifY_Jh+u@|3? z+afzK!4w#EGxa{?;`7H~4;qTU zI_&)sdMvnR+Y0@v=rNsTmuc@{_4Wnfv*sZj@#pEXgv20!sT=UVS=?l!7qQe%_5Q_` zR^nR}Kp|&Sn1G)D--}YaNX3h{VJO)EX2jtSmfqPTTnzP>DUbPBmp9b7#6#Iz5Nnce z+aSYntVgTX;_rYvIFso=3uP@{1X|pe_`zc)tKRK-$^$oDzsKv(63Jn%wcQER&ta z{sJQu`i*4zhRNyA^W@7ubE*=G@djDJI#>$(_;U~KOn771pBBFV!4HLG_7rY6p|Y*= zpBILOF!iu76~T94HSmFk%VA7WKPa|gE{{1k0ru_%+~}KV_~kALc`&CO}LE@s^qe-05| ziV1q77=Tw|EJk^uoZwi`xOV~|*{y4v!2ca<(0cPv-0oP5Yr*o1x6kC?=Y0(j1CKSs z5L)-|F_yPMY(^s_Gg5NE#wZucoutt4>uCXKU2XGjj8;txo3_mK=YFKP5-UstQb5wQ zJh-@2*4}*jPLLY4WnoWO7uYW}CrhF3f$X%d|w{%d$4x;{g zQWYUOtRvyX>Q7Ig=USwA0r_2#H(wN3b2IfC& zxl8cwEF|=~lOOymU_&;Me5a+Y8U_?R$%64dOCGm|j6Y6Nu;j;-u`_-m&b-kyYm*xB zN}efyzti0&HMrilm+0VInL1LJd?!arAP>1s(ie_rVE*#KTRW<>UBZn$3I zm*SNBGcgsGVF{p&5;iLtw^%Ea+MNo&MtnmHZKxSHk+(y&7szgUWMwuMKvn!`yWsz9 zNQBD&-H^m8tsKex&xXVc0^2A~`bXzsghfay*@tvihXJ$CpmFiCtM@P)hb2BbVy>I^ zGnm{yJ`|aptnb@Z>FkLipvNzl=j930#;3Ps(_vW0BrQ)L-(iIvO{f zt-0nxs|Ug@#ZA{-(MrN&^2x<${~>i-I4}(;UPnEW!3r>e*Z+u|ovd>qnvHK9!0s)Z z+YA_y#~TW)UL41;ys(U8V0r}Xb*f<{G}v9kCt#pP81eW9HtQW*0nqS1kbKAmvw)63 zcMMUtX@Tx;n29dD513Xz=tc)-XEYxTxl2I{DbdkQm&T4u>0evj4<_fUk#$Z#2`DTS zDegMW(GrLqMX}JF147WFk@e31qQ~dPjWb9O57$~}#lh9*4{Dqxk00BIOoU72`t_ac zB;h7yR~o$5=jUx|CoU_CIFz!>lLA@-E}16#>U$EL$hakCD{;B#r@3|+6q89&8n^IH zv(pqihWagj>xjPPt7fT;hr0Uy@@Iqm-@jO*t*2Sp<)mp;hMl5XyDERXt1;0q=f=8+ zic3FHv4%$r2{C-d==q#%k@w63@5>#gKe#I$V1#3AJ3fARgTcxeoSjwCqP->AK5=t6 z-`4Hiq-J1V@gDL;-$y+ci7uzY;yM&1HVq_Dh&E@TJyqI;5XDmuhAB6)lz_zKrA@NH@1!K?p;v>OlxxtZPmuRwa$VI zqpb2y+j|MGKw8rK`lVI716|)-ZL<$wQF(yYBdd+-@!fwfIr!o&ifn+tBROj1*5SKp zx(U%XkTGxPjs_I5IAfAk7CiGE#rHMl4@x(dLCNp9wo^~Yt0)23%?N>&WmaquF@RC} zYL+V}Q07}WWRl@vZi(}TKlUFn$^)ZO1BG@LFm^?WJcvQB9TLGnm)Za9NS zen*+2DNY%e=(>p9EjUp(`n{u3BeG#3*9YiELuV}t>HKAOh6oZ{sWvqRdSNZ!T&w3c za2kKea!tfsY~bn2_M|Z%SuVbAVt(6IEKqdkQhfEz58X=&Or~cTH}t(5N^2iTBPV{b z`r)mKj!@*^nI&MS#7`FWq5cumvan-2buw2K<;;bl4C8jpW$b zu@RZ#iR;n|r@l~Z{PTvX5B8?RF13*}$&ZBN9JSthf+_=w7D5q~ZRX=^*bXuds$=Kn z*ZOi_@_i+oybEnC4S`N>zgTDykSa+CIw`-`dEM5YpDsVm0hjmPUA|paSf9kU{`~w< zTe*<4V-kogOW7oiJE!2r5P<{I`EMz{ocQV zBW^POyo2AX&ANUr-{G@3ZWPe?NtUc-Kl^|z@b?3qn9>(_%2xwF)icR?hoqrGlc;mb zoWGV`vH;e0>iM{X3^Z@6fmyi}ot=BplKzggh%zI13ybpEr0b4;D*wwULtB@*`;cbt z^w~O()rJ3jA1%%9B@h&dB^_ZZjPQX_fJuBFd0T~^A7t^VESY=$bqrMWS)wd$->yay z@2st;&r}O{rkeh-0s)t^Y48@zJ?gZx$%|dS`oE_1&*V;g+x;`eh}FUd=$ zHQi@8VCTpQCtU(ZBFFZmMH&O=Ytl&gydjoM3bL@$0C0oI`XIJe0#@bRRz4l z>A?6Z>@wBc0;V+Dzsc=3!}E9HS6V+lDoXGl*SWA8dnfW98uG5t0-+lm%(_qWLbn3a zQFGBkd?bi8NIbAwJ%z0}>u*3vIjQ*ORxD@Y$HO;%JiHX^yB@+70sA{$kr3)eQ)Z>j z)_ybncqiOUk<$HCG|9bi-rK!a^$jxP_!`H4+Jf)ndlzqc40XHYp(l_2j5axJj=VI} zBR*$X*PJS%+V!5Km~A$#X;(*zFkq0T59-gi!&kJ;9yHfc4>9K582o~EsFuxNXN-4c z@B66KIbAU0bExPVX#Z%Pw>0CvNs`-VTJY2E+8JqvU))}D8F!0tOcdDTal?Zz77t&p zYKidqu0Vdg#EmZ+-J6|a$4~Kh%ubcwdwcu_FYxZroN$@a z#9u&WSq8_7+n-r=)lya8VLwLkhkxQ$dA=)Mz`gWP_n#B-c{|a0#K~jE#j;`A(T)kh zp(=#?jlRSx21$h~${l!T$JOyyx(C%~j4RlW9yX@6v5zJ=&2iP2qU6f_8>Y(As!G`$ z7Uq>zMt1!RuUwa-as&g7IdDM=su*^SRtyb{*+{jKtjff)h$yG-L=|JEEwlF5^gpGJ ze95SECaBs=S{~{Q7^Cy!KUc>rf3SB%ac(${-1u6T=Oc91+{4$F9=Z@aKNV9uD03++D{*OxGMDPnM8hj$i?!41 z^{oqy&z65+$2?%NfOH)$+CmFklb+eKDk?p%A>kYRboZ;klZzEGA-@5hO43D2w3CY` z$swja5Is91bqPxdm;-sm@%{F>YL?lJ!u513y=y`Cs^!!lHsGg+zbXS}1Cf93SmAMu z_}*Ihuy~C}*_Q)D0yv6(p-i2_5uS>w)a(5<<`ku4Hu5X}#onyHv1fzSfba+1V@Otk z(6Pk|(}Wvg$5^e=3nW$0AuRr3^~eSulSR?OPxI=s)>K+1@4Ga%&=+fy4@FAI9_?<; z!ONTVF4a>mqj5j&)U`lM32fx{*d_1Y8^LJ$fBlOkaHl&Zy~!E%o=bCzY9{{t>JblK zPYNxNZ?yIZqQ_IgNz6v+lDkgx&yl6ajn~xgEE;~eo#;i1D5)~SPHURUsmLj+FDvao z-AdyinrkhD!dtp$h=;qDyZ!p>C#p2y^jGYyw;uPt&@GYv9tGUBfyym*tTNry@JldLz zHcZd9WCnp@G)lzkQ}hmGzQ?kV|KG1$`?MfoRs46l!4ZTciCu zQC1^#Rk6Tw+;1M~J6{^~$++a6Q!0jRpJb7E!wYy3%#Av~X!;L21%6cw6wW(x``?I3>XvnfB3#J~fh>ZNqzE%siOQn}gg`(yEapG}I52673nYnqNj4zjJX-go!j zzzyzeo^F@45FvGrYHnB1vC?K(yXf!F%q^#OGHn@{*k^A;l)N?+Euvv8)Ai|03mjYi zydK`PV=Q12UKYN5u|~@#?Fo-mVbxY;<~He97y8rS>M!up#6z4O#*`19<*9Jrc7n*W z4E1DYhWyyMW&mw49~$S|eAqY&`3$)mzSzI|M|v6lIlCWqdjb9f-bLnQkl#uf7dK7e z|AJn7F!bW@`j4=$t@G|PL58W$$TK%gJ&@k93q0fK1^cn7<7A@0HKqpweZ7qQxh$Q&(zPD?Wh;Bl_mt{wu#z0R&^YwU$AzM^8J4> z#!%uFVXwyj8jC3<;-%z7Xun@i50S%O?tn3Sf=&t^1>tnteQ=MZg?i498}JmXB6Y z{sN^mt#u3>o1`W8Q6VY@(A)B`f9abyNiojQ6t&8p4-9)K2(BWCzcjTI;Sa;S3*>(Sw7CVKC< zmYCb+bh?b&t&V+rO@}@&{fJy^L4n62g~in!4_?UF(|KFoiNUBb|6rzVvK1?_=56z7 zUvnhV=#D$BOvm-&|M}-1ix|h87BWpK`8I|Nj%U1Qsyifg44kdF`7zej~Cl z9(m*0hNch0G6q9;@-)jH(RvNswgX&qGvXGD z<@G4d-#n?gc0Vf_T1z~M1CP`g8ULoHrj~~iryGANojS5&QM()PaPzZ1jVK`-Na3S* z4cl$ITs$ESkmeE8!2EuY&~-)?EKmHtDrP#R1;<+ax-*~RFmu239-8-Uu=iWWx7=^} zv0rIuTPCxy&|pD@B6{a^fEZGH!$IoI>5_x%MCH~5jfuz>-OgElIN&}InW_PF^At%WF4EI)3<=d8l{`=DZ z&sfe^2M#P}%ttrut(Y$t0c?5HacuXa-oQioPq^rVX~%cO)5Ru@OV2Gw#2OW!*aLZo z*RpH}l#FxgouzkB{zfr)fBy zv=-XycjtwPg&us{~pM$jF7#GviHh7r^w8x$X+32?{S=Se&_xEe7@i7`}5y%uFD_iI|?)S)0vb72?G-#98X`-b?)40Hf3quBrjPNxE)T-RpohtEYEdEzzJeA3ej!p)`bDl`kw>_>^8s zO@tJeJ=xFC5zoszFIFtndQJzNjLqYE&yDR9T~7%5F0;lUH!6-468u|oay;Q$Hhg>- znBMd0pUURr^vZ6mv|d}o$$W}Xmz6HPS*5|3G@@BdUha3FysC%`?R9@xYTe%}m zLsvXIjB05+rQ=pQ)2x0^Btj35&qo=4o@EFWbdoQ6gtn+9{Q7kF&+uW%rtbj5VodMT z@_x$?;MKJEucz%DdWY=Vf7^!cr@S8ffvM~d@-u(@BJE%F&Zn`a!(yEGA#1v?Y;H*2 z+B-M^nyN*w8lhl@`+%~b#+LWgjGXq@x%8IVu zEVW_ke{rtCICV$gu##GPqVPwBwp*8#^N~#Iw>pwKaNsHLc+MVL5`FvNlZ1nyk6`$}}x_-#Ac$TQr^0I|AHP?qSSdmkiD(KK>^mgbvn zL%S~?LiHYNC)7Tb`udY|V}XW?2r0~oVs@!U`XEE}$<^$GzcZtlk|PNj4ZmK^ZTn$# z_Vr8_8yL6a(`#049oY**a^IY!`L`GPDF)!bq?>&ZuYq0CZ(tNuz+DmcN*CFtCvcLO zSQ8N}#I({b3&Jn=;XLTqq0K#DB zy9am`BKgBkEFo%_?FM`H&&8!iW_93Va_NXnCF&A&x(Sf6FJ6X-bhI{Rud$9a+b8^X zG^_vx#!ltcmx$R)QJL2c3 z!21^3&o`O;&!Xw4m%vGF3Hu15fg!TchThCKO)zoG(H$RMHT(Sjy4l!MX_eK+V#8rS zf$9`mg5$GS3hfC@3LONY$wUtWB7 z`+r2_D4&4{8f-_~nsa%c!~9kx%w?JPO>+=pyi4y)ui;kY~OC!az zn6=>3&5GEoI&~F}PqssUB<)d?es#=lH%e%Awfz9kr9ZW$`~a`azBg7YE}_g=!u*K+ zq9-`yPWqrW;m0`5(D+w##6Gt@;G!jyS>0zzjL>4vkNaPX<$pOzdH(;IEBNPo_L=@? z-q^EyLAb!~^=fleN26GrWzZa}p?afM_E<@Dbr=FW>JwW0OFi^rK!|xh_!|>*$Lb%- z>Q@x#ypGLtMCwDXNW;a)z!Pi}L*^0%D#dh}p>EPXF!Y z99qa-F1Y;Vd7BDfmotO_tAVV%K1JoIKJkCS$%uSRL`#emy@AaAn7XO&IaikLc8l?j z1gY0v*o&$CE4x=xrux?F5@ReQ8w)d%t@Jm--e6VAGQ9W?8AbP_>ur_gj|48@u%ya*Yv7L?|KY5XR zvJe8mf}p5bYU6}^-bO5p)LTu5skR$diYil7pTCjRl@0CiKGLto_E~J%SgBtzY}wX4 z@^XG0LKEV`3d`f-Z;aB|rii$tF9W`X?WZ4ELoDSl0=|>ZW1pE4MT(=(TVL#lM64ub z&p5K(a>WgrpANePZOAPghi_&1zIW^d=U(^0zdtSRc@J3kCnuIQ(X78T4co&_d#r-0 zNYR}nM*;GU(5>O;qIB>vB0rA2e~h30y14uGl-bF;V9$#xbnS*a^JVg3^ z<;v1xu!%FWWV80*&(+AE_xn*kvwcFO0RezxkWACX26DrobS%?xF0gA?ivKkE-Ts%m z)vMLM*Um`$+&@10+MX({Ii5h{=UAdyPvT0lD1{6~o`E^y?-S@wT9{S=`>GOjw4fEa z)7mM2{kiJEVGWfUQ4%Q$nL8gBjMFNGl-KIOCtHBPQsVofWMxuSysJ%k&B+1(W4bft zLbL)Y;pTkq0Mloqb-0!%^jhWYI?qJx#Sonr^70Y+EwFe)nG7lVsFJ7QU+Q5ysdQyq z+qiRxw39A;ZBMhAYi{HlC}JapuO_x|!jK2fs($y%v}jI0>ZW>spPa1t`vGH1Tcd0b zv$1(xLWchIdsFI^kZ8c^VM95}VSZDaeIU8qf5q#1L=j&9lPb>2<%UsOtBpXI02B`V z>XZ|x-_}EKA{9QJY~SW@ z)#(`__P3WEf0bJYKK;4ehp zt9CpMjlPpP6@q*f{)@-rgYigvM)El{-gRE(W5edVdKr!1&q}8=__e_v=7v9x=DT2lS-%NKlv zI~r0;YV)}`^0d!#I;NIIfJn^=R8=bzXN(ZsLbmixyd_|9w~k(4zDYd5guAQ=!{M=5jXg%agP(inb6kl!NJb{S90RbT$NqZ3rWzjV@GVo1X*M= z-|alCHjnNcp-@r#Aj^xHBoMZeNE<1T;Bs$kcSXZqx=gE2hH#9f2P^lXT#zJMOEQ~R zNq5OXWSFL9NK5vdEZv<{$)J_25ew|DNVsYnAAs?KnX{R1H%C1H+da~IQM%y4)N*<$ zB68GH;V7AvmahBz_CUOT$or+$I2lUwmWqHkvP=GCWJH|A!dx^fJteJppTln9 ze`kjuQwp74|GQgSzv}-1f|wn(gJ2OXNEFM=(Vi+!1Bt-az@a6N%a5CL4;zFUDbOAG z1LE@Ffs-T{Cl}B&iGk#vP>l34cp1T)c2(RW3eZ2N^pIiId4d?t~1o(e2-{W zb&44v@6R0ydD-65+yqz7218KhsuY@#8QIjNLWmR$Xzvf=}%&A zQuvPa+eX3{w7-*T@4Y(YenIq!ATfdV^kb#gu4{L&;x_A9#+-FjN{aEK{Of&|?+?eUKJhq!9HHYB!qm{5mnau#J4Y#`ZpcLf4aaeDR z?N$K6`-{DgPtDOGwT;NjK4#koWn!9tI|)=T3lU?h!-Mp8_pMUh`fG+MR7X7I>x%2F z|HQ!&B(@-Qy)toN(0}XDtf>8Dsa8>XGpLmi7E#rPNl+Q`>}$cuHPpOBEbKUWpc;m) z9O1AqukcW6JyWuYZ(7-%=ACCl`P$W(gzbP!;)(igH7G!$?PWVw!_D3CT|1W{?~8@o zogg1JV8|h_PxmPE@JYMOBEc)qt3&QE`0vE^cH}TuBT8TVeqd4Yk=8a7$Pe{sSS4p(riZpy?(8bD@X|vUq$AU%>!YQYgEFSYhSOw%n z^wvkRp*`hfzIWd}pR7jIe{SDAiM&E^+SowA#e;-4W!%Y?UiUQ zg0{t0e|}e>xU0*f10sHMpS`IrjdZ_{=YC4mWX+o_W!`?}LEK=6>RTS*6I%(p?5(9m z)QH%45j;p?+jj$Q3*Jre;WD7JW;MRiBy`%9cs=1R;VZmyPoKz1PKVofcW3NXAzm@a z9qQI^oJLt)Hr+K9lppffyA^YkG|HMq#S2s7L@Mz;Bw0QV|6n=#l!{x?A1m^qWL@OK z|9C!sQ$*ZJ@6Ecy0P#C(mT+!sdQMv9YvO*%>_59U6qe`Lwpz+?Ygp$H-%c~f@%c76 z@=q;|d22Zqjlau`%R9@=j2q`qgHUp8CBB^Bqp6yeu3WQ6PCi=|4Ewc*OYcvMt^wa3 zMUX+8c-0{lw8-94!z{h{$EuRPPS4zz?}aVxd8~=8t(O@nVh{2SL@qiO9&dk48Ivy^ z(A&EZu-Dpp?;iIgKK4@%O8r{jT8iuQMWLrw3sfT3ky)>0M~i5Qdrvs@iaP_^0{7w& z#ngGRc@O5iUzTLLzGW6~$0}tA_*@g~x4kL-L1UnJId@p5=)1?y%px%|0wxKGB|8qk ztR43B{V7s9eA(&YFcK^(Yqn3P5HUTnTB9Y%O!B_x=)%ge1wj=MSW%|lf*=W4-bC+R zOibAQQHi!;sksIQ0xXcY&}$G*?a~1l?l^Rx+BrFcK0PPi)M55PUFQZ?k?O44hlLr6 zFWuH2LA1&rFxrj~Kc~zJoIy_P zJJ+&~TKGS3d4q)Y`lcQbC?}!Q_*$CjQ8(qgc&@m)%7(xkJ$NzmOcB_U$>Tn9N3z?s z=|PYO5eaJvw2WfpKm+8hopVA8L}KRdEI0AEJ2*sDEvRaeSVPhADBQ_HCuRY6eEOny zSO49CDHSf87qBLfsrXWxM0diqsTURVu;2``p6F6hMwAO53gDviOdwu1Cu2B}C;ah+ z3=v$dNiPiP`SQ1%&)zU91UG|N_RT2t?`oX*c}%s3BEUKqVzuVeD8N}vw~$CDJ_GEf z-a2hur(^*4+ONikv2@W|Mj2k?65Re!7*=`xR{pw}X@JZ%B6FH8lS=mm`mdV=gpO5A zU)}bqp^c~W?=K>qs*f~fdN);I(~=0@?w1t*vIp;0ZMd^MA)RT9Poe0BCK2a6eG=7S zTEzRq`%c6M@RhnC=>d&=2_NnP5m4W3u`Ojq{Q({A?OiNCV*c+qPzb9`J*m|t2(1(5 zAv2<0g7XT4wL#j)QWp&mWc#t35Xqe0v`!_O`CB zw&HL5Cub=W@=GP#jsACLEV_EG`ECEIXU_hQ7C_)Q3&J8{d0zlQarg)z|r5(qxxP9QCj!5ED=jJy3`cePbt~QM!D0hAIiZL+P(3Vjuu6 zUrlK6g94(}7H#VePjSoQ7oj^j{%NV|z`Pw(8b4&(XKGQo*7bUuN!7K&AXqb!Itdoh zu>8yy$iB=%7~%&lDh9_=|{Yf;Tlaq7 zZ>%&H@nKRYQ}Z9A<|NXyFl0mS(8Z~?t(PBZ^z47D?R&^p{>&q*EZoI>GNE35I>)34 z%L_pceq6a{FE5)9_p+f3$H~Eh}513S=hY3q-Q@I4laM#{c9vU-Q ze-bnKJK7z^|1@}AY3=Om2ib$gp)#DBZl$)2b0Ci5;NO~Ely*|q08b4E>RZnzW~l+% zgs^^~xf!3)z}v5R9??7gbzXD)OUGK$ied!*#v`Id6u>=Cw_)KWnv>jH4T+XDdruMf z_-k^DND4^$gLO~Aa*$l|iwjSwG1x|vZE(G=Bqs&}zM~GeVt}3x+!O>n)gxI~C0W#i zw6VA6_W?CB8c~_QB@Z^M1hriXFTEc{+_nK`4C&q0QqiE~`v_?q^A2vtuMMj$OKLOO z?cYB@OGX5@ee8jqAW#9bNhCqA1c8*A0!AMxN`h1((bc_xgUM)pVnPwmN1ga`xX63# zid0nHP@h$u%}d1>i`7i<*mB16yLCS&+<$4o-sPGD?ssapw}cVcjrfANZ1Q^Od)$bB zewZoYnP9$oGLM-px7xdU#7Yh6uyp55A6#M$7X^=r0biUZF&H_7w>~I-4fbjS3lI7= z?*vZWJfD6sJ}bl3*HPA#1KYf9$L?U${=n7?t~i3=v)tHwO6L6&JH2KUx_wWwcIojS zQjMGF8phT5t2g*v9-o?7BMS&v+_Ln~@B3f(XHCz16GZVc^T0Cb=IZnChuc$#e zVS5J=QJM-3Kc2K5XD)qFbeH|H@4XI5BF+$~xtiJ;As)%@Bsbq>re84c)@%~{?a%b_ zgcU-TD=#%(7(Ia(od}%1_5DENzh(SCl^gynOqc=rU)ub! zX}{Fptp%4uhR)%ab-}cYG&T8~UFHuW@JEzPNQ*W~qu`J@9hw=+@dWD%hj~ z3dsA*mQz+xW{G^zBwM88EhC}xKDpJ!SJlIn{{Oya>Kj*V#cmEHL4}V+_@CU{>mzDAK#xwAsM485^i5$5@lSG3yG9bisF7#F zj^9yrt|i1iCh3gwCvR!0L;SbwTKue0=8Clivc0JHvqW!;KV`B^sw(iFPrX2iiC3Pa z24!1f?s8oxm>b|YOHcXljT1L6e+DoOdgUJ4JSgD|zWwq?F+S9J!u@lV+z^+fN40;R zDks>9%UL!8Nr8FNC&@%F+p+7lJQBh3d%q+3w^LC{1ZDg$+WgK+`Pi2ubr-_D9CK>2 zmK_PH--|$Yu9myMI&@Kt3E48#mUnm&w&|7s?0VDo=LGVBLN@bEmwb%Ot_wZacdVTS zyDqA;_!fmncJd`s{xJ#MAMjSwYD0;viOv$c*^yLG5A(|#Uq$GJ`qZH4?_=G}or`6N zA2V>N>()|`6FyUsjw1rdx2sO6phf#?tBy2iNk-GN&+zMwNjEy4f=61ZNxlqCcIbSenkyf- zt)-`s>dC+6dznUf#$pmXILMLN^|^6mqw-foY(sKg^oih|M*Z)7Dai?LLcWBM!O|n= zvb)#lAnO-2a-K1SC|@#i(Y(``*+^g7+$5c=J$(_mVF+qgWSv<+j{NKsF(f%8nFWo! zHxcFq7$G2oSyDZP9OA^Ff?V$9FfzH1Vfr_PI&M;N%DBxOb>#ApE5ght;^>3#gUnZ3 zPu_fIjn4gXW%)_8>2Lp@Ftp$Ld{9m_{&=~pp0O+fIroX}pdfESp|Jh(^FS#{Kcm)f%Xo=PbPIA|ny!I%UltUp~Gr^NzeKIA6bmvmofFlMQoxYct@g_%to&DgGq0UmR`iGjlu?-I-fV4pD0Z`Q`I!O(v^zt? z3;#0sp)dP|o7&Q-DU-H~xzmKPYP2n!Op-eLl>;qQ?^$`*s*`gE1N{@^Yho`}*Mc1K z**dD35AB_G*A8B?Pr2L0rxIVKWI%ZROHLn_U)!PSII%wt_o!%uml5mnFItT`-Xtoa zM#90za1F=vdnvGW_B%$*GDk>Wic8JIqfq2FH|Q_3K*SAGrG6ibz- z|4(KAPsiTLaXX0)baIS1`)U2Bf4}5#2FwZk>+G$Bmq_3x_Ur?eI96bi?xh#WgOJId|Ql)HzQNOtSk{e+xd(0ffq5b*7V z%QI|AZ}x>~lB-%iyQNA?*v@=W567Q#>RC+OWJ2!$Q(1rWcRt`n?FG)Z_Fn(IFxE}n zzjdWykTP_r6-x$626;jDDT;~)+3Go~$_I`D6_lY=2G9a>qTc?EdwHH5t1Cii9cm&t zMO!u?4RWqcU%u-8C?U$Zo&kMj!n2R4hlQ*+{H3iPbuVGsEkbrwp{v~<>j8>n)u0d zZ|l>v%|1tw5G@t1DSM1|P!ara{(NFo zT>fOAvN{A{&ZB~ISHEQuC1TA)^pd_fdf<&F^y|-uT1*WSI0`~r8W}YY3N4W5YNeK# z%GQ7JyBf%ggN%zX?BCk@3W0+qhweP(<=nzy6WKMy1p~t&DrIoBObgI1Dn03ekU|#! zJRrr#d9Tm3ttx=z##YI3pGU^EwXC+lS1Xag9X_0#m>`uLalX|qpF(4sWD&l=r#8&> zSdW7q`9yYe!k4gf$J7rmIdznieZB2+K!X_Vb%yOA7_V=v_B#7j* zeH)cuzdXrz-q-LZJ0h&>3CuL*D)iBB>5sb`{!~#w;;+=dBQ9dz#%1Z3kE|7^Zc_CJ z-64Y}b4?iYWl%Y#1f=!g<=`ig(%vv#sz|S!G&f?=0cydaCD81BTog zubW)@G~$3hs6qllD9<+r^TOOONmd0*i9M7p48;iaVm+ue!L|7(v+>1+@^Rfl$cqX+ zp4DR4g3$JQ9SJBlI}jg}JO7%+)Uv+HY@6VU{nr;;cE3h3QdwJ1@l(QWzwsX*G2<5x z_{XwByWizEJXqyFEukxZ|Hzo|P_Oe`BrL-qAI!~-KNe{EJ(xdu6z?(!6i;7>ua!Ae zD;Frz6X9>7)XS(Cjv1WoZq5EVPHauWMz5jP0xTkxlNV8)%zcN7RN=nb4Um{PQbtW2 zj|zEz>oWV7jBrd?HDc*pH-xB0h#W|jA_8o(cPr%+)S<{*7?D-nMyRF<-`lo7tFV?w z$-tl;UuzNmxrkitZ`++YgzOFSuu30Y7vr79K+grLKUKU9^bl}btUmfa$cPqFGcO_! zuhpY^PsMq~whUGyj{Zg&SJu>7!OKbr%WE^{p{FF{n;rJ|wf}g&!jI40#V`h`(*x6+ z&=JOv+`AzQy~k0GTBH*i%`?ZuZ_CDAq(THBqxaVWj$V{Ok|31Cg4bWc;1eH}V4qK> zUks*KR?G%_;cuH9)TXMI!!DLPDdLO|&erVzhLNFpL0yPVxY{xq5fsYV$s_%k-9WFi zOD?<=p!4tt!CQ09(!tY%mKC@1H7siE_)ck>w-8e!oy)G$>QH$7l(0$p_y=uB0S5$a z1gxP*BM@V3K*c1_tZl1ekQ5eP~nkFn0aBVLrC_ zQ@N|Q46cWrc1 zVW%yf+F$bzNdiu@G4{Km!|C(5Ev!iMt*db@ryY1~c|PvA8UI^G@#yEm1J-h&Wl>|^ z_&Bk9{NonB^x45a;iM)Aa%juFf}brAj$&Cuyz0nJLStTisG?If6aN5$#&8rUewL!El z+pYvjmrBLP_IJ+$w%*J!Obq{{rOML#g%{t-d!F@YP_}Xz(!mLkCKYF`yJ~Sk!b~9a zQA?EOog9Nf4$N*T1rWQ1<^%c*WlKnV>gdNugd$Jg?q6r;153!uG2QKJmd+RoC@xG&pop~vjB#6D}YIMiidtMAF*4xq0Ir%&__CHV# zm!!K!l>SACF$t@xb@6)ibr>SGo?kXiyEJ&k^Tzy{ zX`1qZ;5+q!Ki(nNIo$_SIAtxerw>Jje)p~UP0Hy7QrfbfYl$YgdW8(9Y-g}XH-&mw zxrS^OQ(2d>Wvq}l^s11#ng7nLdLtx21ZOIk*LSWHf7mUdW57y)4*aRJ)Qz_Y4)7nj zoGs3(ycz}2v|L{hzYGlyZIiBXv*9nYrN6T&9OW= z9~dOGVFS+q(~Pm?W9gMY|6pxn?HG`moJOYayue-OwiQD1hBcit_!W05!xPU?M1tmm z{LS^NAVC*_NVzBfq8Q8ByZI}4Am5{3$`Q?L!K}@*V2~EKv|2%AKq#a^SEju)-lp^3)JQX$y1ceu%-FoN^v8u* z}ty;EP-m~uR&w{J6WyJ$4b2K#^vBWRp$4!aDK4P_X z5gT*5e*Yc`{;&zs=8`Ape{)~Y4t)se=B=)OWG_PEFty2XEL2zsyR@4k!MzaIzVVo- zdyriXT)Ui@K$qRZj4UcHkOprb5)gkL`B6CtDwiw=Q;wDW>cj|3!SDM7RclD%*r{0h z&98(WJkdXK<%7{KVz&4X8}l)PN-pExLIwYWe7(%z^leoDcTk6dsRyq};Q?8KNM53% zD9WVwP&kP|HA$J+lHkh=TPB^M$a>59=kkZ8`0tTYm0)zy@mk8my)v{4-D8NT8aUdv ze?@RC$}2%*5=tM?SnxsiUfYU;->hSIM?@?XHKN>um#_0XrkS9Yf-#ywGQlK4r$lFK z@_bX)as(PQ>msUDnY8Y+iQ?7t#;kHN2=G-BZ@yV_>rJKby>xke?^n(0_M8Offq=6P z%ppg}Z(aNb#;utS$mS-fvma`mBSN;#nLy`7J4f)EJ$79|0KCb?+f!uHr+hSRU5J|( zBVUhxqgYYYm1a`*pm)qKlFr5460S>25N7?gK_?sU9F zhEt$>aeJuMR-x0LgCQzdqjWfIROIvO+yddj*kEgjb+Zm4{mO5;&TR9HInMPPwzE3a3h;? z-%(jlr*ztT|z zw|O4`5`jtp^Nrzi1*7#_y++85_0xr1|?y+HbKMHHft~&`qP_R2nAO~Xn<8Aot`;H{jA74<1aWAd(vOiyifm?;KLEk-Z9Au0m zd8ic-8*jT%B*Z`sPsB*sCPdLiC68T_p$Q1`cM0^S4wE^5__0+&5a*f`3;0$zI1_KNd0z8)$F6D+mK-Ipcd_E z@n(k;&A)@2=&k4}-5D`XnqCpiz;>6^Uor1YUS>7h2wtcM8!c4l;%3&$TBM`lP-33( z4F(npu(^3%5V7+u=G|p2VTbCFs#y@(tV{Gkn>Dm*#Ospkan6{hbhVeej7 zt62cJCpdZP%B~U3%8Ung5oFmBzVhY%=r{S9e>-nS0-@1+0!Gx++B^gM3Ynt4D#*ue zY&7dagF@&1UA<4KDbb5}<;R{7BOgEu?yo?$MBFO6dBJrtrq+?NbgMWiOAH%uB}Ap4hLNj_}8}d z$~nrx_=i}9=77Ehlll?Q3j8+x7cMkM2(no*=)C>_qDE6gnZU-5x4$kOIId*M!dud% zB6a=dBFB<-()6mQS+94vx?P`@Wz5Np?5=^Y$F9uM>6Qeg1SjlO z3Q=-yBrl|(N*#u7zPutmyJ!`(-58YDI4|q}X8|`1dB0I4!5UTcOC5^WA|PU-XVBt3 zuf;|R-Svaz>IfSV%ude(PxBH-K~O-8#_x!Fv{n^fO-mayuI}Xfyco{f`cesy#jauz zmnORxZxe%8cqn6ttxApdE|J)By(9@Ta1`%E7zW67f)ANIt2tqS0SxE{>1S7M1@1Ir;Zq7U=F}{jw zIFAqWuseVK+~9?htrw)Z>wRBF$&h{cSr+|2*DtRlYUv?gug-o}@WdvzA4w`I9+pbW zRq~_m8St?rx$pwq3Ag!%C}{;;wB&wjJt4ywDlTRN0xHA-Q+>`tCusmDMNY+2A1y%& zVdkC}(ow5jw-*$j2)?@-vS6iX@i5HhB4@n+|5wF>b-_peR=PTz1K~JI=*eF{3)^K{ zOk7rA7)5w_i6=Bpj`$@qO^SR8@qakkj{8Al$i*2CtWRXFEOPv9wPr$E1q_;p9%nf! zEGLS+hcF>Ua6@f5+uqC04uv|43_)icvwPz$?~2YK5jX?l#mhNn0;P>=Pjf_*z~%#l<4(b=DcIDG_+awFDf=HP&j2xA@|As{ZIGL2`EZU z4qttmO(&WYZ?hNnsweYnH6#_{$iKV=A``VPg4g$CgXSh(R06=M!%udFofB_{sXe~r zwN%RUSt)JVZ{KOrD9bAI`hDv$A}@SN!Hk; zY{KGG|8m!D)pz~3_%)K!dS!baocM_(y!j!^FQa3t1@j;Bg*@ZoqM;DfQ&$QZw&Tp% z^vq^43<&<#^jD!M%>QyVq~0LzMt%V6On=kRruq)YU>&MSq2DeAv*`DEH+hs3gI=Ab zwzz6pLS5Om-#L{h6&~48&wEA90m?^;W@t9kt2Gfl`F4Pc8ZOJq%`za(!@WuL$r>7o zu9AbgpM=(~-YjsN{sHU$eqhsqcU@bn<%Ava5LxFZ)1p_1CF~)JhEb7siQ>d2?_k^w zYiil7t~ot-bEjm2p9Y#$99oL}OXr(hI)5Xj1Oxhg!O#9RWsq6>`Nqj2*yB*&oWur!K#!mFwYo&g7fE{6Jf>w+&%wC&m#Xtn6Mwuv*zdB)cMcv@Q!8#D6ah=yZa(X3N(ZB zp2aA_6m6B)p-PF%7RM2?fp=acO`uXw9BT;i)B)kET515`H@a%)dZ?6+(@(a}_xdC( z_v8u4oU^>sztlT;Gb&S0gc2aMyJdeI8-3z^%-LueE)v4@-i zIlSq1bNadP!mMjEL*Dhhy#ksSOl1eNO*{*E3+GmHxxMTS2T)WPSKv(kMI)IWn_zr*Nv^_L*vlpi3bUflV`3mD@SRyE!sG#JGh86ISa zezm9LOB8Jxll9cPy>NLxdjEilAGIc~{0yVMGt;irr1j5bX2a)df-=wKoROko@FPpeU1U}0R#jqLmU~0!V zO{7ZZlvdjsLlRdGDF)A0?bEod((H1Zms+2$mD;G@K7NxVS(r_aN>cla<RJ7qk$ zeoBal@9OZwSl(f#>f`27$H@$=nXu5}3CfLcWi*jVwvW@1E zoUY=Aa0PE%1@DWn`r91jkWuQ{(EdzfPjtBWhWnXUXfB_qlqLaDO@S4-+TZ;Ct;ryk z_BtyfN2w?N*tfZ}GjAr;w%_IH9EJbtsaQj|)J`t6pY%;uxK8Q@mi$=&4!Q-b$cC(|!fQ~ez{eC@!nB0U%| z2ish2+u;03+x%sPD+%~dIZ3mx5TEHj`y-`AAb#Tn+VKuE4Z8{lcq8W1!X+$6vkec} z3yHBRg(AH}_z3iwhZ#k{kPTqIVg`=JjNF}_|IyyTbCT)!w$1I@K1op*{dt-0V}JB@vcb&#yw>*V=L0tGm$ujWAbkXB3NGKpkL{8> zHM}iYt7Bz+0>%^MXh)2^2;9!kKQt6UkPp^9ARI6N%kW+G*)rrlgapx&7YK^t95+Qs_hK9__F@W`M2z_Z&z* ztN$og&N>^=%U3SCoQf&W>fc90a2&Ts-Q`N9MnX<5r4hgGP>>%L>P%m3SQ=4XWX~u) zzLP(K+F`B^{*8GL^;pFCVbRG}a-p+hMXE3pZ@t25{A@pn31an5x<&~Q@DtBnqRpPPvB z;L7+$8jlxJ2eiMX@Lr4LNmuOMf3{|~$Z?(_T*l$gS+U?37f!0ce=@yx?02uK%tK`C zHNe)6+USP-U&+cG*<`gJn-+^cJ3N$^b;O{VXf(Tum6eA9R0ACAk)ufP7^xb~ZZOH| zKA|^SPOrNxi4&h^XUA-P8JWifKgBX$anT@Y$UTbu66m13@3~*=iFutwDf>x4NHoJz z!N4!Id97dZmUgVXrK3AfmRe4xu_gkqbo|4e1J|*uI z2zW^{sh_A6^tjaKC!6Bo&#&}-qtZ>dN%&<$=#0y=lE0?QIfd?dYfG%eUbH>0#TnLp zSYQHVKhDHdsJwRav}1GfBT7d!J7@srw9jnB3J(aUczND>R}nBdjN047Ye9pk5tlkRj68Y9pPq( zfk7bK*(+cpbEFKa$6@^tQmTT)z4|6d$H@6(fn`d`RU;Aib~xN@LqPV~5$lrW<6KW; ziWG_m;2iQ#H-2TztGxKpQ%q8VY@9{9a;M&BX0~~Uj?WhNz2>8QDpoaarY_>wouaDb zZeeLg5Op67T#@)|HI+;EC8@%XIjO=Iu4rHb$i=z7n|npfxogXQJA*VkOI#?Ze?HDu}|~IwLI{4@=Hm; zU==pA*UTM(kqEW89cVl*8~Q?J<(7MK(|)ClerzYtcNjg|54F+$2Or45Ce)cyzRd7% z{m-AE{GemXdFU=dUYv9)Urk1gY97}Tpr9pxKcij3h%`cWFA!@zT0F&*Djqd2MJ%)r2AC}mmhEjK7=&O(#r$lM ztk&OvLXKGV^4KLb>h%Nm&cU(%2ML!tU9HD^zGt4W4qPU{bs@1%_*#<7kB*9`3mLN>0T%Q`F7JVV(8j*VA^XtkTawE`DH9VDN>r=+ zLa!|oQW0N1TkMAYd9@$m!sC#~)grG@?;f|JSPrZYh{agwyq^S~&%hCxy=c_-XZ=?& zTaZk}G&}{|w2$l-93ROqZ|@odHmjI8ah& z-rHksGhbo3Y8T~O0|nQ9@girBWVnI`PKP@Lb2<)K6OJxP&lb-AY1<#D1P3^GCB2{E ze+0cubPh=fSD2t(;m8U%q&kP-!?ySuvv+q3)reDCk` z{I);f+Ihau_i-GrV-S0>N*RhDR?haoO{(2W2oXNj)S0RhP@~%qPXSI{?5Hsv&K;`3 zdW_>v4kV|Y>Q?faU0a3AMS@Tv5JDsNjrJ|q$QF3@%dbj{7Y_eSAX7A1hv<_Fd#c-_r4mg%&q zF^}5`e3+#oBfpF|@OnCT6Gd(w%~Pig8SKbHeZ)k?v>#d}!=ds9Lll$ST<~Z5IMXs7 zCH^h}ep3S2l_~`PO|QZaLyF6?-V4^b2F{)~MoJRU(S?nPh?(C?p^@6WfqFu~~Ujs#oGI`MjK74-*p- z_4)CXg&HV7Gl~n=(_<@9bbqs)&RIC0}CAEAPhZ6ye3!?1W^)Ag`BKA`3 zxT^$Hs&|fmme!`O0^m}u>EE6+tds5caYJXENGoXvIHvBPw*CgZ+|1`vE=r)=&u-aU z3Mvuk)}|OUDwZ0(z$7#x7)?FDa|9fgSmUj4H9y&B!8rDPyYCI-MAz`ywkE zz^`Yr??63=WwnEhU%n!XonyAS48Ym5o#OnI>B=Q2a0H?%fn0jT<@RXs*l`c>>or|_ zrAx$00wrLf@J)&|Rv;MPvlGc9sp*^it3K|*=aOG?sr=XRe;F`8i~-o^N1+dPUCnO^ zmz^P)i87|7=O+!^YdOpH{@Vn9xF&6T;V(VbP6P$Lrg{zi;C-` zim~+D(IUhNT(FRlr|}dIi&$I2$Do}O=plnV)~L?QYDL|-_uPQ^IeOC4$f#~_;5x=r zPt`?5rjd}H;5g8b23%?h?)Kx`He(jveu2sMjRY(V8Li53TKd)W$X+TjKuvc}(0j^@ zxRSNJ8`-UvWG)b2ql{ii`l+Di&Q^~^{ms5tv*+NstXF+TU%I3}`lP?t{bW6AJPS3O z{^&09UJkCD6h;(p3ZkFV=m5&JkpG0AM#d~EQ8mJnD4gl(e-XSs^!Z?++t==|YNLSQ z`DFY}`1J$CM)UcG(Zcx_yf<-Sw%JkH5Xp$vp`5p=CA@cOa?t_%F}^rj@M{=+uj3*3 z`kuyFqUnBh&i#vfJ-w@E1;*@^_tk!br`{;soCP%DT{4@S^|3u!HWxX5=oj;kl1={4 zLH*y&f>S7oBpCD5GpSnCkucACo<5t8roC*hZU^K4k-ZjB9=~Gw#GmyC?bbI9~N*?V9r9u3m4@2hHM)4Nbm|x9_r)Ym)JI~@JsHA7U_u@08oKX zG&KBe8Ft`OjkD~cCh=sb>LDqP_ev%wsN~B#2Iq# z&fL5=h6ag6J^k(MsLCkBRQZX-=i_~;&ihTZ`~y85q2j+t!^ek##riMii55wpU`dB- zg`cWA-X=~Zahi131c-ah7*_~ch>SdM2bRzF`me{z5dNhnI~HvxQ}`Z1(-ZcO)Fj;b zc>65po}jc7Cqly>$XUrN1A|C1N~t~`G(y;$XijLjSd#usbc%Vs%WHvNY|ELOB*DQq0|6mYCJOk`_j7-{>TrptOg6*M zUKxEGioF91Oe2dGqrZ3I(#iHtfPsH^{0N#e(4NnmM0y6=?!8%`7qH=f$HyU&f5&uE zYGM7Km?G)|tB*K6?L}cFhM!NoiPJA%!B-Knfoz@ViIZFR%vkQf4X!7+R{E^Ur1!Bz zlpr9~O$+4wRucroEMJZ)D*RS$c^*Z)dRn*$q!+E^1)H0I{fDzc>~gcu?5PqH-h6m_ z__uz!X}dw`v4|7}z}YAzB{dTr9sTV?Bh5hm*w)Mv7Wb2z+;t!4N6?Rwhh&zVr!an5 z!EacRj#}G!XqWJ}s;2?>R~WX{6$jh7whGgs$!quNU(85HVl=1GY7~)2x~WKb7thb2 z*;nJ2mi>cHN?S`#GLsz_gVve60FS%~0MpaFGr0DW>KsaK;KBf+HzeDM9sn55q3+Uv zYwsDA;d{$?Y3_ogJD9+hT}#j945@0$I?saDY>h+funRX?dO#;0p2CBo0I08|=Ak#f zxgXT7)jv5iHhA)5nta%`j6A`~)>`X8%Ad}Y(^h$+rIupeK6~YoWq(ZxiPxAGolMHP zW>{Yf)?}JrO2u{HtA*MH*N53araj^+hpVtB#PW+ue_cfD14t*^6TdrC)^zZG|^%2g1e6%`YLja z8I!_PcI}n=A3uH^_j*0by21}a4mJc2RO5|JtYw+^_yWQo00!u{xlR#pp10k$F(deq z&*hZ*wP`4j3RgQZ9>&2jr-3bMqUl@4Wg~v^2%LAthHtt(80o^+M1OU6RrxL6oD^g` zLzi0gAR4xaHp+;i0N^j5`kL*U;JV+Kn9`JXxq^zF_~}V=PKSltidwciaNiZTM!J5R zf?*Y7Y&|Pp%oUk{Z7QB%j}TXyzXtuPS;~&XQW;65D{Uot&ry&dsjQEZ^@29?clPZ` zfR~?v;UzXzqHS}hHXv0(6VuB_L3~$=0yKz)qV$Ep&KS5h!iTMj5?P#Xa8taE-ZNyg z;?eV5IpreS;CZ5jHQezGfsL|Q?Rka1qG-v>;vpW~_ExyixidfDRf{rARr|YurCT}Y zU)cBd!LvfZP4V|bk?9Ux5tLTqND;sb({Nh>e{7FB|067?v$nzRWGegr*|`1_5%&b| zMvpF(L;ug#=6}ax-VL~#fD`EW@wetZj;7P+TT@Qb*T$GAk-hG==xNh5I`6+4o~WPj zBiXMUI^S)>NGX91yVve+ZrkY<0jp9t=99hiqO6ww;LG-dqqI=`?r^h01AFIdMu({Y zgmj`u*!6WBnJ*s&EDSGs6Io6)k8oW(jhtHBhMRZGRa~~B$r)hG5edfc+;~a!Q#kLL zr)vStdR#j*qRBvg0*EveAN+wjEQ4DedJ9=A_jkI`m^i@|XxjTWdpp1?6GM{!;Re=n zEEPl2CAB(ZUSL8ajU)yEz+*9THJx%h$&uq?tpi6Le}m_1Wo2bkvkGV_8~K1p0=1pt zN>+^f1}UKn)W;3zT44EX-#^9`3@Lxb6+0$R8WNoIxXuUNHy_QuAsu!n=St#-t=427 zdp?oQVfoBOwm}5@ynDeJbS)DGUF&*Jvc2=OI;oo1`(IVB{i5bw(z6Zb`w4_8GcI~J zok@*OJsK2rdYX=erh$&N4Nwk>E=m9P$K!W$RYR=FzQ>+)D@$H)ryFYAXG|)9< zDP`#E*U}Cmzmfuvxd&P0>l-7}yA&oNn=!9i{HE&TH|v{}{@t^qA39lW674v7!|pWb zJ99zUxz4=)>i+7iUPda%D6V6 zc7Oi#^7;#nrbq&|V#Jk}Xsx&_ANbaf=1;^tHcpt@uR7tqKi&q(ctKR7>q4-ZQ|xZ8 zJJWF{@pjntf}2K+=|!CP2v&Y_dJi@T^4o_zckuFc-+x||W5mNgKMIRpg3FU7Hgzd* za4e^>BLnk?%h#UIvug3;@8vtaUsGx7CV?SHR3WjgVh-FI=M&+})e{Ku`i+>^kW zGSjk0;m^FS{BAB?t(29GUC<%6elz|JYxCoq&=dwRN2p0LH$LFLaV9K8Pl}h%cQDhq zBh$*&&OLN^9VX;FtoO?oMhs+f%w;YN>&Q)PzY18J`r+Z>KPwE+sb|TGSNlAD)&oVX z{?~KnL_!Dye*Ejm()HyQz(5R?$h_S-fWzi|E|l8p0?Oy>2exjV8VjYPm%d!gSt-my zNRX?GCFj=)JMa(fAm-;Fa=CO&tMy|=>Qehmq<=~6Bd6~TCDh{1-1OXt>2I0okNL%s zh;R__bR0sRAwQTwyPh|ln&Bku!Jndzh>77d@?~ zV>dAnZF$x~Oi3Jpea{PChhwa($UaZtRjm{F_a!tafF1j4a!&b@*U23Z8I&}|KW8!Z zW?-|vkb5>kkaC3*6CP59Li!&ko0%I3Wjr}bjXSdaA%<|T+8q(ZHo9!Fenv|=d`&w* z&*X=+$zJ`P3q(rlnsJE|lMI`5pe&)h7VC93@M>@!MEDBIm1u{;QJlbA=a-jzk+%2aWJAU^v92~y`r_{PeWQ6qb zr6BphPag$Z*sEuHPuRsNfaYvsEEz}g#)`+(=;QmjSZ(3k<0-U*m)t${{1SJ*R#?XW zlqJ1haL;0LvUtl!1x(PJ{op$9&y5a_$O!rO*>U~CB?(9%j6)I)vIUJ#tzcoN^-2;E z0x%}>6b4iotxdTAx4Yo!(5)_sE+PF| zl%4$iXr*Ni#uUcIZJ&hNrHTSFZ=)X-3nCy=V{J(vHc?C zzX1vg7lK)99KUJS@>_@lTK=SUEEm73?iG6ZmlOA|%M+Ai7#hnwKzGgs*}*%%z_DBr zexMvZ*v>1InSK)>o~D*()7q|E_&pte@iOq&TK#T9VCsC9lvLlOzN-@KcZ@`} zlrTAlj+>9Yp1q`e4*=6s3*Spsu=0>OsK#dN9CHUoevAjx{M0PN?eoj^Uq8)PQJsl_ z_YP^haGznh$<)%weXwLXl4e@=EXL6-=i-w`nOJ;G!y{#*dem0OU@q%;e1!?kehoW% z^S-92v5P#;NZqu!^mx)n!N=S;4)NgLjQ9KB^L1z@A!*v8e0lY{-&2~>#4bLyUxJHD z9v@jam_MP-MQ@~RG^~aTRS1=q$)rsEEt}q+PQ;$(oU#0gb*Ye>9%JuM(~DN2)dZOR zIGn%-2&=K|4$(mk!T=A{Zxx_ek>&lEkV$DLFjgiBIbn_7@}tjHArIbbxVHZ%bNT9M zHywa(R(=5|a|7Qc#!W@je;C@aomh=IuLlnoDx#O@%)p@m_YKzrBz#WH5?MI0w9(ZgbZsYbP|X%$Thc-)?!5zG(fSI zf82_fywZ=mrZvVBH(mhVx38uj!HKtjh$`!2!>JNB0g?;1k#In>JZ4HaSwNkHLhp@Y zHl-iK3m{IpuM{v)R*eFt?Qe^Tlulk&f864T2T8e65&GR;Am5ZRC6jQvsB!bbL~tjoy((?PgpSaU&2z3oebubSej`taQ};5-|kCZ(6QgCQuMHX!u*a{ zw2rwW#-<(-F^`y{XdmGu2ULLu13|3*CUC9veFaDM?$$z6VG&w4^H;3}D-Y)QswilV z7MJJj3VmOr*%|d8~y7 z3E}zRJx9RLuXr`CHi{1a&82@b_RHz;swm{~o>CH^*)PWS`e8)Vzp26VyHQTB&+m&m zNi$yr57>VcL($lp_f*|l66!P_UU@B@-upAcfzv3nb~|A9xImp2zgmTDt(vOs)etRu z*1`$G*Q_{C?A=e135r#j0R}{yGEm1|dsz>rm z^#F$Mun3vtIqfQrNB&aDx$n} zj?y`=WU{n+;QW;1^%AMT_pdxigpT3!Hmbpr{fte_+uy#Qtc%7h!YB#bk++?^Y5;eR zEBh1!HsN)gJ2Hyc5^@8HmF*V(M~XYDzg7cs`?xii;j{TUYaq)a10Y`Y%Fd^Y>18Ty z$FV6SEHvt?P$;GQ(fE%i41hr=V=-H7=eBgIkwx9O&1H9o;=zh4X=I$G5)PD3hkR&0b#D6P-hP zK@UO5B;?KI5_fl4^~bqXbC&2(;cf-qhlB)7LD0Z^L_RwE&JrKSV&{vDuGS3X|(WP*)QbnhLq@z3LEaxFwESAT~91>B_KbQz-Uxx6hbTJr2(->%`0 zA6DS&+hvTdwY3+&?UOIot_h*5NQ5BMd!B9$a>XzS3ST}R&4fg|3B=9?ia9I%7@u~& z<7}k$-JSy`3S8a?13|n}15oODvHlX8tMnZF{@wJ4K+F~NV@#LY*I#d&nYp1vdk8la zfR7b7i9QX$a{~h{r9GvEZKPZcAY7OGL|Xts;3VoRGM!2I4EzboC*YcyIFaq+&ihW#*lQyjsq<@!~IkA-qM&=z>M#hv^W}E6xq|G8LWQW zofx>#but2wPt9>$d$+irT8P09lVYr8=3e28dRhpFmlSHrjc2A1AP|R^Qm9SA2_4jn z+IzuG`@ZC$QejxY?5OcAaX-NaRFF1m&yLzkz%Ub|Mh!!J20V|rTD52J3tJ;%xE@90 zg^r5<0Q5B52pzGymh)EC3b1Lj6snQ8_jt&uSCHr9?&08Z?S@CEHN~_V3_zwyq($;v zkdN4UrF&J$2j8L5VlfJUyLj5Ooo3W8`*}rbx%L0-qXbvdSv~AAaDJvjG=cliS?I53 zF&_lFgtF@6pMwz07YE?$0zbsnlkp9Rqm;YvWwt-*xw|C3Tag2dOu2wEVo)kVA<$FP zwP<(wl9>&k?k%o)w5+7$l3ZU7VV&Zlf`WSZ`kn+#p|3XD8uf#ojH?6=$Txq_kn`F2 zM~BH_4BF<^7b4NnhZ9yu^@CVcZ$TH7e^flw6^w7T$`qO@R2V3>{{Fy_Ch2J&2_2Uf4$QvZ$}uwpx$KRlpxUc_*7&&kAP zaH_EPdL@{lKV0{CT~&w32QbH$Sbg-g^F*wCX8irs##H^Kdl4Z(FD+Zdw1<07IT~Nw zp>Eeg4HFC;BlWx+$N(Q0nosAfi@_h`jiK6R+dEU2`+u#G=pgBO&$<}e`!Ty_NK zVBq<_E1dwE_^RqpIN&CgC0y)Sk;)CQbIq}d>`i&|BCVB4D^n!*s$IrEDb?Kv<$?)= ziWw~l2F4Q9`w@5=5~6JSWBp7AmPv6XHQ@283zh_-AKyF{RuAE)u$@>f32gFZ4wwDu zZ`1+%HWfwbvOqbwEr1nOzP@3WrHWu3QmSYtK(2(SI}r&OhQZ0G5{`)HQsiOMG*KN8 z2{zR~DI2m~+dLE?=B?zxt2X;N;*%jD_-JBy@3JOw;?E`Pal9(K=vdCNMf2*)DfJJgy>heVvGD4QBK9;kJqvkw;+XnIXTSUyhztu ztehG%d%!CY&xq`E@q6{)tJ}ka*oEiu#IV+u8^zg-LP=w1YQOEnknSue-)R7!=4>T( zhVB?bhv8>e9k*Sg6VP!wfBnBg;4)FCk}H5=zpJT4!!8a{{8l0>6tBi3shFa%uLxWT z0AuV~BJh|0N_d=*$dB*uXT8XN*iU=S-BlC4)$MWTD=~c}JwSmpF9NBk3hKo1zqp1$;e_YmO3 zvo9-JWYE>s4C@!vmNw`0LQ+pYY;!~$TRGtt&kw#9V!^4*t#Q3vWwM|8bMW~#IiEhY zQa-Ql6!m{ECGnIS>^+QLPl8~qlLH*q@3B4Qe%+$l^5-x+=~d>7Xb4@#CP>CaVxvXO zA}O3mfpcf2-`CC;U@zk5gmjZ~)85qD+{3Tqjk-L}Z6rY4ma*Nvj^xPjz)*e?$fo!| z)o|E6{I$(@k9-LCFul%H$4VG^!f0CKPTC$!ms|YEeXF4AiHTyc#`Vrz$njY&Kv+*k zw3OBa{{MLf5C3y|`rkoimwWsdPxHfk{($tFi)Ox`G~f<^{}*{wSPKog>pE{E1avp6 z&f=ZhNiR`-@3=t-x2{~gJqYIw1#mInV@Q5|e?;vz=G(AxbTN~&wnKDYks>I}#Xg_1QAm@7@Y=P!2BA<|hwvt9+>+^EYrAz!2 zMUiNfGIj|kxjsjBC6<~e*D^B*xdF7rN?&p`UdhwGIFm^1WQe(G_S!4rWBOsNdAe^d zlWnqt&e7}|b5grrt>%QLWYV$!4Nih2kR0NZU00W^2)Vc&XB4b)_a??3Q8G&7)hpb0 z*(tbo&S7KvvopkX1@_B3jGX`*!J6|6t{%QI$$syq2DH4tl_$G$Ru`!0Ce|^x3`d6d10l+X^%zf+^9&0~-&gZc*~qez4JN&f%u`uuI7m zu<3w03E@JD0gP!sW5-F-evOHB!c+lnjE>&AJ(w%`_$@|ayY2XNO{sc?Je=fZUZ7k|lK8AxRDq~H{C~RX@5!=1savnBU zI)h-IN6Z4$Z2p|gFX-Qw{hdb#%Xoe#XS|YCrOV>*cXM>X!-eiKqaqU*8g{xMIX%8v zLNu7$+VD2EKX(e|1`p4UoA2`-l39_7d=_ijmEY5uBuc25vmgzu%EYvOt?)-_DUx2$ z3T%nL9)b{64ol7E9sd9{`~ctXJVy6@F&jpiRHP^4)ldFW17*WH;?xgLVu_$ZV-RV; zy`!o_x!ZI71Qz7ovXN2pY!5fL0Xb4hOrUqN4T%_mLn@~k25`(DR*e%O>T5N{i6ns8 z3yoy^I74lofNjR_Xx3l7)1n$A`^)Nf7jO}&?*0?tl()(cii96O#TlY0-~H{g{j=l4 z-e)hF#9ot;67CMdW&MJXy8A*I7E1ktwUV#9WJCztKenitE5e`Vppga~-WolZ`8Np0 zU^=)PuR0GsnGnU#nO)l0^iz1?KoH~I#YzHP<6J+aHV8lDvK*nh{cm=cklS}~;h}I7 z0;+aG&Ze$;h*zm{fopZ*%W% z5>6cq0w|V&3P!K8dhEHDZuZ%IlY4(lHc#DMU0u!O z;JfT6w;qCMg-H!1-(9lCM%_4n6@|XFtlRgw`B*kVQ!Y+<{6sd|Jy;_FOq?J#LJaX2 z1D%*ZN2=R>+Zb84#<{4h(r`W~$?exGM;lkO_>H*{q}%cV^w=s@_ZxGj}zg7{mm zR};7QxX@LuFcq#ySY-)czLd5s5c|@*?iuKmQA<*8BlGQLBA&=*sl{|LO20O#aOvMB|ba2|f~ZwXk4w z_vTes?+{95o|5Dv-wOlOkpQ{;($UqBo(Ml<-_7GSnW1G|9gX;B5>Nm8 zsQ!3@HP`*y)~homk8cUR*%g+4e#{YyQNX~fc%9idYu$Z|rKR#FbyYr5%@X-zt%3&x z9e!LO==kVOAuF)S{~^!H2|(Imbzh)UXCS9D^=3)8^PisNGi5P#s;osy8C!IXUb-0H z=_J(m#UmaW=a7S9*Rf}PkBjnLg{6IK>vE?p_QvmYpk-DDh@E_0vxLkZYie=XDqoc( z%s0}BT^BNb^&24#y`-M6aZ-Vo^pYC%&npofQLkzbz`qWe@U1W=^!FZ4z7*2eb*;u| zy$avFLx+~sRD-EWaNhy0sO%QMw3>qFb=@)Q%kEop4y}5Rn1P$_JfH#jfro&_^!B-e z6aZ&CSEgnGb_(2I^3ontNq8!3f{V28G8@}O$k?*|OdjXYv*O_3Lz;qJ&7H)<)2w7a zu9&?yP^Y+h$;UkXVsH!92J#GE<|b#=qp!_Z_@H|@zIu@Ho%!T9H#q(2EM2#(>h(=} zC?|v4^@0-V*+SyeyEi9A3OuwnwR?gY_ZtERrMNwChw#MyUKc~`_2t+8GZXQ} zU72w@eJ||oW!s8>{QVvP2!UlF#{@)m6F@#6d{6fw`~M!3+YY3Lj@}(EdCa6() zCOVZKcQ`$nIVB1U0>p>jcC9vwJRr)A(+pO#E*d&9zlCfkHki@tdhUxnxAu^s2qs{k z%+oKVPD~E}bcq?he5I}fv8A6=GIRW4DOx~4-fge+69Xxk81&yE)YSazn@cx?uIM!N z!UAt~xY4x@u%n{bxjO|?JPt04s`QZO*ARSx6Jqk@YlV^j2S#}qZn8dcOt2THeStvY zC4WUHTz6H8SMjxGFRLt{&{$CKSm+yPogVQ*aVP#3K?#DjgsgmN zy1G64IBVLc%Soltb930^$ouJ>tp994ce^qKJ+ge^w2%6xtvW1|Y7YU;hj96)|2Wf3 zcWdMb+M>B5DAyaKceL*p#g2i13^%+uR{E@R-{|a_9wkc&L1jKuevSAz5oEotqbFbU zL!d;LpF-SU#4m-L+UMiHhWFf58QHAMpI@;VtrtomLw+;PX*JIu`bYX8?h$AqLx6Pe@AUG ztCEfd>3-*dxOuzWhd4siqFxNY)!%w320cvt03^H_ak%*3Wa=sNlmI#Zr0XQS_3}Tj z{rD1s(;b7)1molep2H9_-DlwAc$MQjE_l^yf^Qt70vF8Gzh}l_g0AT+@F+#wm3cd+0$*sHQ}9Al zRb0=uwYcs){AG_EgZn)$x%y&Ay>0e8F_Mn|;@NCU>GxKll5X09N>z*sJaL@Y=9v+A z7dm(3O!HU!v zx7+t+QY>bTITEmdAV&CR>YPhi;%t;qTF8pbW~s8@6aVA)y&jzeh0JQPmdgEOeB1hkEjP%t447+Bsbu8DZ_GoeZK?Q|rW@DzdelK$2i9shLwIJuLZZsi7$F{vtcI2N=W}2@7!F*H;Zw zz0#remcI)QeRPW`20-L10B=ZhM<7HRE1XJs_h69j5Q!Ve-7H-b5XVGiRNxS`N+%Pmj0c+%!%};O~DRpm8Mj{vr&0^j>nP-DWiX5H~o)<@=(W zQGT}|)`UGSyi2gUWy>!3%b5Wys;%{5s)^&f<2y=g=pLpS+mUy`td?ou_8SvDZoBK-9`+LdC7 zZ6hkaXzQSU5Z?fu(WUh6$6(b1@kN55ZXzj^-~OrNspj?17%BTGE<9^?*;r+rb1kPx*?7b2q6=xd&n>-isbElo)fTO9lP{N{h?wRRKYEU#gcXA2wz{e=en{aAdWXM{;Z4xuw zA2IoT9R7S^YIef4?$yv9^>JHo*WcyaqV_*}u5awq{n&I0g$r;mQYY7C0-oDh*t6@U z+bRWxZ>%+R&tItqsH(5LHSo2H9991Wt5Y+()y2P_U1DVs`+)lSb;=xH5^(mpzEy`( zgq!+w&C*Fnea66Q&5yAfU!_zDR`!pfUkKO6d5y4YDb>nQ(cjhUfrA};I z6H4BB1J4Q@i)Iv{>~Fy``Gs7uj}$*TN&zm`nhmm#c@2RzP2?QuY0ZwrjelKBsDe*R z9zG%&^Jr2W%dq{tK#qAwzEDt*76a^=9I*XBV|OV0Jz;pvVWIn|C{KRZEl8~D?P z@^cLx@J;SpK-%oES9=j(&&NAKLiP-KKbAwINQS7Mj7Ngr8v}NSId2th5F;0_u79el zowe$Zw*wkW=25^xw;Vrl`{Vfm>>XpkD~4<-0ce&N1{Vuh=~ZVI5*R;;;e`vCiA+Js z-=1_IjHUGuy;D9lBly&xdHxoI?kA8{T>l?UHt;ClmGj2~RpkI8udZitTBWODzd^9b?Z8~c>de43cQrZUP?($5V=2Bl4?XA&PSSj|1NGUR0( zA}%Fc5enFng7sr%LW7allBr=)xfnT+M%MlfPKpNF=akEhLEqL z3U7Juy7DZs8s=cl5qO&F_q^INf@~oq!(RQPWj!a6KcPdK? zYVS1X;fo1J_?Ym`LzO7%r%fQwIm zfVCg_07}$`1xGN{+>HUrZ9MIrhr;OT+k)pJon9>;j1#&;H91fl^05`Mugr38Ka&CB z;M^*kMBV8O*X_qH%oT9=v!TN#*|U3d_IhL(*(uHB#RiV84gbTU&}--0NIbX2Z$GQA zmXBe8;8k^RK(mN1-wYsZzFz1c}61xF6j@Mgu-sRYDkh0sx2fY3Xz! zrGbr&6U&y|ABso{+o{4EAm(z}{!qcO{*~<>u`TTi0&o)sJ=Cd$eoOE7{(dAkO!+&% z3vvI|BSXBBwWb3Dt(k)n|Gy+W;CYZxAE(@=Nsa0n!h-vh;>W`!w^_(zTlY}Q1~=LR3F1-2^ZqwG8Dk$< zSYs<5;c!0{a$>1ZUt;O!JpwE3r;}dTkNHM_cBR;|{YbXfARoB>t1NKt;?z3W{to1m zj<&M;-;*!8FUIM;*T!k{!*;uU!T@>#(|xoIb;R{v zU=RD|Jc7utbya#P&z(PUirjL(zAdLPDU6?znEyGfK6I~^u3|KZ98`(dZrH&#RN!Jt zb#_g-#XqEKl}^19cJeW^qALS5bhpu(p?~l z5RB5jiTwK?-@2uN%n?E8IrTD0ZGV6G`&OO()CZxs*zl3eY|8gw_CVWwa|819$Fg1H z&T0!H^$q+K8N{HJ-UJs*=)DiDt?f+OYb9sbhy7(-O)E#6zY!nE0R!DUkNfD`pp&*K z)XIfm&4{sU{=*YHdK&=Sj4&F6F4T#s)h+nzECOft+TCx@=e_bNolaI|)p%?fXZ@~T zMm%EXF!I|$7d0GT#G|+0A-tE?q)31%@=q)OhmRuE=}b5hAg`YF*;VD}|BR#5?xA}m zViOLXzhw z(yO8s?TV&z?7yR6ez5qynBA_LVIu$MkU25JnzVYW>0F^}?>j;3i$c&WM5u|%awyPt zw2|@v#DI=54>bV$dNo70+;7u5RuVL10Ye-YaE*IRQgGtg)=)#)*;y8;$%XqkTRQ6& zU6HG9fb%V`EiZj0&fOZt4cMxsDygs>|6Hc&df5rjXGLz8eIUDcG-M~|ovr#17~&)( zmmFJTVHo$G@hl%M?g$rAGJREz8(CGd+MW4s!Pxz_N-e;yE%nXIM4m!^-w(dulF9FJ zx6pZG&&=Q_@62>QFJ78?Xk`eQ(7?uoQoHO1P^S~m@;rf0xx@(u#N+it8zSs9R6$~| zr#Bz6Gr>Cl*3K+t*n+>$`7e8t$A@$u{2PJGY~|q(Z08N zZ_N3%^cCDN_I4AbtKS-XS4#P`;H+grfbo~Wlwdj%L3-%Gaax(qfMxqi8@g>7F?as# zuGw9#k`cZlH?3s(bO2sdQ~dbQzE-4HpiO$jG{;pTuk_|O0eGH0qz*p$rrCYw-81LTGl%H=$ z7dPVXaGq@(-n4E2tXzT;Fme$xFYtA4Vr7_GJmPd#WHgEI2W{^ksp*SR%Zk}yZ*MPI zha`r3^j}_RrBJYe-P!^7adEfxJeq+tZVVCeP#E=jdnHL|z3Op%P&v2#;!YAJ!YEPGY8GFzkWY!)PLxh6Xc=X8u*8}bXPv}Mq;8O@6p5U zy3Ik@8NA;B) z|2S1n{Zi7iN_>*3C1jfR@5%~>Em^Dpz!jxU zkU~TTw=kO#vIZ%a@mQOb)lk^?^2%cBwmL3z~jtA961a^It87D2lWPsq-wf8!7nKPpmw)z zMd=)(_U@k6&>Y{MS1GyTvF~1O7JN|n1)p^X{|^eZOcv^c=rf&6iIHh3Mw8`axYuqD zU*=c8+|6?Vvl}agp5#6BwF)EwQHf~Pt%4JOK%-Wq;H;|q1o4WL| z29ZHQH2GL(m63A9^Q%Xxyv7oD9fUYOJ_D>p!`V%yZ#Zji>?}dxP$P1eI$&x#EHSNUFfrw_I4Ef z%?A;&UTMhY`~=SiXzu!%(Ox6Nz2m3Pj}iW}r}$HK^yS{wrr7nUS@7y@#9cIQIx;pK zTRAO#((*hY;qPI==51pJ4eHAD9_HSQ6;eAumY%dUr2Vg!E&vI=-j-ABuCFd*dlYcy zllVXvAO*I#t z{@~cElpdSn%x2b9OJoJ(UGkqp z-3Qa;a!6nwg}0dV@;%sxpRV6V$SE>I(|2yg|8x$!gb)Gq`ZtKkaSv#0o9g}qxSY{# z06770`Sj_=PY&_B7SDiJo(9i@wo-#wFxOKkgdp?}+0zSkbk;v84;`L*H;F0K4}Nx3!+Ie$Jg9FEa*Zup(UnvZ?gygXOzFYD1n< z06jiDBe9-b4F8a+0cBOZCE#ESPWC7zseeOcna;c&K3|iY;wsTS6P(`74foG}(V8Jy z`nZ=XQu3kil^t_Memu(Dq1{Mnt(Y6K*nT@=sI6KB7mSZ__EUaDV8abf#LG#1tC8M~ZHM?n}eux}H4*wz`5} zp_i<00N9V+fJ~pBo)>bbDt5kw?BFDb4O6j`@_Wy0F65=i$NtHbyIAG+T9FRC}{0zES{(gFff5)x9Pq%Z?YBb^Ee64HWzG|V6> zAgzR;gdiy)ARsw|N+aDhAl)%A#MGVddq3}cf4cJroFC44WH|W`2#XyM=IqDIh@Iq(tNjX`9!8KEdyRkG?zN3a{=`%#=nQ# zZ7f;{(taIf9AHSU)josxoSK_BV6`&rW)Lo(9}@A`XDU0M$Oo@y?QWmq{fNK$N#iDR;?%mr;@)U65I*i~Wf+CnfWeA>7Vv9b7yzYbi5j>k4;-iHaIDA!A zJ?wKad;Nj%Ia@5_62!Z76=Xr-@F|;DEed9&RVqgRdfaa^_iL6J8^!gpsproSN3e)y z+_`Jy{-^c>Z2N&i7+7sPZs+WbR0fA_@*9z3&QZC*;oXJG_Uix2qmbm`*N(`~=X>Nh z?(A;DoEQaQbBk7qKTt6Dbt^*hkG%ZA3qQ*c*q*0Eo)m_eRqYX+xb4i# z5Ca@_lfR-NFrvdtB;K_x`vyw_mMKJ3G>cj+!TtsygF4M=35u~ly$7|IXvnQ&1<0{4 zB3Zz#i8MG70m409yr3f$gUXK_F!4o&`jZI(HRh}+zjE??yalQFw?w2D{?&J?Z507A zefD{`I0ez61?za;?8voN%DtuW_NgLLw^fQL~Jf5xAt}?=EioHZ4mEy5a!Py9xyC^Xm*RaCYgSTpyeBD z@|F)P);WZjrsC(zhXA1(YlVwj0Ur6M$M_%Q`ygjQN0c^t1-tH*t$zGO5aXVlsC`yD zmLuE*GPxA5VLbfId`gbvtWQ25KT)U+3543eIzCS*jQ}o&yj*8~&p6SL?aqC6ox!&b z$j7U+$iB4-d&GXdT`;Gkm%q+${ygV&AY-LSRxRW*|1trcxw4b~4!BI(>3F*di)@!4 zNE`=b0dFuEsXr8Xj{b1gdf37d7GGPjq0eNRnpAW+2p^jO$cYbM9{@R40F@Q{Qj|D7 z(`IZrBU6QMe&;cyIa2f|^Q|E_ESNL!00?U`Xnt#UuOo;65@uaecDU_=Levk1P(bNuWuj!DRxSMFt ztg5w7vt);SWO$R38?$^dx{&)qt>S4i|DeKWJ_rLltJW?4pHgOIterBL8GFJ0 zdQDQ{YbQ+seGZnX)wpNlin4xvAvu?J+mg+s+3gw1dx%8s*}jyL?L#u8Q_4xqzsbEYA7|L19Bihq^>B2fb_MG*9t-^VQVfFA0)yB} z)X`bLJ@%ImAx~O0_%Jz-lObmCty5K5R(9t%hMBr2tYU29_v(wsITE@LuxC|m8wdE^ zUvc??FtB8XU6qXk5dK@ArpQuSjh>Sh&f!VYe+`J-vIu!8)q&DYt7bYHR&$Ce0LzH^Ju|y1k z!=z8E4T&G;p;53Cdc*8xU+TnPw}prgSQ)sb=l+#W(~J^RJYL5Ds34Nc)EM;Be?b;&UzWP!jl@Ey=!^b>CQY-S>@wr8!`lBohXaJ1Y-o zA8vccA;g@|&A=Sk^l#Nf!fV2adD(%Yq{ zNVT8E#jU^7^X>~@+Ba)(< zLc>0eV?$2%I2Xm4wFR8^-TW8O7!h}u%i?03s^Rx#`@+)rhJP$5YUn6sW=%IZd@TeM zu{rE2Ec@qJ&hzmbH;8MHVMb&30}y{IqO0cd{?5nWpIN$Uf*SQ#YK15Up80?ET)y|w zgg~0i<4X%JEs_uhZxN^KTC{h2kI;>H31+Mv_E(b*?YU8r%DbY6qahiC9Y3URKO&@Q zAo|dE-nY}Np0VJKSf&p=>@)P4L9ODzME2oILbGwKTKP>Q%B2IPUO>n2!2fwnkX;e2 z@8k*ak@#lE&3v0?qmEA@@fqeFfKeOD*sb9p!O%}6{%N%_u-NRQ!&-wc0-7tpzPrC? z0cVYZX`n;uXpzmOS!7De>8`7Ref0MDcveKm- zzOsUyaBYy|@Ns1nc@*drRwk=93O|MUhs3M1^wd4jfBKewr?|IZAjQK$`a7&2d733< zSZ7j`nnR~h+u>+x#=4{$ovlVVd>(}e^y~C$gh9M&>*dd1%7aq6fm_^2PKXi;1@{_r$#_5YB190zsCGOM5C&Cz60{;KH@uTExQyrS{K4&R32 z8mkV7R)IlZ)v!$BE7<`q8$u3+;Fm%opg z_34-VG%d3e#ZpkWD9B?FIn{9-NR^4$n}6`n1pwsHs(*cXr7BH+G%Zl>8L+J5{Pu5h z2c`_1@=m4|MkL%JcKQz`FJhO!UF_LoL(q>GLhucLvFkqg7xL22or8+??K#)Z<+#HA zl>45IwXiR|!hM{>_S-|$Mx?BqAtBYw z3!TD*_u0TSmtWEnL!Y_NS|;U?kb&U4D+OP&d;C6f4Ij)?KvT zer!1FgX1vQep`cRFUWBBgkpG?!tRenedkfxX=e;&XupzO0GQ--{tU{1T|2O>r+}iRQE_%iLK+=H?@$4BVK5cWY=ZSdMPDcr-Ri=2gXwT* z{0MQ0`kX?24VVopY@7Q)h}7mY+!g>f>OR{1%MH;4er&`6%UR#XL5^bJ!?|65lRObs zHGZ(U>E^PsoVO8$ujzWLE;Df2CJwNHeCg1-I17?ZK2)ifIcq2YBt)J9Ae|;7`6)#~ z$Px}URjtdy!C;l_Tbl>M1hE;0CHYmUZfx=&iyh^ja^q~1;k>XmP7hTXHVXgTt? z@ZmM<9{!=qjIH!&sAexWe=fAm=d>ls^B}5q*HfgBu$OaVWZnA@i(THKP+Fm@d2_`z ziK1u{Xpyt^dGmF<&A3RgLAu+D`Za%WCO@#M#JXKIa4lYctk-#CbJL9+tc+sgMV9=4 zI^&(@t`UDBo*d_NnDaf}KV1He%NmLlFOfx_Z2Qj;_9u2P7$Z;r5vE#+Q+$8vwe$a1 z3!oZ$f-rg1Ge@HzTOcY$W!lyz^7^4ir;Sdo<=ZV;d3pKv<+ld`L*Y7 z*_Jyt&F$$G@B;_Mx9ak6qz z_+2vNtH4tS<)2=9V9a|J9+$#I;UThZ(7i`ls`ro6mY>N#`OM`GCq>-U1&{@oTnmwx z?wWZHep>W}<%U(J}+_?H?<+Tl(mz#r+Q zQa%qexS>{XVGsvLjZnGU&``;_ysB*5wSq(#6ISxDUl=2BD||#!hDmHY!)4C@v6N|# z{$nX!6eaT)$dOVUNES;_CSz-IeB%2{ zlLm-geRY*`aMl%yj*&Bp2NS2N?Cx>VQ8I3+NcI;EI>ctkA^>mh`19@>rqg6UgOO^B zdjdos1Hn*ASj1gQ7ps;Opd2Dw+f_!QW*Q2pf$tvH8Dy_4zevl0;jaQ|pM)?Ck=ZCi z*v>axq3kK2-qQkU2dr#>{F(L5Q<4wX1=Jd@0cR)!x}@llwE3jm9pK?PvYN2^cfkts zfyXYa=6xv4x7i&|ur!%Q;VUKmMeVqZ>Q-hHuS>EYjywO}tvM#GtXPjj3XX3yCL_?j z?hS2qp0&8??_|3X`L#vERv}VT!Y&BSt0MQDKRj+AS%IBAW+1A?N#rdvcEU-7JM?G_xzx zJZ}@`W9m}ef$^-^q3Q9a(j^E_l4y+E%>`qI5xwal<&<(=ICb@jka1qE z%e9M$$;2q^1_)=CN>D*5t3h{c$(M*f0IXdeV;WirzUI^Cyc7paldho%Y{d8paK8AJ zmdW(qvXTUNW(ZI;V1ysU8q&Yc;R?RCsH=q$3fAU)PMpgz-mj60iJW8wIhKKpt0Yx{ zz3XO_n;v1U%@MDm+u*})RL(+?8x!k5+=^@RiQ`>fZLlD3?Czg*2u=_?DJ?=$-0Tzw@Q# zxHk<5-!-j^^_W~Dm57K4(f((ooxkNfkNW^JLjIq-&`T4u$EDjB)3ej(Xw>=I6d}j{ z{0-lrlpV3Jyua`QPuCZg0H+cIgebhGwci8nV+_Vx!8?l8Gh`YdaoY1HMK$VrrOv$+%0P<5TTAp3u@}FtBHp;` zUvqnqHYz_5hg`H_$B!|;tYF@j^WhCD*#mwlWNvqvC<6@{{R|!e z7Ev?H$0ON!^Yvu@R5;i@IE>3hQrLRd+rlb!l9hW(@y)RG z2eZ*|MJ1j(i2dE9kVoz>e+8P5Ep?i(!A-seR^MM0@0Z!u5^QxeX|scCGZwf*o{FnG zr~u?hIrUmumYKo_vsX!@8$hD|F!K*Rladx`(whMW*3^ONi%L|B(noG{Kio8BNnFk-XsceNFYpuOg>m{De+s&q9Ma7#WHa*zD znqbu;qZg}&2;%pHy-ZZEWtFY)RdhtBYU@${RFy3Elel6Ew+l1L4iJ-9Wc}8z2O0Bh znVacC+oSvVT8U(QXCs-xixJO**WYwAnUn>q_y=G6xgnm-mx~9^6V7Ug`|9q{L0pjM zYK=s&CcDSCOy$9b!N;(LP=n)(orbmk5`h!5y};CkgIN*bqYwabiyu{QI|Zpv*Z&(7 z0F&@Gy-u?v0KiaZL4qLol#T#=utll5c$9$+WE`V0)YhhY1?r{8sOF$BaFIX_M}-h3 z3n3GE8s$7_r1-mQE;^TV5r$$HGIGGXN31{QySYeRYD+oz`~)byVgUe{^Xr0Se*}U} zlKlv~R%Wjec0n0Am(;NIQ$}Wj110$LgwnGji9&>&o|Go`wlF6YVAXPhG@+k@ojK)k*1A&S3 z;=r!|EAsDtcBJlASIN0d5d38|lEdbVn(K~BmKo0-Hong($43TBh$QGYGgciz;}$CV zd}yD4flDoBUv=3mvh(@gJA6IU0R^T^mTdox7LkvKXU{Bz!Np1M#;g>z8b4W@J?_Kq zrHy^?W-XTa2@3rt^Uh$*&a znza#_j^cQY2sY9Q1*S90z`J#rmFhuuQ~-7#?}HzZCK$K3!TMLv8{bS1)N0QJHYg14 zDvp8x-)@N4C!5SW8VDnWY8UImZ|{I4ge;ef^ec&%m(A(Wh#x|bXql)XD-2rv&99iZ zE`d9di)DHm(R%0{wZ#W(@OWDe zR#=3|&9xp8ynJ?^VFoZlw=lW=&*xiBpGimdm@;}H4s*BXjoH4(;wx44p=xZP>$kEa zNoA`a^#=A1a#QX0}Ffx^U#&qVJX#`1Q)wNl=j@HIqrni5c|F&_0#WSSp=L zY}|ys*v%$+tLxcu0g7JgU^O8&?mMFXE9-x;+YjlJs>Gq?jZMjyCG#+H+}Q{*8#bHG z)-BOaqL&pd*Bti#m7elP^wG@8$pOkKreygMDm3|Vz%Z-oC$4KxC`f$MOPYCYbKtQl zNCwP|q~J-cHwT_3e7RuLeVU}e-FiGDt%3;Ji0^d1+t)Sb-oRl{=cwFAIrB6y<-kSr zLUgXLVGsMF>4W!LvKK5QRAKJ3_p|uQzZHs*-r~6;5COPk?)|S9^%*!Di2ISgFqEQA z80md)cHfsT&*D9zS^I_~A4+bvNG0MscrTOkD zBj3eKbCq0yFtJD?Hw&Bu&p@FWR>OQ)Yojv-X7V2@)Swhm7rS-$i3p)<=J+-eesesrjv@X^IwMqiN8 zzw20*_&-(!wl;ZY-873k2N#d#F2~AaE*>VdZn7mb3d#pU35OK)%Wnci4UQkROkI$n3d*Dylu-_FI%pW1!>HIl1mifQH^gL}bw zi=ix>kYtk?Vs{y~PvYyuidG(`gTCi|g-Z=hyQx%-XWlL6dl}z>j2yRfh6XYttJh1x z7^ea_iH#@f5nv?KZ$^CCdg>&`@u|Nd_;uhSQ``di{uQ?;`jzj&5l#(mV4|?(>mvPB zEDOcIGQihlgjg1K?UPmQZb%#;#s)MPxm-ahzz2U4?~}t5xj?&8cFwM@J2alHZq?<14PZo5)Z z#J2%-<^?UXIfg#`mwBFs#aEVTbSMGNg*?*Q!;S+$Bq^3HVvT4H|6P&h_IduioxHQT z*ZDYWE8tRW{>s;w<6|ObmrC{}g!>7-rzaEeouPd4OL}6zY_@IgmQb4FvE2n>c9`Ks%r81%Ufwc52v+*<4P)kiF3Ivfs&bDnJwKaB&K z`_fnmV6Y$u`VusGZ7MNa9(PvM~289+82 z6ye{WMv)Te;2HTjiXXnWzaY(NvV6-v9460a*I%p&dYQRvVtw!^G|I71PtsxP+N6$- z!grh8XJ?e3w78Zi{gAsSCXo5*I1&b|p?nWu%F5w68_7_cBHsK0WRXosAiA?!PBZG8 zmA&YhG(Cxoo6xgxIG9ZjZ?DhvwnLcQODyI^k|x2X!4)okr|S9!k|CKY;O1tE!NQ?1o!Q2R_|%>cHVK-cE41RZq=JwDT)& zNPOpD&W8*=B>Ur20e&V|3*XI+tY$fRev6=yWT0g%{QkdKV(=J zrFm`!uG`|tH$NSeTBO%7D0g@VQ?mVIg2%j3a3Ds)#jC6y%mG!O_(~k z%t|E?s_Ru@D&A9@0*VX=JZbDNNy`1k+TBIb{;G$Wuo^xk<0kd}AFZKnxRsom7dch- z2#98L>WJG(C+V;^ksO>xNhT#`>5#+lOqV$7!7MHO(1t&W3xB{%d{)P~D2bs{cg!8Z z(q1a8#aa2b-jdnx9%yDc(GxHOXMy)rVl>#V=O^Ra^J?&VqG~zQA&ySa^h+)E;KX7h z%^obi4E68j*V9kA6U9zqhpLv^{ed@bgoZ@2aG8~B)%b_9e9g1}k~G*cyE{yhFr^yK z%|F8 zpwknvV;}}L{%ODixTw(rGDd#zM$S=c-=vwlxzzhHXAQ5sNT!X++l>B$za1L6h7Z2B zSm_i_o)rLao4;mkhd%En&!)Zz!5ds}2DVCGLZ`oGpdkq#(%pQMXj))5OjXz~eB}H6 zJ@34T6yBSRVyPn%C7obkwCa!*dpSkBd9YjMAC_O0 zZi|>Ty3F5ED7JGDSGctR1|9C|=!kxN2yeJv zt32`WjS?x76N}Acmu@}8eGAD&yxk;{zB2Zs{@@0h%n0CD;wA@}c1a2uf`iP@vMqDc z@t;0VjhOhzo7@dM%0l5zeZo(ZBkB2HU?xXQ={$UnA8URt5}(}aRo5ivr%|(LoQ7;{ zt7vV(#C^QI_Fdhsz-mCRVgBvAEIMGbewL3Gei!EzVpPGoBMVlZnQ=mqum|lmLR3CaB1cAPY-bg3r^AoB?tc25R6Ek8CC_bC zH{#=1y4v%(>8l4U~{h zLbR=Nc^OtoB^QNZc|%q0mya>|w#7V1`JY*?Q&sIBy?0SP&*?F>3;oev2cw2f5%`Fi z!fGtK0TP0;gv`%#xbo9FJh+SsKX{i4e$JSChoq|6ifPA66P6eWOS(pYTgdk1@BhPW z=GOm_Y;28X2hJqS)<}^{eh6bn=26R>Ly_;S5j-XKA z+I>u<9AHU1r3HMu%InzhEK7*K4_sbjw7B0}U7tUTpXS91#es>w7$tYhMXvRkyD>8U zw<+BXc579#6Kdl$eQIv-b+X0J-=BHRaAeH61>9v*lYm9`L}NSPW!FkgThn%y;n=^>&<7!S&&~)i;NMpm~Mph3Sa#621FT%xXX<2 zbY`xKbAVuOeXpKsiGZc@*gesUGc{%HKH|L4skx!Oqh51YLLi=Bw{LHC-L%i&)Bnyr zh*AxLtFv>yQo(0Yku$kF2(1DOk^cn35y3r>_|9Ji#EBRBVBpVVrVB>7q@|wvpm-Lb zYvuM@?zd86acLyq3)D?$HG%@7yqNr{;h?6$@ug!QV3b|zo0^ZC6Z?YF;NH~}PtZN| zG>^Rc^mc-Fd-oo`YN?&-(&@~mgUE4I>upO)MyP;gY{JIzb!uRpzZ((Cfbh@UC{h|> z8optBo(c8I9OP@e0j~LsV&3w>awfnlF!z$9AD;a_`r-~Vb*d5$3a!lUD~<77ZwaOO zA;tbd^O0;&v)1v7ubgxmZr(B(!Kp0rhme+lz~x#K6{U9trVjd3?(|S+{u8 z0_5To@Y@$e4r^|*+}m2BQ0cSA$*ClK0`o)fp4tU=IiSC;>fO~ZPdZoWoXk7Uxh}Qq zZ-+HXjU_&67O!Vx0|{&cw;m{^3&4?x1pNeE{_JkjQ5hI5D;B%I@+4JV9e)#!3K|$f z|NdAOMF`ycCQHOr#5h?zmi7@$ad&%Q;fv1GWw+i!t(;t$xa1%5&mXoycm5j}_DC46$9YGVxWD!)psyzW7QGjoR zjLhrL?x&>>uO(hGZWtw@{!>OzRvHm!sd#yKtov^1;O=baMOdYvU|O8w9-Y)pq4?Xc zs;g-3)@No2n;^T&zpgdg*!F9Q1eK4I@$Wf4-~un)Jq4zytr=T`f=p7AbWOiUS+7on z#=HNmz2}l)*Izf1UfrjK#un4T<#GpNEVIP{MfllXekE1YYux+9*%zXiTL`NLG)#Lx3gah14NpcJ6`#r zrlNdKq2zWRGtrG~wA$dpetBLp<^i1CcYXNCC6$EHIA?@MiEi13wCOJ^h3r&802_F? zI`i3xg$w8X+DvUrwaX-CqE}F556oOogScXx0H|q84>=hsuv)UgecS3ikG6p6rw6;O zu>pV>3mlc#XTkt`$N|-2k8*l1lqzFbe*0f{`70pwp+Li=2}s6~miw)EWjP$)ubP0R z@m*de{gjx1n=5->kVndv{ChB2mD@C=&HnfgPVq~wLNIS%_QG9f`8!(=*FTbfhwYv4 z-&<&RP8B>{W3?e8yPRlp-tbdHH1PC?#H}==W~mvzjk~4~SZQ17JGBhta&mRbBin;_`kVCBjc!iiRhu$#`jDXzC_HT?0dH$Pfojl;BecB z$p+H;KFQN4#D@8(zNO_3YHsd-1|&}8z{^s>`~Hx;F-{w1VCi!SSS>hry=IdrwFJH7 ziqB6j3Vft63JsJ#Z6xn@BEPfuq2bGGiu7|=PT?yR4~&<53J8g(_yUYv?=rUMf@5hg zGWa_$HX>vn%^#`fVPAbaBUkk0pcI5wBC!YQrgB=kRB^BvTw7fpRf(&9x+1m9KW*!xp} z`&~bN{7Bn*#zcbMpz{6BEq`5e4}q|^o|Ql&a5%MkS&3rqjodw}#otzgY8}&UL{yxx zj^{ZJaqPcAp(qI@xf87C)qcc^>tuNE?{t(S)Oe0_`+7DVpzNTGprupn`2i4ENh=$jWlWKuNWSDVQAd|>}z_K`MxUAg2K1}8l{4*wi+Xoo8Y0_(Q6%EYLr!$j^4d{3V1a{HKLNYWkEgg;CaO<7}$0)#+J zBshLX|i!4R92d&FIzDYVU1q8vfIK!5&g43GB zx;SyyTY);XfU-jxImz@Hu3Q#d?F*I2^LWSx=ZQ@P?%NOO(rE%3d^>X8rXZ$6M*jBR zG*6xzfDju%O`f17SgMvH$|4L5t9wS!u~esF|Fjo~=2!Zh6-m;oiTXHI=t@oB<1JIZ zoi}v$95-rYOS$QT=agDI^1rGaBFsFN%XF^nLZE3UupYtVa zqjMG(I@i0pXv}pfHIE!>tixYG@?bQyK;6u4QgW#vh+pNCnM(9k5b?;%pu{XpAt0T2 zh78fOo-1gMV=;%S zH#_-0EGDOWn{ppJ&E8_V2ms1<9?lf)WgVf5r-K?&1)h+u2a>a-vNNDT^e12qO~A%# z_TDchLzK+~@BW>5X}CXT`!wOasnja|Sgc_9K*sgQ6hjYizLXBqp*EHU`j&&B13q*U zI${(x71O=Qd5zsW`p^GY3lJHU(_bHzeG3gK_NLt^Pt~AVpOa(Pl(S0syR6u4>HuYl zgT{E6{cL|lYxv#lVQ(+=PDk#<^WspC?hvXStpFoKd(83Q`iZm*6$!F&z8#=B$Fbm`URa zYv)>r!=aZ6YvvE1qvvG{7k`GVH^b?6yCaJSJ?cWX6*ma&Ji@Hs zpTA>WGK0T}DA=MLev7iNw@J$wb!cyTh$cx+o84zYOqAavE|$pzX%Df4)p|My#B*cc z6=f#pgK#I^OD#Q63QLL>aGjdWTEX#_LWaOK9o&T7^$Wo!X&JgP@q2b$8xmVi=J{@%d3m5lHm-R$B{^*tfk zn^qSbfX2<*^VTdH?A1dewMdEQ2|uQEBKODqcU~-1k7i9D6yn-WZub8vK({@hcM+=| z@;?sitBLVTK_O}^9@{-nnC`Zh?i`Y(-6iYM9*^`w^TWiOp_ZAl#Nc|9atmSGtse`E zi&~L$VjZyf;!i{NpZ;!0ulQdFA#=Z^fR`$00mv)JDZy+BaV2&Tm1rJjU_z)Vjcj;O z`>J71&KrbXm~6Z`3}qMQBkNFALs2jp{be&XIWzE&FGk(w_7vd#7iG~@ zi=@c>(^Dwg!oUfv=~5$IU)9|nZW8NL0kXW+U@ndn@~S<>XX-_bZMgQ+h^%7@zmpR3 zS^Ru|m8bkSjws&gvp)mliU8=EOIbP6Z}Lg5bR1a$xf)A}2w*&mpqciGKbg8HrAjh8 z6JWbQ$?uD)8okoAxiI&LlCKq;Jx$$yYHwgCkYKj|tqjm$1+tsJZC`yn=r=vr0;>@f zgAJ9QSqrsj;N~93`4NGSU-UXkVHHZxTrPB?V5%>6IsJzoXpY{#C&BLIYE=b#@ssAf z`^aru%Jb|tDV+sz6RcLAbQew-_u4Nc*02L0;N?e3{&0CP(z&*eo{AYDAK|zG->_UO zEfC$Oc>j}mjwBA{`@4aj8pee~pu?=D%Ml*rhle351LzzU&#mRd$GIEElPx!gRLv+i+)aO3&$?9&olPTx|V2ZzpA^5_imdbZNj5pr$+W7$fzE{3 zvuqgi)S#=L2iMKQF|v3MJoDR6-1yzAhjKR{QQ*1m-t!DF!=CG3fw{O`LJK6ve$YVfTH@ z@FdNQH-5=Qj?se3T0s79j+c()@V=BWv7DK68|Da(i)(^_ar5Zx6A4T1Q$tzS&i5k` z%q(gNfP=S=I9z-|<0oXkg$qQQrtTmxw-mb1+KoZP6yLAmf`a(19(7iz0G@Lp837z| zmL;Q^#!I4g1TkWts`=aa2E_kXE6JLi>6i3tQ>98xv*L`_mc~g&z*Z8oF@CtoecX|t z9@4%e9ObI#>Ig+fc->YaOxNk>+pFVWg7DTY^Cctrw6l#GjzcI{^0mTc-~A4l;&Wy^ zqxQYejoS`Wo05RAFY*JxWC9@Xm=^&b|30frJAroix3$N|9v_JBRBxOz6IIr+n{2M( zP3D)cio;5~P08W%aX8k}DsP1%!cl%m#S;(1j#_UPd|51k9R=tnk2YW7*YW?wuwP8+nHZ{$Afn z!!$+5#rA5&zxjN5?O}6J>F-S%g`(>zw9aAvOaX>%EVDYdNw&UHLaUnu;Q}W~^5T3Q_8nN0A%d_%`argMt;xSE+-Ix58PdelR6Rv*s@$ zGLAHyxY5plkNG|jcwmGP7fuDQRcJfzYbubC>0`QuTy`AOpxzJCM(p=IH#$KH`XrvjVfYL z>}e?Pfz>sArQyGUyaje3hUFqG2$PGG_R{^wS4$N>{WZKj^e`3J4cUtW%22N(VgK9j zv_6m+z6vbfP$)RiA`!fW6jEI0(D=k=W$uVMBd+s}3v(@bElT5Gx3eR~dugsBh-LZO$2o zx^mbeX9cr$E;aHh^^JU~r*kO`{FJyIh%N{@mO}0TQwQsa0{N|F!1O;*qZf?(&V-HPMbBy z7e7V&v81hwmwh_|)m1E^cPZ4O!D^Be07?B~(A{0n&BALvMIDl6Ri9amV#^cgYAk%| z#1GS(MQnYpak?!VZA5|G@$hJg1D1B=)+&s01T9LgJpCSeWOOs0V|tdosXF3aDzhVb zlsV6?k3REK|DVeZEXcQas2}&Tq$hiJibI|MrO~7?d4Mpu;@;bOm7=qng9`L!F*+#6 zsXMLmB=U98+`G^9Mq#PhCI9ftG(fP`*8Ka8Pk*10zQO}7YEsoG^RzN`q#b|^MT|8E zYwsxG&Z;)HW``QwcE&HvL2&Zen=>$QtG6G~;2p55Up_=0;}p^Lxmy1u@`LyTJ2pM<*5;DrKqO9Ef;$XjxnFdfy3b}iI?X#^# zlMFH0dkS@F>fLBXm0tkRiYf6oP(I}p=K8LhE2PPbe1YH{O^1 z8db0$Qv)N5`+P5X{(yxU4mk+2=>X&d(-P4mPu&(e804KPP79}#nVs$_E-Aq%psX`$ z!t7ROsGqZ5jiA$jYj(L>Pjwa9bi9@H?iR+}f7n&qLHyb!mr2*Djxd6|pnQ>Czzhe`M*srJE;qB(I0(b;vySLzrdE+MF1AC~Obi9eN1Ou$LD;LTR#d zY@9NTyzJ)TDSh$_rF~H?cvKys(~B=mNNyhgT)8}(V$}X_@Rgt?y56H|a>=@)mrzKr zIMG)-&%hw4K?pnK>*UDt_8c09?S4}u@W0vY@QeT9{(^s|`6{vF;!6V!>Ao9=3CqSL zHA^Y6+N~m<@O{>2a}*N-^zPK!W3Cx08c@I^wk7udu}<6tJg8nAS|~m9?#Ll!yKl$9 zVdC`gFm`HlOT&nyB9jd7-~D-d*S~~3SvG#n6RyELnEu`+{ivg6U9jdZ8&YZw@|QB? ziSAEQ+FD|fQKa9-93vF7zv(kk)L2qU9uO8NOIWe zZtf%lHH41>C8jU|Oz0VFCW*_;x+USH+|yOWE27IIfzT@>M1Yuj_1}|sq#5n&z+d+q z`ZlV>DBvWaFZ}o;-jqaG+(&6+W6liNzI@{k7Y{{j5nd{>>$@za1GCihm-n`ZvcQuT zxleZf2uwwMvZH=uKptI}!q_}rD|rmn@_qO>Y8S7-JsB%vphvZ9|7kR;Q4Uc}cG>Nv zE&vEFwM@r5135(b2`44|+?tAApY4e)$>+}A6>^=7nC`_DCjEybQU~b*KVk;%6;{`L zuPc^#EykSwR>mqZg{hJ&In_E}EdFP8e}sBgT6p{90qseh>g1Y=K0@L2o53Y&%KJUe zM*#GL8OTNwUz*9}4|$7QDOV?^a%5L&3Xi$xu`&bQSGPdJ+T{tHHJmPHO1r=1yaOIV zD+Gu3_kAQsZ3bOxk8OR7Q+3u>%d}XlIu_CI8-DdDD^s@8>s~g5cCf3T{+*0mzMRl1 zJE1NfaM`e_TF8!NBrStZc~@lW6&YtS_``~`#(H2)dAB?q48(y@qmS%BKD5EQS#*Gt z%>AT?`s>U0ls!w`PcBhiF2L^`FA%Is=44RxxozS zAW|c6o_;%RGsAs5O+`%>Fr|2CsI3M5n5Z>VDwCAp4dAHa<5EFtw9{hioMx2f7%s;C zf1`^&;s1`;l1aVN%CfJbAPs;H9+)VLj8(e6;b8pacxvhc$ntpzqVRvkECg0b()CYZ zO+@82lbVMS@HGkof`=qI7fhLKGg_qKj=vfI|1fplK}|*7+CK>$mEJ)>nlwQakWN%O zBE5+e1(YfXg0zreqX|e81q7t`UZf@n5(EL2UL;Yf)X+=XcYN=>_q&|oADGExlC#fV z`&rNPTTAI*LfcgKr*o@AADNRy+$h$&xo{PksgY9?Hj3mZ&9T1f07(X)L~`2IR=FPS ztrBl_t%dnuIigZ6`)8q-~|j$duxlQIkbyfzopNLTC2e05K84HZ8s2R&WTQ2GL; zq4X$u9oLrwWAwlSN`C379vdu!*ceuqNek1C_E1h8s>)$l6wgQ)E|!1-aq(16=MU1M z00ZDJc`o{<3bi*iTTpLsy1Oqg|LR*)DkL0~q6(P{uM8Qld=(di+&$Ug&cU8;Xv?!G zK;D1ZOr5;-ij}`W={~w^z&O7$X~0%JT;GDbHBx@m)C_C9ONGbuEdYd8&)&!;zwLn0 zhWjvWWR{QRGFM1@OmCpCDg=SF*Er@$f@W|?#e5xigR4t2T5=y zqCN-r`Bq^-BTtl@>8S>v^zU+NK*JJDqB4aozRuZm4teV(1#A?taRBshWzaP!Dk+@v zX6ETH;VBf;Ds!HEdOj>kDcu#@VPqox<@zYk4#>U_CD@UgJNAvP=#Z+#Ak3eG%O($r zxKBy*m@YY37hR;i{>Xa^^|&HFkM;F7HzbEg)zL+bte4oyiHx9h=**0_TD42pTlMu0 z)%2~nW`l#G^|_`Bwsgc~2o12`Q{ZefGQ<-gl&2bC8JN#LklME&DAaSqAH zNK8nM#0?mCJutI_j!1porHOU7U$1CV5STdhTtqM)uPF5bksI-lzkJq08_q=`F5z{h z2vh2qA!qo&i+7pUqa+gurEc}W$~kK}FOv%vJLDmwYovt`G(8RYK%n zUwTIQT1o+pEWGc^noIG0>}`siN?%%BqB+M~V&G|S2E9v*mQw2MA^Qvt0ltMlNL6UW z>Zq&E-s6RIlOD}Y9RPOljt$u<-?#8jIW|<_5w;RErwF@Ovgo}my>}ER=3lD#q7F%t zk-~nWwS~gWIa*%n)}4U@Ym5voUtWtjS}E7CuUyjQqX+)=aDV*xp;f&%{HwjECz{!p zl~r`HxDU=P0xOqG@7>@2&FwTCj6Ir<6UM*P-`jwz%hc$5r>p^DOfCt%R@4Bc?u!-F z;xGNw2#*46^3k1Ylc6e;X_K#i+M2DP!0^h~}K4rbY*WYVy1n(YoMeCd;fc9uVs`2%2P6Ov1O3gewusFQTB_JPIoSzq$Jos z#t3`0>1ET&G{7VOBD63E`G1Oi%l{PnQcv@@_5Gqs=Ahi?h))w9JewXCH4U?Q_+WB2 zJs_+&;A_}dM1gG=4O?>JI9AiU%y280VjSz%!7 zM-1}r<}Y^O^VEzLn<3B5R2~RAiGi2<*iQHU%K&RJ#3#KPXe||nTQs2*3MQoHPzcI< z2knziR~5bHWek^6w~70apJ}|2oQ3$2>o)zi*w0n=v`Kn+(5*7iyLRIG8i#Eoelr@2 zl)mpwz|h0D9O%aM&ogg4g=>eoV4ai;SYyN|UO-7@%9idL$4MRt8p5>Tbp*c|4TyvbPl;ilaF{ONUDC?Mypm7C?7fur~+_ozzau{pXKP@HU@ z%FIqO*_XA$Gg}hnVkehrD8d{4JV^})9%QzH&In-W1M`R`) z#QBZ~MSK4U{X}~Gs(AuJo(xs8o7P!GTrR#^y>^K;XA~yJVd4^KKU*MgT;%hdR}Tfb&_obgRqo9K?(# zXVT9(%-(H+S~J#{t~ zGUH=(J;D7`V$V@^ImE-g3Zr+${pmKFZ@CgTc~yfg{;k=pyyfxWyv{X2^D5Q)6R$Z zBzVV3SktVIgV+(P{e$rT@Y}vS;5zYEPfzLZ@OJv_V+qa-EFB|^68!!iS zWp}k@|LFOrg#tnt4s`ROc;*LXm{qv!uAUpVOu}Wo=f$E#V(3ardeWS>kdlSW&+EGg zrIX`&8XeLklHxLY=Y;1tDd5H%J9CKH?1>ey=4PU5t%NFJgJxfC5`nOQU+fh&XdpI> z4M3HMg_uu*i~Ze9T$us>LE{^s(%z8DjGzA_YAtQNE-Hp{r`MbtiY7#!68bLAf|gLc z(z*zUQaET)4L6IvLO67a(fQDehU=BFOzHn>(AgxcxH!7x9(2w{E}q;NOMUsG7dVj+ zc21Hy7V0z8rNv{W=x9!_3!tAG5xliEk8`2q%?>E}s-L&VnM4Pj0DJO;uKkTZ&RvQ( z__o6TC`v+~hyZ3xLP1%u$GKb*!Km6A!x^mpPRWejLxhon@Wd;ymbc*Y=uCqm{nU%N zdIP9eEm;W)_hFWe+ABPD!R<40TqaoR-GX0fW8vHu1H_x}!)p32AFBThLI^VrV_3LO-@4NQhkvs5p zuZwThMIkP}cof5;>4BUe5^=9a758EZK+-K&iiQl-$=)|BQX9ZCV?au)Sz5P5_oW$D>je)f7K z8^Gq~W_f-ud9hrJ`ZGR43qzz1_mg^vCJ3E(d)~+zZoJ0M0 z4U{tVazSesrL^W8b^7Wl%)1xWPq@};6tRyw$dU%F>%OwzR%{-DkIVBwjCVoo$)7qy zqWns%S*+T*1y>qklBAxsr^5Ymo_pDo761}>rx!zYJ z`oiRjh0&*4y8MUX^#D4O?W~==9+QV?h66(Rs9`jf%3E(7npVri38b0dM;m2E{d(9i z^!swS-BzXu5CeetGf@c3F-8@Co{-E2%;I;4zGPs-_p~)NG>9*M`+ri(8cM`0>`2)m z-VrL|rrX4T&Kk`NxJuLO&Ncrn%ZI%{>X^UH;K9K^BBRPRJTrSW6**VwXD+L$DRg7y zGM<$b8S*6dZM-h(OZJdLEjHKh1F^L05%+gWWsmdTwQIWmePVW5`Q#r$YyeL9`6w&v z1z#Kr#Y9v3xYDpXC#Z8T;RTfY@$)|)L^^vyrFK?}t|;j*4)}T`lT4#19wib4p^f(- zWbBiLkcXvyZ8J3VGdn<}X-o#}a(?E1%uNsEWc_O5EA0vU3XbLj8m|d3VWKKw7KUIB z4ep<)N5kZ`#v+T=VKEPi5gBRuOJoEgI1!AfqS20&TPLn zw~wURcQq%fe1sB?t8rQ)hvW7^6HjT^z5of0>(Pr0`1oGj=9i0Sz{eIFPb$5w)}$bH?0oT z5OO)HLn+_Q+y<0|_EB^cOQbdf6?lBDQpQs>7UXQeU0TfuSi9^a3c8gP*pN{ChHX}5 z7v1hIiaBpKhO9~K`)SDi&qrSR-QCDt*W zzwwcgN!}pY&ZxZl=ql$&tXq3=c+f z0IMSp@^RWr6jzd8oR)JmPi^8NB6Uogz>`Y!t4Gn1JJTZh@!Lg&9zO?@^1HLIiwgc| zu(@avyz;aV_~#z2H zlxt_Zpx?DDy0j98&(*h zT_1@rl*jLD$Jrinh=H=2PsAApfExJ5StlfI{(JjoCI5{ll#shY#cE!mF(=Jf}wH{j)goXvB}00qE1>yR!MxPnnKuwjkTjr@XZ_Mr~cF ztRZG>NR)!Y6{P9jk~Oqe@V6El)suvjwv!dZOW!?Vx-rm7I%~);1CCF1);2HvDtGYb z`3-RjL6GJGFMmgLjZkHX=C@mxF%xvB{yZ_@87?m2PN6=j4GMGAxXMvns0a!iDP{c3U^&&zA z`Ne9avnc}r5LiEQ#2@B@_<`fgyUyK+pyexm6$u%*?@dQPcTZmJQ;haeMr~oBXYj#q z`f7T>R|@DLYOfWG?PUGz&J(<@Ip&wTLu&xe?X$^}!C@k8X67$2g2|Y^<{X)#vn-a7 z7%8FEZBKBpCf$}L+$sfDe#=N4Hu&^{g4ap$m@c={L)Ag`mHf3vR(k&&Ik%yPeN2UR zhzPQn&+cLzMdPR_UJNnY6l_k!i{&*xy}tH7=|Eg!-PB(YKu#ELGH+v|Nk?a(CjDy`Raoe}#2W2(Q^oRAYh5i{?g`?^y zN>4tI=rzqzzmqfDJO{ar7uRd}50YqIkJ7vW0aI`?S(qf7?(;cH&q+k2d_M`i9e?=H zkguN4F+Jj%5ATR>@=lTjIDkYu?mKDg+-!8w~Z(Ar0ZDadkqf6cOWBjkylWqyt=2VQEC zsH$m*JN3Aihk9f;VgW(E08$`t$V{_O{8jmVoE%%lz=Ya+HuU_1=J17q8iW^ug33%= zlA6DsIrCbIy^K0f3~2oEmJM)Myo3xcz6h-(SdM0F|5xx1`loSCG}$?KwV-n!pUM6g zkk2QDhRZP?AE`P_NBW?iw)F|@D?Id({#hyIS1s5cb0Ku1zp^+m+=w@LhVoP2J~;L)cpL_$@RT5oG%PVmm}ruwm75U|rLfb_HpxjZ?Ld zVgV6*hc}p#PaH+NLx<&9aZ+Zg$`ehU9HBoZ9c;PCvLiV4s$n%xdbzgkbtJ*Dn^;Y4 z=48x`#5zA^M`LyNe+Qlq?{kG|kA&00BA0AfiTV!55q-+3^<<5EmTB4pz01`mKPW!e zXpRFTx%jgLzc=qOM~^Folo9MG7HEVm8hbQ2xU|0W?ge7iG68Tw6&R;y84YVoXq$dV zo%xDpXXogj(E9m6K?FJTVsk0<(Urr@3E7dosyC0M-#&X?;(A)c!;Adez41^kV0-cc zOGp`l!23Mz-N^YG9HQu$Q{s`rADvsLSbeh01?a`wQ$>1x5`QO3<{20Me9k9#IzBJA zu;N?m>aFLPc5(h4+_1H(n@5EJ(A;<|RS zRj}FZR$C5OXiY%z0JLnMs&4OY;Q-Q99ld96f|Q0HgV=&{T1f?1ES1OeMIa)vNYulU z%fo_SSQRHZJFMLDM-2IUE4W!zU3VC@v2`tyWcsT$a7Ep)|M!eUb9HyeybNT@*!N0V z|D#Sm*zD?d(*FW;XWjn+bA#>Mv`zmbF|9zzkN=wT5ijDBVh?qZ6oqN4&X-y<*b-n> zq_bkPXpy4%eLHX_KOsnSn-AYYy)G5An{N=G%qK=w| z(yp^OW$1m~w^FKd2l7D};vS4fPa4Yj}f9sm!MlBBL1o-90@7o*HO)yOOb(a1ri1grN8Zo^xn%&(Qns-Oz?<9g zk^Gv^hF;IguB&Tgiuye=i2l?a(tzR#6!7z>KTAtB*TdQ`?&LIv6{~^b1g1Tnhss$l zm2eI8cY&_8X`U0&e7I9ed7ds~&oqzJNOLa!y>xsbBc@y&9VqVkZD`Y6~l z1+O>Vyc(J2Np)BtKbELIYXFfF2mGE_;}D;6#U4(CWqUO;rnYK4T;g6^BX89_p{q@d49WGa;|mLQ=Sw*5-E7+?NYM=&hM$P;6=`E zzCId5D%qbp)TKy7R=8}@AKQG4q2gJ0Suc%mCnh;LKPXnAXM%BIHFr{*DluMrTTGrU zZ}&(VLJY@u<2AGgjl1;;?07$b{FtvCebRq4#m5%hOv;1;F4~0k{*QD9XO=8(d_Z#G zVsNFy;n5=!q+F4wfhL%yES683kxi_C*LLz7F5zGy4G21QeI@>7RjvjDPzKZr6*{~L zaNRp;m~%FT8dM>kz(>Uo0Ky+jHW!qsCK~R@L1We&TMOr6i%Ov}P(Jdc^LHv|Fw=#N zGU3Avf!go`kJu`2X=pj)arja!WR}q4Wds~G>n)`(c)pC@&^Vg=GsLV(fz#2^VHX&H z-;UmYhu$#)1OuqBXU3lM4!cd@QTWl8buTgvl))!A>NZ>c2N(E{@9$stPaWd+9_ebD zhi2O3-(q(LIc87zNmURJgSzsteb+E`S$dxGoRda4*MRmS9yVbFvvu!R(g7@L} z>L$;@$fyl9z)UVc8YPCE4Dpn1h%L%syi*HO**?@6uwrF~kng$g3Zm0paj2wxD31BhO~zw=2Wg5B*O<}e7`4DJtgG^q0?(&3 zj^#k$y}~O2 z&-W|ofs>#ogvWxxtPl#@AI$RWY6@K$_6^5={>?Gy9_y+#)2p5wF+7;2gJArWq}skJ z7Oy*Z7RHc9^%%| zaU=zJt0Nx5KxE%Q@7)ajb~$)R_0@>)E=96|iKXA$4@z-mBRgKdaX5<|ZQg!;`LGbF z%m#2iwkQKER;*X<8-1h?3QGJb{s*N~v{Ez3u0GqfesZ7scB1{Il99_tEm5a+>uWdG?sbk`{g8q;)%o3`H+2zg z_6q3?jM2YXpYK^aug%wVSYz0R+UzK6d!6}^G?hKI(s0r2L)@{S#d(jElZ*b?CzrZj zN7{Z*)}d-H@&-2cT(l3R?y2ZWo0LUYxe_D@YV9-G$%j81ADDPE>$Mg<>dB;v*382O z^Oh~#MO9WRxxvkcloSK90|Qge@t$lm%*j1{UWOq_& z&R&etV`qlTEvYI)6rEadeCae$lhh%VERv_KXvjC4y8Em#s|bCZQx@Pdd6z>>yKs@> zivpv-^dG@7sNqjS>@HVLfSKT>HpxN_hl>Z?38{BVdO2t!K3MUZK6A3YC#=i$UCALU zA8Zfank`=Rzf1R(iX52nu)Bh>*8u84R}P(`Ctjt2&{NN)N#YD4VpK@#+Nl#5EnesV z2Aapv8+b`72(IY}dn(V&%#7gOUWWCTO{kVb^9CN6fOH3@asU@-3SGS-eR}18UEE^- zIx9IZtO?5DXF7~!{RQzT?_P>J!!amPnB0DX$byd{CbL`XR#oIV!{5@&Z(?wB;zWHsDA#m@ssZX55jgVAWK)G>6?LHWCQWd)S9mAC z+-HLjcjj&^bB++N3m@1~b01!S%4^KhMfB}W`-IAlTyXbw;{%I{Qm%uME(~}Ol&_xJ zsYd6~QL=`0^UV4g4;|P=!Yj*y2$>c%cpcgw20q^Lh{1D}` zgL!g;U(~w$NyUMEiADK`s`}#wVM3ufSM=CfYG6-pt${3?utXlb=~p6N-9nd8a;oRj z4gxV}J>zzhvPVZe)rW+p6Y0paF~B;TQr}?O?QyORbql-@ovZ4W^>XAnJZgQtv}%qq z77%WrBHs%)AdhGq*ZlaCxi;AM(?{7Bm%9)r+-3UZ)xxcpXw{bCrgk0jb2sCYlbHR8 ztV;$guvX45$TTSIW`WEPik&FBtIjIGh&*mUak*ycg1(#FYbJk`6mTw?GR}9Imb}NO zqf~xJe&DJVD?t0ay9pd#ATzQjqia6LbCx!vDmPwNm#Kwt!b7Z?9%GfXp$C57DOUuJ z1&wKtBqs)8U1&_yfg?SYBRy1&HWM7>lD{q^ZdY)3_Vf~%-%6#MiGj|51F2{gHLaY? z0r%w3w;8C!sCs|W*ZLOnhx|Sr@>v;hWdjnyP%#w!A4OF|RrMqy#O8MT>YVsFU@gcR z0-JVX$lJ7@5&GY=A4pR(1wKg{A8zh*g>c*BG|<}LzH<^=7>;;FD7kLEC{%*ejC0b{ z*u$iAXViKu1IUcz0%jjyDz%SeAk~U<&=$UTA`& zh{QYwVp5T`k>kZ#^E_?Z(}J$t)a;Bro^{K!Xzh`^MN&iNvz{h+;@=Vd($+on!B z+-FYN=fUB#5E1jODlgkQZ!^ zMJNz$hC3Lcm>ZS93}%pPnXX_rR&6;n=+`~p7aYLrC(NkMTdB%|%dJD}7C3~YbCoFd z<-~cmX9Krb`*z9UJ$p-&+)Ay8byNFc1C_I+o4iJ3ewPiyuHRaAY04X=V8Q)VnR{}~ z!RV9th5R$e%oWV>B9p|uV6yN{XMVp5v|`kHnj1w=|0^O#A~OK}OFu>a$tHb3>1M_g zuvqn-r+-!oP*gI~UE^pk$W0yex7F(5&%VJ!mXul_J9T|B!1tlzzPG-!YBvld@atJtlwP=vZVTSO03dug&*uyuAmWf!;0DRe=Bi02>ZP+vgy=ZvWSPoc#r=3Bk$QtgruD zoenq+@PUk@fb+pk$YN-U)uQ(B--6R3q4?skvI{9-Jw=%AYa2eWTAbBA=P*RzON~8u zrXVx5{`wYHpocN9Q8%D3psl$2k_f4d?ObutdnaL8BF^QG-mAAu!XQczBgS2(DyXKC z=X0rl?{cX@n680KU0DZD0W0W-}kfb@H3HWOgqH3Ia?b!>OYf!&6B-#60f>$Zj#{M@lS zz{Q+mNG(XwzD*lF^-cvOJlT z49~tuySN@XCTdoblH&{S-64^T&!|9l?3Ye9X%qC9d+#l3X@!SI=D42o7qa#W4dDIw z5~b2VS9vS|i;Sq00u+}fbnih)!&2%WMpl+1m|Za<#2r%ug%1GboiBsnpKHS6@ii#s zx(Mt#l(edEWYTw(oG0@2Y^G>7q49PcJ&Pq^;3yyXD$Hf#=#n0_0eGHyG@D&Cc>M5v z^9kc%mAd}lnP`bJvK%tf_A{*f?&RsGoS=cet-#4fYK7U8P`g{@LI*tKxp9B|;wLf) zjziOJ^Tt|9r?%^Bfm7h8MQ%>X*Pk^^R#Up~G*|-LZQ&>SwZD>3uaJgiH6o;kIA{Fg zb}^6NQ}KVVF((Ii$a*7D8N}O;R7)o$EIyq2*`*lIH?GxE4V7p1_f9i^zEFxH`nujo z7bP~W!96Vn3!q5n!0&=>%eb(c-4wh-QfpDwRSWO4H2XBdTc-w-6Eb(SId}Zve}%bo zGuJJn5`trjuAA)!Nj}`eDRm>Pc#B}Giz?OZ5Ib3#`AI85Heat_cjBT9_O&w&ikuCk zZffH9KnsC)n6l*~`jOD0dE~YUPP@jK;ru;kT|hGK&ri^VD=0$w2!*8t4#_?mdhVJI ze?ns4QlA_gSECp65Li&7&n;$5sJilpXU|>Xzwd}}zDK-O zy6vSAWXS)0zqZ&4;6NXh`~0i*r45RF_egtXOKK>edRb9>WDxO4&R1a*a$1K%IcpI% z8b(*-*-t)Fq~q_v z4{zJbpKQC6+F#2<$#wN0*c$WU>NH?z^t?VBB-lw-zgysfnidgSrT5 zmR28{LUtraZE6M|Cv=tcRGnMIw7Oc5Bkv~DBS{K|X5f?B+z(K zD|p=Pv}dZS@HAe-xmeRa;ZM!DW<{DD=T+QTobKVC>bu(|={?uDehI}tIYM?mn^*Ym ze6$m2`9eGDAjkkPVf}JGKgPQUlL}aP(QV|iK{Dxq$k){s&^KWtean(%Pju8q@Sf3) za8osvcxiJ>4x+laMc1Go_h2?1-cQ{$6+Fz&B{fY;Okz2{VwXbK*;=uz-%3P`uCzHW z9b4`m|L$!2`6^?`uK}^~=_1SO5l<^@ML@wUr}z0(>;CDSK&e98TuTw_Qr%u7g#2Kn zXxG{|UYA7hwnA%hO=F)hQv=G-M?PDaQ@-gWc$t+MIU@VvTI75K2Lmvvk~QR2zv$~~ zm_FbkYC1*#V?$VNN<;X~t;aRj>q`UX7T#sF9bGy4c#Dl_3L#Oa%~oT41PWI~m6!N* zMf)l|9=B)cDwyB6Y#1Ass|kT^HBF1`-{TRz@gi`QFZS=Gbbznhqs|nk!Hst-!jNwd z;&mC6z;kLGAT!b@&5%cH;k}6Xl*qw~Jn#aGhm06vEyi2%Jcb2FG1-AK54HLi|#*nKvzN(HO}()$M@;sIxlHc@;+$RNqkl*mHKFp zsP~}~17=eG0{9O)K!nW|*ozXfSJdw!iT>wtUq4`@QM;~qIfcJ6g=`FgS^z_>-2YZW_JxVxHv zE+KO?GTcm?OX=ynL7P?1T|ZRy@VeX&vPb*SkBA%sU2u~hszR)BIc#}_hZT8cdszV1 zs0~nXJ{8%8B0aILeDG)6j-$YfU>Q0`kV1UG9|I_g56Y}MJ6sIUx`;+_6lh$ms08H> z62yg_X!{kxO@dr>7`o2bUI-wTGY^LCOx5sAxU}pFO~eJ;&`--h!8aL~TIJxuq-y% zfS!--D8Mqdc>`*8Sxfwf-*dk!3h5#g)q}fnnhxT9vomY+Dt=5T4HG$dHK_iyY zD|lE}q$&IXHKH=tcX2Q%U15S>ixw*kNeM!Ug4rlKPzMPSTv%t|JH;vKAR}s3Gq1Hh}hqLkNI{pYvB0r$5Wqs6#)0O5+%DH*{1d(7SVR>w1=rPtjVc_Eo&Bg)K-%GSi`W0{ zR9P4u_f1tv-2UA0wb{2zMvDly&WGD}@El$c&6lywX1GwBpvd)metavdqi3_Lx=x~= zaN8X)Jq0ezobsB})OO1Z01x`V21o%Gu#J;EFQlMlfYQc3F4eICJhDh7_6dN^<4R9QT%41SvnBANt_S^5iv~8CHI?zd0HTZc|Mfg{ zzRg^laln1>i@FFQ5@HZ{?tvLxkpd#=10K*y!ib!@wg$D&PlLp*=49#70|D8RBWZOHO@BSKZlU&kdd)wGJpw#{zjdjD~kqLDN3C3a!{g7~ni zfKzhBN|SOS)P+@u6GEqV>l7h=nu|lJMEE!kyi#g${nR&Lo)ZTe^M$^qw)sirIT!4Y zvsV6aRlr;pHT3VY>b125sUlTl_j3L5GvWz)qNx-*2ILQW3D&kJ%8$HfsAlrcK+p-% z>5VMsl8tPdz4?IF5gBPfYvAQ=8JY>sjhcD&tSt9$-JJYX3MJeFn_HVzjotKcft65( zwVtniBd@12o*wTyC193)AhkkN2anI9yYx2NJ>VSnu~W<=x|h7Pb*!cv#L!*i=a!VX zA1O-T=2TSVq&@!!`sxx-xBOAVKx#!Hm;5h3Py<|!Fw(7U7*fWm9lS0%Y|%Z5*0Q(C zePqQSvr+R2VgmmQnB}X9e>r(?!ZufCz@}vl<93*Vsc9vq#DlRf8j2DsVuQ~R>LCJn zXb!tageEMaBzHezBWj>di{iMN8MYJ|P!`OdljDBSOh$Y*nm{%*Lx3fsve z)$M}_-`=R^uHT<7Dm-c3vU-7#Eyo^Qlito(K>ypb@_IxVS>TX6R2H@q$kq*9S=B;?(ZFA%XgtK8|6m)xm6LSpS76HVb{q)GoF@G z-@SG1nO94ESY@K&;Diks?fs9;=Y2tbt<~G5>&4N*%B=S^}_209kro}$PBTnJwp`PuIjp!aK|^lZ(oF^w z*PLgM2$p{Vi=VCJSK(5Q0!Jr-m9c>0muBAh%wj7Dm%oOp`azT z0V@=@VdGDalN&DE%}!hFjT8rBsAluc{O5GppSm-c3C&VpDN}y?)`Hk94-k%T)ek*>VRn=ATx$E!-rP+0@?JrCpdv@z z!y1`SN%ev_ZNKWU#%YjlT2`m{Yo$2*kAnXdn$vaF`^jHJa@lKr06DnrtVmkL(}d3@uvb(yzv~t~Up7wD^Jd?Ey*V2gj8W(Q))3CuTdvuF~J{%rkVx?uCFif7{+-SYbTj~78&@Gk8jtyDmzKj?;N`F!aE5< z{G_*Ko0psCP>JCCwVhP5Wov6sv2sI^mX}of*=Qq6XOP=BQ!5d1pSlliXHpcV9dS7Pnv|aG(wQJYL3rfzMhD-d){g8Ns8iMdPSg!(no|<`3IL7HnT> z8tEze_Zjt&3r(_z#ECxM+F$jr;p*&=v;NW2XpaUVM%)bsfNhxmm=%!aRZ z1#Q@CCQ;74Ls@8i0ydnT`sQtWI?FaFTJtqE?Ti4sU9@BKWviaZ;^w2jqk?PDlLGt& zv%9m)!{aT%dMqq?6p=JOsj>uBs&S<6)^+ng(rM`0uf@X1=I57Pu(qEjE}X#&0Qb4vDj{DvbvMc=iBls$C^iTt0o|Oimk;cWe!qmveW|#|L zU}c1^0Zcy#Cb7@289`l`X(a#-X~5O!v&}hiz)I-{JQFp15z{``V6?v(0xLh2A)#&a2Uod8YS zF#?v61_J!%XePH)BZrE)`1jWEhOYPO8PPpGR51{|Pxsv@=@*dmwjTk-E%DcYe7O3X zpV$b4rG%QO<2OUE7mt#eUC7PV8*XW&_fu$6uebKWR7-%eloi1(VcAxg6vCVZY*0?5;@ZP70WV(-5K&>!I)!S}UUS)th{k98ya55>$$SJ!UN(6Ru> z*v%7Eedslg{93s zuVkVIjuVERJi=h&SK8KFhx3%9UR7WFwH0)_zpnu+ITsVR_Bj*2toAqg?A%JIB@3RO z=`3DU{_2?U7a7%qUG3C4 z`OEd)xjkGL>XK3?PW!_y%FKqR;Ysow90+rG8^6s!OWc8XW2tl)bKY-p$LTpBUg;3E z_qP$vys%T5X|f3oy4o4Ce3raDl4A<} zR9|^DwtY|ME{nf+v>uj}d%BG5oe5qAOCl<*xdLJAm!5|neA+9f*El(F zn(RT{Jo~+VoPE2hSWYYDlb;jeJ%DzKaFPTP0xNWYmCHmCYC!0F6ksL={+%zEee#PX z9o;WJMi*@}Gr#ltG_dG?CYc!=WpHp18~<%#{Q8JWseuM%d={a;7;|4cQLCaC6@0_B zTkmm*z7_*p?w5#{ieX|D>G?4gogdF}3Z^-^xfsYFE?O6mfehOBqX-MEz;RcfPg6J# z`{8_j-8GlCxbTx>P-6=bP+)M$eU4&d*!Zb!$%eix^`+xQOD8K8UfqHFELuO3cJETs zSN!%!OvvBa1I97zGE>L4eBo_Cr$J%|UJw#c9H3e`(>lZcjTNv=>ZMLQj&`A()RKtAGGvl3rH zoJY5de+GbTdkA_bwr!R!_-!k+kMzg9lpWQ+33CHyLWGTFb*VF7`c($!Q?2!h~RLfJT*yk_k4!^i}$U4)EYmW$M$YuX~A) z%`MQT%OorVLv1=Jjvn43Wxs&n+I-K?rd^z2rIjS4ooV*=; z#!k%mOAqZ3SgHF{?$(UX&ts20)*a1vLE-TlU|q_Cn5M78?n|fX`;9ng&e!3KUtCd>JV4 zB4}$i&Qx#GA$>}O#bEqIFuz>=NBz!u=B#fE6BEB?Ux-s$K7GhlwP{UseNw9b_`ZD~ zc2P+C@rLPvVn@oGh>&A(t*QmXpPE)bdy1g@v&;cQd;Lt0n^jq*fl`w+7GXhS!rkvD zETz})3fzAb1b@Yb<{8B3d#^;Yyi{BeEMr8{yG$xgh*KTSH}Dy51IKQMW zqvzWoG4tO$%K;k(fmiDAL-^YC+Zu)6X4uY_EvX0Sh)1bmziitX z{`^Bjk!kgweQ32%le3;F=yYPP8s^-2tjQetb_hEk)RX0eN$uV(7YfeRBp$RB^fzwL zHu@awqjX4eX@6r$$q| zhTEIdzmCV>Hxp}66ZlJE)f*tZs@FN;*+r)JNCWAAVAllD+LSC*=t&l0M?QyqjL|0dV3LF=M6ijn?d{$Fz-KiJA69d=miEFWhubRe(4c z99h|ZElc1|!JMR=57+3Vcd8(l{`@`8)rUQvbo$ErK9TRB=-~T14PT00h)FT^vq(p+ zpn2LexUUtL+@!Bv-0I%?_eo{u)RBY@7T(uOqu)l>@aIT^1}gjm-lbYA@uBN9JDWCo zYWFT9oYx+QcybHddI{Q%agQ|&p6DwW^Uht%lDY5_9fyKl60wNIsdn#)?{d8EfIgOV z1HFIGrv~Nk&obmng*8O1U$Vd$!4C?sMHR+xeZ(_xJt$zW@9l=P&;ad!P5~^}N$cU|yH*1G9O;LYPW68(nm-`OAw4Cxi&rtiWXVkft#`9_?;;?2^ zuQI40N1;^}CkqXPZ7g0h>=GO}`c|A3A;Oj7^)T~K@bnysbv9hYAtI@+X!>LCd z@Vi_T)A!P9`ECVsa&pFafs>P-W6X=$4?6uf_h8v|a1P5aaBfM&4Aam^&s<$9kOgs? zh#66mwvEe+i$t%QX!y^H_p&;R2sU{zZk$C~E4gzJO*4OBKv29>^Gahi@!gyCM>m8^ zevx!gW8yz$k8V^>0wp}7Dg29F?~%DerX&`hE$}o_-x0WfKzD*QvASAOv$iCQnRF}^ zOgL3w&c*sGV8xSmI#&tS={*m>ZeD0o=WwG$5`i_Y+J@M5hyhH*l38E{ zrv%)Y&H-OwI8f9oxN9cFK||vxL0w%P^hJQ(W1yUztn4!yXe=P-wvq_PE>RwO^C?s; zjVp2k55@#wJ`4Nm*VO;_zWjSX(g>&3~ zyT3$SIr52^ceOEbcrvcB3`@b?C!(zASQ4Uq0~k6=oIN) z6WWU%!b#qH+(U}}DqHvb%-hzVuyc++>v64wuY3Fuf1A>e&z3tSnTil|KC-mbIg-z}g{CU_fDz>F+?@V7vRkP3BK0h%XFuYL zlgL&gvOncDzTxw+jvoiC+zMVC4TuxX^pf20)ODLy0dkgBMHyJ8SI}#%Z!wfHTzAQX z0lkx&$|ns=9facl6R&6l;IcKE@crtA zcZLbJnyWHYId@~qo+mju6Y*T1mtJ_~JeVTE-W?77m#rj7$9SK(U^_Wf*#srOFDGqc+vZkFPM5d1QF58T75RH zmev$tw>pHsX-*;F1QN7!_`nV^Z2Gc`Q?dC9S|2!SE#L8jGwalBIX5!+^u76JzZshS zZ;lXd^2pEYofcN;i&)H6$K`$du+PHdwyL^A&F1dJ)DpE|?m9TkT3PD^pIX)x9@2gu zHA^Fjl{R=rMTrLX9CMwP<9tEh#Rw*f5ZVGu2s_Q|bPUL|*WS1y=RiVx%c*TSNA~D{#p)(dFs9JG8gPYt2 zuLZ!tpZ4vTPOU4z*4ngm5*P<0!`NX-XQyq2JcMkyw#LE{4Z(INmh78v1+z(iv=GAn z9Rm@8YlYd!JBG0vz5Fn&$l8>FboYq+_;&Immb^5R`cbR=FlS!f>87m;aELa@^6}IS zA}-q;8il5vctwyf=pL%ESgmf)t#1p_HFh1`fGJl z_+|CC7Ty;r$DC6EpTm1PW9xN#f89Q51^DY(xxk-Z^l|TL@Vm7C$jLwO^XrB`F5ODz zY17JS1S_Uk0p*`#-vrwvoICNmQbqCpy+x`KkvEmq$hU6Zz8Xrth>N9kz5PXIR3%l{SU!$v4fQt{=8J}Roz;Z zBdK~>Vs4_^6AcCWwE=yycX$>ldscUm7s66$31U2J&7w1A3Rs$f;ppZfs5J@ zuaY)1i&jp9tqxSvUmi#b<((4gs0&i(ni9{-5hur8y>pwG`Q3!4!lL#W@*lI3%`gqQ z`fN(iP`{eiNQdIA!}~(u--7-oA=`?Q#Br@7=MSXtpEldX**0|LGe-+pJR)@!_??m_ zBd>Sq8@1uLVhbgU_^dQRttx6Q6bW^U9~sknV=fYuvG?sP{r&GrHw)Vx;#ACukhIXgLVIvEvWr=NXr$e;P-_gwd<>$ySpiL~fr zED|MBw*9^$H~kkW3e5Pd03RtEf7il?_|Jj)@e`&f2q7-P$M)P+jw0n?LO2Tq&O*h(rXD=!1lRb&!UDLyv9TfN z1by)S{{WlSDS+r91Q{HY);<7anHiiBzI=djvPvu2OK8;?28(=k=Q!A{FLE6Z@ zvv!o}MJsA_VR!kmfyciF_}giuli#D3N`i|;?lCgD^geyNrCa(!={yRK4I!M;m75+l zsTI%rt#>dTAo8kDR?cW9U<=?HdQAgoz{eb-`g;fbr}e231=LVIvW=J?ff4)7IYZnA&N^Y#eP209gV;W z#Kv!Jtxl>t?Kd+cS$8=vS6n`7qS+p{MejbBRz$vo9NNH=1a$##6}{c*&xypa63;BA zZB;Ipm5{mIlPb)JRNMNf2|?w!c{)YTz2qRsvlBp*DtIxqbYSI$esk${GoE*iY*jOi zYQx&&dB!=ot$hGAozn*>0PBPlfY}xP9ub~#LBPeu3b!pNnm#(r1D;5tp*mut5Af$H z!2B=5?R0glL}KSMkL*{;CD9#ZTeb3cQI$EUjZ+o6xdatg|NSb7$O?Roe~xN?$wkNB zhH`~8r(Y6;po)iv=WngwkzQc!zjxtBzXob-w2^LI!<>D3E6`nJ&oT3lt$G5XD#<-u z={o<_0*Fa%e*!RRL#v-i^B&wvU(E()<|DYtw%hkkCP+}6LLzJz*e`sz&CF~c2fVyTZ~%t?LdQA80phZ|=77e`&5+Ux1zv87WSqT0stP3sUO3GIaF!yD#UNfccidvVg%DZkrQ7A=KjE zIorKQhn&R#{|f7+vh$wDZ3qPscZX2iKRfJWNa*3Y@0RDd?qS>EW49#c6?w>h63s79 zpPq>jO{C^{J?JQ{B63@}NDZl0VV}ttw!zbjfh4wBj-DhRxVbvns{U`&`xR)wP3$p& zPLog1>OhY^&dC{+g$~m$`#xpW8TuhAc|W7V1R!!wD*|>>?b~;|rauDaP4PBS?velR zqiYYHt!1}i>%}UfgFW>`Bxa#s42srvs2l3i{lI{j7f%Tgsafc==?FM*0 zM3}_3W;7{q`Qxt^Lg?$_-cB6;LB1x@i#dh;)%>Uw?exw~&s6rFUU-!O?n2f3$NkOW z!%sW4FFxnhsQhv)T2Xo|^~hF0LL(x)aZm<98Z(KU6SgCVMf`S4;R@n9uh~1>o+j(n zUq(a&c4i%a1kafVU3Ko#m8#%dQTvxMNz{IMTlgDhxO`%u!htK?uZoPb%!hNZ4jFHbn%ec#9{Hwj^1rT|Z~Qhm zPGr?;9mAjA#dRsI-`=a~A|C%-Pg(wl(a&HBv|cS}jo$){^Y*w~XDF8wm!XQ}Wx!oaYK;wr5)!)8c3i#|Rp z6~zU>^>-48%Ww|8!dlk0E3;!=F4zv$r5f83mP07UQlIMedMk>4K!~^_6x7>#q+r01 zPYx(^&A<-eyf!^}$auowAP)qLKjdB8sO>bC_I!?Mc=EoUJBrD3XPL|qyPH&h`sW)* znh)?!E?AR<@ea3G6HN`bW}t8Gd*vPdS-q2pNo$|F;+T4R@fA6#=Z0D~O#;RncPa={ zT9>7g-@b92OinW`pxHceB$@eSWFrgLj}J3&L6=>kb! z@F7Xo3MTr@MOi@N@KL@CqQwGs+wwxn7A}87BREgD)>kKA^RADA?h$WV3GHkU8t_K2 zAZSVibAs4a=aMQ9)}V)RWiU=Ni!!J#vP)^978wB4VAuhy5%4Bl(`M(tXQ=u=*uSU! zh7_43ZaHNAvt}hP&C;v^&-_HK%Nq^+gTfI@H0_aqI znM9n4r|aq6xn$&0J@+dTH#yN7gljNizVUQm3S1nR+yQvu+OO)JLIH^->?J^maBMCt!xJ94w z)X0{1kewbLW35K=6n00;xKQl^ zmZpIxNEzB9D24750YQE?1BO0#abh<;MqNmVXil2=`bPYly-({ZqeH`;=UG;9PP)A_ zk(|MU=}g|_>|ZG+auOT1^zg4@7xx5Htu!dXXutHS!pi_GQCGC|GPiYHWacV`{Ix+` zuY||ytc`-P@n{Jjmuwtu@6k)Y?ja!`9BZ^F)TzPwscSKwogMJkvAQw*W)0>|FpcLy zQiq@GaD@^WjQ&MDgi}Wh)lhP(lFekdu8|I5RP!HmkZ441PAc_W^_n{F+al|`z)C(C zd|g?R=WOpL;>OG*r?b;DgI)XJDxgdR7yI1q5D#pTB%^%*a^SGUzV#VfC~Aqhwj+@B z&lv!1Cu*FWom;=|dH2OX)M?#`(KHVA=c)KJv{iv17c?{d5>@$1&VoJzeC4xLNSHf+ zs3=0_Ft_UG!7)E;E}+IBpe5={x`4uK{v%g2qI1FneRdY#b^8TP;GgvTJ7+bl9i=Ro zaNI3a6yI-TPrN8}t56^;BxtMI4uNUpgzDC|#lgq?n%yEZim@qfHMFVD&h>Rl6TXQv zH$6R#e)ESQ=59EHd4qj^DP<9j2fa=zuxogwSup~;Of05T8^KB1^ft7%15f-f+@L1- z&J|jQbXpTj(%d7ptBGYq!kG;WM;knv5K0fo7u@ORwK(EDS|uKuqS|m1)ukvprgG;F zpt1~1y`51@0_SsabdqUr_r{V?O~~1}%knF~jTs4TVzLb~(;hg`w0ZUK(jno2bH>YC zcf-TKB6eOxKi-U&lJkI*bz@stFpE!cY*m{v&Nk^7Q&RW>7suh*)q1U0OMe&F@?%>T z`So@#{I0|;y3UkQZthnWL&()hr|@n?Xh%FW=Biv9evmr0+};<+nhAc{12+@U2&TGE z4~%+w|M9*hGS%0*eZwY}c7y_BH);+{4*#B=a51@qyif0YBJ=t45F_((al{iM2B({z zzkLE~gZrq2^}s+W?cdqO_>)jlTw*ey=Dj~_P!Z<#6Zq0R=2`SKab zGLiC|m(Cp3V&hhGD6UltgTjE4`g9IV}H z9@wsNGHt;bqaYa4=t;L}O2#on(f-`xmPZ*9)bs+PwQY9c{j5N6uu6-5>yP+x#XV!* zw?i0T5@Tw|J59x8j^ukKI+pfZ6v|!6T59cqbApjdf4YMXBH@KCv*d?$7=yy7HztL* zNtjL&wk$a&&*%1>RW%)k=$4|QUsp$i$O63Gs@UDd?o`ujhA6OgH|{$qI0AiBE<6rP zx<(G;T!b1*>B+#!i!k$1F##&{#oAn*m>60O36cmUUz?E=@LF6&2 z_uOYk1XY2R5p!Fa&w@J$`N7_-KAn=h>t|`GAJ}4H;sxW*+dqIb?zr8A%~h?6*itnY z-jldutllJ~!N7>#Fe_H6eA=r~iD}zKqfqQv{ZZ!z|A{3LA~-kKj_V#5!!n+ix1vc0 zaEi4MkaET=66`(_cEsVJ-TyqZH=)U@KI7(G26xkEZnEwQrlgf{c_&nM7PtTH9>HkP z;?O49)-2de%!Ne^(`#OLc3r!3J^;l^A*a4?Zshypne`XG8{O!H5|G@I8_DcU*bhjQ z#^J%*Q)43K+ba}BAV~I4-6vn&R$j^WvSYl#W+Az;oa16dVdkQKH)p)VWXy3d&=JXd zbyA=HPt@$AZUb-N<6$k~vW;AwS5G(bdU(WaM~NJ>+W!EIxT^LI&QlWY!QlH9bhqn? zS$Vx8d%68~pi(s|S;{MG^B{@XaCN8YruYZeq1ezCOZAfeYN?%!khDl0DCYWH|J#3Hylhv(@gk)h8DtV z;Gd$d26RV1jH9cv*J&I7#GmGH#^t=6YSsQW3#V^k>Q`F*kgw<>$lccDOXJNA=hjvT z+#8gkw?jjX*F`0R)vFsjnWq<@mdnnGK_LZeNx(7P6>V(Jk;0Lq>9NI$j7w{48s z9mO$eiym|$JGkFA(WGNcJ-t=TAl71Msj{q39-f41jLGu8j+EleGq8=UoUH6uT6Yu8JHGbp~ha{(3|MR@QUa zPVKa%5x}$%j04_10iQ(g#RjppwnQp0L8s_sj>Hwq+b+}G87Euc?khWD_uATv+x6+f zsKwE!bqV7K3FXIKmj!&4EqP#D@lV>``mDaRc?zS3e_j4oIrJNq&OrO&+b+VaXsQSJ z^&6X$@Ohje43loG9A$4JS8+0c^ZlIj{tPVXQ6=~jx0Zz2ois;%MoGoW56`T4I_RR& z$lZsAkxNqGzKf#&BN7;jZf$LSuZ%rQz~gu4puk{o8XBEU0Sq{?FjQfT3=R)xzo02& zx339cb-xQaaW2bFXxJms8gg-bk5^GYT;o3%wFJPx^rwUD|Bg_3|5@nsG90!cysQ@v zF(4*-TpoCiH#gXwb{W71H`=Y?Owi6R@GMkPLDuxxm%WLoSb^!Zl+iFES@O)vaz9cG_VJ2_M~`Ubd|U#sHct%qn*WQAVh!BPH;h*ar!~nk z5Pyd-B~{DU1bTN+=~2tbVq~Q!%#P=#R`MAbC;jdu?7ar8VAHM7n`ak=B_MX5Ag?LD zy6U-z)CBNrd7gTqxRQX0K^iK=!-Hm9^@&sb)1dgUqe6VfLOUH%+WIbT#s@wh+HD)v zX?<6mo2~0Yu*nZbYDnGyOYi)g_K`F{bK~B&>8E#{&;MNwbsR!m)Hs3OV@2WD_n(W!triqa{2!B$M34}pEGBMn?U78E0p z&LY4$wWk_(o`h<;__4el^2+)0OBoj*m>$%8R2yAP@LH#R5H3~4H{BA8mp)Kux|1^` zbn=)2w>8B>a?3m59v}AdrQGlLZ9S8voE20fqLp=+PG!5%@0&E4s(4!%e#d45an7SlvJt^-l2E5p};&juf$3#bjM_bD^9u1`<_BB zM%6PcR3|>4rTyIGUtx;}jFWBu?e~AB3Ge;`1M4)$mn67H>e^G4SDd}bc{4p&&e+i{ z*CAD;R!Zy9gWIJhJPj5Z;s^E5ZXfJ?$fVYW3ax3?C3dqjm4MA1v;wW-Nr}YFc#&Or z-1*HK#7srL`Fg->WAxo-v()6>hsD8`k!5?lF(p3` zo2{Dv{!lU&Xo%bCZl0C30<@Ho+y&qJ?m_D{5dY;QeLc1H&;C9rGqajmz*M8&oH`*D z)Zv7pjc;3DTGLuJyrkS`S7M79$dFnNHB2x0r(gyy$wYi^UE_njJ-H_9*^4BBX`OU-ZLIbzdU6BBx&T2_i@sG7n<`r60UFOw9nu=3RK}`?ewRJMYqj2t=qpBs z$b}YOR|eD%){Y*y{q|v(_1Al9L=vf4ab!lQGr$B&uV|weX&!k@o?RQ*v4MrP1$Cb9 zq+5M$tTu_PRe9xvh3<*m;@gLAD)LD^5mON&nSByy5dehNv{9UiB@$TQZ}nWsX{*xo zte&9Q=L&8@@x8E~AF>)--oeK+f;NM)jrb%sCHSe(*sXr;0C3b=dByveBNjYZ5w_5^ zyejfzUnje{T>A2NORL^wHTkne-#xJ4Qub#II6L|wM!_4^o_4Wx_o|qiRP^UZhAd4- zDP;1{S}4Wtz7)M{<{&qqN(g0WmhhNIb`3;7X0VsfDfP&Vv~zhz=_K|0y+^a>%v`(O zjI?8(R4(+{OXaltV)9NI9g?lSd+R*ISsxs!ewhAWKvv@c^hJO3b@(ztZH4Ecj=-*8 ze|?ts)Lay(g`?t%@IkH_ClR|N4HQMV4+{4OUHx@C!dN&c`Zl?wP*3lX*A-@Tb#cKV zmU03j74ENwKd;J-HRVtcbqa9oz>DUfB*2Ba?UT(9JW*etzmS7G0Q|MwtN)+I1b(@{ zCXXxfOed6eA)uZFQ7CJ3mp{cJi#=J(!GQ75 zmP`A5`$b-Vlwcp3Pc#t-|C0l2_q?>5_wraIr%&{_-Fe-#hRY_lzfmQ*2&6+q^(D`1 zRNtN!t1+vma3ZwIs#w900YK9y<~g|`=i|n9H`7;W(G2^?{IM2AGlxd!g6W}?^C=fU z9UHEYOso4rPqC2@f%X#FV2R>7^$`@!VEiLSNX7a^gX*gp98XSEkjl);A|dyfR>;{G!*1EPoFAczhK^sa847~)`Y2_AT{QB9K>U$)!*Cm4fkdgtY+9u`OO4-`1q{se5{jt|Y zcJqyGJ<`VSU2R2%ThA@Sq4`4S=H|)&-C%?MGn<@IhbEI0?j}#FoCgE>a|w5B6WxR( zgatoeUhOSX$|74p9XUi2iC(Gaam@_xWL%Q$VRa z6$WNFi8LPAr6GdXG`BZ>rWS@KMn3Si9@rv`ES+2JG6~cq4V4G_XpaN?Bux{9U%M^W zua4=Gn*=tDPBl^D`OJR_B<ME!y&LuBQCra`PiSR&eVj|$z81+Ju3E59P)Cuc z@@Hi_?KrPtG3@WrBa(ORv-JWa$FAFt>H5lP_N?3B{y5&_s0qOkJCRW)d{c<2A&e@^ z-N}=zV>^9n^^<|niWMS_FL}VeTag#3Kzda~$Pe!vh%#3k><(5!?^N z_8CRwCtWJWrl`OwW&>a4sHi~bqxE^HqA*Ah+&zAY z_c@$+S5Y!864QW>2Jf!(aI!S9FS`K{5@&EOG_p5Gn0$vKtA1MMi#8*2p58ZqD&~Z+ zx;CYJJWPtf&Z;l~Dv`2V6>bx=p=vuk&D!EWPTxdH!muPiq)GZbtgPpu2OnT#%UfDL z>dy!VsIu}Aotd6fQ~O7-{iNZ0uq{tgoHhCXPnHES&<|tE-h>A4I*e#h>5I9VbtF0S zn~7vgvxw_CaQw{!quI`uIH;RrF5sqB6QGk)ZvFJbb^7drzjz zk_TL$#}ML?(=YG_$MOS{#P4@{!*@>WM|I~35CW5GB>yA&Sh%LGWv2Q3)?r{55jt%r zgDWkSF@GN+y%AIerr;+%s$T>*$ZSwYxn1bLTzmAhmG!EfZ0WsSEXw*;cm7-h6^-yy zGicWjGr>Lf&y`;^1Ul;gesUx)LsvV`Dc|_^++)VgiWVqdJ_W4^D}41^ z4Tc?y3;!({gEfWaPOj2Nel^Ur`zC!3yz|%(UA^^}g)_5)+mYq+#Z{`)7%D3I*_UtPtAr+>2$md_8&`djN*i{RW|=VnjY* zWmjA3%@Bd@Nd?i5)_I*kdA{A~5z3-h&5*{~3b)+4SDIw+! zgK@=tQkR|^OCAr)BIU9B0`Kr}yh$TuFfZo4Y2=9z(_#%k$LwN6z|D4PT}?Pq43g~K z=Am8}k8RHqRLeO%e7Wg=Dc#EdKjUS;s4$Zmb9iaOwKbnw!Po_XVhL6s8K)Cdbu6VFk#Z8I#ySG%c`5D={<;@N^6mC zjiW*vNk7gSasm5`aqS})aMNP+Nw&NpD%iZK0LXQEEG_^zw4CI}ia7g++3g`N`-Y7^ zY?{cuDpI35GM1^6o&3>I*QfF!2Ku|y5oGpjPv2G-j+fk^W1};7Yrh(~M&+UHn-rn_ z$LRp^buj3??(+8UzHaek&n-RYep=^?!?G!lG_j4UypMRH&>cB&t2M`WIHx_~0lNBZ zkgFzQK9C|P^x=N##{HB23%&k0rox!WoGO*_`;@X%ZqKjD#@_LG( z!p>a;;uzOzuO~d>gE6*9*t!I+iKjqs_(9;Czy^h3a;S4GPC*=y*>?kva-^;jvaF9Z zwBBNG99Oy)po9iaAm5{k?9w#F5HDLbXh56lVf#Xf`S z*A)2x7nA|=*ciEWdn~!hB-| zuzP~c9xt*FWuLXLAS;6FW3kT~D8x#Reyt9F0Wu!Fr z(s95iSghABGSdz()P>TeR&a}j<+)v&w28ICXKIEj6&N!?D=&1=j;D!0lM}K#QWz& zoeeY)zZax%M9T22tH$H%tOi*h38f@1YGg*?zL-l#FaN83bqpfOm&#PEfpj*lse0-x z;-jX?$%mqC5oqXBt7EDDYL9rfEC?MOD46DC;_KxDr(zE{tDH%{D@UaF<{h>e{)C?i zrV>o{*8~t#cWIv7Bsq-uN_7jilo#t@fA!Pn;6-em7{AMFhPK8z!EY(u>VIG0KDVu7 zsu7`$A|t`DUG@Cg%&Swu9B=oVm2ZWaFoiJl z%m%1e=qtv04V;*s&T+AA<7ACm?EAHEdv`mS|1ugI3?Sa0avA{03E;ho*I?dq(r~gl=WRz*pxb|_lG@%;F z(dq?F7i-H%v5nzLVWL&n=qU9xKGEZ+4XK2$>8LbSh@I4Tk&e+#RZxW6-i?*E;^ki|}>En0b%Ko&t zMk4aqV1foukd-kl`Q`<*$cE=OSllQNx0>@<4#acH@LipC2*be9{UcVBK_2eGR8Y)p zx0)Z8%?bQ%RWqnrPdz~syy%$l_0M`64KJ{4>ta?wvOmPYlXi;z7UCRx6D7SdQ<+Dw zK>#7jsWymXa$6DUVEY?<8%wD@FNZY4bkd&&WxkUF*adDZ#for1MC`c!`uj3j?0u$Y z1vuaIS{nh1k;2oiP|>v(%wu)p!7t|Rp!Y=H)f+H#DA~i!`vz$;XY3QMfXDRyx4Mku zupqxn%?P1Tl-@Gc-PVX-=~|N891O%s*AH~F3fmB`TSQ~96~MpKJj}|;n7`oFx}&ON zt36*k#Y4~0!lz!HL;gT_U1;qPBTs5NU$u6i1LmftuCKwW@VK8Cl6@KEP$fFH38M^4nbim~Wp? z2A;sNmqQ=%DvE~>Xh5aUx@(XCwV?ucs!!s$WbUEPSv}#r+InX6BbI|mPM%KclX+d7 zZal10_90HY)#6gCHXu@f1mN!=a#<`0Dqt{Hop z&6kH)Z#xHr4rIOr)Yui)tl#`}7VKdPr8-z#!$cCQDL2#HJ#_RUD{BN@^>Q?^b9S$V z$M*=YV-y&J~_`UOFD2gUiIvMgh z4(X}9TnlFH*<%o+i8Sv9Oho}k5FL_1@54%+aQ=RnJtpX||2S}$5Bs@7^b+QaBdo2= z@qGb0bUp8?$QI4NKh;GMD1_|LQeucj?;!SMppAH{TFQ0QhkH(GIF4I0tVVT(luH<| zK>D7zW;8steG}$qgA)rWW;@s(|AnB{y9!1fp*uX<+-=peiUdtxUjkKAS`>Tta{(ns zkHCUrvedr(Y=ZdVdXi#j(Yj91`a4=f`4KG~IQDKw1_4&P0Y~9{Tl8xMSGfU0;0OS$ zm;{4$-I2c87mLD2lt6;Q&!~|<>pL``2P6_nobu4(&1(@kJ)r=;q^XpmO69q@KU^IF z#?zdDY*&PdVV?eBVf*nFpIeU%;VV2tmitzJe7@&|%38SyD-@Wvh!rhqIInpAvFt|K zbKnJ6Z+K{#|9?ffop5IDe+<%;mXc@gk+=WjkM5*!gD1Si|2A@OF##v;pD8?+@}14^ zfn@UfY%RppiBv|Mp`$MJ*Z z5imtI)?CM~M>uU$euN{Of2V9~!~EF#{BX-=`}&l1a{r51S(Kuz{!LiFzMUI%<#?rw3a=*VisSk*XQ7>l10g$>9wkQj3( z`fW)Q4;|{UoQK~`(FR<--zLOj_II7v%qgb%AKWNt9Ki()I%)3({!CI>V{iQ@+B@Z& z#;=ksLId9bq7ZR%N8~RPzvX*EQ6TqmcT#v%NUEx`8+}pDP^@vXRrWYs>WrIMqxQ-C zwgW^f{?#~94PDO`r{{lwdNOEX2UsJhIy9&(3YmkN{wN@{xzou~=b5kZh4HmcD3mL4 zzWr6>sg3d~G`N8FqFo*SlmKAA;%_P{uH+0P<9m%{J}4Z|GNkajc2nu_B>Aw9e8#K8 z2X>hZrmOGH)~a~#S@Yh){IP0UtDyM%Ics}^oMU@3C!RJI#+|e&Pf%%*f&qa@ZJt6_<5y8uA7-XK*#OPYEysql?-kXmm z&nzzjM=#uPOIx(3PVH#S`eykL)7LIP-2Lkg??u&+&gx)6@T4%MNzo1KZ8^)PpN%IA>y7#I+}? zzE&811)o>Sw`FaFeKamGquPJ7bFPDJi(@M@ak8A+u&#h5+Q+QSV{b8#<2+dLhOrVT zvhtg=Da=47$-eBn6$7g~KWh+LjX+;X6$9#olDLSxT8CI?R`7n!JXVu(!CCk8^pyXO z)`UhVZ;|3*EvK<;hVfyb&P&U6sL1c=p4iC3MalHe%iITYJKcl)*yMa{+ZFWv*Nkth ztE2?jZyUq->zT6Kt-5Z5RroXC6}jf5&%t-{9^q6+A8~U$(-le+A@2%gK$*JIJb1|V zoptahH!!c>j$6Nxonn#>uQCTRc(E!GV+0EwY@8C&Jy+%`Q2BsSyKH3an1$T10fmL$ zOQ(l1_5;ICPInc)9s|}*#q?23R0X@dl`s%qGK4w9RG@>VYtD-SVhG2D_9|5cgjmlszFm+_dDgD+77bmy^P0LU6OrFRFO(KspP%C= zW6bqt&z{P%)Suy?oWt+xp~9zr!6)3@7(S95VjGsY*A>Vb>i`UUjGL4ozBE)ntWpEz{DladSsGc^1GI} zaa`Yv<}78sMWHQwlt?zK`tuZu^r~wCz5b&@_(K&#E0SkUq3VLwb>31vfvbTJb3WeI z(2~jvy|nA;QvNKQy2_k-o)>X{?2HnY(NJ}dr<4@6Ts>D(W6f+JqQ+t(kBa0b>4#?b zhr}&*7cC>#mDmB@y_*+lX6~wgbNCPU9eyf*nhPBB68s%0zHbuwDBRP1s=@grE7RYTK(o_HnUI1Z7V1`Z{ zM>zJAWd(TZpu#5oWi=d3p;f;+{Y8zWrJFp#`PHApa19+UDkz|J_2)3}e4*ii0fDMd z?y48+5^K@(Nqj*v{L3y##u@qbT~d>v+n#y=+;#v6*4znkXJ5xlK&mz^>!Q2$i{kVW*-kaO-V9xQ-zLMpUkuu4imG^jhAv;%3-)S)$o zh#r*8*e&qg6>R#3r`>!$VH*#L<&t{NS69g4vXPHdo{4=9%j_c54hB=3$}f;d4d@Pm z<0E7Yt5IuER(0Qk*{8a}Jup#JsFP0D;<=@FN9;Kcq|~M}V*io!+gC3C-<4G;K?Si_1-egI1fW$)gtBg^)HTlnd}q zD0!SnuFxMV{3~3f&>;mQW#DpBLzCSU06oRSL8S7bvocpUA*|4}6aRX&`C&ux*YE2a zwMcTcj)C-dKjOMV)%#*!|2W{wb?1~Ze8?j%mW5IYOan@wkez0CH0Mz6*-HRc`G#1b zKQyG1K_h(UnYZiMy(?FM2oM~-^*>$iU&sfEOIx(j{6998}x zDMFGHUuAZ3Um6(uR^N69W8C8C)pA?Mr(&O`;@U1<+4-*27edfr+dAcB(FWntjM+XI zucLo1QhCj~z$Jqx+u9d|s0t!8C*gl>eZ-)FPsHwDWX+A9f_EKzb@koAHaK7TD9}Pn0OU2&;=qYw}g3o118vZ)Pqz?$V4PwWz&1kgZS5hh}mS& zk|bH#;}Al+7YO>PK#xe`qXws${C;5Xkks|2Cw8Q)^x>B)=$=R1pv7_*-a^WHUHQh7 zI3$>Ek8a}Rn>o7Ae4haBpo~w;Oqv8XAHW$JQ-J2ScoE@CoRih;+MJ;+@w~ZTG zec1Sx^HBaKs-E)LsjwA2c%%WBatMY&l(3#Kg5Lrn|b%MOoG zSTbKTX@hDjNt&weiINcd6oLc!CO(9p6f(f_SM_Q?T4#1ngD=~kdXq7-4yz~YA@E)aO_GUO_S)ohu38rvTE1fiVtXFhORd; z`4C!E&M*O`7cuczqU&cs;)6uw-$A}vLqhc%+Ubn_R<-Bn@6!Yo zrBp56XQ%7B4c;ysr?$BJf3IDX@rCBlQQw7Hm>W2-E=SsUBl2nX>#rL_o~cKM-|tML zuHbV#6<+G8rZCa-WsHq<6Z9YT`umdUi|96ubQ(ciGp1QOIb34bq!z}}5`(&S+hN8$ zZBF~I0_GQiXwJWBZ?D}d7{_M!xE^&=>~sU0#fy4_5ZS zE!+M)KJR%ggEqMS$q3$N6C2?Df3P9zfBf<}ll38+kXW2|rNZ$Ix3?;>=D`Qk-;_0z zQje**HueME{Zm6pDrPACu^$+cDJu|-@11ebBNiuBRO@5D1U%ua)VcY!D~7lvd@$dW z!UT2r<@f5hLSE%}l5l{X2ocTR&?X~$VUoU7IiTA%*Rs`xv&h(F{&pvWrkLsQqrbuV zmycCp05&D?&0;XeL3b0NWxN?4KV#M(4EVJ6%S}^Vj=!2QsprF!^ur@Ost{@sgfd>RJu%9^6R*vr>VTxU{XYD+?g3D|VH?VBtG|2NS=b3rJ8?H%d``ykpFn z>6py1NiKi2MQJ&awwaV)=XuA=GxW?&!6#MCr3GGJ3sOE`IsyiFKM3K(a=DmsQ}2_& zelr6GW^9t~=8C+Mz5z<06@E&Xq8rXuy~eaQ5LD2wc89_kYWjPA+SAqXO#3B$BzR(> zast{SjQF@!{D7qk4ZiADf`w^7jpuCO{5WY-Y{mPvi34@cY++~LqW9UK=P%|LttJeQ zib4R;+qc>x+M(f9nZj z-UJJ&P@Ow>G7bav>!!2|#=vY8=n?afd3Y+-v&D5x^)O9#+Wm1Xrm}n$@^wY9m!kX?vyAXd{$IC(B zD38&7Y1vEf1&WAgT>{c2xdFzmr+G3Yir~jmzCjx=B#v^7Zvz;dZ*{cb)j%2=v72%c z==c$yw4dmdYHbS8BQgpUls<&-{V?mE`dqf=hf}lSQI$Sm`m-%E6;=;{trCk%6rf+Y zQbe@p!3*AvJYk#jZ@AfcI!pDmD)ykqdMmpYF&wNE&4;aCNX-R*X;}x4tl4!h5BQHS zv^~tzJ92exG%nBuY9OhH5M&3G1)oOf41Q~2g;R?!26D+@pWpj<@ykHvV_C>I$v;E_ zwr*Qmx429v2=mKBT{lRu6^RMnPKYRE5+djLVe&T>6jspIe1(62yN*&$J6H8wdMT+} zwLec#!HJ2!FLVMV=YKjly}GC}QL-cZa&S5`;EbSlWtm0!F?8yfRwm}r74fZFq~n0j zmCy~T#}w1BU7el(hpBh*XZrvD|DW5O$)S@J=8*D2DLP?8B_!pLV~!P84yhbx*rcM8 zLqftR=X07vj$2XWG>4qCk@IoR!%p94pWpBGe!nmK54Oi1kNf?8yWOsLn`aJpzh469 z?$1&r<7eBFk`!IsE_~I&K1ef=-0*{(lR!&A~6De>;oXJ=Xj> zdECo;m?^d>66d5%%ATYkAG=%J0ret>-_C{Y;5~`iGa|<}_oH^O4^;Pw+PFIZXiINf z2x7unr1#v6`m(uLy#j;StAgr2?hG93o`1n~QUOx0hhu4n+7GD7$ZIf1h^!@E_@KdB zx~(Gabkfyx`;CBMlP1@uueHbdQ-5-0)&WiMo|0R~h26I`h12M3ha<=W%n9$Ux4&DD zc+E;HVjPbo5*Mypg)R5l6Bu!+TCLH#cBLRrhV~0vdPZQGdPkWy#)|Uyu-{bwQxq_q z?Oebs>|?{D>U)XHMep`O&7~ld`=4z<)c6=pNR-~X-uj}X%*ze`)7!OIWy7G{Kk#Yl z%Rt!FtCK^|Ede*L2?)#V5H4?V-#6F_!>$o(F9x_V0?&l(KPjW6D$kvI1^TI`p2he5 zX@d;VCEd7b*r}UqD28K*(8itF26z(YF>FZb38d!~zwSlsp8K&s-#3o*!`cQX()TCZ zuRI4Y!x{Z%1pk9QwOQxZ>z<$3v(GH@?OfcwEjce@f5P^Rf8e}vuoLwI*tp&_`a_4# zUjW#R!dh2ndvi@1Um@0+Gw&8IWtD}{1FhV$I1;|}qr0{Z)KbN4s~Be87e?Dyk@GrM1(1UuZvZUHgxx+xLn=hD4F{YpgBL}CA0J|xcs7L{!LDu}P_Xlo zVeMRxj`ie}9Utm%7`N?b#fW^6{|6+3q<_U0c(kr#Fu-7lHA zFV^Xs&GF@Fan(!Fc8Q(qce)!lGFkmW-m8~TU3=Bitk^?%P8=_zXlBbsQ9Crar0(e{ zkwGh=CxLXr>SSY!(bw_*N8pl@ThkIgHFiIu%GoLxN+(``xROYNhH-?te;T+3necYV zOCO@!7A8lkd~R~hx=;<5;1j!_lyM9IYq;MjqN0hVpfy247pa5X>%3oDW+XnaRnKi< zmBN|JO|N8K=Bp7=oz#7wdMAZOd-ysa8r}G2+-PqLAB4iZBKeqEc)yNeZ!kSh>}ZrN zP78C5YbVak5yQVb5ksHp(E}emEs}^6DsMLq``KDt=ZSRgSi3TYJzBW*dJiRkw_%}# znpz@vX)XX)g8E9~7)dnEm!lNl*!_hQtsAb-_2QF$s>eP4aV~;KvBT#v0(+E&Z94b9 zd40@4N>VOUkm-$iD>i`V^rD(!>~5#!Ttg0R;We5~fRcE=#KZ#IOXU{_l=tj=c!kS( zFV1k+XH|u!Bdze;B?dd#)gpFSU>wZ<6)Q3lSGG8PH3<+-o?WA*d&)W+AiN9utiAp;S>?y(D(A|`LP115Quymp^vu9_1R4Sn( zqZG2tNP5jldVPhN@ksKqcF|E*juiB?Yky zlTHe=_D`-L4j+*PidtV?$WZaPcRsT*QE@*IW8k~pdEesA`NJk!pJFVyRYY*X*E1d6 z6ydzx$pb@*0a{tn!f8{VniT+F;lxL#6KGH0uwkLpCESYimsX!OBzkKBkv!+brI=}~ zaNf87oj}HLnhd{Lj3iBUM5-X* zYFA*T4FbQT`83tJp5DW+$v((#GOZxI_XsA|YFkW%F-B1@(~nz1^I8BVrRic&KZ=J< z5BS;J>u5aSD6mBpmBwA&3^YD8>HMR- zN)aT=zrga0KHz5F_dGexDXPL6#N|V~3N}9o7(8Y2e&wtdlylbkh(WNv~@*oJ#dPE3eb?!hp;J!bbQ<32TWtRlo-`TK?C=H{}_FBZ_A zD01m$%pZK#G(?=Jac(%DUXulBTX@!5MrPc@>ywDtmflkGHsRM<^$xK__jL(+ z;VL3Cnr`}BN!i6n(7{;;I(3$q)VV%JuG_6Ww}IE0oYELp0PfWre1mw>mcu3k7#A^h zg3!P0v=>Kl1wWNSI!V}L2Ehsk8o~~lp&6&lYwEpBVa}F7L!zJD+Kp*M;<1q!nPR2= z`Ki?d(L&qg}j3Y)jC~Xf2Lcy zy;W!adfOHa^bD|z=-DNu-G}+0xGKj31x_WyNzh^=``gexk!oTZIhO(FBLP1Fdf>@& z<2`9%jQP3f1*0BFHzWj%R$o)Dgz}RRi`Opc{_>XR-GA=(C7gog{l9ta$75h8D+hr4 zYDbW5K4QCfZ|;tvB&9hiC-B@dM46Z??!E>HjuuWQp0a}}Z7r-6(dFFM_D7q2+;g;WEKb}0@K93kW^Sv{VnY-GurD1sXyj3+M= z@-g;jIaJA*d|1DIj*a=nZo#nnw@R38PzOOhy%ampcNs9r5-F$jNJ5xXNS&7i4})(| z$+s-p`*TJ!-!GX=WZt}p|D)R{z141U1#11~x3Vc+O6d0(UR;yZsswb@YX+Y8o)WUe z<+XdojP2D2w!PE_F^3cS$!x1N9BQAHr0CeDQn~0NNo{oa1`j8JPxPltV=w(r^}|V4 z=2dg_wnzO4MVYIwE=W_!*hamMxywchuF&Vr51dlnvk&m4rC;S>r2FwnXUX+~n^7m2 z2a(=dq~ggVCSSkZgn|{AL^9ibJh{G-5JB<#mCo8nku_`ofg0qj*}N1OD+5q(?E>f*bPt-?qW#V9Q@~mB(`x!J`K+K*7;im6UE`O2Gb&fs<|& z7Jf4HIB1&wiitvbgopBV7&mk_i?sH}$S63tz_r!AY7B;xchv2$s0K@)DBFd1;@e}d zK@v!A2*O~=lHAggIT+80;sb730~fw10g30=>(;?$(@CGtc`wj2@jjsRFtwc!9mZBH zDVA2eAHu&44`SO%P(G;d1C&a!51QM<2mvWb6k!RQe;v2L;hWZXzs;#D?jHJ{W#03t#^Pos} zJ@hN*aViptJI*o7aQfw?#+~+Xo+7uCUVK-*hvPW0QS02lPHlCeVZlDM&n_RZk74mUtgLoRQ+6{cj5QZx;7IXDO098ppP35_&iSx#Q=o{r!r^kFbr~MdWn>V1F9446E$Oi(pKcpc*Bmt zeP0A(8Q;sIc50*rhU=raG9nh-CvHeOw(Ub#`XxXuK3B@$J_2D5^J>Umoa?@Q-FLIe0__sAof;%DJ4P$?Pl%}7}mgU+z{V&lKE+ zt6mRik4_|$17@mIyiAU_|4@PGGKLknKB)n%k(9z)5kYfkdVc%Y)3Z_h@t~`=7D~O)_1Kh(Hb1RxPVyQ3sTc+d;kJ2KlZyPZ?7)uL=+#_ ze17zryau+I_=ZL8kCIJ?Z~l}AqBb=6GkU#_LCP&4d0qc>!Eu~^vLJVyax%xMe<%r@ z=Bfrx+fKvDHHfym^-+9YcC~i0b1ttRQ^j}Fa%tS&C+@r%QsI9A63cADSc8JUKSw{h zr|WHQ*)-m{`}}cXeZz51Ox=)#?dGZW)Notds?=v6P8dV;h6Bh9K_)TR&wA)zZ;8&w zzgoV51F6&oE5BR}g-IkfAfLx%PEkS{GY+ z;9bAE-Wv(KfN4hsPHC2KVS4hi!6Ya1T_-3FR>;0lKZyue@t6%u`tGoC6iq0bg>HhwW^yRzn}{;HouK=Y|t|L7vVKQu#8(vbNvL zo9lz(SaBd7q9s53koKA!pEqoI4-0 zBOi)p-#+4IB;69TanI?>uem5QxA+^OSug6GQJ3!PMT`a4%fUVg0K@(s?*Ou}1C$iC zNB#*eSJHVv%@tw^|Ku-2UaVK7ab1Os^V??}mp|c8SFB5NCZovgBB8NS;#y+B-h8^d zb!(8Dw#)sh-RCGQ&st`b;%{^AZ9BH{A1Y+%Qp_!rlUfURt-bhN6<4Sg6;*iu^;ZQRI;^8c5617Zqelct6 zjL_4GAZ}(1n!Wa!9#Di95fK;QCoCEE5N-j#ApTdeRtjO|I;~Hduvvj5vby2rBXN8# zx#ID=%|W_Nix*=fv)D+{IvY;ue&rkGR7VTQn$z{Rf;|$0-e~1mr?%2bb{so$Mh6@3 zOH`;ix?WsLz94wpT=$@xI)SDF&Nek4AItF~Neoq)Lr$%vlU>9mGJ*sK{u6?B4I2ha zB-4?5+1n76hu&lGV~e;?p3CZB^?`4##5l6R*25G)0j$}PIFZAX$hF(+j)Uz(nZBxH zL@oNq>YRz?XW=bboMJXOd?8$$WX(Qph!28aw?D`@+1Mqcb*gHbfK z=M}HHgf|$FJI0%VAdkQ!HXa+kZ6!b8h1b%JeR1(WJ3gOB`=3&Wbqzy|&+1Tnl~1ly zD*Y)zv!SI8K`whto)8Ok;x|gy{Fe;`gi@>I0(|H5dji+ZOUG%{VabwR{HTsmO|@(L zgP#i>DJs8TZz1Ko+GBxo`?}+06e}*Ar*Vxt(Dy}sn|vB8Zw~ZWOyM7;zkrybr9pic zQ`ydS2nuTKtCkh|Jds%+{Ai@)dZdwcG2h;~$gmJG&9S*T4LKpv3{6sPIfRlIJV_z7C@(!G4qc;fOa4_MI0s$iDVcP+9%xWFHfhRB5`rGJVH>9%P z)=!Yha7!c~J-U_Cwm$I&6(jEGUFetEmr@m%`WZ+aD)>u#Abq4+uw`#ma7$fMOk#4xqOlxF zXgq6zRqDRCzf|6l;~vAuHCF)m9sp)Vc_U8bqojHQt^#rAQ^ZrO74BscGpjQlIYu&( ze{|e@%tR_+sugBj!XcjwLzda3HU0l!P1*ULpn*o`!cHQ$6Tn@K5Hg z{#-*gn0Bn2krjk>B{Lik^NdNIs=baF+@jT%6B8?t zys~1tjfe7}q!!M~%1>ZNSOSNncY7=F-~zwOBIQ)E%9#^$#Nu$39Zpi3X?d~o;wssk zb7>wujrtPkAK>?tXIwc=>0Ie?-O#+B#@C4_TfCq7hlP6Kpd5efF<;4~+y$xrx3+g4 zSr>OOZY&0}>{3vjeQqS|;6x%p{p~8gvkPF4BrnN9jgdc;SO0r}9)QyToA~jFO3;bH zsfu}WM)=+tXMx|=aB-pOAT^G`@#i6VfU)*k_nl2?){dzo?^pAoU{GtSF%Q zG@fs}6xY|jj@8QIp9vCYQiY|pxg+?*SD%N2z`UbCR2lC|zz^!R3CNDG;=v#fJsdIU zqn`y=LHI)F?WETcQpSbH3#9w=B<~t*=@7iQUP6sGvn0&$&=OmuqlTH3SS&{MljXz@ zYu;6ZnR(35B=n3gpPZ$Rrc6V^2i=;)ku)bqO}t&*vXbmYWUMdV&1+>k-&%avQp|Y+ zowwLN737jubi#3{Z#_W_$>}mmI)DDtI)^(`QLi)0(^y2P zPYwRcODAUVpDF{u^iF#b6i~jV%T1cU3tG*a5j@-J=;?rER}x|q4Q!6s6J;QI);clq z72WYndQXOq08_qL3}~OA$V2VlR>eU#ZmlAO`?$FoCqytiBUI_xQnJoIzDlZ-m@t=% z9E=rb(ik{M#W!QE|1^jtMt6M82%+0YTHeX2XDEBK?-kXsW|$v`lS=#&z4e!!=*Eeh zgKr*fy&hlsiflei-pQ%$l-9VW6%_5}b!P|5t{tIZvM<}mzFI-}(px zAMYb}LDk1}nn|rVTbMn%cNF4W9j5NcN&B#g8!=`R<@N;nN$;Gxs8JQ1kr72bJWD>e z*jdC3k`G`q*ZN$4gT(bljTSCy>uXl^Q&pVOJIRZ(My@N7Vi>YY|r)uG* zYw8$Ax{<;;ndf}qT8b7jrII2=O*i-WL?6J&eV3xuEFN(Dc&3jz zS)K3Iy4xjt%7rVXz_T`e$jWk`8gw}BaSg2^4{ltSPYH39NCs_Qyrw)cRqo4Z`VMkl zs$_w6@*k3*#29*`{_NF^yP1ZMGUDlu_XFWKn_{BhcOB!kaQPuLtMgIQWzTXfubf|Y z>$KycEXBpR1j|w7Eu*_f8ol1ftycvH-dGW`%n+Y{Iaxy8yE0Ig*H2nzQ~Ra7ixu&& zl==PI)m6E0N5O-i)kJ@pGb!7od@BV6+V z2;OI`t*jJ!IXUs3N)2NvCh_kPVk*y?P)$|us{F&`g>h6syUd|&`u?tMDeHX8t}lLJ ztdgB?zS3Xd&+>13vs08Q0$mj+l&j=o4A98zeU2!%t3bjAwwzqV2lR&uci0XEZlx|o z5zcz_Vva+jX6TI(1FfO|U8VE)3R3;Q%=Ny|3xe$c=TtQBu7R^o+W`4cm0-)`WXIsG z`Nq4`nerZ-MPB|SzaPy%y(P9$cFqqT)m0>;C$fu4AZl5Qium*o^dDt!L++p*7!r1F z@ReA^6P1WtQhUEyRT-*2E^+|*%%{>Nu1P*t)^M&Xf=jC$n+ml#16w=qD%bt1%OmSA zv1D7cXyQXZGIma~X=ONRX!KgMZl1VWwm|;gQCbu>M-;~t;|qDK=sY#=^S&ZMWIf@n z8G83owZj{d(5k#gfH>cB)V|yoIG-4sz0by8P^KIW;n$8l+kMfZqM2*vq%WD*^Dss0 zDbDNqp-BN|B{t@bqFZymySJXwSY_ugiDy%Jq)#EMqj&BSO8!Gn>};~fB7X{yw#D2t_mM9e9Zh}Tlr-?}JW zIq<*)Ws-3lr-ID_Vv7#IRH7$2OVZ@K#~>@gZI^%x>udY=0~gZ6nr$!OKs1V5wAFpG zjQG7n;ov)1k!=pk8`kNMzYd0!^?TSOl3&*3&ab5N1J5T2xx{CfZEypCc*vIRGU$FL z%$&zy{a(!3T(jBp+)M0f#8ABC>NJRzQ~2HyI~g6gQ+Ue^RT9XRXFG%~$z5lCcxhp# zCI5$3)Y!3@e56y3e8KxNm9kzvA_w)wzx_{GZ_MDY?VmZTKE}Jiu^rP%S+Waa6$Wf2 zo3np64~d9$VtzC?W7xA_ro?(gfvUHzXf1G}t_5W)-+K><5%3SpNH>z6xSN*EsB6^S z63WwsCN8*+oU5BPpSyxQWSxME+E0>Z_UA-Lyg#pMI&<_3{Cb(Wk{S#&UEC;C)FioO z6vzR)d(1tHG<_2Z{!q5Sp{Ni&8T zjPSf>a;ogx~?(XT*+OeZaAc8HGZon`Z+{cppBXzcbFj zX|DP6^LA@pYx~*Sw%gdmM^HB z_gL&dLVA<1UvpENbvxl-h6mwac_wJKVE)9_jd*5Zh)lAa89n^W_+#br&gk|n|lU-v`6;V<`Nz5zQAU! zveQ<#$v^5Y8(W(M7xf;9B=4N@H2#$%|Cpuj6Z8Z0HTfsph{X?l_augI^abP$5QXP{ zw+-wFruWf5x=1?=X7FGf5j&?2Z8VKF;(p+AyYk}5hsodIQt^9~+7Xr|y% zVXTd76^>RSV`*bKns4VMNs8|l!txU4uhJWM$8Hf3CJRP*VEs{ng!R3 zC|tZ4^y5PwLRLyADuJdX`tz*tjPTK8rk=joxoy7T;3c~FDZis4^bzY3}G zZOh9q%J)cUsCjr-pgz~tc)z41*qh{Bn#|Ag9U!?c5h@DgSRd0gY4L&ccN<*CbXvI{ zHQ^qv^H58@*Eli&h|0OY;axio+3G&ay&jjIy#VPXYr|~Q;_if9zO-GmsW#}13qG(H z*x55luiM$tY`rUjowT0fGNHgTh{tK(Q-@|_)>L%%m98>CxRc=K&XdVTa<#$O&;BK& z`aAx?sNRLc-5N0_)p?oGPd*oT-?-L1uPBjxK|ZfD zYFumuK9&ARy4fp)hVpp@oKh!P4gafvz`OtIAM(+=BKO zd9c%h+hAchpDwufD#0xPmC<57oG>IqofqkCQfmd_%z8}ig!@XHc5fOtjiU$bPMX6q zE`Jc3q~m-7?!iPpvrhG_55}yu+_vb~7MWG8-_5Mnm>A08z0~*Bf96!q8z&3&a5UX- zOOmp$sqgIYO)vibKh1nx9lLwQV2Acw)253MB8a^Ha>BATmErN2a35vvNipJRLsapo9Q^& z`W^L!(bBYeoF(YEYD)O=k?Ziwyw;JOgDaPCkE-hiW)=`m^`d|g-nA6_wvh{WyYMyF z%I;jR0gSWsUK~m)Q3uV%n&G{P&o2gZZ)748uFKy6l5$`>L(c}8Wh$|-!Sm9U#yWV#zFbvp+fdr_FQP+_E+2DdsPWSm62YGT2-~1iZ@9e!a zUj9W#o}6BhZ{9Mu)!g$>wfC{o?9KkGizdE0y*mwhtmIopIru-I3`2D|5LW3Ckva3& zo_zx4Yu|~{$+ZK0Vnu&hkpJH&)Iv}NN{Z23(=j9xQ7fE8*hpUdm$5>4aHsN)_(Y+PUUm>0Y#Y1_3`l>%9@usY1*~a z@nPnI-DpXZ%BaCUyA18-=TU$3<~R8^(l;MYG?vZcj-=)P>6=%7E9F84o)gH^cG)qJ z=kuJ9Mju6ahSr044vB^VMh8Fn-y6Qc68K{EhGk{qk|HeAvGx8s$I9n!pHDQm+@{9*mCmy5%Ws9msga6;fce*yUK={{zGI9^#vJvfsp$}{g%x@9gX@*g z-;>Xm58#JZ1RcIj#x=BIP)UaaC=-ph%Wp<3cWa^x&J^(Vac^Z~tyg~x34W2gG{0?4 zvOFljzcgQGml><9m}!3UQjPEn(}4@#4!vi83No&+YTv8BGw7s@T0)#prDI`CHxL$; z@(efy+`0^r+#EK5*Q*uoAbgx&02Hb{xLH!J7Mm^PJXZ+jh<>au8#pAF>x}Sh-Cl80 zVE=W*akHSaG&GaYMC=oLrU5&oJy9IWBjN03uXR7uRCB}FsrY`{<2d~RqMe}+bIB&| zU||JeB;w?U*4A}Hz#l09AMgs#!HA&z9`;-up)6FVg>f#dJLusu)gMg#D@SZo{_0v( z1|Rr}XbCV=s@=i{PXcz3Qu?6+f{t`isg6MWw)BKqf`%5os7`$*{djge?-P&;<5)9$ zw|Qh$h#RP!i{iDP+VOwW{2t02+OIgZUAWU2VPm-PvtNHo&phtE_8ZbKUv=pR$pcuw zPibg$fM@^p@XZaoqN#p;lh)s`1}#~x&)Nn(2~si*9@n&0ULlIAiwun@^4HtTKg1uD zee|)so3+fS5~#{tzutBw)Z5X`YugG`7ksYYeEl^}EiP9u=#f;M%hrjdv4C9GG;B`z z-8sASE|1T`oya}y{paKHm-pK=2%NGWL&(dvmtXGn|Fg$n3Zo|&JLdN7-0z-H;O1gN zazgV{h^o|Cjpp>ec_aBf66oiu1zYt{ej z1t^iSrPtM8JRqDQcg9r!Fk17Q7H=+Z4#gZFaX$oXPLuZoMJ3S!x*JSM?sbLdtmABq zNAH)M$#A>=XDtk;wxVA^tn^dBif1-x#|MifQRh!}amMHFAJ21(G75BO8uzk@j8I36u4qo#qgvkFZjPl^F1A`odykgx{HCl9}Y5 zKow5wKGS*?r2{}=v)0kAy6$%%ro7t#ze!IGPZ(%;!kV9(mULUh2dXf`co9=I)*^D3X;Fc!%_FHlLm|5vd&pt_+Pm>n&ms8!Z%ITjL=Z1l% zw}4R8j=XA9@fTiG4Uqp-+7k7oFp8438)s$Pv-JWpkfhY&H zsXa8?_x~KZuN>={(=J?H62$5Jg}RRt9-~se_7(?i(fuH=*u*8TBLKeh|H*)&qeyGwN0JCjptF%;_ zLCg-ThfvgKMbOw%m1|^aj){qhlVbbubu|vb{VaYjt^}>lmG9XBmKua>sI=ZkeHC@J z!qVufPbW_3u%|0-)-zCBvVB3X7-0OS=M%UT@MZ-8^aXA)-j0N}o&VmgUf1GJ*KF2O z!`30LagV87D|!6ytI=Tn_tl_le%851j0Sz#CxK5O0Xk(yc+A}u+}wtenM)Lb;pI>v zM}MzRjA0VENzsBWqDo)4tCzf~?Sn}bH)}C}KwbsaK$tp@GamN` zq5Bv5T9xX(V8#|$zr=@AVL+6S%=oPv% ztfUH=_XG;_dqs2sH&I7kAXyu<&YG^Ia&O|I*Ad zmU7m==$zw4V0=pctWms7{TSGtZ0%(gkmWmu{^T~Lr>irQzokKGI9|{@LieR6*-ys> z9p=|2uQpWNqLjXN~j`c zLq36i`R*Ds{CT{<_7Ou`9B^pkJZKc+$agt0YKQIt>uz^>nB6x58L(~MFkBeB*jsD6 zl)`2rzf-Rm-E$k!Q<7HKD^xOm_1tw;H zzt#W#aSee1nVeumH&|VL5UF_@P{$y-wj+S`s`l&TV z{j||9>7$_*M{)DIU*~@!R2D-G4&ZhNUS1nnq8e*T8eVaE+MdEuiFF#WL&wg3Fgu3U zTG&ay`rGP}XLk&yG*f*7bH>w;kZNFf4 zeDRcGW-TS)4{b2m83J<{M#zoh^!{~=@yVERn;=Ow@<8BEA6CLzsB#v}P4r$9%s zW-^yE*5CtBiK#t`opdc#WA}Xtq%e)S4tWKKNbTK}Qp5G_!kF)YCdJk0dqKE8(? z!z%7PwNXU$b_^SVM5eHooXEXY80)+i0<)LnPg|cMW8+NaOu)o6RZZ-t`*W@g@Y$ph zdQuh0R4ivH@iSJP2ebFTYiL5^IFx22HM}oE>&-*K(skrs>01}z_ zrzi$jHMnh%;&)_%c7@y7jWQQWZf~?*G0oQN^ZBxmKB%?$O8CpB%&-=&6VYvhKezVz zoh*=7e0ED^nGjL$&`S)5J#%=F-d08}(gU|qG}*cO&b1h2I5H0t&%>C6Ml}yX;rSh> z@-j`*3*qL>ck82<6V!!GqX%~!(H{@d2xN4BLwg}nPV{#n)vTK48cgO(nb_=>7kF4R zAL>#yB&u_GS#iX~clg)!yGy7w*kb#Zw&u*|Q*d?Hd37_Sj=C#3$8x3P=79^>?#s9z zi2z!A6tCiXl|DV7TU5&!-MvrvoEfyC$tlJh_7dp{dMd!p%&bc*+cFfdisdb+!&kXZ zhRt2AMup7B3LH8$KiJ%(sF)PDw_dIOP%mLzN-p*)PeF{~jOgypWm5WlMHjDv`ROrOB8ogb6<0?b{G&V*9>LL$ke22-jcbFhkhuWHQW(1cuTQmPRP76A zcWZv2o-}I_=yb}@Z7)dv1WwoNzq#VaJDfT$D!6r&5Ukk7U(yPY-62Ka2`LcRIwIpWsiBl+97lX!DFYDNdXac_t+ZalRU zQ*A3%k{W{h6P5#RGzxo*!X<(W64yKM%V}l7BKNnuUR`}8&=dNqaxL&NOG=bsS57x5 z^qF>eH^k%8F&{Eip-R*_;$b=ekN;7GNL8;qPawUoa7kKLK#tKN-4)O*dyRf#{?}IO z)s~js%%&*s;`Xs6*8bp#V!2XN)vU|<_UFb6)ZS#aYn28#khOoMcADX_oj3di;`Oz&Lp zyDbbd=`%eul&4y2)71s%E)=84r+8X-!TD4ATY+|~#y0H6>fHVGUVJVG|3Dr_I_a6R zhe-@PC&Z*1_Qd_tX~vU16GBSmoanU`hxfH(8P>$AciWVIa^sJ|Hey7}0+%YOVna>? zTk8F;g{2E~G5+(I!S$_~^3Oa(y>Z(Ive(I>jrvrjwAJ*hKD2dGa;0z2pWsJgfM)-# z`~N8o0{*Ww(Edh!#CZUDg2Hhykn<>!j$}`2)!>+QhRz7@-TM7NXj!Y!tQq8R5Ux2Q z?l5_9-c6&fwKsR|RGTo*wr+Nim6`&uWuGguZ6XwD4URIL!q@~HN9kOaxYL>;R;_gJ zCOcC2k*~I|%Oj0*A%3Qz`io73{%%`b;B@kGG!;2XuJyyrxrvlN$X9N|h`jk-KU~wA zMj#E5yY2EGWJJUT0d_c~xAJ$qMw>%!^nRPV$Li)8(2VYeuwGY;U@6{ODtuLH|w`Mm)ryw%M>@F>8S?+0|d^ z&sDNNgjIe>l>?DLfY1ga?*sJIMd;uZ$BYP>6X+kIDtU?Q)!olSYMrpzv~OVL9NLm3 zhjQwtP?lj%7gw*}m%+G|izEl>axWJKT}+@1bFVm!v)R2UCY3>5TD>U>j;lvJo zpwx+YZAw6BY7pzyx4b}iFM^k)DqGPWnuIwhrmW@kP65aW>DInP zcV<>qi4-p_bhouhpYW^&z%I?W5t6r!M;!$~27&g@+0o*NdD+FYik@2!aI(>m7&* zRDXwV*vy`eNrA$oB}ueNK=YsW(2SxgZ6U2;-o#$SE&WYx;%5EL3g!96`rYSSzJ}*e zIwq)R!g-$a^-1-Yr%v)`2UqJ049rgzW_ZG!*q(aPy@~#nX^932YKSB4 zP+jVpgG4!&{(-~kpPa74wnw?Z&2e00RJ;H zg$x6{>Yj_FklSNK0a=nRXfPtY(ao&~SO=KYVfDy8({tYb<=Bqi^vnEFj296)!!l|d z{~Zk|YmT)(8Pev9WM{GoYlc^#dEX$uo{0EkyT>Nfer3X&QiKDkUTsJOL!Lz3#kUVH z#_dx+P$P^k^f-?43Msi1VdY9)PmNs&eWl)5P-?JDPQ5Js5B7i3NrB|QKQkSnS?KkF zoAMIC@!S*oU3K_9=D{TK`*b~F^||rDiMvdz33WU23Eg&~*lsXly#2iZcvwl-87b8? zEGzH3{qo1f4H75$bU2+^e4Fc|re$J!@1xNw98*%qe59Lu_beRq79>EJ=^ua(5G-d- z)njm>1H4mtw#p#7gkM84udVCSJ=+-LR<2|)DV!j_mBg!q#o)e0aHthfzNUQPC?T@0X0 zW%;L-g+`ETkNP56S$ze`U+!qud|dUc&BzAYdq^Q25s2Yvd9J5sF|n`7pnR`t5U*ofP|M=> zy!{L_3K>ZDz7%f(V_k)vw|emP}? z3_PC6)>=r@7?JZhvi+qk&dFS-@o;HiA4~4vXMx!D|6@{ga=3XOHi4qp`Ipq9q0HIuXRX4d2?`xUaZp1q*Oc zAU>DeU=aOgpq}=N;IgTH32|-PKyP=R(Z2YNNW5W-EA#XJoj$( znhMRcnlPu;tDF5?3;p1#&-9OE1&(^o@`)wZK{P}%jo-~zm{t(3S$Sp3EJqfYTv3P; zd+AFU(}7CODg_gyMdrFt`VH2%>HEY`R(t@$dyE!_sLx&9||fWWI{F%L_tth0P? zYr?8>A1KJJBvqO7w%q!G`O>LXy*xFNGlqP!m&?Xs44EhDdt$wx>*<5q=q!x#vj};w z^)+8Fs;o<3mJTI1=%{6RK6JNssc3P{3KLTxRYlSH>~BdG*R<-_KPI+b6*j<*u>=EMj5h^4x#hc4vUUc_$fL_NZnQR{p0r)S(CwevXPkm$N^pJCvG zTl#sts7S6A44ga^;gzwq|6brw^_z~vD67_lUUR6L+?+gW8)WXPSaA|r{(kf1PsD}6 z^-BujT4nnS8{_3kI-^xP)$Cl~C3?McL8Q_e4^5Phmj(<_WpmsmLEv&m@2S z^q=uaeyKOmfTDZkAQWn>(1hyPDdgvwyy3M(dhJu(;*rZ&4{ilmLvVDq`fUKjz517i zm_r8nTMu3f<@^ArCPXa(V6o!?daQ!>`bB`rS7w3G+l8silzZB~k$^t1vL=59U@^WK zK?~eS6t+FSb$6tm)XR}O`uyjvkH-8G_IW#TYeW$KXUMJJV^sMvazWh`fBAM`4}%#s zNQ*{s>`G)+CY<`(vZ6q#Z@!PZhkIZCSbKv`LFhy%D!uE3;2hw+wKV)I@ejpB_4h7bHvp8{9$bZ~;Z(Kx8l8=hTJy%#Dn+m@3Vo1!%n}obArmqG})`QyM zn>Xck1hu$?nLY6S_7-(a#PI~C*I8-WrZddrY7WA5a|u(=aco}1RM0UC16AfdUvj11 z9ePMUM5Qk_Dq(EL`s-(-xKWXO(zbV>D~9>ka}TQB4Y%vjmks);R#^7>+lxnN%R|7m zHpUiA34kr~LS&#Uq<5eocLo>mfB~BAL#(1v3_~xRCFDZ763iZ8fVi$>Q>C|IhgM?h zm}U{Y;CBwjN>zK<=VrZe#C*i575Go4os=}+a!5cPJs_#8L;z5ip`Rd6dTY??>ls7m zC|`zIh7>q@2NOR4`c*i2Z;bU0*SV&8v!?5_m#Yx3>ax?!92KMSk2=vYTg7Tg|A8DX z|6PFeCBo7=IoEa!tk7PY>2BFQ*;eNXYP-H=_aGAONj$%oWSh~1pri|foG#_?r%9CHn^R5wH(Sf14`Mkja+I303QVHB!+o7sUj!S{WgDsRs;^vG3 zq2>uXwZAsNC4Dv2fK@f3b`0avBoactf8n5a9jf@r?k08UaiLvfZ(&+D=I(3`i z7T=~ReE~g!U;6)R@6F?(T>t;^F_uCrM^Qv&D@i!nnd!7hi6mng+fkYhF_svNF-GT{ zQbJiuVVt8<7z#6kF-99TWD;gFmT@fEjdjK{GxzUys`vN(`F=m=&)LYY2^2ePgayg0_VQG}08y4b(Dl50+2WuOr=IgCZ!@x8YDqk#2NYhxBv$MK{jx~#| zx}6t)3-a;Br&Hiy+OPA{=^mifs=s$f=qc*ORgUN1~74`953om&MR9 zL3MrB?Mvg9R-Di**|JSv{T}3#YD#KFafpv3CP#`SlC3-{ zu0(wI6Bfp>hlEo6?7?PBDOUR=>4vnouuYP8#|S!X+us*FPb!#G!&PI{(1-O}N1Jl| zleZ^bqTJ5<_kgovo2O=}Y5v9KJpT{2a{yDGw=z`2W%|;Rm!r zu#f?l9n+f13Yn^B??5f+_CNGLmv*U^+O!e!oY)EVXw{6;??;Pg;douCEi;U3lKoSg zX;0rUd{`GHwtK1)%16!Zhs9IxUt#2@*uF+py$4?6qH*`nu%>dPmdWV8c`u)bA;DR` z4v^eFX@EX={^wMdO}a0KG)>*d!EF8opGllLynkmt4!|xY)Q{ARbP0Ti*RH!00aLxb zwLMSC`X4LXYu-zL5o_)>r)A9lrHYPw0CRZy=sc8sD+7LtESVQDv8!s$+bH21>2X5l%;|^g)qI) zguL=DQ_`6Qjj3xT(d#X|_=Uo>RM@EOJa)u+7s4|Teg zdQkUB=rWdm@7*E4YYgAmMhrlYihYHfT@5ib-t&N}bfFnDm{OnC=bnK6{7~I|9*yJE z$8Xy+3zbj2hk%_fT^f*c8s_TKGxw%|b~?!osF@-cLO!94&+-&SMFlaQPNK*I zrt~FODnSJ5#;z0B5CMPbts2-)F!Af$tH_jzQI+{W47h)8SmTb?^W$)6!!|=s!ukFd zc=&`xqN(1>^ulk;H;rm*V37@jg+}e`G@~z8Ol1&&yV}kzi_ps9MbeSw7VS4`$&lel zRJ4Ms>_=9-PaNwYwT~5bgTpG7_|-gMRNYW^s?4wtuXsYSx>EJ&Pq2kvNh|Kv(A#lg z5g%}O?F_sS z@Z}h5(kM__3!VreWGBi%_>G3Lc89y-FDgCybs_|a2@D%5HX_qil8NKp2ELOjd{@i1 znqiAXuiuv^oggIAOb{%sY`7It*r`0*SD7Kj9C`aD(d)S_yL30=Y_=%qRxBJ0Kn8ANzFK#~A#T&t}ufvb=ng9}EAZ4IUwbaSQ|Y?(J>u(~e+ z|5WETyUcTzKFEy5M*9_z7qPMK%bPlMCz``gPK;)`z!sv(OKc6J{9T_%7svV-<|mSw zf8|bSHc7onL>9YSf&ut5-vna515`f^{FQnq59tc1662jVoaEedfRe$S@Zm84Nu;i5 z*%d|m*!-mB*M3UoMqmeJJ}rvWNqa%Z*B&NKJJSqAp4|iZs!uSLnR2{%f~o-x=x3P8 zjfc#`?!bHEH_y{PD>|h~LLG@L-D4vaUQO#;Y$i5wG7W^TIOb3?7te|Iy77fHB??Z~ zC?s~Knxx!PM_4{F4qC$UshIe;l@wiCdCVox#=LDNq$}NSk&g|!3l99PBZu~aChWxf z!tRKwBO4>B>xvgkM4ni{?BBuifzI$#?49Jb5lY}q85H0K=X zmLy>$iH9o#`eAb7c5?VFARezKBKm+)*^D1{T|4W50D)syo{s@)-IeLg5Wh4a> zzs?mjPu8nq120^Z68zYMycjxE82a)SI~o`k0KE7g;JH6qo4n}5`klxKS?=3g0t8Es z_7zy+w^7fuT$4D{0eY{rUASbRh+8AHY%8EdU91UsyvV~6dB|nI?z=Apxi0;9*01ke z^-KhUb|jzH&B$>cziv=ZvwhEJQmT}8V)5wKc=J%%+F)2YjPTr5bAM3BbTFgI#}YGTK7N+c z>J=Dl)e`U4kxogPnw>}V*SR^VIU1GkOM^buQF;?R=mPC3usNtz?;3s_7-cO>`UH}( z2YojIuLfAzLb~R!*kvx{K(G9;vD+n{4pmXQrY4`!5`$1iRR$BQ<4YWdUw|`Q7QS`%SoNF6YLBu zuPJ9WsKjmnaXb9<=RP(-9?G^=-U9_p=|V9l6VS~DHsy5G)T8Zr6ZMw+X5xGf>&wcF z(l^Vb%D1GTy)I<-ecrpvkZr9{kS+7^6yzkS_pVHORFFON4IEcX>8XG*1$GlY)~Al? z^QU~Qxs9+a*V6&|Ns`x{65zv&C7x!@HW&#n!Y?y&3h?|Jm2E*l*U(?=hxmnR8aI0} zyw2L|IAi#8U3HekS?E_Xfl6BJ`jb-f^0FJ=Goh=MYf*m57Zm7Db7RXw(}P!ZBXY@a z@uXIw$1*V=`<4QbWfH0JMJ5Ov0sUp~nyU>%OUXlo(?oYp=#QSFOS$Ofq?I>zxt99} zMrpA>&Jc+Vb15yJpRP>HrlG<8iKG(kxR;ZClm(J@qE{?={sh*3ONWv|5KbMVqt6f4 zi27(i3v|iOns^Z>3rt$~aK9K!;wMg}u!l~8`sk@L`@R8SLoU@NOo%IS3sn>K!#qY& zO?jwu&%V)Qhoq7Znf9Q|abBN$2ka229%C85Q)LjFv=e=y@U4>~>qYUt$dQmQQF2N76F?KMD1w_NV+$2n0PRyThyciR3cZY zcgwK^U_oT^OZCFL!Cy%ide1iUn5Z`iK^p7Mb`O_sJLES@9hGc7k`g;HcEu8cI9J880V0vlddHGdSm68(J^07r zw2$0zaEwfIo6qhz7842JO_qq`rq=bn106K8T^E+e!sm;l)%T6a&zISA`MzsDG3I)r zOd@7s-kmZxB@glI`sI&L&ivOT)TPvwAImS>J%AjtmO95SI((z=?uN4uy)TPPQEl9x z!mB#Pqw{wF{a^ei#2}2UKn70#(wvVCD)C?@7cB7TS$j>DPm$%xeL=Tfpbe8lCu4ON zp7Jl*!IW;aN=@aAbd-(hC_S1e->~V*FYQnB?Ng{7ugR>fPsO3P6a4bq;|zDh`yB~$ zyhn5V2PO{tV6X(=?qNM2>v^H;6z^3@<9RUi^2~?)qS+I~CwUMr@IT+(^8M6AyrH~* zvvt-rLAXxBhA-$YpMtFQ9~DIIh@~Q3N7CGywKQ(keRIRm) zOFXlSH_%Qqlash-b?-+-J7S}4`_z|Ml*R%SBao@L1_ljewISZm_+37P5?!mZ@$8~N zq8%Mz%D+&*Y%@1qsvrS!tCm8Nf}MK@3ap)ObV$7IiYSl$L&(m-25)Vn`XZe9Ckf}B z&_aSua%b(6Xnbk+=yISMHfeQup4quVCKeGFbql7P=^ifzg0VEo zJ^c8BXDB)<0p0fUNq00``{QKRfxA~xI9&M_vJy5!UQ znoUf@4_Q0hCAM2RzbLgg@W4IXjzt|$m7As7P$;*43K@3b_cSfksV<>In$>jACFDKJ zN$_=ANacP+4p#<#y66UlZ-_`62S`MgV?>MhJZZ`u4R!FZdS$+UYB^O|`NBKp%knL9 zeB^rsNoB00X*Y@YuEFD+sZyiZCCm#+kQr8?j~1JjgEhoQBlAEh;$oGZZHKbfZljeywct$PIHNLHzM zYsozE=jE|{lTl*xw5%BH96pcm9`ox4^eG-xVtI*1;g$(2g)hXK-|$`F z3NYHkH%x}<1y5vSC90#)472#806;bhP<7T!?KQ>VtE59_=s4kn2mBm=x@oJcZjo2U zS#qZtW;%@&)!Z#9TBVfUNM^k^kOafP>%?PlxuU0mG<56sEiIkjHV%;6gq$ zdZ)WaaFM;J?xnGbR`sLkGcuQDF9jz<+MZ?0q?bFqham4lKH>6?CAw@sBRlQ7J1_|@ znSVO76dM=}@S>$o3Ok^{+b8Q82toP!m7)>xY?CIVv(S6dPuGUisAk|U;yAX`qOVRO z4KQCk>MZPvb&gOeqqd!dzh%GlhjhsEbFQAvvaPw*9==^p1m}%=-oCFb zTHuWKS|}}{vow^Uh$*>4G^K!!FAK2~Cllu?E$*1RhE6;%@z=P<8O!&D)1uMk2g5mp zu4C6oG?mOIjRhr*b3R!6y)F5BJx^~K4e{*qdUQ; zbfN}E;i=4O`(wO(RS_J#@Dv#3jc{H15= zoDX#jboCQQ$kJH*nf;dS+O6GJ)EN1m<>#X}&6RU?_>(L7E(vJ8CvBJyrsIW$x2-e!$Pm;{yN9P_hl++t@2VxU289v?FE%L%q)pPU1r<1 zry=&9)~*#%trzz%zdPnu+I9Jpksssm5+h#0I2HY6=yFk}Aq!_qNn(2gQFHB^Uq{&0e;k&(zcF)K zZ9CC;Q$jOO(VbFh)3{rLDRZy+_}9(a>TH4hV+6!USQZhnvVCzi#2TpBL?(%` zASX*it`*0PqzcHdJ&k^@7Krg?GsNy{%#~ao*(6;=VifYc`Pum8(2k@P_jN0ku_3?V zYc5}ySQS01kH^lyteV2>H45w&b>lXzc~x&6(5vo`W%V8iyZBSU{OcX&bvQDBXtG}D zVq2w^0dK~^m9ctOK~tkwXv-sN^3c3aO}xPbrgIijSYJOd@8Zu;$xZ8ad{TRl0DRtV zigYgv1swYs@n5nXGTlmmJo)NcP8JyDtgRMb*pMIY9h`f9C#yw$U3$;J9SE4D8JoZA zgj*nKY)nrYBtJ^b+>nlFquzxwE1G2p@!iaN!)xN29<~B7S7SLtOcK{jA*F$5by-J% zHlf6jH}Bf()igXc>t{RN>v|ncLz%_?N%n$KsE*9_^H6+BU!F6UoO+>WMUqg_I_6o@ z*hnlB7LQ~dk;E*Vk(7#-i%0f_l~>0Z<1%D{EttRHoRgt)A$|L||(Y+2GJ*g8O-;VP3M zfm)PBv7Ig?Gr>~LUsqm>$LUrpIDpmNt>pulVzfrKh&=uvD$54kg&Q{bVKq;HaMvue zM2vhXse1)m?m(;-q0%TTG_7jX6?)LF&U{ZV;(l;=nX(%zK6=zw$qmydZ$}o71%fg83YQs(|;pl zn&L@FHFoneKX?C$<#}U^sb=u5zbkz0Hm+B$D>ug;GPL6!sws=)VflV572aba_52)# z48>)hKZ_jOHR1L!v)C4`d#8YUvpzob0E}%aH;t59_WD?VDdMey1Ob%a|Cp?7Sjp#( zCvO6DTbQ)euQZCe){sBA6z9-hNt1fRA0y{M&dtPKvQO-Au56O-Sh;GZ*8gtxkirUw zxl2}pTB?8NlKFIVdOtqaujWibNEEK; z1WcPJ`n>VEpmZU{f*nligUv~JV||_c$s+Eyrnh7KzdA1rJClb;BU8rG6l#fUd&<`a zHOPVf%#a}y*KOG~K9;*ZkTvwt@~|f|C>Uz6@k#6Ftp$$I8=yf{mb%1h-bqsT*lh*g zY^$4f;>fhgAv@(n7VD`G(heUyV<$I{EeY_-t_<;P+m3C%OoDjcft+Rk()_5o*kL2B zeiCQU^G%iNj{Bdk5MEJgm~?@3Rg?F^(dLPtVY4?9mtxWP5_30vv^FaccrI7^b<2wQ zfaJ4rfygiR{1GtW=hwal8C{WMAebjkpEeL@OtDpfu|Bqke=}yKjeoXhpOFtE>WWR= ziIw0_{ErCo*2@D1y%E-rsegp&=J4Y`Oc`^*aS<-ha(d6b*sUbz-+&^ zY)hR_+3q!nsHboe5))7!q)gbnzC&rBUDUDH>mIn{j#)OW9Mb?J3xoV_q}202MJ{TE z4GFP$@2#-P9rY>=tl`EG@B_LmHwFDbN=*f)kD~e z4Q-NVva69fsL};iAO|W5M7Da&5*dv0lTTp5b@5d&VGqz)Alg+_C|qdFB_GQuWLXbN zOdA_e9rI3sI|g~r%sYNtW4zs3K$5}DKi57GcEf3d&ON7}w;vpVOOsl^N#{BX_xwoUr%S zVWsy)@9;)BKUBAOKRx)(C+5kfPRpHD?4eLR&>G#H+>Kf_Z;vG|RKft!e3M|h5V#$^ z{&KHohHS)H7*Mx;$T=|EVLd%dLUxmkN!m^U^p}!=c(>j!u!N%W<*NG1@>9?oB{lZA z$$6A~#|mS^0yWjEuH>f>>U)*JJ{koRMGu-!ZCokI`f9m(d%&Y2<4)Pi_c(&GeE$rj z+EY2&9rgCu+x+WI$rY8lR$kUJE%`@22X(U}m60P`re7Gayi+60nt^Itup4W#_9#(Ns6RWEAPdk@1D zymx6JiQzvqWG94A9fmIV-f|csTV@0YSpXdtl-t(MsR`G=5EoJnZcp&qSY8fmYes^p zt1r3U#}nblwVYN`5KC!xz_y{nj32Pwo=%~;Dk7taZPIT@ZhuvRxi~Gsp=+u%>e^@NNU>_MI1^f*<4KqHP3PWfD!202o{4yI6Y-Qo!W+`A|{(;?l~) zRJr>a9F{M&Q{u$A7jh+}6J{M+=Sn*fm24o96|Dx4Vvi55v_1Utchxth5X=vm3u?`j zE%d{NHoVi*mMYCJxIdO!U9o%9jlo%nX<%9XlkkKQ;_Qg=jE@|tm*cFXfNc3Ck_WKxx`iyg_O?ntQUum?Do3dSKbvj zGLf2UNwq_>7QuTRB*Of;zW6j_@k6X%w>)SR3iPz38di@aHk>WU?MU`3r8+Hb(2Sl} zL^wNM`6YD299rWdI+oo+Cih2AEhT!vvBBvy6@TZ&(kaKYimy1)Kb{nF5R!YtCvGj( zc~I|roYmdfktD$0U3Y0^B!g4c_qJ2nvgVAvp6cnH8M4H9SDRaFVhiTv{%puL{_C>M zVTGP;yfHv9Z@rq9HHp%ZURW{ES^p*x=d?p#dWn22sZRk|XsIq{xTk?th3dCJw)Q|D zW;u)3G?+bNfVU62FnT^A0{oxrSQ1cBTXBc)K9X)V$$KNjz}*A%N(|U#b&4Yrt2j>Rg|E z(HrMH<+$wf5i3v&KLEq>ZcYRl3}8!!7(dI374A7_Zf$yD`PZ;AOCmsJURdOAeZ=dt zTU^5?Qcx5KPArff%QE%e1(aUAL`jm}j~{aJ57bDZf=!8RipYYz*SuPLhB*n;F;+&9|r&L}k&0 zJ5CdA*|S^Tzr)^6Z;R|4^v;~HaKnP)3L1|JqNO#yJ=r+d?bG|Wso*PtX_hhx+Y5S> z5b+it8$LBsnPL6_SBNil;^t5b0 zuwHlu;#;%hV&|`g$w`Iio2zTev9^C4fpp<5qMv$C=B#x>X=x{Taib$F^{#B(k=2|z zEGH#N68;#!zr^P5m8xMtBS}IQoR+az`BIH1!+T^SIzL~HvL&AL4QcV6KDCk=9klLm z>Hi)->CU``f;|}(4&+{``s(+ui|=J@iG7Y4e)Gm$8?wO#7WVQ^p`6`WdYavzV3|Jm z{OuA6%&h_aRY2Tsb^sF~J*h4mk$U4eOmhG-rvQA?VBRa%z~X zRgP!A2AX8h;+HKZk!cwah~|EWV@J*luR{Iw&R*)Nx0LFi)^MMOoOPNk^`-Y($N69E z;6B!pdxjit@ii}QLfSDd_~S3)8;36BdaHK69Qo>}LAtKWBJ`k-9;BqosZMR!f>h3c zo(sc8{n@~V;60nXiK+`gqoG7t=b$7dcv^!hfukpXQ3Oa2<~gTZiPQ+4zt8=7KUnK7 zxj!La=UA|9$cV*CP-`mx!q(kAkR673zE4_0?guWkqMED{ORaShcCM=2{XZMY+CkWs~;rEwyN3mBY?_lIr z7adN?y?ZIlN|qvzWWQfWZot>n;=jaHbcMfGOQ!DS*b-TF+p)|j7FMQy*ashwcCrz_ z2JO~f*W(F>O?g=R-t|53g6KwezI^V^9|JvAn3H^Te&SP7ADT2;PGX~{4uoCZ6Y6Q- zTURj2v1a~p<)_JqU8~bAXLUd1sx7hPz{-)x?CH*LJG@FD4Zb5?AmxOgG`#HFZLC#Z z#=w-_Ne#!&0!H$3q$%;dDGCafUvl~Zs_fBb!!CZ<0bV;E1?#G}Rop+Y`VeTn zeA|#T1UROBf#a8}=1`5p#IbeGUr~kbNuwy;G0KCt4J+(bR<#`kNI}ITbHZOuPrkP=*;qfd(Zz4g@PoD5U!X{^ zv?buHVaTcK55qsuq~E9rhw00eU3oH}=$1zcRECU*NVygJBS4Nn-cxAHqc`*0?N=fi z@y&;M71n-1?T+c#s~<+^4Wm)M*2N=inbf&Fm3OepkuS_L+2!^;Ivn5k^VMnjvOQm6 zQYr|sE%uKlKsPJtGg3J9_o;HrBqPb@KcAWDIQ^I+SM5AEsZ!p8mA-0m{JVX^h<$`(6p z`Z6}0WyiQFMQjk=dk=Manyr1Pwq6*!pP_DgJ8o!HIK#z^6^bp2=d)SOm_N-Vqqlnp z7l-%Hd0$5~)b!lZ@pliE4DpzB3gus&3!+WM-cw@e-WPbZg;Ljryqe3`&+W9 zRh?kM*4w~e9YUj;;XNWKLy%|qDQvZ8@9`Lq(V=2rg=8Vtw!c?xfG*b z`fz+*O;OFw1~Y=8Jf!SK5m%3r_)mDW$uk{p6ZYS>vLlWX`;KlyI={&C8B;~f%ivaq38|(gM zs~7ujN&*OUF%7}yId=3)-d)q9J9pA@Qf3pXm`4We4EC;74e!H>8m7A;CC4!mB0%<<^UE+)!5BtifFF z&>qp?7H|6I2MJWgo_#akJDcBTtqvb1yNM0b25Sefvw16nQ;eNlpciWV8UL0)k5MeP z{hNp})U{f+kik|SRYVuE)9V5YExfm!yArzXS>(8|y7 z49`wi@LvM=@ei;=^yE8QpQcF7EsVOru~Cbu z9e+@uc5+M9DwNsQKeAf3gfQQvm^?f35#NhEFA-medSm6T^PR!@`)4||6VdB;*mX*t zF$}n!+ebB$e`!uYZ~i8!dZ46Y#y3Xoo{@zH>f%ExUiM28@+>OzE}|E4MqwIMiX$m4 z@NMVJ7=3vJ1}xiqhJy85FS4ezz|%(8x`WcnT09N#_7`pY$l~zIF+A5oc5$+{mVCc0 zpOF3CDj^i(2UP_-p#Ul2W*Xkos+=)JYg`x55Xu&3 z{4X6sC*pSi(@DW4Y|M5XQjQ zaLDV(Rw}8-f};zH25P>UZGd z&P1}^tuBeFbc2!ZxhSZNnPX_#gAT%f4gvQk!CMR^P8~k_Hrr-Mr1_}mboAP3U(43E`Y*oLkT{d(tugtL5V(nxIA#SX`92A zrBpjavv7S10$XSQ)9L@%(>40Tl?a&c>sK{Z5P zjf$BJxo)|9^4@p3{>r?sGW<7L^}wLkLdxw9SW-AqKp`*br!VI`h*bc~()!m{Ng7u5 z)Tp5UL)7nUe&tC18bi9oB~dcIySGp?4FGk_*2_8@we@KVbpuhcSN96F8#09*lo|Yw z_Z$CV2ZZY&B#H639t0LqR%I#LkV*Nf>GB+Fd68RzK=QU97f+NG(vSZiA^IOD=wAlC za6Yfe>ttfX2|@%Xafvs3V8N^HuC!SaEgn>qXD0VGF%9~P6F9T@r;7jM+5b8Vp0?VtKlN=9{XfVGF(Q=>lX^g ze~&Ld_FtR%FXn(u@c`ZZ^_RA(5CTSiL1`URD=fA*8;+i;PCDQ%_b3?oj;gekxoXde zuP~>|eQvJ39qs=PXB>n!xJ;Zj;u~T@-Vw8+MzdUf0S7Yh%8GMAUh1sFqkuVQLi>b}nvck9_~7qD}JbVP#4A%zHplY-}udETf0 zY5Q9&zyPfOX~9~s9CnnDGn7Q4ZK{Iy2hImKsdONw(+~}ulYDm-$BcNZTJ4xbjYE?p&cLx;%ge(;EOF{R9QMPR^sV%b-0ohlo9bi)a1XmML?}3 z(JwKARQ?Bj|KBz096?evTX{$R)0@6M-=DK4dR^sS$Ny`U|LxsIYqC|biR1lGV)O0! zm?xkfqXZ?0f6$cg?`~)Yu|!?z>%)JS-2aO>-#zyCGv%+P)pNwfZvUV>-}gOZ0*bBC zMA(P5EZ6r{{+B=gCE@=AzqatZ5&w@KegETM zck)ku^k0wskN*2#Q1e}V{%>RaFR1w!)cl76|9a$qJ@S7j@UJ`h*PZ-_0{=e*c>RF% YiyIf-GDS};AmER~ai?QtKlvy9e=v*a-2eap literal 0 HcmV?d00001 diff --git a/theseus_gui/static/svelte-welcome.webp b/theseus_gui/static/svelte-welcome.webp new file mode 100644 index 0000000000000000000000000000000000000000..6ec1a28d63b49d9288d0bc3bf3a341eb4edf3318 GIT binary patch literal 115470 zcmV)1K+V5WNk&En!vO$SMM6+kP&iEa!T|s;|A%`J{|7sgZPm(JdmqJJKZ%|INb0$B z{GqJUGD{>R@YW&;iPcl zs5^)vfK|o-9i0YOTUaNjzcByd+wN#d+RluNhVQ0tJlCqRm;V~IH?nd#W71m=`GJmU zgHu<u;NBPflYSv*iNz(~wWvEV(3k z(;}+IL|p58Y(Q4rLuXKkY~fZo3xaf+WXGAXU{*+^oWYXDnH^`f$Mc?8Hn!IsLU zUSim$3_D^O11-&e`>VQ7hv~0AqYEC{st|9&@P&_8=5!|0c;m)|&1t<2^{5=WmV3XQ z@Rer8FVvBpuf<`PY2AX@9(b1oJ!6Q1%+!z~a+rA*?el26c>dr2 z5EQoU8gytD)!}ypQQ%;bKfP_HS9k5$ESu`RX#b?SM2CELJJEW!<7+nm?B+q(a^(ZW z^suDSmQyuLRThm*Bm7IIkw;Sh*HhGglXQ0IJdAz%#t)|2lwK{vL%ByUDL)7_h?MUn zi%1rbj0pY)@Oc7X0skaIY5^1hC?c5x{6``M5K}NB7y$?YL?mO9F$H6SDaiyxN-zcx z14u|FBvX>PBy&mTk<2BT10V&EP%t5wg7{9blw=No6hJP3GLk<>ZzX-uwD+2{Jff0Y zh!JJ;%h$K!?LvzGLCsysElBOZ|M{Qe`n$T_nKc*k2`eRDc+<4oj>h$rlFk}PvLB{@%q1g z+V3vqz{no{9pC(23(%QaBvm%xy`KE;-%<`N*;eXUpvHrW=>YQ|ZR{>{pT7|?0eK_u z&0m&?j#_KYg>o*1h-xLG%G|yr5pzANh)5|QW@aiPLbY=PEek!^n2%HsdDDB2K1SD&-d)4d<_N<+qIrH~{Mo+nX}k>)GS*-o>O z_XB#R={|@=#LUdyeVB;3`*mHZokB{R0Yt>*u0G7nTvc7~?(VAU?$>2z#(66c5ur=h zbwq@I?0R?K0U!WGsKydNELB4zR;m#|-idp@MFiFvpDq9dfV>~eyf^SZKN^V0|8LVj z|Nr|YlH@;N_wJ{h?>6V{9@x-W#so>0kg;WC$-+>Mk}cUr#xx$-2~F=bwi)_zJ{P7N zT+sP)&gl=}_sfBqvaf7tC`2*vKO1s4OG3Sj|*&)GkiQ;9f1x zcE!m#|APJGuSjA?wpywJ1EWbuiGUIK5rf%ku>16Uma2*qh#~6=W*NGv1Npn z+aK?;wLNZQ+g1(lC^HO9m=c)C!4ObLAO=Y(h*8%f4F9XVuWOJJnO_3Kd+)s;w=sT? z7$hKMYBZRKI?Y&pMy(kFlUKY<4*;^zDiI2zk z^ZtA%u>N=2r$qFh5&*Dq+XmFZ1Ekn?i(n80K}ycU8U)bF(^z@#?yj}<-O@Kh*WKm0 z!73F}0#(XTnn(EpUkG&R`Y=pLAq;5?LD%*FbNYAXIhF!VDDt#3=bn3R_HCxW^5fid zBl<53w%xdGu1SIm#O#S`NgzSFKfbpAcHOqwHirO7U!5QcUEa`TV9vQf%oXM8z4;Sd zz4zXGzetLdt3c#9l8kJ^7DSLB_1=$X{KgNGV^j{7D zux;Bwg9C$3ouN`B07Aa7!Te90`Y#Kzt+WA~%xMQuQIXrBbiaRAvS!BdlSjOJHVZ zo;l>1YiMOE%B^LKyhP?Q6t1}k_n{;!!kHNwW{{8n@BRPy^A0|U=)Wx5R_ivxmi0n7 zZD&msSweu6A6vGyJ#X9Gxt9SrGw8jC5J*4(=t>Z9Q`}Mb|7fflf(V;bTg=id(xXb! zysRVd~+_}hH>wBN~qcel|dB2GM!vX-LsYIrTh`n2x18v=hWeb4ZHgfh6BxjRt z0R%WXQMPZ9;mLr$!RfS#_!y^oik5D^`8fZxR{-4&fdDr+QnP8|p{lr#1pNWk)e-%N z1<7vP1}YHvKr%ga(F4RdKiF+;Ti!;}Do2u6b4U63_IPt;JvmCQAd?$#!9<&^i?&dN8VE_K7n)k)Hdb+6 zTbHos-_QH~{{Fm&9DPbe|78IHQ>Rf1B@GnaxhX=(gX(?wmL$oNB+0h^{~HoA8mb~8 zs=Md%FY!wiD#WZ7bH6f+NAzD30HAT(C_ZF_u+nxB=928}wOsxm@*nxn|28>4I<+5I zrubv$Mb2(NKBb>y+nSoCJEo0J-N#nl{}r>Eb5rpT7CFCdjhcOZsoL_hQ|*uQfUR2k zm9Ik(UH#V7`U9~V;#Yw~)=aVIIDT#w@`|Xai0Bl00X`-Ir-*0`GYbirBG2*Wxz%3T z8WAYVAn5@oU@AQJ{&u782F1QyKkRyI+W9H(*vlR!T#WZYh}TSc$KKjuo|Yjb4^s{( zH~~}Hu{YE{-e`ledSRcgo60WWl^x5A3^u5;hUA%pn_Acjn2HYDyR!S1Qb(gEl()xB_hWy9 z$`VCY+j%Owfb;UtTe{jEAZ3riU<2jVQ>sa%MO0hOOwF>qZQA)M=e`;0~!C{MLXaIB$VcmkHSmXWKEPCW;a zkDfWxeQSFY4mO0;3?8p(8$nw~ws~{u^*3#ug3fsSqi6U`?r=MfHE2MdLU+T(s@k44 z*<5;EbknTor=T;w|I{;lkr^nyC^+0nzpjbJ)rF!<%lLJr%v+TLgM$R$~^s z8_0)c+rpULB%hysZn6#R$LH6WKLt>&zxby6X@hgs%XOGP_I^j*)LAcCt&l1IXcf*m ze}yZ7<(El1W}UEq{K^~nO9Q%rBu5>3-`gBVr(I*@ME!HCY&l1_Z+q)XSHdIteUe&1 zE7RS7{SC0|jvqRr@4IdNGhJotG;?%5$_~t~vVBjSTefuhnscwC2I7iU_%p#+!N8ku zyyo5x5y#3^&(u5XWyfJ9N9VIASKBJZc73Jh>q~k0uI*=!qu47_;UqE8R427(-gw<3 z96s`4S-I*$J>r6hiCK*!&gYg_)xx8)t>){n6$a6DyLSHMeI#6g3V>j6a%v5{_PV~v ztnXP_|HsZkF%sHKQZwhUonB?*+!fdbiwG}Uy>r_u-duz$Pr)zcaDn`O=s z9~-lBy1clm=A2*S?Rb?r$hU6Sj2?@2 zm>GKQ6rmOCb`pw?Lk+fK4*cT(b+QBxdw$#R>bDa=RTkY>?`?qzw!|VPMy#U2;EWJ{ ze1)e+0+#P5)H4Drw?pa|EbrGhprj(3X`$^|9hQfWj%;Juo7i){fVuM8BW?^dO z>Yayjk9qI?_wKRC-TPbHO==~6dyvbhyt}7fbw8z;T^4SK%^Qgj(LfL60cV8p25KO# z(1cr?DQmPD(&0`hAi-xP=3MD?d&9ae9xf&!O|tlDM;8%M@X4s8R7Jhvna$r&VZI}X znYo*fjvhOHNDiK`A)76YNNJ=b!pvueY=(zfx&i&9F} z6$Np|0dXn@S*zEa^E?twEWi8--zzo&kdxX!T7504x@erRZ*Kh&z8u+Gg)@!RwQ`4q+P&~j#IczSYT@6K;3 ztjsMn-r(N=)nU5}fqgI-)dB&AA~+EC?J@tO<~$Od9li2T1Hs%OAiu)~9S^7$A@%Oy zoFPAQ6bm`+TTC_D9QtupM4B2E6*<1)Mov79W#!?~;|GTZGfnVOPVr&{M3?rr@>A9a`cuq`1lm+tjjQwMH$QPl#W#Z**8u?OO1nLik@XV;D^ z{Ol0%pIdG_+;)b?U_>+z=R|W>mBKz>(OgphMB7tTmq7|wrMX~qEP$L`|DdOSifyw; zjvX4Hx}{=pQv^KC0k;>J)ggYk`ucTchGcU}mF%6Jnz;8HGl;|OBYEr2dmrshFz+w z-1e1$v7E%i5^w)YnMpeyC;jU(O|p z@p2-vH=H{$@T5b-4vdju9pfO}C5!le_bM!Pei#Hg>6p`IX|YP2AI*Wd0&a4rsDPG6*|O-e;8L{)=*wxIgP?}0$kvvo^} z02kG*4sd!vJjTqYhwilb(`f{@oF?4Os}<78rBS**>r$m?CAM78QrpAv4BsK2AfOHe zB@ho{76)j0!={cL8cd@+FDi;#!#24c=Tf=z=9zwpZbHXz)WE=VrIB>bU+f1^8%m&iF*&h%(4cqIp*1_#SHJ@0lY;aft#&H6J z5p?XV3m=BVOGR|K6bZxT?ZfR&{6`daz%wdm%H1OiS;ljz`LRMy?|<7K*2+!g72>N= zx~Q3&nuAk)*Wca7|BM}jGYc3XeilPxOw*Y zNJA@qIJ_&KK~^g!)^JF|d!-DmQukHqBu$(`P+qpK7g?xL2qwEZHayy$* z6^{w9QYaVM$vWTukb;O*PMG(dG&V6a6Os~ve*bOH9vdp>dqM!<)llin%9Z}wFsFWe zACE2G{b%}5MdYoeb=K;JsmUU9O?8E@h@0*S3M5xeeI$qG(&mW?bCmNE6OrROH2I** z5EhZSQPUkUMGMl-Fc^<8w?Py!i_6f|UZ=bMZHJPSn+ zID916x>_u^KCr1#_7=xyH&azjyZV9l!S_anI>QbbOzmg}&jmj0B__Usb8V015D^v4 zL=@tx=VN0C^9XC-wYPfe?P44ofRwl^8f9gZT9vvRQtItD&i&i)AO6cLkDqR9`BK0f zeR_LieW|wMqnf?C%N~q=lMST|IO0@Go+Mf>P6KPX@ml;gdRDcQu@qEX+ z3`BI{=ulq|E{+;WL!_xuR%Hi+Xa3E9`O8-xKY6OpRCC%r_S&eb_$s1v%x1oEK}HHP zcI=I>1cZ6OgPzR#nJnyd_2vg(6Y#SkM=Nx5i( ztrUA;XmYD_e>$^wMtMoboZ{i~vUwxTtyvh2@vec6MyRi$ejeNuP`Q`81G zM79CTnd3)OqFUHZXSRFl?ScoOW1OIatT`b+R*@bomO6Qm(Dv$bPxLl%V`8UI9q&Ko z`~E{jVA4}@i(UIhm&txdsK0@;HiHOK(5P0O2*3L7zrONRscx>jk*PbMLpYZsmtdKv zA}YEds?6uiR~w~@P5|-A9sP3~i{>+P!JJ};7RO_7utT1F)D6T2ebnySHI(dGf(7YR z(Lg{J38zH(n}djYV&F=6c3N`K)!g)Mg8TYPs^3L9FO;nr}G|#%Nkz3Nz5K}e*XuW)LFGM zWYA4R;y8i|hSWj`DTQGfTBwu2>k~~FrnWkQG$!xJN171TBx{^bkp|+Ls)iOKv=`JL zfiP-;d9?%z(Y5oxmq~fHHLz0TwnCtO0yfC2W+r6IAV3N0vYc}&0@^w2aAF*yHFf6I ze2oL8df902TWWil8R~5sl$gpq%vXcO3`eKqbLLI?+BY`4Ncej+G|DL-l&Vz6Pk#3| zuRI~!LMbsb&Z!2E+hG`KfGp@(HLP`TS%e_!=h`plA?W9KHY$rF+Ly>n46Fk)%gpTc zNWHUvXmiWE;^bL^hYWa`As~T}sG&#-F1a3IfkGRJ=NUS2iG*d!L6TWSE16@nv`A{G zymZUy#`dgdgn;@6kHLaT2Zzp-Zgj4^Jzk_15Id&|Ux=vZlV25P zy?E^#kGe-W?xDeaoiX3G8V-N=*q%P?ZWKeHhA|~0a8~F|7;?aMJ`_|wh)M^{1&PdA zDR)j?ZUZ8x;*ibHe)HSc7yFLIQe1Snpv})7bdrmuF}iyP9)aotuR!5fH&{TRpd7&> zAze*FWoUj;LZH|wFCR794b!*fC8kUIfVOWlwCO7*osp#)C_t3n#>gW+;wBg zCg-w6X_g1-Eb;)bk+}e`dEUz~o{bUxYqlywZUmw>4Lf8~-k{0R_39RlsYVo=^Uzs# z0{W-hUe37zIEx-4Jt_Rg%P&;*2des&5+kbm`n7Ltbqm|~Lt}NWYr)Nq^7hjM)NUav z2FLMWrpmdLI!pDP1B~}b3%Mqp=t;*pP&{0cb2(0d-oexHQ9hAW zt;{PEd)hb^3m73>HR4Z4RD~lTM@`}SkAH0}Vdu)Ap-63gU`ul&B{Q*k!#x7Rx(1?s zoqn_Z`oeIV{*Au_jA!Q-9k~IAj6EhPZ=^8uv9qsK*glGDOk|~S^4y%}zxYZ-y^m(_ ztD-Egb&0c~Q^$Ta#`e5*Tj|<*{H#0QEJjUqJfsGL4shyC&M^Y&T2Ou7t6)?^#d$J6 zXF0ETc)({A?-%X+>g8Yj^=s?L@}4H(SRuRfZinW9(3J6uBkm;rGljT*1s-1$u_7R4 z&>{q*YM^|yt|ItSNTfCsS@ztPuZUEIQm!&~6iX*l48@0g%S#v5HMa-t5IxM#zi{^^ zX3KY;S}8)yy+oLqna3+F9wnr~Zo~M{k#}7po?|fN+1SC1P5+3p4FduXA-~6520l6a zN*wLZSGV?d`tWeXA}&mveD#<1^zk!~y{Z{%e@)rX#ro2JJg~v49Tq?rIxWYd#rJL! zX1G> zWOu&=$hbys}#wW6c8 z!-wwMb18n<|NYpItQ&ZMyGI{*8@fct#-8pXm$~}NsAAysMhUw&zBqZSU@#^kJA3l! zlV@FzpYRIxv5YhAuRplB{ydbv_tXO`YBvzBz=ixvTpnOdnCgAJY@LDEVZz%jYrel> zgP08}2)G{xmxGA3)bE4CRS1a5(%OqhIv=lo$O&R_iWeNHOQPQX){+CwYm2eGF|mOt zX~E7sHny8ZV=aP;MZ$@p2VaZWz|5ZGY9EYts!RcRWHN{x_M;iYnW%}esR+GgLV#G!Xg6PQEN5D|e2iJSPMQ)W2g(`a(h~N6n(*r%l`V$2& ze?}7wF5Yn_?O%pUUy(4fAhZkb=f*cZ9=cZY(~rCHfzI^ zU8hxbgo5f})jIM$OluNjp9B^lXtnwS9ty}NS**1e$LWA`+ zA|lFDV5CEgg2-u}IWKdY_qCubIuTaw}6U{o+;6J$<-N znhs(&#W@~+z&RcU)HWL1rmxgq6v(^>$%D=TTW{+dc>YA@92P{p@pc79QN)-ML}t(h zGI3`)SIe8l8W&1%Az~Z~4Tv~4I#us!v<+q<5ixB5h=NMS_%?)zW%fK0l+Nn{4FnRi zowtouNvW#ljm2Y@2MDXfn*vwRkgg%HB^y;bO+y4b!XN(Ivv2O7Ni|x<4-#Zt!Oj#T z4xz09c7C@zgoO4kT`8E3K*9AB$6iAo!^ZWk`MBsBw-|KmiCeWw9mXfryB}+>YW*ec zg!Z&ko~Xh%@I*Rfvi--P%L<2UZ?hY#YA3_Q-;+#rOEZdHkuZ zmfI+K+yj(sY{;0qmg+l8DK?RoP@lD`x!_TYcUdga0udBO)YJxs+tp2i zWy35NsEXA@#tV~;oMbRFhY^x8V=zJ(JB`y3-C)}zwvE#xn$y`iTL<& zs(EF#B0LN{hQ}U%(1^#dF3}X~t zFYf+1)4lALPs#3;wSenYIt%p1w&Cv14FhUs)}_+9iOeF|Vv^B7ns7R1npz4d0(_^3 z-fx#KjA~~}JWhKVoia@yW-6A^j5Z^a`Bd6g=R_wKRTF0v|?o?{#8 z{C_aWAjj`)?0_BWwt4*x7-k4`H++XHibTsgj^|$Y$D2CM23qYZ$nx83CbeLEYOJJ@ zS(PjnBQ+oyXc2bkcgBpag!0Dqlc&CTgz*^K^SqrpW-B038Z^9~7n>Rz9IK(t9k1Ua z$gIh1@z0Qhl*r4byzEj5dvxDsj@am3_Wc1lbY8gnA;2t|W?$diCqpUd zOu$b~P@A&|$IK~cLCS9o^+woJs|!<8Q%tNkZaKYY|AXu9uU>NBif`J6#rMuDd$_LJ z7Kh=x8}_-cUTRat%waqjh)M@UBnC>V6wK$c#kS2O-n~@@>ylL>)huL7L?ofL8vwN} zqb)f=XB95>2cxfzlxwIx%CH(z?NUlrK(Bz&TV)%{i#$ub6dP6`siEHTtG66D_{fEM z3#t?(RPed3fo1Qk`sJofd~|oK(Mnwe{~rYK{{LLlob~+G`Q3{m!2-=GfSh%&zoEOU z(}7e4xB6Q&HW@*R(T8MSrkQ7Rr2;4%>h9}(0vs_Jn7y1c?6a4SJtDkiLGp&Y?M%!- zaEG*1lZU*4l|PmW`KHDjn~?#L>9{3r9-_yRCM&s3{%&(GL3>Y(zl!bJy=R}Y@4?(8 z#U0eURCjkoWbI1Iv9a+D7F>3~n3q1Ndq?I(y(flAtpMGKO6HW`w}^#!L49sUtT31^ zL;*>X!gev}B%CJV0RYbd#nA9jt4lc-*TFL+H+Lh9)S@m!7*1% z-oV{xe5OoR1LtJxKuvN{RdtQ6GItCmprmT2thF14N47{-*5=n*^a_#7grj1~&V1IM zANti@hO2y1NA1))YVsaIZ;N4fBhL}Dq>?cYnJG9W8n|WF?0H&+nwfug>Rfj+(bQq;X2uWK_Y9(Dwg-D_~uZCp_#R()ZK9I1s|-v&}A5`ML0tQ>j~b zdtuqzsO%~@Bz^2+?S_!wVMqJweQQT<>FpbmRIW0lUZ4w$*9bP@l$aP$SW+zJ#4@%^ zm<@X<#w?bjpQfL(M>-EZe!wA1?<#370=L1j^=Cb8I{cRbqNG8FRfeBiJiBGYy9TQ& z5?0NqjYKu&tF=Up`6^2oWHqVVuxZ;!OFC~+9R@L+KnVizvTYa*m}Pum8bCV}p`?B= zs*t=5*3-bR2%-ySXD7IJZ5XrN{!AsNRQUDsyJYS4K?k z@4bKL(Ppr*PLy96!Sc!(>)Dbux_VA(%nW&h;#938+cGkKT`E?f)XJSVx2Su7GG zjDh5ER@w3-hJH^szzI^3YN~mO8WhOMqY-MO6;0Q6FM5U>1CIB;OtGoYh}0Mp^P-JU zY05=)vN2>2(9~Q^t4h()jG*?%Zw;)0+hHJI{r2CVJbh}y1jb`@A5<@d&{pd59vleO z4);z)+LG$AKlk^6+{iO95at*Z3Y8*kcrcEivltFSm@|>6ERy4)@=yKa zJDrd3U3}lXlI8=!1V(hox=Wx<2e<18E^Sy!vyfSSZMJP>TUVme%tE;dqB5+8@XV^i z=4R$KW^SuOM8XEQj(BrG2t~*GD>h-KMHyG~wsH8rumgn2wSa0*6+*fOG_pg)lt2u} zY>XXZ?hvL_YIYSR1#P&weDoaGuy(%r(wN9QBCe{*G_8zqBFJV-4R<+0hgZ*ZpBXsa zfmQ{bxXO79lIJ|<3^XgKLmg5gYSO3;P0bmRDM@8hI;o9CZJL^#l1y=pSz|FH zSy8YSG>|NCFl%|}*0ii2ia~641y-K^EGPP!)?ZcC*A9!wt2%gCz&R43e;79&;cSsK6A*7epW}CM3yNM5qu;(hMldDIkc5 z@Mp^Hkw@3oRFyP5fYBH@^4(ol7qG5})kGc(+5Rlo&;M3RZ&k6w58^4{I8CY2G< zcx?pB*)vDFt+b&7Jgj5Ni`CQ&F0? zJ|RT9I3Za{)B_zpbuPwZ!269^MwR^(&6q+ZnpQWsX`f7t6`PyJr?fE>=mKChG^z%W zbm+RbR*G4ns;1nl>^J)yu#IZUi6PupM|Fe@|>GiDL<4H9wGT$7%6J!KK| zZ4m_&6*(#IJ6Sb*defdjR3MId(%San?1nxZz-vC{IU`V_U4Ux~&S!MNSK&a+VHmSbaM;qxDZFsW=e|9PM!JqkUw~qnSRnbzx5TbHp7NTROZ>hMA{o@b_I!a+*g<`;#$P8xo-l_djlOf?J$*0B11dgdHkF zouS-L8iz2)ahIaKJ-v&e_5>$R$s<>pdZ3!rKlEE?#lk6!XE)WSA@2aW}#6!_jQ$%VMrBSsh zBWYC+bqsl%-83ad4+#y8O`#4`<74a^nYB%m0WvsiknH+Xw*nT3UMtC8{0$Kmx)l~_ zwbU+<`-DECs_jxwtu&Oa$Ez)L82wBXR4bSoXbkcOTjpRtky2obnBg#HlUU7HPbkU} zoQ}Y#hA?lYT~dWbGS`;OT;M)(Hf9RWZSP0>&SBP5D!Ot4;|ua!2gtaZc{bYFFhDM! z-n_GGB8e1+T9qjyH`Lu-wX!~`?&hwlR?8xwSWApu*||BJkI6JPNxWGZ{Ozl24ZTx` zypvEwW`7_eq}YR}x5i8(HX&XyH8#2oab8)4hf=f07QlZgq?kQZSg_om{G`z}goeEB zAcUb+mB2#T4ru}ko#ULr%81GRJCQZ~^J#aQ#Usumy%!;G!NVH2IF1bTG`uYDG@jsA zejkkz!{becn&mBOex6=|0Kpz7RlwL~&^+tKwVFX<11q2~*e-am3TkFrTr;JOsf<|K zngV1c0|be$bwZ(Qn21o(Q`(SO+eg=Ms;o&-B&|(rft!)bQfu`sfT5U6N(XYR)Vrl1 zB~gvlw?cIWLVfgs8Cuj5Cd?C_AFCNovkm)q)aC;We;K zkIr?^HixjhwHS+sR>ZCvU{{eAtsX)IIiVWYnGUi3kTG*|2?Q76&6Z5uU#w$u88u(JEuDVW}r$706X2&1HTA%LzlU zw=8C%ex5Muc=D#AB2K`Zv00`*cO@2C9w@XEfXZ`zRfukBCEc*NahA8Lu>?to_@wE! zS%}iOZAnf}w+rB&g$Ndu(D7z?F;+fOAgmEE%8SA>pQwYUW{)Zw1U_*g;Weok+WT@&#?g(m>mw0mS%)#r6o6 zyKCzk)IZ`9i&vIZ^F3qz!%4?}~cNoh^BGv-OJn;n*z=Zkbt}8DN%E&FtJU zK2g^|xNh}6HUZ>@VqW($!ZQOrsE%qfup{b$0imk3nw;FRGo8t=C4_)Tqd^LJ^{0$p zVR3824j?WyI7*-y-3#npV>JMq=f4p?Sg<(};8c~NidkdsEM-Qby}!T=1 z5X!@oA41drjs|^W-aGwB3j_wR4jAWb9==E7|CYUfaa8_BECfAc?Hv}vv#bqwmGz~F zqNZw4fm!%Mf?L6_V<+wa&|{{GLlBg$hngA+vMKRBFa*5fQ4zYrp}hey;Ect<*|R~f zfc9lGjpIhDgr-!3KmoNyG!aVQnqtN^tASPsI7;+MUxT?eiAX5AA=DE87&+C)ZXVWk zb^tp(bo5wL%iSFPH&Kd8Sf&~hlauGC+r{*{!g)tg?cm}?CDn^=>`SI2G&V4-&6^Bo zCJMT7G4-T~QD8L`W+`YLdec=?Ry7l^^(kthS>z418>%N5K~;bJd;j%~SmAAfHR`*>R&`OzTzah|w_DY-%Fn%EHlEyg5ZcR<9p(B>+yp z)=m!ZY0I>fGGi#5L_o*E{^?e}8Ai*gJN253a0&o1(ZyPyiPghC)F_}tHcG3p<(WlN z<_g+Ut$^kpP(bo|b=j-`#Gv`|*=g7kf=+e&W7$Fwnn{cDhKjZk@&~P`DU$8*h`K7? zyZ@*Wr6%+@x+4&PW;SOnu(6PiLPJ$)KY1DQJPmx@P^0OBwJ_@dgKh^r^jTGCzG2kS zP#kFhAv_#tVJM!Givw%A|SY z4ft!YnKE=GA~QC^Oxduku}O;f6U?RxErE`PX(YnFXF`kFyMQGFR%|?*>&D9ZQ@Pm7Q8n=!#*ZU7LKZ}zhU)KdwgPBOe+Ic0a6|_|IflMwV z%97$(G`#w3mn z3>b0XBIRi(M9}S?iJd6P=g>OQ5&uA8=eB_2LGRt|9nUxcvsHyd&ZA2RbDQxCtCH!Sjfsk)bnY%#^+|A3(EJz|Y&`7@xv~Ay$ZaWnik1(WpI9vwP z&6VUW0vmFoJO$yEX&+Xvh=IhC95eK*D;g=;VOB^|=_;IOR>DQ~9lvW^(lK|py*l;=%M=n-yF&H4K z1vwWw>xF^ImedZr3=vrgPB?c=xE&WiQ{UFjA`}lYI3A!O3xZP2jI~CXqD!T-+7v1x z&X8DC{Vz9US{?$)79pmKJ}sfw7{MqMd(TcR(eDJz zmKI~+S>vDFbPCC@mM>L@r#^1LBRbdSs~Fct#^W?il@OK? z^N5KlNEC5k1z*6W1+ZY53Kz$;H^z9qA~oaTi~>$*-ObDM?(gKIGvMtYB+m4w-F6~G zoBo$SI^reN9T!?Ud`w`00ac5TT`dp+cilScW|k+xt(YCKM1q1oDv|WO=`}X!Mad`& z(nJCe6*QU};U%aRtz^|u60xbzQdzYIq1FZDMffCMNHttT(xOy9iPSZhS5;k0e~w~a zv+EDv0{FhdT^K@7XP!llw-H*av$d>n?qa)cI4gq3sHb*T-}NPbj-iXejJAcwhT{yz z48{m#S)go@LQSS3xnoCfe&Kh&_|e&SUVr-)RTX~i-5>q@cQ4$0^jIz}FoJG^C)zHk zp=V+iGY~WY(-5%R-H-pr*L(mtpG$AC|7>f6+hJZDysiKvf&n?`B}n^IhsNvXj_Fhb zMYy{eW#)MEjk|4rZ5k~P-HbxohMJ0Imh7Dei1YV!EG8X~cm$*E@RR_C; zl!Z=-x~HI~n0%U|dGCcYH^d<$4pp;6UV!C;NH|rs;Gdc>8*awlYMo5(MQ5F(?8_uZbJR%mSq;ybemRn(HRuaSi(i z_(H=PdnvkjCSPt=W0Bd9I^m_KfQm^=-(6_;ut;MiLgXb8FT$awH7@LHv^47g!!W@F zfJo;F^nn1}5(0~gG&5W-Wr#jAC?(=^?Q3k1qBo7jbPZ>;aT41i`Yjx!SU{}>MVus{ z=Ak@dY@~w0JMFlb0yZ2h54i=a4g@AW9coQ0Ga?bGv1hBb!oO+DgtV|cypShk9Cf(% zrs4Sd5_Pq5o_-t(oB8erg!q8h#6(~sLBcH8bM%E@|LCP6K5M)dP+Q*k;cs3z+T&`f z@a8H;Fu5KC#Kxwk%=T$VW>1sx6D;!hk9tOQdh_Gydp-5$N_+=m=T1XMQMW%}M0HJ0 z^K#&4H|oYh8pP3spk0CU8cfRXwtK*tRo*s1wYd?Bqhdf5VQS18>afUK(fxDIp7H{X zHrI7*8pxxC6|y;5>rT1mK_oam=YKOcn|vk+|f%Dkxay z!m>P2m-nwPe0>$CI35`CE3^>8RlR&^?aBWAHg-p3dFxt{NCza61FUSYxEh*%F*8ax z36{ZVfda+R!J}}*taaT4A!MrKRXB3#l|(Nby^$xdy#CY?1E5 zeGt!$K4zJ6U0v*g!P^4sODcH5_Y*MWV;6|>j;DcMq#@BBBy52L`I@7=1&=8kQYcG} zSFeGz2U|)(pdj4{dIi#=8V;-tLp7(Wc{QfWfP@+HZD8+?$k6totz9xu>w`BxT+I~U zUC&CrLz|k8=JLX=#%^gyKzZY0JN_ffGF2>Wgji<6zIBEmBI`Y)b8)&t}y_Qo-cjWvobBFIprM5ZGe zfA3G=Y5nt^STWOzc82w}67T9E(c(G6ScaVC)witK`^P5h8YpgROcmy9ROU!kRNj5h z;?eisdi~s))5ngwi`c7gUL9S&_?`#KNeqEEKv=TD$l8Cc6}N+L=8nVp1Rxep%%~V5 zwm)eP(B^>S_R}t?3DX!r!!`IF8P`{>Hg>-AxwMz`O**4IFtN%|e$G4)3_}m0s#670 zVEM-NDy(|!718_+Q+o~&Kp%+K{{Os_N)_7|tf(Fyr1o;sWGiQGW6WYl37Ir)|kK=YX)Lv-IEQG*-b~7sB zkNoO*GHmso>wa^j@u@i#tLeouK2PJko}hY-*PUtOyM zlk1n=DekRGAW$_(HB%d2PKfzawOkWsUCTmL17%qE3)mfo{=tnM>E<*VXs{}qsu3@% zONtCt%=@PrbpSg+#J@n>xIh|M_O5;R%NMtoRss_pziPp8Kn+?W`ec`Dx5#~w;6uOM z8!N|>p_G-TBN`AYn&yJ#VF0#POyLL&fq58J#W0rlXvN=oL84K3`Wa&MFS&f2QAKM5 zRYiH2jEb-mTq+GCF!7YZ9*yYFh7fkhli6O0at%UwB0vM{!wB|D8#yJAQe`1!BGCjX zLg#@PU!rJ?)KH8y&9teqMP$~I;n1UR0LQnjN-i;5RlTalYR$vp>dgSWeP<#C0?{Ca zHsE(Su&rbA)`x9?Wnv_j38@`;?LUFO`?`|;Or({dS};@eej`c;wgmUgkvsakHzv+i zJww(Tzdf3Z^I%V}!c46AZ%OOSl9QES-uM%S87Q@ujTHuyEjTAUUH!n^f_q1xW4dcz z+tSbesmWSWFo5%(;A|J?B-CdWkNXv`hQqXcTiUmsmuF#%DejZjwCY1qa6 zWo^E1zqL`C4BcS%7gmp>h`dvycBr^~OF(IRJ3!JlkwA1;I&w}?xO^PX4WWXkc znfN~7%%l2 zo>f#yPQ-}^;F^U2?0u0)Vu=M}gPfV0TOu55 zLwsmIz8N2g<0K+2c5ShTq_H~t9iRiGhFc9yCW-Y1#}Bz!HsF8lv2O^Nx04QH99kd} zeJV(TStEr!%^ORcJNk>!37wPXHSx_~Iz%hc+D?_#K)vA=OB$BrC-gBy_!&<&4`~NY zS7P981=5ZsCPG>5={S+~iC#_W@7jnJrSxNZpFY9aj568(pbtD2O+4t$gXSR0bV^FK*Oe3FLIO zg8_rdnmMtg<{BZ~?KxbskG`>d4Ccv7SwI$uOQ3#%nW?D3Sd5fHJjSw+l3^JGP{ig0 zy1f3v zX>_{2x9RT&;*+{XJ`VH5Vs7I|yInP{k4K`mn;K1XV2BNxhvwpiXUznZnSsfHPN zD=ZoJR=Kiaz-kj!Vo4FQYs-C*5gS(RaDhRpLn3U6!N;acFL*BBi>{?U%8l;4a9b=D zORaruy*t{QC6505fBcCb0hRY)Nv|d~orq#ANf%{PODHo_hUAX^a&+1!W9K0JtN+eL z36iIrS7zX5ql9{L`NyF_qVVHCyYV?Vy$R>Ea*mwZ7J}Q~03Zj01X)J^$p5<$=)2$z zIs|oU;x?~b{N9;kXU~Z-=ggf37o|j0PU$P7_k_f8Ds(l)y8DGM)|cH$L|ig~x@dkgI6F-4SlO-w!CzU>LzZnHSs&Hdj^RMIJp$y zSq&^T2E1t{1`*|eQBHvCJX&-X1&i%faR>o}WH%C5vg-1k~?EaZr+ z$gdxm7G+b9i8-6Ibe!M~KFF-5<=HuSR<+U{H{B5PV?^v`@R=e!*+P*eoT?T~O+^_s zQWPAXpbeKp$lNyR@Yc?*!P-Gjdi|ng71^yr4hRe%Kp(4$4`LM@2DTl1Jb;KyC&nWV zl?W?tGJP!A#M6o^KH~3R?{Bv6*bY7Z(~tgX%abXhh8Ub7q1oZgHX~AR#NYJ3*T;P24Rld5i zbZZK4oGdq57{&UXMGrzq$QPGDib>-Xt1?n@&NWk@D-l8%`4}V-2S<3U(3=nRM9|=O zF2E&>Dt=Rh;+>)Qqcn%P-iZP4C{p%v^p-qCU}@mhrUt?^kO%BFX3j>ew3Vs}TQtNQ zc+c#!^1K5M2R#x}pCCy$-7>Tp2;Xq9sKYh#ZQ5!kEqPnlV#?bUiWw7W+adxogr>S_ zxa*n^5NA7CWo~9*zAnbIqZ!m;&@8~9d5swl)&?y9@>@}1eGx44r78Ph%$8wO+3mns zcfKJ)D+n%b9}RhHy|1`~oEQJ&kD3`B>A{kj8CdsT6PAyS@ilTKXqJFb6LKHD7UcLu z7~VZ<39>iP$V@a5YdV?%T zzrJb^{+a6&G~&?RqnBTK{SAN3UM2V1t7>Ly%G|k9w1}CAo;~))@?;2%t&W^zXW@81 zdgJ&aPc&)t0LOM4N#L>kcjE$(DTpZmj!3k~yMgMlO7KWo4j47fP+i_4X38Dp55&qZ zEx`#hmuBbRaabN+*YYYE>dPm7dAU012w%Lu4yzsuR5t{ps;VcLF0W1R-*4${_3_et zU)(DkqLetq5i@WwRxFt|bG#vg2&9xzRm*!2i260>6ySsx6ndNk3}2%$3BprG;9+zI z4F8OE1{l^IfFqM9O|;HUTcmyo#}~+(Ggk>NmV8)6I8#exeUKfn%uS0dOdF)@<{Ds_ zq*MVxFcyzJnr&U1YP;rJO#-g64ud#J9Us~nW~*VV5;l=sd~v;&syZ&1gc{wEw*C^Ds}0&k8_ zLX|71R17oUpes_5`~CUg!nB_d!|@j^krWcBc~whr=34SQfGP-OV}CK8)#UMyY}jD$ z*c;U2ywiPHjUnZhLJiN7hgkz{N$>kv^}$1`t7@E1$;BVN_ST!KZ>XSqUEGNbaih?y z5%)@z5>Yw(-u;aY^|D$hhMXfyqd~}BGPrKE7v>l#*mIOW5 z4H*QOA9OZQ3^A+Y=8klfgEa({vRgCYgrg1zHDJ9|Al{H{5bpI)BM%NiK?9o?GL!;^ zWkRObcEL4u8gchcI;33#R_k^3NpcA@Mqn^nqhuxAY#`!CSp$s19BvlQZsrev_^q4t z$;`o+&#i{7E?2;)!!gx$s+sjRCclUC7uxW_w<>+dc0KI;=g07MKVfF+fszv$+!LQF zi~>|x9)AGFCVK2Aj{5)L^YoX;s3N1DjpZvOc2U~$kymZtOJZ!GkiZ`Q>_%p+5Q260 zModT{&hrGBllD9v+Oi{m@z)Q^AyM)s>K_<=Q{R5e%#`6Nxi}p{WXNmafFEJ16tZ)d zm)DcFU-F0lk}lZO`QtteV~Yw@bI<_Ad}8-4CeV~L>Vc`!b{Qw!1+f?yV}Ct^bUL9D zt3p#~xF-*?sF>)`g_oge2k~a8W_Kzd^gRS<1*iOiL8c0q72pcQm;3@6A*|B%4+j`j z4G?3#x_tfZCV#*U`3JR;>QOCJ+QNfdpMKys2|hD@mi*r;)J*efVXy45J^^8c06-(V zF3H>1YLZ5Sjkm8yrchr!=qAJ7!Z;*l_K4YptwJRl>imhm4R1nj~!tYE`WdIEMoH7)lR3`Mu3lGW$_y zxe#2DrRFt2Pjr=zCtPyo{{i#BrA=mW2=gu`%zHA|R*(bp|21A(HPT4a5d&U`4AX-`?_%Arj7-*? zawZxZ!utJ*SoE|F{$$yGzwgse7TH3(M3x_W*H#%GGQ}k{(r}e-_s$N1mWbK_VOMQ+ zDdB;dsJ4sT=@bMWxTJ8dy@Kj3T~Y?n0*F5i7@IMHZSFl>s*p&EQq@l+V)JJ|DNF zdsTfR+Mr;iCLl9bzyy$!VZe0 z7`AdGlDg%w0Mlm5dQ>H*cASe_zxcp!KAz#+Vf1`5Ac94G$zq4y6%c^1nl$o1e*VY% z&n`{5qBpOB>)oL-^)BljjKM%Ztf?|H6`*>^RrP~E@EzU-{~QbYsOF0+%xN1Q>NI#d z1l$M}!H4G#JI6;lF1SpdcxGgrc&1@GY~(ty-Mc~hczcT!RB!{&UA)Oc9*38nY%B;~ zCY>P=)-tgXg5Mu;yU~CWW6@pbGiPcn(aJ0mk}od$lK=5jhTZLlS7Vvqd@7fPX`(lt zF8UHOjNt1u{&||XiCtqJ*ztKkTbqCLZ*x{QY&K_@ArM$w_OHDtqaKNG{A*|NHMFL)|{z=;P~prN04=3J2FLiWy=|A+M%pIne+? zgW#6Bgw>WNHcC{4vltu%4F(5zxiMO!7UL5@YM3XizSgZigsiq+-D?}J9StyTXGVkp zj;<#}9d&?|JPkVl#aNVT5{*ngWW?F$GyL@9kKuntF|dQWz+qKmFBV)gfPpC)iWLG3 zGWhbVPfsqsA-4g4x#_z|U#s@-(669RKhQKlroX`*RM!O^Mn1p~Q7E z;8Ox`-O&cDm8*X|8)H`33(6lqIXp@nRhZeC-FOtRjX+~ixy4#*A!AQoQnHb?B>59n zxLg5rhy=V8pRj|gD!L=q`anaL%M0~>G{DRUQ?o1;AtJM;9y@89&C0OM$O;kw?xA4L zT5!Qu;)`)SO?J*aaOeEy?zjH#U;RTZ0HSk87MS;h&e>WTPLUD9{L{^atiipbpge`h%Z!D<5EunbAZAwesVowa>Ll@bKHs`&c*F=g zMLMM2Oj^yv)pLyWd9)Il9lful{NJDn678hBk>Kml$2 zlBZyv6y3w_!0cXhJra>VS#dQHA;Ix*>8X}8%4$@D7Toku8stNFw~r2Dpo1A??ul4p zT|UYPvD!H0Nh%4L|Jr#MdbGFS`i}2m@ePoAg{pe&YB1i=0Mil2PP@GcY44QYq!vTy z^Fs#e@@&Zg{1^n%5Q3>C4bC1QaUbEjMcqo%8dr!{>K0_SOcq&{RaV!))LJ^kUAQn} ztY@M~zRe2Zlxb}j)1|6hDayq6P{akq>O=44pKSfA3I00&&Io2Q=)^}B5sH0tU)B#= zANIMKNH(xv4>-X1+JG_|5FCrEP;Lkd(9G_X{0umffF4Rw3x`#F)PX#HfJbFRM%k^+ za(zfRtcvg&JVI>@OoQI2HAZQ8J#{Gr&Vsr5G@W@s4>haPfky(6yKbd?xUQ@}9E>A{ zu!EdxtT=85ok9mL(2fu1@~>sEvxjWFfl=4DshTzy7OPN3b}{0Z>3f46rt%w|w;b`W z)YjlXaLq;rwj6(~Y+yHsTobjn_cPxs1XvGS(WA8pjxk_?6AhM{J039J9RQU(mQVuU zeveNNra>2WE|ht}$5ppoeJph>TU&NP#s?X9Cn^KGEi;$=R7IbOQ>%h%D$L=)M+Jvv zFQlq6H1gxPUwi1l;%v%u#vBlXMy}%_T_Mn|hgt*nukQ2Iive>*Farbo;H<2 zi=?F;2op9_te>zOu5i>fPjI`MTievkzxDjt{S(VWl>sLmMVhh$}nKbDNic>w%wn{C`J$enCz=s3$=8_ZnvFlhXO9qG}3JlfktU z_aRLd{hX27Az;*6Xp)CLfIL%CD$Y`*tZY}`{(TO%-*|tBsY7IqM~9YiCz{&SyIUaM+xREDXCiqP@&nu#Fz!%vNKZ3k;i#@K z>kT#^(p0RmtTm)pW58X$N`;!p=psDQza|nk*g%!!&&{&Z+-Z(nN8DYLX_F> zK*;YB&d!Md;{@wx_)-qda zE=ofct>t^Kz5WFL8keU!6V=s*?Tu2O1{!!e`HSW_w-F0Pr*!fD5GzxQ1JKj1P9xO3WMeca`nSsIMD%T6SkaANGyFbRIyZgSm0|ANkm{~+n#yJ!m&JN97 zd}le3(@vT%oU#O7r#(Xo(57d3V*)XF6YQYL~%=XY=`Iw!y?aBdZ zA#mj3QD2RCnYo9q=Il?`!VaWZk2e7>ZLQPhBdv|lt1Tj#M?;)$dt5+lk!1(C<>L6t zgAnxh2DgVl{&ll4i?xNm1Q~V^sF;e9)Y(wdv(X zO^C1NmIrt!3pSCw>Xywi0_z*T4aW(zRdw~$KLAky*Ud2vcoA+fwnD^BCF@nkmC8%1 z)fIJPlJKS2rFts15)MF$Oxm*jkD6i|ad0=6vjdpZulY zJtX5c%0~TpQyOXDvZQ^sjX)*Zh8yoZfxpG?=vS_{nzA<>u`e3z48swL%P#WVZ$%6K zwx6TE8D2H)QKeV{vZ%t3UFLpvzafn1c5AUWW<0B;%Di+uJ)p&e94U3=#eZe_r#-T& zLUVXiEwIB`U`R&f#j-omnxsZoT@h=K-azmad&KpWO7Sg)@0E9V)@_t(Jj+~6bBW+MsoRF*HQpkuO1g|3o- zE(ny5#ZrtTmi+HudVc#Zci%})x2X;fg@~<$>gwd$w-nMfD@c=p-CeaD9$*xybJH^w zWyP}Q-x5I8cK?3qcQmbR43Hcl3_EJW^h~tfd}rn|KZ2KpnIR#G@O{o zj9#5O3gaC?*kP&-3_FNcaeNMHY7lnd?8d^*szUISzx6Y`lb^H;DI)v(Ph;FcB$mua zVT0hqp#Dp|pDFbe>fjah0zevX7GTNKQi?iQU;Dv-UwG-&5jNHmh}YP9?^syGFn=WO8KBjX6c`>x z#}f}{+daAF-7XkwQ#dB@4SdM*r^Jjk1xD;dCvO)A`+_}(%roq>{$TU*6Tb+Ci;Qy( zX30$}hDDK5b^{QNH9G(z4$u9M!cqe_I~=TLl?ZuoYf0~X?#4I}8#ZNpSwCwhpqoG~ z6A~yXM5yjM?yeDMP+L<~jjRnU%crhgd8YKq?Il~hT4P>t74 zs17%I#ns5ZHa4*ys;mkUc`CjR!Kz66U%#^O5}hm##n8(ys+~IXQ*x1Ccjha~c}`*x zCnA?`KI|dUu15wnEj|gcP{P9;JsJwofqPg9#K`FMyF`bw0;_|gh;0u1Ow!yz3 zd0t;w4uWO+7_^<`ss|~{rXU8RQ5_Iq=^;+C{fSw=+%x8bL%#>4LZ~yyxb|T?iznl$ zusr94KiuWz2cF;Ds#s_v62mc|42hjl{zZQ}V!@k>V1;aF>H0QY5YZ~@n&vK8Fmew- zfJse|qHH*Z5bG=0GiQDon0H1l@F0>Qs}m||^9%@XJcmOPNeijn_vs>|0laGm2dry& z*N&ar_~V=Qq4xfj5!XN(M(mdS6VVe^7_ft|PdWAYJtHN>xyrV0!gyHzmV!lbrn@)V zZmPkA$!5^U=K0C#*=U~4gas%ZirLK6G{*WM%Y$o_b_gTyd0?Rfjg_L#0yUXtRUC9U zmkGBHPBo~Kr$JZMmlPLN7E;IBS*$z*FpbP$rwk%^UFz?C;GV?~2WsPkcR#x9Bm*y^ zLbt<{a+o!Qv*N^eQT!@#EC%Wvc3@wY%a4H&-=G6#%+&=H(o;`{6qwAUOy!S)&oWdf z*LDkG0dm2W`7Yda%dlc|8-+3v=m;ihi!Veqad7<-t6>Wdhl$=aqvOP?<_(RYs(U#p;C5z^jB@;Eo z1sc-rBb!&RSXt6-jGBfWjs}}~duKxdutI2KGC_AGrrf&xm1(0B`o4exdSamyw&_vW z?5NJ>evRPFFSdlzS|+U`um=*wKyV|bHajLdqa*fyc)8Sz^s6+-^bRl`1gfjDcz}r2 zlZ-lRfg)#QN2pc9K*1>a~)D7JWArWoU+Ne^Yn%q3Y5JLZGGl}A3pS&ludu5L4P#O zkKO$@01kY%d!{SdgBd)b`_%#K-au_@y>bG6KhcS*UjEX*U*CBtLU6R!3pIU1QZ-J3oir|c#P zk$>&(N<%hxmsmUl7y=YT0v0Da6br@sW|UPO#z!MU-(?PUUsM(qv|Hv!g^VfVRmB~U1|)@j`id` zUoaqzMGeRwIGKrBSnxtV6N3m3Q~Kfg@Su!ghZH_*xKy=-*&S$J%Z3~lg1$+_HH|Fi zZ*7uM6Kb3rQ9lu9F<=XW!_nNaiuL}0-2>FdqwfSB!|7u}_b$+2XJ$+R4(|zf1b`w+ zJ5ksLUOkQ?w@)JFutRa1xQ&`|_PL8I#7e^(&u6m(j_LPd#&1)_dKidKh&`#(+6{>6 z`ppvyqBpNkfXdgtW`&=1rY%ocYo=!UUa=wLy=|<9&9AKC9sZ`x&Byqtf$pHgzU7wd zVmU?oOd87+QO7X;8->K96e&dOP-_6jk6so|@`}yt(-1uuJrf}huStY%Gc+mfVb3v; zFtd5)w5Igam0O5TR8t-9dCKLakFvJ1LuYjT$KRG}c@J0zm@Jk*;In`1j&kU~hvZC} z9GZx+CD5X4?_#-<`#eWVjk~< z;Bx?*0=(g>oG0Sk%V2QmxRMarq?GtvWE^V%tyw^)TElp{dAS8FER@xd!|_WIoMgM9 zMkIr;2r_)f%wAM7!VbXZzBA6wrS4l#E0I_O!LlPv$ zkbp{oW!Sfmy6@4Qs0-<`Q6ltJjd zSrI&tUH>}=kW29ye_$Mf~PLoorOGJ~{CwTvc?1WStlfQqqw>04n zXVYg<^)O@CEI76SqO_~peTz7zB*aECJ5Z|xV_+>gBi)1L^a{z!r;GQz@w*(224T(! z33{$1`vXjt)Bq&lA6r_mg6G!nh;r!4sGka@Y)#OH8N)$=Z~%`4VijW z0jWfz^&(3+>#67~%*;xM8=|C=E4KT=n!QLv&4P20dqTs=tiXwz7+{yX4o(GH^6WJ;sCF(_BTmRT`lHg=rXY;XM{ zTLvGS<*(cZaBj>T>*Q884?rug7}ONFoLqG2HCnBg;Uj8g!1-d~?OL$|hF1-noguFS zPS}58&n})6FynkR@E2*?gDaXqxRq?7K`@^Fesec)GEJW-s_X`;AI3aS z(k%cng}#wHMiERHb(nEBt04nZL*%Ix+XSjg;UoS%7o`XBY(b*V3`{G7!?Y0qDCZ!} zK5(^*7tDz0o3}O}Zf#HpQ%@NaUjWjEXgCkXAlNfP(6Z8zF8ak|-(GE1uy^hTDNT!k zRTBqGF`tP_Gi`&E5uk1L9kT-5J|7C3_>x8>buOA{Kn2YkoWYod1^}*wqG&x#Xon?Q&R$kQ)>Z|w2d`Y#fP%E2t3CprV z7Of6-fqDJGD*nz>71dedbH}u|t8Bt=I1?yHGATkCz54d+uUw{H1A6ors-{=Ui{)7; zkKCISQWb^WjQjj_Bvlk6qYjG5a|+-Vp7ns%=^>CkNYZr_Gpl;L+Lt{+3P6TcLvUIX zPM5}3IAvyvQB)Ld5y>zOK42X05oR4s;8N!ZH!4s$wz=Bjo$ZVF=pS_03>=gm%pD}s z3Q>tcL4I;CnM~b`Y;z~bJg^hWp_r6-f{L(YgU6R5B_Kn%Xpo+hGo2mc>}=Jpv$gwV z_fC;&CB<7d^XyVzf~2MjN(MM&nQI#e6Fjkd?zV;HWt2r67!YMXN0iMAWiDi$OWra* zS+q)>NUFNKt5dT?9hmwibYvYCi&f1R({R+uijeHfZMBY`c9bfVhqeUzA%M{x0&Utp z?fgW%>Of~xU}O_wWwzt;aU%aL8}xgt>(Bdvw;rES_u&S08KDSOje7uL>b#I(9>w5y zXs?pQ>7cGP|9ExwJ@374O)jJ2%V$)u$p_{LjT;-9nfaaDZ%_<1gw7qC&<0s!Wj;Zj z2S882`|rN>%4s4LKqozpNyA*p^7sJvssM2`<8X>AxMv$H+Fd-SzQa(l6tn0Gk(TRL z$fLr#aYa(w!|kohXY++dRBqY!aJaYLPJS#R>#0|*4h5dv-bg-PJq6QQ>;D#lR-fyt z2Lw9<&R#v9Kux39i@Rd&b%y-`d;A_mZoV!G_)iWF4FKA?oq5##UT0UWV6~2QMUCr6 zyRFG|<`js9DhgFLzy}5|W_Vwqg9FYwc-Cc%MlYZy3>``=E+1_(ME2uH-(I>Ha(%Am z3p5jEe5g_eS(3>Iw>-ghbqXif?IPWPFD~{|0I8c47U@{6u_n{SdChCc%wFk%M4JdVUTWs!C@YWAD%k%`qfdSKq@NB+?|pj(;VDxn_Cu2 zng9Z1?ifxS0iL$a?ePe1`ri)}Hs+kDhUNXKO}enjJ4ASVck| z5KGnYD+dPH)tGs(Y*f#z-t*C;X3udpxU%BA3YeO}ysDUaV*Wf47lBVa!6(w!zj*Zh zw_ZDgZP)B3WUS+0iSiJamuE5KwnQig`q}7rr~{vka{~v+P{Ii>@W%HVU1?`!i)bce zxdN%Nl^SI4lo<2F6ky?-+nbl~WwgxWfWo(|u^5XnA2$_lAO>KPu#RHa{j)Bf%&S>@1jQtgs?huV@-WP=q|fWd?)25BMV50{v^h`fB___?<~7+o%l@6o##RZh%v)JQ}TPD$=Q z7b0ota3`P|KBf~+sOs*TtOWJN1#qM|L_Uv}I9KhVxtjfinpprV!fi^}g|fa|+)I9* zh_?kM#vKA$qa5UWL2{d3{=Gfe^J=1%NX406du#e~`{s@auI4 zT|C(gq*;ogQ40}8rm(q0QbZEV^pg^>LzFi^^v`Tl*aLETd{3?|^(8$Sg2F=$2f>20 zL~PB@ORnSbD>VH>p;n1S7UYhR1TlBBIpz~{(S@ySZrF{e5S{BfK@13rC~}#AHb_TF z%m?Q7>~Akxkp(yk2D_K%mb&q>;he?pWWdqCTS-iWu}>NhHe;Vv@eg2R*UFx~`O%t}=-4P;aJ*`HKMaFK+;! zfXnIH#tGF1)io(J?TQ93$)@<$~;u zW6*t(QQ;5wRgz~K2;!+V-*(M3AwWlXUvCbuP%}$(H_>`;j~`ctq2<}M(#95t36leu ze`W=g&=h+}f^&m=ovBa8OT|+^tsaV4LSktdf@Yzh(`5N}v2L}?4aUdVxsFY53i3Lb zD7W8ED!Dr}7^LQYXow~ffQm7Ty$1%;4zUBnojq;;=f~#mO0Tw(A%&<2qk{G4U1<~* zDLgbiAJ#}r$-A2xmVi9$9&D~v`vwA|4Fs^JXvwFC8KFVq6*+w5?3?e6E{A4`%5ar3 zXS|5HWphGyH>Z3Pa5P7km(PAb#trn+!O@aE6z-@kqH730Cq;7zahx9i483r05i$dq zp!Wq3(MrrAJVrZ`4{*pPW@Ex&!9(YzTN%aJ#ou3|IXG`g#Biv z{kGcAU^|*1#vj%at8IAw#=%a9vvI3Xjbt`}@3ck;qCk$}n38C$<=>7j)TT4*uR4d?%)iLXDBDYJkWj@t85Y@apx0r z^;|ZHS|mK&5Uk8WRMZ?1G@zWv`iDMPTX2q&6vDB>o}182@)e)Ga-0`&;`rIuu0A>n ztrF)KRhCm$P*gBS=a$_TP}L`Ft`Qls03uoxFW4M4X&q+Ucc2M$%%5lI)f!rRfVqXR z9K3YkWM=CnkAD&vvMj{Qqzm~55*oW;EM`5r(SY@jJoW?nBsHggu{m%t?4ls#y+klW zPtCjmh_XERAEX_^t0-pj7hJ7x&Fv{+hBDX8pIN2ByR0WGEUFny4VQwjZzL4NtExYE z_7#nGD|n5yG{hYRxV^eD=>jHRz?&G@Sodsf;pm_@_Ht~Xfhd<<1=mlm-5+JQx}|7W z4~a_MpeFbmbnJK|AKaUnpIKOGcyOys#_aqur}q3(qh)ztY8digyxfLquL>%s_7^xa zxUO25JR(ZCXAgTifReRX(3bF=_$z||oZzY19Oy>y{_M_LtAb{FSSb!^4L6T=v*~O+ znFBb51D7z*vNHyWmFttI(lwr$nAM$VVoDX6KMe?87ca2W_Ic(k|NS*5-1?fS*aZln z(4~N3pOcFZ!K&%Xowj>={T+Q1xf{@%CNQhcbs>F0!2(GO`6A3X2SEZbBjPZ0x^R6A zDomF>azpN|%{wyDI26L0CEhdb1p&E9Uc^^I%@U{IcsC-dIEQ*F%tAp$VnM2#YF=(Z z5k)s2iJW>JfWQ88jp%wb!0ufOZHmtXA_Y&GBdMB`+b{L?^e^NAAreGW{Q_p$sf}4k zl86Ytn2_ChO5~bM7N8(a{4;Op08HtC3^-4-xzF~E|co=eMWzEbPmjJPV zN{18znPR3OrM6sK?!n6u1GJ4bHZaFE2{I0YNTf$0YhB>Y3w)IO>(lA*jziwyP=h8G zm$Jis-nCEk-e?gfJ!nr4XLlQ!l)�SaZ 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 Date: Sun, 6 Mar 2022 10:55:51 -0800 Subject: [PATCH 022/231] GUI base navigation & home --- .gitignore | 2 +- .idea/inspectionProfiles/Project_Default.xml | 17 + Cargo.toml | 2 +- theseus_gui/.prettierrc | 1 - theseus_gui/README.md | 38 +- theseus_gui/package.json | 22 +- theseus_gui/pnpm-lock.yaml | 1373 ++++++++++++++++- theseus_gui/postcss.config.cjs | 19 + theseus_gui/src-tauri/src/main.rs | 2 +- theseus_gui/src/app.html | 4 +- .../src/components/components/CardRow.svelte | 54 + .../src/components/components/Instance.svelte | 78 + .../components/components/VerticalNav.svelte | 36 + theseus_gui/src/components/layout/Page.svelte | 51 + .../src/components/layout/Sidebar.svelte | 77 + .../src/components/layout/StatusBar.svelte | 70 + theseus_gui/src/global.d.ts | 13 + theseus_gui/src/hooks.ts | 6 + theseus_gui/src/routes/__layout.svelte | 44 +- theseus_gui/src/routes/index.svelte | 22 +- theseus_gui/src/routes/library.svelte | 13 + theseus_gui/src/styles/components.postcss | 19 + theseus_gui/src/styles/global.postcss | 110 ++ theseus_gui/src/styles/normalize.postcss | 55 + theseus_gui/svelte.config.js | 32 +- theseus_gui/tsconfig.json | 12 +- 26 files changed, 2087 insertions(+), 85 deletions(-) create mode 100644 .idea/inspectionProfiles/Project_Default.xml create mode 100644 theseus_gui/postcss.config.cjs create mode 100644 theseus_gui/src/components/components/CardRow.svelte create mode 100644 theseus_gui/src/components/components/Instance.svelte create mode 100644 theseus_gui/src/components/components/VerticalNav.svelte create mode 100644 theseus_gui/src/components/layout/Page.svelte create mode 100644 theseus_gui/src/components/layout/Sidebar.svelte create mode 100644 theseus_gui/src/components/layout/StatusBar.svelte create mode 100644 theseus_gui/src/global.d.ts create mode 100644 theseus_gui/src/hooks.ts create mode 100644 theseus_gui/src/routes/library.svelte create mode 100644 theseus_gui/src/styles/components.postcss create mode 100644 theseus_gui/src/styles/global.postcss create mode 100644 theseus_gui/src/styles/normalize.postcss diff --git a/.gitignore b/.gitignore index c8130a783..559433632 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,4 @@ node_modules/ .svelte-kit/ theseus_gui/build/ -WixTools \ No newline at end of file +WixTools diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 000000000..a898a2cb7 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,17 @@ + + + + \ No newline at end of file diff --git a/Cargo.toml b/Cargo.toml index 0789446cf..6ca178ddd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,4 +4,4 @@ members = [ "theseus", "theseus_cli", "theseus_gui/src-tauri" -] \ No newline at end of file +] diff --git a/theseus_gui/.prettierrc b/theseus_gui/.prettierrc index ff2677efd..e76b61656 100644 --- a/theseus_gui/.prettierrc +++ b/theseus_gui/.prettierrc @@ -1,5 +1,4 @@ { - "useTabs": true, "singleQuote": true, "trailingComma": "none", "printWidth": 100 diff --git a/theseus_gui/README.md b/theseus_gui/README.md index 94a48f5ff..c09bca6fa 100644 --- a/theseus_gui/README.md +++ b/theseus_gui/README.md @@ -1,40 +1,16 @@ -# create-svelte - -Everything you need to build a Svelte project, powered by [`create-svelte`](https://github.com/sveltejs/kit/tree/master/packages/create-svelte). - -## Creating a project - -If you're seeing this, you've probably already done this step. Congrats! - -```bash -# create a new project in the current directory -npm init svelte@next - -# create a new project in my-app -npm init svelte@next my-app -``` - -> Note: the `@next` is temporary +# theseus_gui ## Developing -Once you've created a project and installed dependencies with `npm install` (or `pnpm install` or `yarn`), start a development server: +First, make sure [NodeJS](https://nodejs.org/en/download/package-manager/) & [pnpm](https://pnpm.io/installation#nodejs-is-preinstalled) are installed, then run: -```bash -npm run dev - -# or start the server and open the app in a new browser tab -npm run dev -- --open +```zsh +pnpm install # Install dependencies +pnpm dev # Start dev server ``` ## Building -To create a production version of your app: - ```bash -npm run build -``` - -You can preview the production build with `npm run preview`. - -> To deploy your app, you may need to install an [adapter](https://kit.svelte.dev/docs/adapters) for your target environment. +pnpm build +``` \ No newline at end of file diff --git a/theseus_gui/package.json b/theseus_gui/package.json index 3d08a8813..ce00bf20a 100644 --- a/theseus_gui/package.json +++ b/theseus_gui/package.json @@ -1,6 +1,6 @@ { "scripts": { - "dev": "tauri dev", + "dev": "tauri dev; kill $(lsof -t -i:3000)", "dev:web": "svelte-kit dev", "tauri": "tauri", "build": "tauri build", @@ -10,14 +10,16 @@ "check": "cargo check --manifest-path src-tauri/Cargo.toml && svelte-check --tsconfig ./tsconfig.json" }, "devDependencies": { - "@tauri-apps/cli": "^1.0.0-rc.5", "@sveltejs/adapter-static": "next", "@sveltejs/kit": "next", + "@tauri-apps/cli": "^1.0.0-rc.5", "@typescript-eslint/eslint-plugin": "^5.10.1", "@typescript-eslint/parser": "^5.10.1", "eslint": "^7.32.0", "eslint-config-prettier": "^8.3.0", "eslint-plugin-svelte3": "^3.2.1", + "postcss": "^8.4.7", + "postcss-load-config": "^3.1.3", "prettier": "^2.5.1", "prettier-plugin-svelte": "^2.5.0", "svelte": "^3.46.0", @@ -28,6 +30,20 @@ }, "type": "module", "dependencies": { - "@tauri-apps/api": "^1.0.0-rc.1" + "@fontsource/inter": "^4.5.4", + "@iconify-json/carbon": "^1.1.1", + "@iconify-json/heroicons-outline": "^1.1.1", + "@iconify-json/lucide": "^1.1.5", + "@tauri-apps/api": "^1.0.0-rc.1", + "autoprefixer": "^10.4.2", + "cssnano": "^5.1.0", + "postcss-extend-rule": "^4.0.0", + "postcss-import": "^14.0.2", + "postcss-media-minmax": "^5.0.0", + "postcss-nested": "^5.0.6", + "postcss-preset-env": "^7.4.2", + "sanitize.css": "^13.0.0", + "svrollbar": "^0.10.4", + "unplugin-icons": "^0.13.2" } } diff --git a/theseus_gui/pnpm-lock.yaml b/theseus_gui/pnpm-lock.yaml index ec0c373e8..f10d6e259 100644 --- a/theseus_gui/pnpm-lock.yaml +++ b/theseus_gui/pnpm-lock.yaml @@ -1,45 +1,94 @@ lockfileVersion: 5.3 specifiers: + '@fontsource/inter': ^4.5.4 + '@iconify-json/carbon': ^1.1.1 + '@iconify-json/heroicons-outline': ^1.1.1 + '@iconify-json/lucide': ^1.1.5 '@sveltejs/adapter-static': next '@sveltejs/kit': next '@tauri-apps/api': ^1.0.0-rc.1 '@tauri-apps/cli': ^1.0.0-rc.5 '@typescript-eslint/eslint-plugin': ^5.10.1 '@typescript-eslint/parser': ^5.10.1 + autoprefixer: ^10.4.2 + cssnano: ^5.1.0 eslint: ^7.32.0 eslint-config-prettier: ^8.3.0 eslint-plugin-svelte3: ^3.2.1 + postcss: ^8.4.7 + postcss-extend-rule: ^4.0.0 + postcss-import: ^14.0.2 + postcss-load-config: ^3.1.3 + postcss-media-minmax: ^5.0.0 + postcss-nested: ^5.0.6 + postcss-preset-env: ^7.4.2 prettier: ^2.5.1 prettier-plugin-svelte: ^2.5.0 + sanitize.css: ^13.0.0 svelte: ^3.46.0 svelte-check: ^2.2.6 svelte-preprocess: ^4.10.1 + svrollbar: ^0.10.4 tslib: ^2.3.1 typescript: ~4.5.4 + unplugin-icons: ^0.13.2 dependencies: + '@fontsource/inter': 4.5.4 + '@iconify-json/carbon': 1.1.1 + '@iconify-json/heroicons-outline': 1.1.1 + '@iconify-json/lucide': 1.1.5 '@tauri-apps/api': 1.0.0-rc.1 + autoprefixer: 10.4.2_postcss@8.4.7 + cssnano: 5.1.0_postcss@8.4.7 + postcss-extend-rule: 4.0.0_postcss@8.4.7 + postcss-import: 14.0.2_postcss@8.4.7 + postcss-media-minmax: 5.0.0_postcss@8.4.7 + postcss-nested: 5.0.6_postcss@8.4.7 + postcss-preset-env: 7.4.2_postcss@8.4.7 + sanitize.css: 13.0.0 + svrollbar: 0.10.4 + unplugin-icons: 0.13.2 devDependencies: - '@sveltejs/adapter-static': 1.0.0-next.28 - '@sveltejs/kit': 1.0.0-next.281_svelte@3.46.4 + '@sveltejs/adapter-static': 1.0.0-next.29 + '@sveltejs/kit': 1.0.0-next.294_svelte@3.46.4 '@tauri-apps/cli': 1.0.0-rc.5 '@typescript-eslint/eslint-plugin': 5.12.1_78ba2542c270c83b2a80bb1c125195b6 '@typescript-eslint/parser': 5.12.1_eslint@7.32.0+typescript@4.5.5 eslint: 7.32.0 eslint-config-prettier: 8.4.0_eslint@7.32.0 eslint-plugin-svelte3: 3.4.0_eslint@7.32.0+svelte@3.46.4 + postcss: 8.4.7 + postcss-load-config: 3.1.3 prettier: 2.5.1 prettier-plugin-svelte: 2.6.0_prettier@2.5.1+svelte@3.46.4 svelte: 3.46.4 - svelte-check: 2.4.5_svelte@3.46.4 - svelte-preprocess: 4.10.3_svelte@3.46.4+typescript@4.5.5 + svelte-check: 2.4.5_267bdea6a4c44ec9b77b315a8750f243 + svelte-preprocess: 4.10.3_f1d8dc2d3af270254b6b481163b9d605 tslib: 2.3.1 typescript: 4.5.5 packages: + /@antfu/install-pkg/0.1.0: + resolution: {integrity: sha512-VaIJd3d1o7irZfK1U0nvBsHMyjkuyMP3HKYVV53z8DKyulkHKmjhhtccXO51WSPeeSHIeoJEoNOKavYpS7jkZw==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: false + + /@antfu/utils/0.3.0: + resolution: {integrity: sha512-UU8TLr/EoXdg7OjMp0h9oDoIAVr+Z/oW9cpOxQQyrsz6Qzd2ms/1CdWx8fl2OQdFpxGmq5Vc4TwfLHId6nAZjA==} + dependencies: + '@types/throttle-debounce': 2.1.0 + dev: false + + /@antfu/utils/0.5.0: + resolution: {integrity: sha512-MrAQ/MrPSxbh1bBrmwJjORfJymw4IqSHFBXqvxaga3ZdDM+/zokYF8DjyJpSjY2QmpmgQrajDUBJOWrYeARfzA==} + dev: false + /@babel/code-frame/7.12.11: resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} dependencies: @@ -60,6 +109,89 @@ packages: js-tokens: 4.0.0 dev: true + /@csstools/postcss-color-function/1.0.2_postcss@8.4.7: + resolution: {integrity: sha512-uayvFqfa0hITPwVduxRYNL9YBD/anTqula0tu2llalaxblEd7QPuETSN3gB5PvTYxSfd0d8kS4Fypgo5JaUJ6A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.2.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-font-format-keywords/1.0.0_postcss@8.4.7: + resolution: {integrity: sha512-oO0cZt8do8FdVBX8INftvIA4lUrKUSCcWUf9IwH9IPWOgKT22oAZFXeHLoDK7nhB2SmkNycp5brxfNMRLIhd6Q==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-hwb-function/1.0.0_postcss@8.4.7: + resolution: {integrity: sha512-VSTd7hGjmde4rTj1rR30sokY3ONJph1reCBTUXqeW1fKwETPy1x4t/XIeaaqbMbC5Xg4SM/lyXZ2S8NELT2TaA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-ic-unit/1.0.0_postcss@8.4.7: + resolution: {integrity: sha512-i4yps1mBp2ijrx7E96RXrQXQQHm6F4ym1TOD0D69/sjDjZvQ22tqiEvaNw7pFZTUO5b9vWRHzbHzP9+UKuw+bA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.2.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-is-pseudo-class/2.0.1_postcss@8.4.7: + resolution: {integrity: sha512-Og5RrTzwFhrKoA79c3MLkfrIBYmwuf/X83s+JQtz/Dkk/MpsaKtqHV1OOzYkogQ+tj3oYp5Mq39XotBXNqVc3Q==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /@csstools/postcss-normalize-display-values/1.0.0_postcss@8.4.7: + resolution: {integrity: sha512-bX+nx5V8XTJEmGtpWTO6kywdS725t71YSLlxWt78XoHUbELWgoCXeOFymRJmL3SU1TLlKSIi7v52EWqe60vJTQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-oklab-function/1.0.1_postcss@8.4.7: + resolution: {integrity: sha512-Bnly2FWWSTZX20hDJLYHpurhp1ot+ZGvojLOsrHa9frzOVruOv4oPYMZ6wQomi9KsbZZ+Af/CuRYaGReTyGtEg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.2.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /@csstools/postcss-progressive-custom-properties/1.2.0_postcss@8.4.7: + resolution: {integrity: sha512-YLpFPK5OaLIRKZhUfnrZPT9s9cmtqltIOg7W6jPcxmiDpnZ4lk+odfufZttOAgcg6IHWvNLgcITSLpJxIQB/qQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + /@eslint/eslintrc/0.4.3: resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} engines: {node: ^10.12.0 || >=12.0.0} @@ -77,6 +209,10 @@ packages: - supports-color dev: true + /@fontsource/inter/4.5.4: + resolution: {integrity: sha512-D0icTFpt9bWvB/OEXMztYf0bhUQZoDIYpsco5C7GVfxgKDRl8Jdn3N2aHHQqwjgRUUvRuyMv8HrRM8Hrt4U52w==} + dev: false + /@humanwhocodes/config-array/0.5.0: resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} engines: {node: '>=10.10.0'} @@ -92,6 +228,41 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true + /@iconify-json/carbon/1.1.1: + resolution: {integrity: sha512-ClOYc+82CKlDAKH1tfDTJTzNz4oHhYD04ALA5uemw9PdWXg05yIJb9bxWjSz4UgdUbH5N/yd8s9hNPI3h6jnlg==} + dependencies: + '@iconify/types': 1.0.12 + dev: false + + /@iconify-json/heroicons-outline/1.1.1: + resolution: {integrity: sha512-Jy/aFbNQdszRxzhBvHB2AVu/IeMcK/YG3qJVf3XeqvBvhcPq/rWFEmo7jshzBclR/wbt9ylcBEUY1qRFcCXS9Q==} + dependencies: + '@iconify/types': 1.0.12 + dev: false + + /@iconify-json/lucide/1.1.5: + resolution: {integrity: sha512-FOyVw5sdRyDpgR2wVxBxycAOSjVZPlZFaw5umn87JjdXB+L6MIab53Pnz7e/ub79jJTtofHZJ6OBAZ67Cw3Lzg==} + dependencies: + '@iconify/types': 1.0.12 + dev: false + + /@iconify/types/1.0.12: + resolution: {integrity: sha512-6er6wSGF3hgc1JEZqiGpg21CTCjHBYOUwqLmb2Idzkjiw6ogalGP0ZMLVutCzah+0WB4yP+Zd2oVPN8jvJ+Ftg==} + dev: false + + /@iconify/utils/1.0.23: + resolution: {integrity: sha512-Ktdmpe4mkMXQAnnDUz3s6s5aY/BeVPwHC1d5IhG1bgrWVNWFQNUj8cQPMbHpNCSD9MRC5yGxm9/PGPpOWGJLAg==} + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.3.0 + '@iconify/types': 1.0.12 + debug: 4.3.3 + kolorist: 1.5.1 + local-pkg: 0.4.1 + transitivePeerDependencies: + - supports-color + dev: false + /@nodelib/fs.scandir/2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -121,14 +292,14 @@ packages: picomatch: 2.3.1 dev: true - /@sveltejs/adapter-static/1.0.0-next.28: - resolution: {integrity: sha512-c4xLyeSwnbGQxe4f1SLpHTbxZDm3TEr43scR3tOlVgQN+mnAL9aDdl3nTtdzWmrUDmDEmY4GriAwLyFLZuINLw==} + /@sveltejs/adapter-static/1.0.0-next.29: + resolution: {integrity: sha512-0hjGnfT3BRyoHnzJ2w0/xL+xICRpKneDTm45ZzggiRrc0r71WJfF6toGeg8N4QUQnj8EJ3Itm453gsS1kt7VUQ==} dependencies: tiny-glob: 0.2.9 dev: true - /@sveltejs/kit/1.0.0-next.281_svelte@3.46.4: - resolution: {integrity: sha512-IBEqbckzNmLGEFqi+4gG0XxNyQ/koO+OYK2fSjNZvRxLL9W1H4RhMRmEGdZGvPt1opBuqD0ErgdgmHMNO+B8XQ==} + /@sveltejs/kit/1.0.0-next.294_svelte@3.46.4: + resolution: {integrity: sha512-whTYeri/oaV672KErlhCAvAawlsnd8iu/MQmjdu85TApDYolLe8FDTg6GQ55+0IJbx1N7dOer/HopWzKudPgFA==} engines: {node: '>=14.13'} hasBin: true peerDependencies: @@ -262,6 +433,11 @@ packages: '@tauri-apps/cli-win32-x64-msvc': 1.0.0-rc.5 dev: true + /@trysound/sax/0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: false + /@types/json-schema/7.0.9: resolution: {integrity: sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==} dev: true @@ -280,6 +456,10 @@ packages: '@types/node': 17.0.19 dev: true + /@types/throttle-debounce/2.1.0: + resolution: {integrity: sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==} + dev: false + /@typescript-eslint/eslint-plugin/5.12.1_78ba2542c270c83b2a80bb1c125195b6: resolution: {integrity: sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -486,15 +666,34 @@ packages: engines: {node: '>=8'} dev: true + /autoprefixer/10.4.2_postcss@8.4.7: + resolution: {integrity: sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.19.3 + caniuse-lite: 1.0.30001313 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + /balanced-match/1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true /binary-extensions/2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} dev: true + /boolbase/1.0.0: + resolution: {integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24=} + dev: false + /brace-expansion/1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: @@ -509,6 +708,18 @@ packages: fill-range: 7.0.1 dev: true + /browserslist/4.19.3: + resolution: {integrity: sha512-XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001313 + electron-to-chromium: 1.4.76 + escalade: 3.1.1 + node-releases: 2.0.2 + picocolors: 1.0.0 + dev: false + /buffer-crc32/0.2.13: resolution: {integrity: sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=} dev: true @@ -518,6 +729,19 @@ packages: engines: {node: '>=6'} dev: true + /caniuse-api/3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.19.3 + caniuse-lite: 1.0.30001313 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: false + + /caniuse-lite/1.0.30001313: + resolution: {integrity: sha512-rI1UN0koZUiKINjysQDuRi2VeSCce3bYJNmDcj3PIKREiAmjakugBul1QSkg/fPrlULYl6oWfGg3PbgOSY9X4Q==} + dev: false + /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -571,6 +795,15 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} dev: true + /colord/2.9.2: + resolution: {integrity: sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==} + dev: false + + /commander/7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: false + /concat-map/0.0.1: resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} dev: true @@ -582,7 +815,147 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true + + /css-blank-pseudo/3.0.3_postcss@8.4.7: + resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /css-declaration-sorter/6.1.4_postcss@8.4.7: + resolution: {integrity: sha512-lpfkqS0fctcmZotJGhnxkIyJWvBXgpyi2wsFd4J8VB7wzyrT6Ch/3Q+FMNJpjK4gu1+GN5khOnpU2ZVKrLbhCw==} + engines: {node: '>= 10'} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.7 + timsort: 0.3.0 + dev: false + + /css-has-pseudo/3.0.4_postcss@8.4.7: + resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /css-prefers-color-scheme/6.0.3_postcss@8.4.7: + resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + dev: false + + /css-select/4.2.1: + resolution: {integrity: sha512-/aUslKhzkTNCQUB2qTX84lVmfia9NyjP3WpDGtj/WxhwBzWBYUV3DgUpurHTme8UTPcPlAD1DJ+b0nN/t50zDQ==} + dependencies: + boolbase: 1.0.0 + css-what: 5.1.0 + domhandler: 4.3.0 + domutils: 2.8.0 + nth-check: 2.0.1 + dev: false + + /css-tree/1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + dev: false + + /css-what/5.1.0: + resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} + engines: {node: '>= 6'} + dev: false + + /cssdb/6.4.0: + resolution: {integrity: sha512-8NMWrur/ewSNrRNZndbtOTXc2Xb2b+NCTPHj8VErFYvJUlgsMAiBGaFaxG6hjy9zbCjj2ZLwSQrMM+tormO8qA==} + dev: false + + /cssesc/3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /cssnano-preset-default/5.2.0_postcss@8.4.7: + resolution: {integrity: sha512-3N5Vcptj2pqVKpHVqH6ezOJvqikR2PdLTbTrsrhF61FbLRQuujAqZ2sKN5rvcMsb7hFjrNnjZT8CGEkxoN/Pwg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.1.4_postcss@8.4.7 + cssnano-utils: 3.1.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-calc: 8.2.4_postcss@8.4.7 + postcss-colormin: 5.3.0_postcss@8.4.7 + postcss-convert-values: 5.1.0_postcss@8.4.7 + postcss-discard-comments: 5.1.0_postcss@8.4.7 + postcss-discard-duplicates: 5.1.0_postcss@8.4.7 + postcss-discard-empty: 5.1.0_postcss@8.4.7 + postcss-discard-overridden: 5.1.0_postcss@8.4.7 + postcss-merge-longhand: 5.1.0_postcss@8.4.7 + postcss-merge-rules: 5.1.0_postcss@8.4.7 + postcss-minify-font-values: 5.1.0_postcss@8.4.7 + postcss-minify-gradients: 5.1.0_postcss@8.4.7 + postcss-minify-params: 5.1.0_postcss@8.4.7 + postcss-minify-selectors: 5.2.0_postcss@8.4.7 + postcss-normalize-charset: 5.1.0_postcss@8.4.7 + postcss-normalize-display-values: 5.1.0_postcss@8.4.7 + postcss-normalize-positions: 5.1.0_postcss@8.4.7 + postcss-normalize-repeat-style: 5.1.0_postcss@8.4.7 + postcss-normalize-string: 5.1.0_postcss@8.4.7 + postcss-normalize-timing-functions: 5.1.0_postcss@8.4.7 + postcss-normalize-unicode: 5.1.0_postcss@8.4.7 + postcss-normalize-url: 5.1.0_postcss@8.4.7 + postcss-normalize-whitespace: 5.1.0_postcss@8.4.7 + postcss-ordered-values: 5.1.0_postcss@8.4.7 + postcss-reduce-initial: 5.1.0_postcss@8.4.7 + postcss-reduce-transforms: 5.1.0_postcss@8.4.7 + postcss-svgo: 5.1.0_postcss@8.4.7 + postcss-unique-selectors: 5.1.0_postcss@8.4.7 + dev: false + + /cssnano-utils/3.1.0_postcss@8.4.7: + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + dev: false + + /cssnano/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-wWxave1wMlThGg4ueK98jFKaNqXnQd1nVZpSkQ9XvR+YymlzP1ofWqES1JkHtI250LksP9z5JH+oDcrKDJezAg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.0_postcss@8.4.7 + lilconfig: 2.0.4 + postcss: 8.4.7 + yaml: 1.10.2 + dev: false + + /csso/4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: false /debug/4.3.3: resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} @@ -594,7 +967,6 @@ packages: optional: true dependencies: ms: 2.1.2 - dev: true /deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -619,6 +991,37 @@ packages: esutils: 2.0.3 dev: true + /dom-serializer/1.3.2: + resolution: {integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==} + dependencies: + domelementtype: 2.2.0 + domhandler: 4.3.0 + entities: 2.2.0 + dev: false + + /domelementtype/2.2.0: + resolution: {integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==} + dev: false + + /domhandler/4.3.0: + resolution: {integrity: sha512-fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.2.0 + dev: false + + /domutils/2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.3.2 + domelementtype: 2.2.0 + domhandler: 4.3.0 + dev: false + + /electron-to-chromium/1.4.76: + resolution: {integrity: sha512-3Vftv7cenJtQb+k00McEBZ2vVmZ/x+HEF7pcZONZIkOsESqAqVuACmBxMv0JhzX7u0YltU0vSqRqgBSTAhFUjA==} + dev: false + /emoji-regex/8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} dev: true @@ -630,6 +1033,10 @@ packages: ansi-colors: 4.1.1 dev: true + /entities/2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: false + /es6-promise/3.3.1: resolution: {integrity: sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=} dev: true @@ -832,6 +1239,11 @@ packages: esbuild-windows-arm64: 0.14.23 dev: true + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + dev: false + /escape-string-regexp/1.0.5: resolution: {integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=} engines: {node: '>=0.8.0'} @@ -999,6 +1411,21 @@ packages: engines: {node: '>=0.10.0'} dev: true + /execa/5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: false + /fast-deep-equal/3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true @@ -1042,6 +1469,14 @@ packages: to-regex-range: 5.0.1 dev: true + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: false + /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1054,6 +1489,10 @@ packages: resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true + /fraction.js/4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: false + /fs.realpath/1.0.0: resolution: {integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8=} dev: true @@ -1068,12 +1507,16 @@ packages: /function-bind/1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - dev: true /functional-red-black-tree/1.0.1: resolution: {integrity: sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=} dev: true + /get-stream/6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: false + /glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1138,7 +1581,11 @@ packages: engines: {node: '>= 0.4.0'} dependencies: function-bind: 1.1.1 - dev: true + + /human-signals/2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: false /ignore/4.0.6: resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} @@ -1185,7 +1632,6 @@ packages: resolution: {integrity: sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==} dependencies: has: 1.0.3 - dev: true /is-extglob/2.1.1: resolution: {integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=} @@ -1209,9 +1655,13 @@ packages: engines: {node: '>=0.12.0'} dev: true + /is-stream/2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: false + /isexe/2.0.0: resolution: {integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=} - dev: true /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -1242,6 +1692,10 @@ packages: engines: {node: '>=6'} dev: true + /kolorist/1.5.1: + resolution: {integrity: sha512-lxpCM3HTvquGxKGzHeknB/sUjuVoUElLlfYnXZT73K8geR9jQbroGlSCFBax9/0mpGoD3kzcMLnOlGQPJJNyqQ==} + dev: false + /levn/0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1250,6 +1704,26 @@ packages: type-check: 0.4.0 dev: true + /lilconfig/2.0.4: + resolution: {integrity: sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==} + engines: {node: '>=10'} + + /local-pkg/0.4.1: + resolution: {integrity: sha512-lL87ytIGP2FU5PWwNDo0w3WhIo2gopIAxPg9RxDYF7m4rr5ahuZxP22xnJHIvaLTe4Z9P6uKKY2UHiwyB4pcrw==} + engines: {node: '>=14'} + dev: false + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: false + + /lodash.memoize/4.1.2: + resolution: {integrity: sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=} + dev: false + /lodash.merge/4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true @@ -1258,6 +1732,10 @@ packages: resolution: {integrity: sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=} dev: true + /lodash.uniq/4.5.0: + resolution: {integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=} + dev: false + /lru-cache/6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1271,6 +1749,14 @@ packages: sourcemap-codec: 1.4.8 dev: true + /mdn-data/2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: false + + /merge-stream/2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: false + /merge2/1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1284,6 +1770,11 @@ packages: picomatch: 2.3.1 dev: true + /mimic-fn/2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: false + /min-indent/1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} @@ -1313,7 +1804,6 @@ packages: /ms/2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true /nanoid/3.3.1: resolution: {integrity: sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==} @@ -1325,17 +1815,51 @@ packages: resolution: {integrity: sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=} dev: true + /node-releases/2.0.2: + resolution: {integrity: sha512-XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==} + dev: false + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} dev: true + /normalize-range/0.1.2: + resolution: {integrity: sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=} + engines: {node: '>=0.10.0'} + dev: false + + /normalize-url/6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: false + + /npm-run-path/4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: false + + /nth-check/2.0.1: + resolution: {integrity: sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==} + dependencies: + boolbase: 1.0.0 + dev: false + /once/1.4.0: resolution: {integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E=} dependencies: wrappy: 1.0.2 dev: true + /onetime/5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: false + /optionator/0.9.1: resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} engines: {node: '>= 0.8.0'} @@ -1348,6 +1872,20 @@ packages: word-wrap: 1.2.3 dev: true + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: false + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: false + /parent-module/1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -1355,6 +1893,11 @@ packages: callsites: 3.1.0 dev: true + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: false + /path-is-absolute/1.0.1: resolution: {integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18=} engines: {node: '>=0.10.0'} @@ -1363,11 +1906,9 @@ packages: /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true /path-parse/1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true /path-type/4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} @@ -1376,15 +1917,660 @@ packages: /picocolors/1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true /picomatch/2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} dev: true - /postcss/8.4.6: - resolution: {integrity: sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==} + /pify/2.3.0: + resolution: {integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw=} + engines: {node: '>=0.10.0'} + dev: false + + /postcss-attribute-case-insensitive/5.0.0_postcss@8.4.7: + resolution: {integrity: sha512-b4g9eagFGq9T5SWX4+USfVyjIb3liPnjhHHRMP7FMB2kFVpYyfEscV0wP3eaXhKlcHKUut8lt5BGoeylWA/dBQ==} + peerDependencies: + postcss: ^8.0.2 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-calc/8.2.4_postcss@8.4.7: + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-color-functional-notation/4.2.2_postcss@8.4.7: + resolution: {integrity: sha512-DXVtwUhIk4f49KK5EGuEdgx4Gnyj6+t2jBSEmxvpIK9QI40tWrpS2Pua8Q7iIZWBrki2QOaeUdEaLPPa91K0RQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-color-hex-alpha/8.0.3_postcss@8.4.7: + resolution: {integrity: sha512-fESawWJCrBV035DcbKRPAVmy21LpoyiXdPTuHUfWJ14ZRjY7Y7PA6P4g8z6LQGYhU1WAxkTxjIjurXzoe68Glw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-color-rebeccapurple/7.0.2_postcss@8.4.7: + resolution: {integrity: sha512-SFc3MaocHaQ6k3oZaFwH8io6MdypkUtEy/eXzXEB1vEQlO3S3oDc/FSZA8AsS04Z25RirQhlDlHLh3dn7XewWw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-colormin/5.3.0_postcss@8.4.7: + resolution: {integrity: sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.19.3 + caniuse-api: 3.0.0 + colord: 2.9.2 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-convert-values/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-GkyPbZEYJiWtQB0KZ0X6qusqFHUepguBCNFi9t5JJc7I2OTXG7C0twbTLvCfaKOLl3rSXmpAwV7W5txd91V84g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-custom-media/8.0.0_postcss@8.4.7: + resolution: {integrity: sha512-FvO2GzMUaTN0t1fBULDeIvxr5IvbDXcIatt6pnJghc736nqNgsGao5NT+5+WVLAQiTt6Cb3YUms0jiPaXhL//g==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-custom-properties/12.1.4_postcss@8.4.7: + resolution: {integrity: sha512-i6AytuTCoDLJkWN/MtAIGriJz3j7UX6bV7Z5t+KgFz+dwZS15/mlTJY1S0kRizlk6ba0V8u8hN50Fz5Nm7tdZw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-custom-selectors/6.0.0_postcss@8.4.7: + resolution: {integrity: sha512-/1iyBhz/W8jUepjGyu7V1OPcGbc636snN1yXEQCinb6Bwt7KxsiU7/bLQlp8GwAXzCh7cobBU5odNn/2zQWR8Q==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.2 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-dir-pseudo-class/6.0.4_postcss@8.4.7: + resolution: {integrity: sha512-I8epwGy5ftdzNWEYok9VjW9whC4xnelAtbajGv4adql4FIF09rnrxnA9Y8xSHN47y7gqFIv10C5+ImsLeJpKBw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-discard-comments/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-L0IKF4jAshRyn03SkEO6ar/Ipz2oLywVbg2THf2EqqdNkBwmVMxuTR/RoAltOw4piiaLt3gCAdrbAqmTBInmhg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-discard-duplicates/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-discard-empty/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-782T/buGgb3HOuHOJAHpdyKzAAKsv/BxWqsutnZ+QsiHEcDkY7v+6WWdturuBiSal6XMOO1p1aJvwXdqLD5vhA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-discard-overridden/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-double-position-gradients/3.1.0_postcss@8.4.7: + resolution: {integrity: sha512-oz73I08yMN3oxjj0s8mED1rG+uOYoK3H8N9RjQofyg52KBRNmePJKg3fVwTpL2U5ZFbCzXoZBsUD/CvZdlqE4Q==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.2.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-env-function/4.0.5_postcss@8.4.7: + resolution: {integrity: sha512-gPUJc71ji9XKyl0WSzAalBeEA/89kU+XpffpPxSaaaZ1c48OL36r1Ep5R6+9XAPkIiDlSvVAwP4io12q/vTcvA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-extend-rule/4.0.0_postcss@8.4.7: + resolution: {integrity: sha512-3gjPWUDNYjkRjtcpoN8ppZRXG8vyAk4mYdkYOETacCkCLVguW5IpCXCO31cDk8SW2/rx0RogWcXm1Zu/EayDVg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4.6 + dependencies: + postcss: 8.4.7 + postcss-nesting: 10.1.3_postcss@8.4.7 + dev: false + + /postcss-focus-visible/6.0.4_postcss@8.4.7: + resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-focus-within/5.0.4_postcss@8.4.7: + resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-font-variant/5.0.0_postcss@8.4.7: + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-gap-properties/3.0.3_postcss@8.4.7: + resolution: {integrity: sha512-rPPZRLPmEKgLk/KlXMqRaNkYTUpE7YC+bOIQFN5xcu1Vp11Y4faIXv6/Jpft6FMnl6YRxZqDZG0qQOW80stzxQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-image-set-function/4.0.6_postcss@8.4.7: + resolution: {integrity: sha512-KfdC6vg53GC+vPd2+HYzsZ6obmPqOk6HY09kttU19+Gj1nC3S3XBVEXDHxkhxTohgZqzbUb94bKXvKDnYWBm/A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-import/14.0.2_postcss@8.4.7: + resolution: {integrity: sha512-BJ2pVK4KhUyMcqjuKs9RijV5tatNzNa73e/32aBVE/ejYPe37iH+6vAu9WvqUkB5OAYgLHzbSvzHnorybJCm9g==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.0 + dev: false + + /postcss-initial/4.0.1_postcss@8.4.7: + resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-lab-function/4.1.1_postcss@8.4.7: + resolution: {integrity: sha512-j3Z0WQCimY2tMle++YcmygnnVbt6XdnrCV1FO2IpzaCSmtTF2oO8h4ZYUA1Q+QHYroIiaWPvNHt9uBR4riCksQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.2.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-load-config/3.1.3: + resolution: {integrity: sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==} + engines: {node: '>= 10'} + peerDependencies: + ts-node: '>=9.0.0' + peerDependenciesMeta: + ts-node: + optional: true + dependencies: + lilconfig: 2.0.4 + yaml: 1.10.2 + dev: true + + /postcss-logical/5.0.4_postcss@8.4.7: + resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-media-minmax/5.0.0_postcss@8.4.7: + resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-merge-longhand/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-Gr46srN2tsLD8fudKYoHO56RG0BLQ2nsBRnSZGY04eNBPwTeWa9KeHrbL3tOLAHyB2aliikycPH2TMJG1U+W6g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.0_postcss@8.4.7 + dev: false + + /postcss-merge-rules/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-NecukEJovQ0mG7h7xV8wbYAkXGTO3MPKnXvuiXzOKcxoOodfTTKYjeo8TMhAswlSkjcPIBlnKbSFcTuVSDaPyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.19.3 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-minify-font-values/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-gradients/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-J/TMLklkONn3LuL8wCwfwU8zKC1hpS6VcxFkNUNjmVt53uKqrrykR3ov11mdUYyqVMEx67slMce0tE14cE4DTg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.2 + cssnano-utils: 3.1.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-params/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-q67dcts4Hct6x8+JmhBgctHkbvUsqGIg2IItenjE63iZXMbhjr7AlVZkNnKtIGt/1Wsv7p/7YzeSII6Q+KPXRg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.19.3 + cssnano-utils: 3.1.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-minify-selectors/5.2.0_postcss@8.4.7: + resolution: {integrity: sha512-vYxvHkW+iULstA+ctVNx0VoRAR4THQQRkG77o0oa4/mBS0OzGvvzLIvHDv/nNEM0crzN2WIyFU5X7wZhaUK3RA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-nested/5.0.6_postcss@8.4.7: + resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-nesting/10.1.3_postcss@8.4.7: + resolution: {integrity: sha512-wUC+/YCik4wH3StsbC5fBG1s2Z3ZV74vjGqBFYtmYKlVxoio5TYGM06AiaKkQPPlkXWn72HKfS7Cw5PYxnoXSw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-normalize-charset/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-normalize-display-values/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-positions/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-repeat-style/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-string/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-timing-functions/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-unicode/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.19.3 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-url/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-normalize-whitespace/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-7O1FanKaJkpWFyCghFzIkLhehujV/frGkdofGLwhg5upbLyGsSfiTcZAdSzoPsSUgyPCkBkNMeWR8yVgPdQybg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-opacity-percentage/1.1.2: + resolution: {integrity: sha512-lyUfF7miG+yewZ8EAk9XUBIlrHyUE6fijnesuz+Mj5zrIHIEw6KcIZSOk/elVMqzLvREmXB83Zi/5QpNRYd47w==} + engines: {node: ^12 || ^14 || >=16} + dev: false + + /postcss-ordered-values/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-wU4Z4D4uOIH+BUKkYid36gGDJNQtkVJT7Twv8qH6UyfttbbJWyw4/xIPuVEkkCtQLAJ0EdsNSh8dlvqkXb49TA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0_postcss@8.4.7 + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-overflow-shorthand/3.0.3_postcss@8.4.7: + resolution: {integrity: sha512-CxZwoWup9KXzQeeIxtgOciQ00tDtnylYIlJBBODqkgS/PU2jISuWOL/mYLHmZb9ZhZiCaNKsCRiLp22dZUtNsg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-page-break/3.0.4_postcss@8.4.7: + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-place/7.0.4_postcss@8.4.7: + resolution: {integrity: sha512-MrgKeiiu5OC/TETQO45kV3npRjOFxEHthsqGtkh3I1rPbZSbXGD/lZVi9j13cYh+NA8PIAPyk6sGjT9QbRyvSg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-preset-env/7.4.2_postcss@8.4.7: + resolution: {integrity: sha512-AmOkb8AeNNQwE/z2fHl1iwOIt8J50V8WR0rmLagcgIDoqlJZWjV3NdtOPnLGco1oN8DZe+Ss5B9ULbBeS6HfeA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-color-function': 1.0.2_postcss@8.4.7 + '@csstools/postcss-font-format-keywords': 1.0.0_postcss@8.4.7 + '@csstools/postcss-hwb-function': 1.0.0_postcss@8.4.7 + '@csstools/postcss-ic-unit': 1.0.0_postcss@8.4.7 + '@csstools/postcss-is-pseudo-class': 2.0.1_postcss@8.4.7 + '@csstools/postcss-normalize-display-values': 1.0.0_postcss@8.4.7 + '@csstools/postcss-oklab-function': 1.0.1_postcss@8.4.7 + '@csstools/postcss-progressive-custom-properties': 1.2.0_postcss@8.4.7 + autoprefixer: 10.4.2_postcss@8.4.7 + browserslist: 4.19.3 + css-blank-pseudo: 3.0.3_postcss@8.4.7 + css-has-pseudo: 3.0.4_postcss@8.4.7 + css-prefers-color-scheme: 6.0.3_postcss@8.4.7 + cssdb: 6.4.0 + postcss: 8.4.7 + postcss-attribute-case-insensitive: 5.0.0_postcss@8.4.7 + postcss-color-functional-notation: 4.2.2_postcss@8.4.7 + postcss-color-hex-alpha: 8.0.3_postcss@8.4.7 + postcss-color-rebeccapurple: 7.0.2_postcss@8.4.7 + postcss-custom-media: 8.0.0_postcss@8.4.7 + postcss-custom-properties: 12.1.4_postcss@8.4.7 + postcss-custom-selectors: 6.0.0_postcss@8.4.7 + postcss-dir-pseudo-class: 6.0.4_postcss@8.4.7 + postcss-double-position-gradients: 3.1.0_postcss@8.4.7 + postcss-env-function: 4.0.5_postcss@8.4.7 + postcss-focus-visible: 6.0.4_postcss@8.4.7 + postcss-focus-within: 5.0.4_postcss@8.4.7 + postcss-font-variant: 5.0.0_postcss@8.4.7 + postcss-gap-properties: 3.0.3_postcss@8.4.7 + postcss-image-set-function: 4.0.6_postcss@8.4.7 + postcss-initial: 4.0.1_postcss@8.4.7 + postcss-lab-function: 4.1.1_postcss@8.4.7 + postcss-logical: 5.0.4_postcss@8.4.7 + postcss-media-minmax: 5.0.0_postcss@8.4.7 + postcss-nesting: 10.1.3_postcss@8.4.7 + postcss-opacity-percentage: 1.1.2 + postcss-overflow-shorthand: 3.0.3_postcss@8.4.7 + postcss-page-break: 3.0.4_postcss@8.4.7 + postcss-place: 7.0.4_postcss@8.4.7 + postcss-pseudo-class-any-link: 7.1.1_postcss@8.4.7 + postcss-replace-overflow-wrap: 4.0.0_postcss@8.4.7 + postcss-selector-not: 5.0.0_postcss@8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-pseudo-class-any-link/7.1.1_postcss@8.4.7: + resolution: {integrity: sha512-JRoLFvPEX/1YTPxRxp1JO4WxBVXJYrSY7NHeak5LImwJ+VobFMwYDQHvfTXEpcn+7fYIeGkC29zYFhFWIZD8fg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-reduce-initial/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.19.3 + caniuse-api: 3.0.0 + postcss: 8.4.7 + dev: false + + /postcss-reduce-transforms/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + dev: false + + /postcss-replace-overflow-wrap/4.0.0_postcss@8.4.7: + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + dependencies: + postcss: 8.4.7 + dev: false + + /postcss-selector-not/5.0.0_postcss@8.4.7: + resolution: {integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==} + peerDependencies: + postcss: ^8.1.0 + dependencies: + balanced-match: 1.0.2 + postcss: 8.4.7 + dev: false + + /postcss-selector-parser/6.0.9: + resolution: {integrity: sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: false + + /postcss-svgo/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-value-parser: 4.2.0 + svgo: 2.8.0 + dev: false + + /postcss-unique-selectors/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-LmUhgGobtpeVJJHuogzjLRwJlN7VH+BL5c9GKMVJSS/ejoyePZkXvNsYUtk//F6vKOGK86gfRS0xH7fXQSDtvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + + /postcss-value-parser/4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: false + + /postcss/8.4.7: + resolution: {integrity: sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.1 @@ -1427,6 +2613,12 @@ packages: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true + /read-cache/1.0.0: + resolution: {integrity: sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=} + dependencies: + pify: 2.3.0 + dev: false + /readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -1456,7 +2648,6 @@ packages: is-core-module: 2.8.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true /reusify/1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} @@ -1507,6 +2698,10 @@ packages: rimraf: 2.7.1 dev: true + /sanitize.css/13.0.0: + resolution: {integrity: sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==} + dev: false + /semver/7.3.5: resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} engines: {node: '>=10'} @@ -1520,12 +2715,14 @@ packages: engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 - dev: true /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: false /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -1556,6 +2753,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /source-map/0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: false + /source-map/0.7.3: resolution: {integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==} engines: {node: '>= 8'} @@ -1569,6 +2771,10 @@ packages: resolution: {integrity: sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=} dev: true + /stable/0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + dev: false + /string-width/4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -1585,6 +2791,11 @@ packages: ansi-regex: 5.0.1 dev: true + /strip-final-newline/2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: false + /strip-indent/3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -1597,6 +2808,17 @@ packages: engines: {node: '>=8'} dev: true + /stylehacks/5.1.0_postcss@8.4.7: + resolution: {integrity: sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.19.3 + postcss: 8.4.7 + postcss-selector-parser: 6.0.9 + dev: false + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -1614,9 +2836,8 @@ packages: /supports-preserve-symlinks-flag/1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true - /svelte-check/2.4.5_svelte@3.46.4: + /svelte-check/2.4.5_267bdea6a4c44ec9b77b315a8750f243: resolution: {integrity: sha512-nRft8BbG2wcxyCdHDZ7X43xLcvDzua3xLwq6wzHGcAF3ka3Jyhv2rvgq0+SF9NwHLMefp9C2XkM6etzsxK/cMQ==} hasBin: true peerDependencies: @@ -1630,7 +2851,7 @@ packages: sade: 1.8.1 source-map: 0.7.3 svelte: 3.46.4 - svelte-preprocess: 4.10.3_svelte@3.46.4+typescript@4.5.5 + svelte-preprocess: 4.10.3_f1d8dc2d3af270254b6b481163b9d605 typescript: 4.5.5 transitivePeerDependencies: - '@babel/core' @@ -1653,7 +2874,7 @@ packages: svelte: 3.46.4 dev: true - /svelte-preprocess/4.10.3_svelte@3.46.4+typescript@4.5.5: + /svelte-preprocess/4.10.3_f1d8dc2d3af270254b6b481163b9d605: resolution: {integrity: sha512-ttw17lJfb/dx2ZJT9sesaXT5l7mPQ9Apx1H496Kli3Hkk7orIRGpOw6rCPkRNzr6ueVPqb4vzodS5x7sBFhKHw==} engines: {node: '>= 9.11.2'} requiresBuild: true @@ -1698,6 +2919,8 @@ packages: '@types/sass': 1.43.1 detect-indent: 6.1.0 magic-string: 0.25.7 + postcss: 8.4.7 + postcss-load-config: 3.1.3 sorcery: 0.10.0 strip-indent: 3.0.0 svelte: 3.46.4 @@ -1709,6 +2932,24 @@ packages: engines: {node: '>= 8'} dev: true + /svgo/2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.2.1 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: false + + /svrollbar/0.10.4: + resolution: {integrity: sha512-+DsnE0CoduoQ8TN6Zfzwgvo363QaBCUVsLVrkn2BAqJ3i7DHZmsblVSjfZojgIDrmCNuQK19zazvRXLWaXB3vA==} + dev: false + /table/6.8.0: resolution: {integrity: sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==} engines: {node: '>=10.0.0'} @@ -1724,6 +2965,10 @@ packages: resolution: {integrity: sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=} dev: true + /timsort/0.3.0: + resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=} + dev: false + /tiny-glob/0.2.9: resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} dependencies: @@ -1779,12 +3024,68 @@ packages: hasBin: true dev: true + /unplugin-icons/0.13.2: + resolution: {integrity: sha512-Dwfn5DkKrp/BpZV0R/2wgU39j+kjkeuIQ54PmJ9LhXNpNAS+Huf6Fl/PUmUrlWOvMAz0uPo3y/5lQKZUBjBkBQ==} + peerDependencies: + '@svgr/core': '>=5.5.0' + '@vue/compiler-sfc': ^3.0.2 + vue-template-compiler: ^2.6.12 + vue-template-es2015-compiler: ^1.9.0 + peerDependenciesMeta: + '@svgr/core': + optional: true + '@vue/compiler-sfc': + optional: true + vue-template-compiler: + optional: true + vue-template-es2015-compiler: + optional: true + dependencies: + '@antfu/install-pkg': 0.1.0 + '@antfu/utils': 0.5.0 + '@iconify/utils': 1.0.23 + debug: 4.3.3 + kolorist: 1.5.1 + local-pkg: 0.4.1 + unplugin: 0.3.3 + transitivePeerDependencies: + - esbuild + - rollup + - supports-color + - vite + - webpack + dev: false + + /unplugin/0.3.3: + resolution: {integrity: sha512-WjZWpUqqcYPQ/efR00Zm2m1+J1LitwoZ4uhHV4VdZ+IpW0Nh/qnDYtVf+nLhozXdGxslMPecOshVR7NiWFl4gA==} + peerDependencies: + esbuild: '>=0.13' + rollup: ^2.50.0 + vite: ^2.3.0 + webpack: 4 || 5 + peerDependenciesMeta: + esbuild: + optional: true + rollup: + optional: true + vite: + optional: true + webpack: + optional: true + dependencies: + webpack-virtual-modules: 0.4.3 + dev: false + /uri-js/4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.1.1 dev: true + /util-deprecate/1.0.2: + resolution: {integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=} + dev: false + /v8-compile-cache/2.3.0: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true @@ -1806,20 +3107,23 @@ packages: optional: true dependencies: esbuild: 0.14.23 - postcss: 8.4.6 + postcss: 8.4.7 resolve: 1.22.0 rollup: 2.67.3 optionalDependencies: fsevents: 2.3.2 dev: true + /webpack-virtual-modules/0.4.3: + resolution: {integrity: sha512-5NUqC2JquIL2pBAAo/VfBP6KuGkHIZQXW/lNKupLPfhViwh8wNsu0BObtl09yuKZszeEUfbXz8xhrHvSG16Nqw==} + dev: false + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 - dev: true /word-wrap/1.2.3: resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} @@ -1833,3 +3137,12 @@ packages: /yallist/4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} dev: true + + /yaml/1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: false diff --git a/theseus_gui/postcss.config.cjs b/theseus_gui/postcss.config.cjs new file mode 100644 index 000000000..99d4cb5a3 --- /dev/null +++ b/theseus_gui/postcss.config.cjs @@ -0,0 +1,19 @@ +const dev = process.env.NODE_ENV === 'development'; + +const config = { + plugins: [ + require('postcss-import')(), + require('autoprefixer')(), + require('postcss-nested')(), + require('postcss-extend-rule')(), + //require('postcss-preset-env')(), Errors with cssnano + require('postcss-media-minmax')(), + + !dev && + require('cssnano')({ + preset: 'default', + }), + ], +}; + +module.exports = config; diff --git a/theseus_gui/src-tauri/src/main.rs b/theseus_gui/src-tauri/src/main.rs index b6bc42382..63481c4ad 100644 --- a/theseus_gui/src-tauri/src/main.rs +++ b/theseus_gui/src-tauri/src/main.rs @@ -78,7 +78,7 @@ fn main() { let event_name = event.menu_item_id(); match event_name { "Learn More" => { - let url = "https://github.com/probablykasper/tauri-template".to_string(); + let url = "https://modrinth.com".to_string(); shell::open(&event.window().shell_scope(), url, None).unwrap(); } _ => {} diff --git a/theseus_gui/src/app.html b/theseus_gui/src/app.html index 442445bef..c681abb47 100644 --- a/theseus_gui/src/app.html +++ b/theseus_gui/src/app.html @@ -5,7 +5,7 @@ %svelte.head% - -

+ + %svelte.body% diff --git a/theseus_gui/src/components/components/CardRow.svelte b/theseus_gui/src/components/components/CardRow.svelte new file mode 100644 index 000000000..f46fb33a2 --- /dev/null +++ b/theseus_gui/src/components/components/CardRow.svelte @@ -0,0 +1,54 @@ + + +
+
{title}
+
+ +
+
+ + + \ No newline at end of file diff --git a/theseus_gui/src/components/components/Instance.svelte b/theseus_gui/src/components/components/Instance.svelte new file mode 100644 index 000000000..0627d43fa --- /dev/null +++ b/theseus_gui/src/components/components/Instance.svelte @@ -0,0 +1,78 @@ + + +
+
{version}
+
{title}
+ +
+ + diff --git a/theseus_gui/src/components/components/VerticalNav.svelte b/theseus_gui/src/components/components/VerticalNav.svelte new file mode 100644 index 000000000..42db1d812 --- /dev/null +++ b/theseus_gui/src/components/components/VerticalNav.svelte @@ -0,0 +1,36 @@ + + +
+ {#each items as item (item.href)} + + + {item.label} + + {/each} +
+ + diff --git a/theseus_gui/src/components/layout/Page.svelte b/theseus_gui/src/components/layout/Page.svelte new file mode 100644 index 000000000..30bc0ffb6 --- /dev/null +++ b/theseus_gui/src/components/layout/Page.svelte @@ -0,0 +1,51 @@ + + +
+
+
+ +
+
+ +
+ + \ No newline at end of file diff --git a/theseus_gui/src/components/layout/Sidebar.svelte b/theseus_gui/src/components/layout/Sidebar.svelte new file mode 100644 index 000000000..2400f2efc --- /dev/null +++ b/theseus_gui/src/components/layout/Sidebar.svelte @@ -0,0 +1,77 @@ + + + + + diff --git a/theseus_gui/src/components/layout/StatusBar.svelte b/theseus_gui/src/components/layout/StatusBar.svelte new file mode 100644 index 000000000..dd4ba1c46 --- /dev/null +++ b/theseus_gui/src/components/layout/StatusBar.svelte @@ -0,0 +1,70 @@ + + +
+ + + + +
+
Updating 12 mods...
+
236 mods installed
+
+
+ + diff --git a/theseus_gui/src/global.d.ts b/theseus_gui/src/global.d.ts new file mode 100644 index 000000000..026723635 --- /dev/null +++ b/theseus_gui/src/global.d.ts @@ -0,0 +1,13 @@ +/// +/// + +declare module '$assets/images/*' { + export { SvelteComponentDev as default } from 'svelte/internal'; +} +declare module '$locales/*'; + +declare module '*.svg' { + import { SvelteComponent } from 'svelte'; + const content: SvelteComponent; + export default content; +} \ No newline at end of file diff --git a/theseus_gui/src/hooks.ts b/theseus_gui/src/hooks.ts new file mode 100644 index 000000000..9fad79dc2 --- /dev/null +++ b/theseus_gui/src/hooks.ts @@ -0,0 +1,6 @@ +/** @type {import('@sveltejs/kit').Handle} */ +export async function handle({ event, resolve }) { + return await resolve(event, { + ssr: false, + }); +} \ No newline at end of file diff --git a/theseus_gui/src/routes/__layout.svelte b/theseus_gui/src/routes/__layout.svelte index 33d71a434..730a69145 100644 --- a/theseus_gui/src/routes/__layout.svelte +++ b/theseus_gui/src/routes/__layout.svelte @@ -1,11 +1,45 @@ -
- -
+ + + - diff --git a/theseus_gui/src/routes/index.svelte b/theseus_gui/src/routes/index.svelte index 5ba58bf3e..a04d5c30f 100644 --- a/theseus_gui/src/routes/index.svelte +++ b/theseus_gui/src/routes/index.svelte @@ -1,9 +1,27 @@ -

Modrinth

+ + {#each Array(5) as _, i} + + {/each} + - diff --git a/theseus_gui/src/routes/library.svelte b/theseus_gui/src/routes/library.svelte new file mode 100644 index 000000000..998f670f1 --- /dev/null +++ b/theseus_gui/src/routes/library.svelte @@ -0,0 +1,13 @@ + + + + + + + diff --git a/theseus_gui/src/styles/components.postcss b/theseus_gui/src/styles/components.postcss new file mode 100644 index 000000000..e1c729901 --- /dev/null +++ b/theseus_gui/src/styles/components.postcss @@ -0,0 +1,19 @@ +.nav-item { + display: flex; + align-items: center; + grid-gap: 0.5rem; + padding: 0.5rem 0.75rem; + border-radius: var(--rounded-sm); + box-shadow: var(--shadow-inset-sm) var(--shadow-raised); + transition: background-color 0.2s ease-in-out, + color 0.1s ease-in-out; + color: var(--color-text-light); + + &:hover, &.active { + color: var(--color-text); + } + + &.active { + background-color: var(--nav-active-bg); + } +} \ No newline at end of file diff --git a/theseus_gui/src/styles/global.postcss b/theseus_gui/src/styles/global.postcss new file mode 100644 index 000000000..e73a2e616 --- /dev/null +++ b/theseus_gui/src/styles/global.postcss @@ -0,0 +1,110 @@ +@import 'normalize.postcss'; +@import 'components.postcss'; + +.theme { + --color-brand-light: hsl(155, 54%, 30%); + --color-brand-dark: hsl(155, 58%, 25%); + --color-brand-contrast: hsl(0, 0%, 100%); + + --shadow-inset-lg: inset 0px -2px 2px hsla(221, 39%, 11%, 0.1); + --shadow-inset: inset 0px -2px 2px hsla(221, 39%, 11%, 0.05); + --shadow-inset-sm: inset 0px -1px 1px hsla(221, 39%, 11%, 0.25); + + --shadow-raised-lg: 0px 2px 4px hsla(221, 39%, 11%, 0.2); + --shadow-raised: 0px -2px 4px hsla(221, 39%, 11%, 0.1); + + --shadow-floating: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, + rgba(0, 0, 0, 0.1) 0px 4px 6px -1px, rgba(0, 0, 0, 0.06) 0px 2px 4px -1px; + --shadow-bar: rgba(0,0,0,.3) 0 0 20px 2px; + + --color-text: hsl(221, 10%, 95%); + --color-text-light: hsl(215, 14%, 74%); + --color-text-lightest: hsl(220, 9%, 70%); + --color-heading: hsl(222, 16%, 80%); + --color-link: hsl(215, 100%, 75%); + + --color-raised-bg: hsl(220, 13%, 25%); + --color-raised-bg-hover: hsl(220, 13%, 20%); + --color-divider: hsl(220, 13%, 50%); + --color-button-bg: hsl(220, 13%, 35%); + --color-button-bg-hover: hsl(220, 13%, 32%); + + --color-badge-gray-text: hsl(0, 2%, 69%); + --color-badge-gray-dot: hsl(0, 6%, 77%); + --color-badge-red-text: hsl(343, 63%, 67%); + --color-badge-red-dot: hsl(342, 70%, 53%); + --color-badge-green-text: hsl(156, 53%, 50%); + --color-badge-green-dot: hsl(140, 64%, 40%); + --color-badge-yellow-text: hsl(40, 57%, 60%); + --color-badge-yellow-dot: hsl(40, 92%, 62%); + + --color-table-border: hsl(214, 12%, 35%); + --color-table-alternate-row: hsl(216, 12%, 17%); + + --color-code-bg: hsl(217, 12%, 29%); + + --color-danger-bg: hsl(355deg, 70%, 20%); + --color-danger-text: hsl(342deg, 70%, 75%); + + --color-input-light: hsl(220, 13%, 20%); + + --color-scrollbar: hsl(220, 13%, 40%); + + /* Launcher added */ + --status-bg: hsl(216, 5%, 29%); + --sidebar-bg: hsl(216, 10%, 3%); + --nav-active-bg: hsla(0,0%,100%,0.1); + --font-size-sm: 0.75rem; + --color-bg: hsl(217, 9%, 18%); + --color-brand: hsl(145, 78%, 48%); +} + +html, body { + overflow: hidden; + padding: 0; + margin: 0; +} + +body { + @extend .theme; + --rounded: 1rem; + --rounded-top: 1rem 1rem 0 0; + --rounded-bottom: 0 0 1rem 1rem; + --rounded-sm: 0.6rem; + --rounded-max: 999999999px; + + --font-standard: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, + Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; + + --font-size-nm: 0.875rem; /* 16px */ + --font-size-xl: 1.5rem; /* 24px */ + + --font-weight-regular: 400; + --font-weight-medium: 600; + --font-weight-bold: 700; + + display: flex; + background-color: var(--color-bg) !important; /* overrides style set on first load */ + color: var(--color-text); + font-family: var(--font-standard); + font-size: var(--font-size-nm); + font-weight: var(--font-weight-regular); + min-height: 100vh; + max-height: 100vh; + + scrollbar-color: var(--color-scrollbar) var(--color-bg); + + *::-webkit-scrollbar { + width: 14px; + } + + *::-webkit-scrollbar-track { + background-color: var(--color-bg); + } + + *::-webkit-scrollbar-thumb { + background-color: var(--color-scrollbar); + border-radius: 999px; + border: 3px solid var(--color-bg); + } +} diff --git a/theseus_gui/src/styles/normalize.postcss b/theseus_gui/src/styles/normalize.postcss new file mode 100644 index 000000000..8299c9d40 --- /dev/null +++ b/theseus_gui/src/styles/normalize.postcss @@ -0,0 +1,55 @@ +@import 'sanitize.css'; +@import 'sanitize.css/forms.css'; +@import 'sanitize.css/typography.css'; + +/* Overrides */ + +button { + margin: 0; + padding: 0; + font-size: inherit; + box-shadow: none; + border: none; + cursor: pointer; +} + +a { + color: inherit; + text-decoration: none; +} + +*:focus { + outline: none; +} + +button:focus-visible, +a:focus-visible, +[tabindex='0']:focus-visible { + outline: 0.2rem solid var(--color-brand); +} + +html, +body, +#svelte { + height: 100%; +} + +html { + overflow-y: hidden; + overflow-x: hidden; +} + +h1, +h2, +h3, +h4, +h5, +h6, +p { + line-height: 100%; + margin: 0; +} + +ul { + padding: 0 0 0 1.5rem; +} diff --git a/theseus_gui/svelte.config.js b/theseus_gui/svelte.config.js index 2989fb4ab..b428c0de1 100644 --- a/theseus_gui/svelte.config.js +++ b/theseus_gui/svelte.config.js @@ -1,13 +1,35 @@ import adapter from '@sveltejs/adapter-static'; import preprocess from 'svelte-preprocess'; +import path from "path"; +import Icons from 'unplugin-icons/vite'; /** @type {import('@sveltejs/kit').Config} */ const config = { - preprocess: preprocess(), - - kit: { - adapter: adapter(), - } + preprocess: preprocess({ + postcss: true, + }), + kit: { + adapter: adapter({ + fallback: '200.html', + }), + vite: { + plugins: [ + Icons({ + compiler: 'svelte', + }), + ], + resolve: { + alias: { + $assets: path.resolve('./src/assets'), + $components: path.resolve('./src/components'), + $lib: path.resolve('./src/lib'), + $stores: path.resolve('./src/stores'), + $styles: path.resolve('./src/styles'), + $generated: path.resolve('./src/generated'), + }, + }, + } + } }; export default config; diff --git a/theseus_gui/tsconfig.json b/theseus_gui/tsconfig.json index 510f9f4fa..380147a1a 100644 --- a/theseus_gui/tsconfig.json +++ b/theseus_gui/tsconfig.json @@ -28,8 +28,13 @@ "allowJs": true, "checkJs": true, "paths": { - "$lib": ["src/lib"], - "$lib/*": ["src/lib/*"] + "$assets/*": ["src/assets/*"], + "$components/*": ["src/components/*"], + "$lib/*": ["src/lib/*"], + "$stores/*": ["src/stores/*"], + "$styles/*": ["src/styles/*"], + "$generated/*": ["src/generated/*"], + "$lib":["src/lib"], } }, "include": [ @@ -37,5 +42,6 @@ "src/**/*.js", "src/**/*.ts", "src/**/*.svelte" - ] + ], + "extends": "./.svelte-kit/tsconfig.json" } From 6a69c5e16029364aa50afcbf64111df25c8ff95c Mon Sep 17 00:00:00 2001 From: venashial Date: Sun, 6 Mar 2022 11:33:51 -0800 Subject: [PATCH 023/231] Add modpack badges + improve nav contrast --- theseus_gui/package.json | 1 + theseus_gui/pnpm-lock.yaml | 8 ++++++++ theseus_gui/src/components/components/Instance.svelte | 9 ++++++++- theseus_gui/src/styles/global.postcss | 2 +- 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/theseus_gui/package.json b/theseus_gui/package.json index ce00bf20a..897897a7c 100644 --- a/theseus_gui/package.json +++ b/theseus_gui/package.json @@ -33,6 +33,7 @@ "@fontsource/inter": "^4.5.4", "@iconify-json/carbon": "^1.1.1", "@iconify-json/heroicons-outline": "^1.1.1", + "@iconify-json/heroicons-solid": "^1.1.1", "@iconify-json/lucide": "^1.1.5", "@tauri-apps/api": "^1.0.0-rc.1", "autoprefixer": "^10.4.2", diff --git a/theseus_gui/pnpm-lock.yaml b/theseus_gui/pnpm-lock.yaml index f10d6e259..baaa72ba0 100644 --- a/theseus_gui/pnpm-lock.yaml +++ b/theseus_gui/pnpm-lock.yaml @@ -4,6 +4,7 @@ specifiers: '@fontsource/inter': ^4.5.4 '@iconify-json/carbon': ^1.1.1 '@iconify-json/heroicons-outline': ^1.1.1 + '@iconify-json/heroicons-solid': ^1.1.1 '@iconify-json/lucide': ^1.1.5 '@sveltejs/adapter-static': next '@sveltejs/kit': next @@ -38,6 +39,7 @@ dependencies: '@fontsource/inter': 4.5.4 '@iconify-json/carbon': 1.1.1 '@iconify-json/heroicons-outline': 1.1.1 + '@iconify-json/heroicons-solid': 1.1.1 '@iconify-json/lucide': 1.1.5 '@tauri-apps/api': 1.0.0-rc.1 autoprefixer: 10.4.2_postcss@8.4.7 @@ -240,6 +242,12 @@ packages: '@iconify/types': 1.0.12 dev: false + /@iconify-json/heroicons-solid/1.1.1: + resolution: {integrity: sha512-yTq+PjF543FEp37gqLLQLMGBhZXaHJOY8wLPsWyQZzIDJ9h773ofvp32fgMh9YlgQT4MaeDH2VULvFBBCRmJgQ==} + dependencies: + '@iconify/types': 1.0.12 + dev: false + /@iconify-json/lucide/1.1.5: resolution: {integrity: sha512-FOyVw5sdRyDpgR2wVxBxycAOSjVZPlZFaw5umn87JjdXB+L6MIab53Pnz7e/ub79jJTtofHZJ6OBAZ67Cw3Lzg==} dependencies: diff --git a/theseus_gui/src/components/components/Instance.svelte b/theseus_gui/src/components/components/Instance.svelte index 0627d43fa..2227e2446 100644 --- a/theseus_gui/src/components/components/Instance.svelte +++ b/theseus_gui/src/components/components/Instance.svelte @@ -1,5 +1,6 @@ -
{version}{#if modpack}{/if}
{title}
diff --git a/theseus_gui/src/components/components/VerticalNav.svelte b/theseus_gui/src/components/VerticalNav.svelte similarity index 100% rename from theseus_gui/src/components/components/VerticalNav.svelte rename to theseus_gui/src/components/VerticalNav.svelte diff --git a/theseus_gui/src/components/layout/Sidebar.svelte b/theseus_gui/src/components/layout/Sidebar.svelte deleted file mode 100644 index 2400f2efc..000000000 --- a/theseus_gui/src/components/layout/Sidebar.svelte +++ /dev/null @@ -1,77 +0,0 @@ - - -
- - diff --git a/theseus_gui/src/components/layout/Page.svelte b/theseus_gui/src/layout/Page.svelte similarity index 84% rename from theseus_gui/src/components/layout/Page.svelte rename to theseus_gui/src/layout/Page.svelte index 30bc0ffb6..ae90acaf9 100644 --- a/theseus_gui/src/components/layout/Page.svelte +++ b/theseus_gui/src/layout/Page.svelte @@ -14,7 +14,7 @@ - diff --git a/theseus_gui/src/components/layout/StatusBar.svelte b/theseus_gui/src/layout/StatusBar.svelte similarity index 94% rename from theseus_gui/src/components/layout/StatusBar.svelte rename to theseus_gui/src/layout/StatusBar.svelte index dd4ba1c46..5e45826ee 100644 --- a/theseus_gui/src/components/layout/StatusBar.svelte +++ b/theseus_gui/src/layout/StatusBar.svelte @@ -23,7 +23,7 @@ diff --git a/theseus_gui/src/components/ui/Instance.vue b/theseus_gui/src/components/ui/Instance.vue index eb69ef6a7..65ea822f7 100644 --- a/theseus_gui/src/components/ui/Instance.vue +++ b/theseus_gui/src/components/ui/Instance.vue @@ -3,8 +3,16 @@ import { RouterLink } from 'vue-router' import { Card, PlusIcon } from 'omorphia' const props = defineProps({ - display: String, - instance: Object, + display: { + type: String, + default: '', + }, + instance: { + type: Object, + default() { + return {} + }, + }, }) @@ -13,7 +21,7 @@ const props = defineProps({ {{ props.instance.name }} - + Trending mod card

{{ props.instance.name }}

diff --git a/theseus_gui/src/components/ui/News.vue b/theseus_gui/src/components/ui/News.vue index 080ce5f9c..32c356d19 100644 --- a/theseus_gui/src/components/ui/News.vue +++ b/theseus_gui/src/components/ui/News.vue @@ -2,7 +2,12 @@ import { Card, ChevronRightIcon } from 'omorphia' const props = defineProps({ - news: Object, + news: { + type: Object, + default() { + return {} + }, + }, }) diff --git a/theseus_gui/src/pages/Index.vue b/theseus_gui/src/pages/Index.vue index 1093927f8..3f211af2d 100644 --- a/theseus_gui/src/pages/Index.vue +++ b/theseus_gui/src/pages/Index.vue @@ -14,9 +14,9 @@ const popularInstances = instances.instances.filter((i) => i.downloads > 50 || i diff --git a/theseus_gui/vite.config.js b/theseus_gui/vite.config.js index 694912473..4ae9b58af 100644 --- a/theseus_gui/vite.config.js +++ b/theseus_gui/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import alias from '@rollup/plugin-alias' import { resolve } from 'path' +import eslint from 'vite-plugin-eslint' const projectRootDir = resolve(__dirname) @@ -17,6 +18,7 @@ export default defineConfig({ }, ], }), + eslint(), ], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` diff --git a/theseus_gui/yarn.lock b/theseus_gui/yarn.lock index 5b34cc219..472a67d6a 100644 --- a/theseus_gui/yarn.lock +++ b/theseus_gui/yarn.lock @@ -1186,10 +1186,10 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prettier@^2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== +prettier@^2.8.7: + version "2.8.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" + integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== proxy-from-env@^1.1.0: version "1.1.0" From b3a106a4e6a6f76d1d7ccfc15e48907cc8ce3571 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:02:58 -0700 Subject: [PATCH 051/231] update --- .github/workflows/cli-build.yml | 2 +- .github/workflows/gui-build.yml | 2 +- .github/workflows/lib-build.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 03bfb53c4..cdffffc52 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -1,4 +1,4 @@ -name: Rust building +name: CLI Build on: push: diff --git a/.github/workflows/gui-build.yml b/.github/workflows/gui-build.yml index 8985e9865..520f03172 100644 --- a/.github/workflows/gui-build.yml +++ b/.github/workflows/gui-build.yml @@ -1,4 +1,4 @@ -name: Build + Lint +name: GUI Build + Lint on: push: diff --git a/.github/workflows/lib-build.yml b/.github/workflows/lib-build.yml index 497b5860f..2a8d0cc74 100644 --- a/.github/workflows/lib-build.yml +++ b/.github/workflows/lib-build.yml @@ -1,4 +1,4 @@ -name: Rust building +name: Library Build on: push: From 016d3b618f7cc3ef90a04ca1d8cc33b8ed7a48e5 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:05:11 -0700 Subject: [PATCH 052/231] Fix rust action --- .github/workflows/cli-build.yml | 6 ++++-- .github/workflows/lib-build.yml | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index cdffffc52..8eb2611d2 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -9,13 +9,16 @@ env: jobs: build: runs-on: ubuntu-latest + defaults: + run: + working-directory: ./theseus_cli steps: - uses: actions/checkout@v2 - name: Get build cache id: cache-build uses: actions/cache@v2 with: - path: target/** + path: ../target/** key: ${{ runner.os }}-build-cache - name: Install toolchain uses: actions-rs/toolchain@v1 @@ -23,6 +26,5 @@ jobs: toolchain: stable - uses: actions-rs/cargo@v1 name: Build program - working-directory: ./theseus_cli with: command: build \ No newline at end of file diff --git a/.github/workflows/lib-build.yml b/.github/workflows/lib-build.yml index 2a8d0cc74..1892eca8f 100644 --- a/.github/workflows/lib-build.yml +++ b/.github/workflows/lib-build.yml @@ -9,13 +9,16 @@ env: jobs: build: runs-on: ubuntu-latest + defaults: + run: + working-directory: ./theseus steps: - uses: actions/checkout@v2 - name: Get build cache id: cache-build uses: actions/cache@v2 with: - path: target/** + path: ../target/** key: ${{ runner.os }}-build-cache - name: Install toolchain uses: actions-rs/toolchain@v1 From f9e742790d1cec148bfdd67c18d6629e5446d20d Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:12:35 -0700 Subject: [PATCH 053/231] install dependencies --- .github/workflows/cli-build.yml | 5 +++++ .github/workflows/lib-build.yml | 6 +++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 8eb2611d2..4c2176c8f 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -14,6 +14,11 @@ jobs: working-directory: ./theseus_cli steps: - uses: actions/checkout@v2 + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - name: Get build cache id: cache-build uses: actions/cache@v2 diff --git a/.github/workflows/lib-build.yml b/.github/workflows/lib-build.yml index 1892eca8f..16723f504 100644 --- a/.github/workflows/lib-build.yml +++ b/.github/workflows/lib-build.yml @@ -14,6 +14,11 @@ jobs: working-directory: ./theseus steps: - uses: actions/checkout@v2 + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - name: Get build cache id: cache-build uses: actions/cache@v2 @@ -26,6 +31,5 @@ jobs: toolchain: stable - uses: actions-rs/cargo@v1 name: Build program - working-directory: ./theseus with: command: build \ No newline at end of file From 253764697a7b5aa6737b4d08ee447c999d47a2c0 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:17:32 -0700 Subject: [PATCH 054/231] fix actions + add tauri action --- .github/workflows/cli-build.yml | 4 ++-- .github/workflows/lib-build.yml | 4 ++-- .github/workflows/tauri-build.yml | 34 +++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/tauri-build.yml diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 4c2176c8f..4d43beebf 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -8,14 +8,14 @@ env: CARGO_TERM_COLOR: always jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 defaults: run: working-directory: ./theseus_cli steps: - uses: actions/checkout@v2 - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-latest' + if: matrix.platform == 'ubuntu-20.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf diff --git a/.github/workflows/lib-build.yml b/.github/workflows/lib-build.yml index 16723f504..3c704c142 100644 --- a/.github/workflows/lib-build.yml +++ b/.github/workflows/lib-build.yml @@ -8,14 +8,14 @@ env: CARGO_TERM_COLOR: always jobs: build: - runs-on: ubuntu-latest + runs-on: ubuntu-20.04 defaults: run: working-directory: ./theseus steps: - uses: actions/checkout@v2 - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-latest' + if: matrix.platform == 'ubuntu-20.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf diff --git a/.github/workflows/tauri-build.yml b/.github/workflows/tauri-build.yml new file mode 100644 index 000000000..eb97cf361 --- /dev/null +++ b/.github/workflows/tauri-build.yml @@ -0,0 +1,34 @@ +name: 'Tauri GUI Build' +on: + push: + branches: [ master ] + pull_request: +jobs: + test-tauri: + strategy: + fail-fast: false + matrix: + platform: [macos-latest, ubuntu-20.04, windows-latest] + + runs-on: ${{ matrix.platform }} + defaults: + run: + working-directory: ./theseus_gui + steps: + - uses: actions/checkout@v3 + - name: setup node + uses: actions/setup-node@v3 + with: + node-version: 16 + - name: install Rust stable + uses: dtolnay/rust-toolchain@stable + - name: install dependencies (ubuntu only) + if: matrix.platform == 'ubuntu-20.04' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf + - name: install frontend dependencies + run: yarn install + - uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file From 8a614be027e540e85c1840975cc44f8495d461b3 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:19:26 -0700 Subject: [PATCH 055/231] update identifier --- theseus_gui/src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json index 2833ebe91..e555e8375 100644 --- a/theseus_gui/src-tauri/tauri.conf.json +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -27,7 +27,7 @@ }, "externalBin": [], "icon": ["icons/favicon.ico"], - "identifier": "com.tauri.dev", + "identifier": "com.modrinth.theseus", "longDescription": "", "macOS": { "entitlements": null, From f1a9a4b58031d2da5fa07cbd0b796dd9edbcf419 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:25:14 -0700 Subject: [PATCH 056/231] fix dep install on cli/lib --- .github/workflows/cli-build.yml | 3 +-- .github/workflows/lib-build.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 4d43beebf..2eb8c15ce 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -8,14 +8,13 @@ env: CARGO_TERM_COLOR: always jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest defaults: run: working-directory: ./theseus_cli steps: - uses: actions/checkout@v2 - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-20.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf diff --git a/.github/workflows/lib-build.yml b/.github/workflows/lib-build.yml index 3c704c142..a15a61cac 100644 --- a/.github/workflows/lib-build.yml +++ b/.github/workflows/lib-build.yml @@ -8,14 +8,13 @@ env: CARGO_TERM_COLOR: always jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-latest defaults: run: working-directory: ./theseus steps: - uses: actions/checkout@v2 - name: install dependencies (ubuntu only) - if: matrix.platform == 'ubuntu-20.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf From 20a538f0ffb60632f1bd78e418d03bbf92bfd5b7 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:37:52 -0700 Subject: [PATCH 057/231] Update tauri icons --- .github/workflows/cli-build.yml | 2 +- .github/workflows/lib-build.yml | 34 ------------------ theseus_gui/src-tauri/icons/128x128.png | Bin 3512 -> 16965 bytes theseus_gui/src-tauri/icons/128x128@2x.png | Bin 7012 -> 36454 bytes theseus_gui/src-tauri/icons/32x32.png | Bin 974 -> 2813 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 2863 -> 14007 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 3858 -> 19163 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 3966 -> 20383 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 7737 -> 40754 bytes .../src-tauri/icons/Square30x30Logo.png | Bin 903 -> 2440 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 8591 -> 44715 bytes .../src-tauri/icons/Square44x44Logo.png | Bin 1299 -> 4733 bytes .../src-tauri/icons/Square71x71Logo.png | Bin 2011 -> 8751 bytes .../src-tauri/icons/Square89x89Logo.png | Bin 2468 -> 11405 bytes theseus_gui/src-tauri/icons/StoreLogo.png | Bin 1523 -> 5640 bytes theseus_gui/src-tauri/icons/icon.icns | Bin 98451 -> 432000 bytes theseus_gui/src-tauri/icons/icon.ico | Bin 86642 -> 57613 bytes theseus_gui/src-tauri/icons/icon.png | Bin 14183 -> 78225 bytes 18 files changed, 1 insertion(+), 35 deletions(-) delete mode 100644 .github/workflows/lib-build.yml diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 2eb8c15ce..51f329f9b 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -31,4 +31,4 @@ jobs: - uses: actions-rs/cargo@v1 name: Build program with: - command: build \ No newline at end of file + command: build --bin theseus_cli \ No newline at end of file diff --git a/.github/workflows/lib-build.yml b/.github/workflows/lib-build.yml deleted file mode 100644 index a15a61cac..000000000 --- a/.github/workflows/lib-build.yml +++ /dev/null @@ -1,34 +0,0 @@ -name: Library Build - -on: - push: - branches: [ master ] - pull_request: -env: - CARGO_TERM_COLOR: always -jobs: - build: - runs-on: ubuntu-latest - defaults: - run: - working-directory: ./theseus - steps: - - uses: actions/checkout@v2 - - name: install dependencies (ubuntu only) - run: | - sudo apt-get update - sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf - - name: Get build cache - id: cache-build - uses: actions/cache@v2 - with: - path: ../target/** - key: ${{ runner.os }}-build-cache - - name: Install toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - - uses: actions-rs/cargo@v1 - name: Build program - with: - command: build \ No newline at end of file diff --git a/theseus_gui/src-tauri/icons/128x128.png b/theseus_gui/src-tauri/icons/128x128.png index 6be5e50e9b9ae84d9e2ee433f32ef446495eaf3b..9b6f4302906006b41a4d9b01aa9d86715686c77b 100644 GIT binary patch literal 16965 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 literal 3512 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 diff --git a/theseus_gui/src-tauri/icons/128x128@2x.png b/theseus_gui/src-tauri/icons/128x128@2x.png index e81becee571e96f76aa5667f9324c05e5e7a4479..7d0d892f6cda248602dd6ef8dd0392ec2096000b 100644 GIT binary patch literal 36454 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 bPRIWPm>m1caWxjL00000NkvXXu0mjf4nfn8 literal 7012 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 Sh@|~>?n@Mn`+^Gyh&mwRz_82=v%aPO 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 Hu0mjfXZv-d diff --git a/theseus_gui/src-tauri/icons/Square142x142Logo.png b/theseus_gui/src-tauri/icons/Square142x142Logo.png index b81f820394d1504ff4b4091473a8263542c9edc4..cd6b70243967db2fc766da6376e48cb8645a425b 100644 GIT binary patch literal 19163 zcmV*VKw7_vP)1$2 z38eS!GxMEu@14yCLw07fLGb&=Urb1LckbN#zvrIwKaJ=9N|(S3I0q`}WA_H-f9mcl#bc-}5KcuBCpX9yh6X_~49G;h$Wd4iQ{xvxYm z_7tcE?h{I0)lua{C4L=K3O)I7KkW}U6M2c_d5%*x6+TJhG*0`gOf`SjKYq?eYt7UC*@p(2~ zJbR4-DDVX}wcKB-7P^lIkCg8V?k(OH*ipDCu(N1$@KEVq&8Gxv0!fg_n+cH4ZV;WF zz|p}HR27b^UI3|iLJLdJCg)juHyvW>(x{KrDzP0%7zz+v=pf)Kpul$xrGQpL3h;H# zi5B*M{S`bJg9w62reEYfAb8Zu0H@?u913hJ*x*}x>?hx^xyu7P3%79LLJ2{n5fCY7 z;}V=bz~OPB1o7m_mOG_&wGYi4ZynfTtffP055Z-(;#0wHCtn0y_#P@XV1;=;wD7UG z2=o{L$$j8IQ4o2H$njPY0RlksbHRNjJAA(!S>pZvz&zi&+?8R{hzG!l0BkzW{|8R2 zMhFWn@*)5rq_aq^U0L?A*%#YKXH5aHbmyI*lK5fXJ@AsC5@hewLGtH3BWOn){)boq z>B8FpNH!2M0hJ3LC_Uu;@xWa7w|i##HymFZdXEHB2#+!R`hVcW1~70G2(}TeCpa(e zaGkYpvypHFiJ-Jnu%IF=AV?4_XXrCg1zE*00)PZi!ihxm|DLzrJ!i-J?s>aEQ%k(1 z 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 Y2S8W#vM)6=T>t<807*qoM6N<$f*y@n<^TWy diff --git a/theseus_gui/src-tauri/icons/Square284x284Logo.png b/theseus_gui/src-tauri/icons/Square284x284Logo.png index c021d2ba76619c08969ab688db3b27f29257aa6f..89dfd85d4ee30241605cf612694ab25d3a21a1e4 100644 GIT binary patch literal 40754 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 diff --git a/theseus_gui/src-tauri/icons/Square30x30Logo.png b/theseus_gui/src-tauri/icons/Square30x30Logo.png index 621970023096ed9f494ba18ace15421a45cd65fa..62fc911d592ce69a12c8b80634a2b0cfc740648d 100644 GIT binary patch delta 2430 zcmV-^34!*92Z$4pBYz1`Nkl=45!I#_8T z<&2U*1VVOq8((d&a2M45;Jj9G-t|M(HUAkjoWc9fc<~{7c|#HuNfA8aNu@-kTrn&| zK5t+u6RwS<r(lBu67a9`IRlmi z{AT>8Ot{8KkbkgDKm=dsaCo0KKlDCtdn&ZLnqfUn>tseIETBKE8%Sw53Oj)xK%ltg z{p)G2+^QSmx!4KR^|iaxVg8ZHMlD1kRH_X#Qv12Y+wpqdSmz+ETj-nak5rNZ#s3 zdD6gTujBzu(jt`IA(XQU^}FN#U@CnZnMyVwOWkG^u=TY)oet73dMv)sei(n)XEXyD z|GDT6rI#DKFOv)p8l%n_vqQH(@wD;GqPvojA+L$swVa+EsEh8tRyxicA9_E{W_sc? zu39tVSATxO`Pqwex?pgsrP>#%@pN(?Ebw~=Odg>>nsil+pk@=YG`@>0)-9;Z7&obJ zqWM_{3jAcomvpGg;@=0~L-W%dcpnZ%5*sq16DfwmB?BJoFp-dlC-@qBy>-<$3BW`i zuTd-+x;7|#@m+38SUe?T38BqJc=GGY+D|fZo=KlePa-XkcrR1=(&T7~lfa9;7}GbU)Pxh!2INa&C2ToCbW z;wK*Eo6#FEsmxE`Mvz}S7&3{3ldJiXa$YSzD{fFq)QXfLYkxJnCS?VkUs9wyFzahlN=q?8?SC)a-@5C@ zM&JiQ8|A?6xIc<14ORBxD{W;sm69RGSR53?jkhFV1KzThD%UNa+yNt}05oxM7~%M$ zFw1$p;$o+CN-!#r!&sr+gPkBCDl?#_tux0oma}ag1$W-cC{_ z(YWu|-Sn5iVEqW7JZ5D9NMx~C<9{DbJpy@-6B^oikjtj#t>;s5Q|QtGvkR;iGj)N0lG*zMvQXcR(=(~9>1+rvb%K{SE;5>Jbt?QRb! z(1^gj2`81SVm29$&HJ|`+J86{HwE|YnjG=a0I8NX$U_k1Q)qD1_>7VyE?u#G+T5)S zz@=a!G-}DHPC3Jh^U!*qn;tQdwy68*4!)5MWSc{9psbiMUc@4Y2e-{+MRHWK;BaH& z5gq4BF1PHuk?zxg;5gc(3L*d<_m2&CL}vmyJ<~TJk`9y+&U!}`1%E{N9_J47F%(ND zUes~v=~nFPd17P&LXOo=YmSu|_YU$8*n%$GL zK##@11RxgF^nW8LkUaR$_806-Q_sX(7i zD!n919|AvP97jP?VIl?HR>FFTb;X$}U6D#g29MJpnty$c5C9hlsB!JNBxn{DcnTr? zZ~=7M-^U+Tt{(9gHVz8(xN*(dS-78eAAO)f%mPV`f$}imhTgR4(o*0?6(GW4NBsnx z9+4E7IpZHVFs#)r+rRs@?eM)l-RJe5!`^;8>}`ggnvOyX*0#f3o!)&6>U9q9KECN> z2F=b%2Y+y-m>zcxd*fdk_UIntEwBxkcLLxHl8y}>joTauNuq2<#9|N{4z;;kpdMQ> zv^{Kdj11H(R=GN6i}r)~zrc-SBJM&U!vyr_t)T6{>l|;yniiCywd#NfxfpZjDl4v zR}S9@A_G?#O(d2^604ZF4fVXj;F<>o^gL=TfY}URVGcqNKl2Ln>PwqMI>9mnAWVc& wcckyq#wv0BBD<#zdT)h0A1-azfBvQIzb(~%bW%N=fB*mh07*qoM6N<$g6^A<$^ZZW delta 881 zcmV-%1CIQN6Nd+oBYyx1a7bBm000XU000XU0RWnu7ytkO0drDELIAGL9O(c600d`2 zO+f$vv5yP2+CUKPMqaqGiH;zb!R4$B-WXS^YPmyx`A%2~!(9 zlH^ygDKV3p{Mk(=Xu`Wk{D@#IGk_gPQV&dinMYoVnA6*V3f_c6n`cZswXQR5@9G>J znhN<@*4bB}41X%vU2>E|D#2?#wmFX{G-a=92L)iYZ4U2%FU9H$9f`ktCuA&iizSf&?&-uZ+;0$pk>ntSJ}O^`}5`KJhipib(HjhGn0 zN^@i@#!6RG1|rZaEb*cJccER=BB?KFZhV$c^nL*l8x*UYZv4WK|j?~Jt6~~F%{pk~z z5A*>^M`?r5m9@RJ_x|uEtX(6Vk@Y()MVto*93wr)%3m%|#OZ~srm>zF(JvDuTq*@; zd&^>_BJm5hOU`3FjG70L#Vzv9I?`<7$T@Ry00000NkvXX Hu0mjfQZSLz diff --git a/theseus_gui/src-tauri/icons/Square310x310Logo.png b/theseus_gui/src-tauri/icons/Square310x310Logo.png index f9bc04839491e66c07b16ab03743c0c53b4109cc..4dbcb6fdb043b1b548211e83843d43c065932b68 100644 GIT binary patch literal 44715 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

BBOQTKry>~!-9<`#v-+dbZ1T^nXXwaFy2`Oc- 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 E07S^94FCWD literal 8591 zcmbtahc}$h_twIy(GxYgAVgi!!xDs*)f2s!wX2s9Bo-?nB+*%-1*_LxM2i}|mu0o+ zU80NN=kxs+esj*8_ssL&Gk4CMdGGr?_s$21o+dQ~D+K`o0kyW4x&Z+JA@IKrAiYI) znp%o(ALO1|uY3pyC>j3igaqjs_isT$9|KJ_g7P8ut=j>Kvnp7XfS~FVJ7pZI}8ladf{o!;c zm1(K;-KkdRXO-n=L1P0pQv0P`U(b2~9nEJ=@_rst-RE_UCEIhCS6ZC{wgP%L=ch&T zC*gow@BgnRJVg7H?|jR*KU64`|5#Jg~WpHZ+L{j}|Li4|snUleLlZI)ZeC zOI^*wECuanft|Cy7L!avUqb|s`zkL-uUniu+&?`PC1In=Ea{>DZXXUSFYUIYtR83C zra$`5(dV9>JAOL}$hJclnH&JSKk%j1Hve%5+nA;Kpc0mQn*Ti~f?BK;JrIBAa$eE+ z@j#pupdkvqx*TZ}?&Ia-L_V0(F#w!2UsUGF^sb*3d{2s?9{L8Tb?6NZ_#{1)7Mm{N zhK+vn?p+Kqf?CgLD02|sP;&<{&SF;h@qwL~*dr1)_9B3E&BtHsceG7qR>%PL;B> zB_F)S$_$6{RbkQlTRg>ezn)f360DC+Y})U`pU@+ouf%$!z|czk5$U9&=5D1k8>Jvm zAv8|7*o77+9P1kQH1BKXo5q-&tu8K{F#3rez}W20aldEBAFYju9G9-dBUkeXND0x! zyV>gDE&8^GTdUO{!K}&NM%s2J;s^f9_oGeJ|Fmy7BDN)+Cjb5J4?!4mbx|T{?NjrxhJ61zx;_vPzEwo7$v&}AL|(FD9o-n zI99cr^aZ_<$bIbA$(l#CNSf84z*f@X7@<^}6y_GHC z9`IfYQ0F(;5Tl!7`I`mtDcjDlKrNQ2=tt20CZ~N+;vby{Nn|&UPE*%!3g<^Rx@(Il zm^fJ}vYu87Q3Lrh?tJXkI8z&Xqy;_Tm@FgYgS};gCyNHdZ%!PIoQNyiP^02Z=J_HZi(^*)}oDJjS!}u4hms?hy7s-Cg?{7h*k= zn=>J?uK9a1;W;kqefG`vB~#EvTZOx(984*jwL$_7jb1Il6iHqj58c{WT<%KXgF?-W z2OhfkK-uw}*Sig_5$VBCZ6C76@O`0FFk_^~b5(YTM9g;K0(-~|`1KW`GJG0c%wav> zv%7*>v1?Qs4IKOAU57cw78`YXOi|IIq<;oVnDAb-P|yk%s68#6T!5H+%|Fh`6lFs> zP!=A>vl8)VAck!0mHn_9wzT5TT8^^#@UBn;X42=E~h@Jd7nVf^qZr65Sp_-rT;j z|Bb`c$Hafo$r7p?HW?gShdf2TYRk4(H8;P-jt1r1-8O(dV#`Nf@Sp7Ts+P0 z1=YjoOaZ2{Sx8kRZIfBY7Q2LJ7<~|(heip|2=-M2Qg$-1%elQ!+RqJ$kNp{xj#iQ!xdt&U}`4h~bXnikM-7RQ+db4QFj$M*0Q( z=6?L;m)xt5u5Yi%bC@ft4gbDV)83>p1_%Q`y|#Z=jA5pJL1%|tHJzpr3i|KkAc6j| zcKS*x-w&RW)-zg@P7w&Z=Z}{7i0?X^`!h#xCkMBoHoN24bl*iw-fEwl+Ej*y4l$U5 zOsmW4+>ixG+JEoiicM8u z{p*QtFrRQulAI=Z>PM>Ce;!sgJG+`9ExIa$=kKD06*FQ&$ehjhGqz~>{E^Lm=?j7l+D#JLlMa0&Se}V*n)qA0`sy&k1DlFLiKVB)AbADG0~~puma1DHs7_NN}_R>+cpikj+ZS+X+C)7 zVxY6LU{AuPUebgMh-2;b!|S^nN*wsabFz%{4w1cay)>fRuhJUuSWQ}3S)qf`a!ixM zQs1maTy)8X_jBSuJ}_CU7dW8wPn*_ltka^fjVn_#GjCim9Jb0dnN-&y8f*@93?xn% z_+znuyU?&s#V?r;{2$7`n05S@8Y~&KF$1X*nwp)1$Bth5yT{K&90C(uCH~Crpr(yN z`o7zm@V=^IYA1?~-|ZSaZ<*qT%CRTy1zyKV8^{kMZ48~feHul}UUw)8s-E^f&_XvK z%_pX3Qm+viH6%4@gzhH!Xoi+#asO$3n|M!J+2mz*$q%l9hq9CouPuiBR(O>YV3?`5 zSMxGTIoLmY@mD((7mg(yHBLA43{IyhG_Jh(!=9aM{j}Mqm2IBvOirget~WJeLbl=g z_BX7*{rRl0D#S&Ubs3?)WDn2nKK99(lbEYJ9KMCAWI6Xaj$uQ(#T9;_H?Je_VhBTi znPgNdj0;+W0tAxUkmW8Ud?T>PDc6=ke>l3g&Z?ig9#kGii0|AEAhZ}A&M zhJ?P0J*r82tj%HsBkc7Yzb`d>xuquI=>J8BjBt!7P^e;{3rBiW=gNhzrc}Imcq%3| zG@>#^nIN`7o(VquCx0}AMwK_+R3UCF5w*J_nBs7Wh^D4N{d0Yzoldki;v=1UiuJgf zS){!BhxB??`yf_bl^}uLW>(Ppqw5z*0G2K-2&tkp!G_4sH?$yb?~$Q$H2msdd`6w4&pX{8p*8W z7M-lhF{$Du3+Ylvyy0b=gdG4Y6%XmxJ!J$X`ixw?+=2zY3%5}qp3$&Dk-Wfwvxz2{ z(#Zx;Q?6#YKNub=gxIedHW7&Jkyvi#h z=Bo>uB!l>JcKaG25qp-Ri(>m-*iTPlCO}9bnD2K9sOx-rc zbIZQ=2)07go5G&MU-Pm1(rEJDbv!^FOU3!%7bIw5{I3cNFqbo0HOv}4@QEq8Z#(!b zrPHiN4P{G-DtEjBJtCIoQOhJVRF|GT({~r#Gyq^;=JLgH_0v$N z%U7R$Cd6{wRO00o7Qq^CRjWD1l#;WOq{~)^x46584tj;Q3mBl*RWheFamkPxl?^ky z!>vq|VV!XVEA%Fp>)IkDA@z=E$Dou@G4@V$z@D+S4#vc4d$;EAUVr8{hNw$iVVXvVC%+nWM zKVP_sgP``51Vri6`Lhy5hnO%FKo-O^xeBM(GR=pVdwb^7!mTQ!NPIB~c^4vZ9+@78 zY$LNeP?|Tae0jluNw@cj@wDfmgt1B29nE8&Q!BjSRc&Xh=I?o=|5E9aU0qS}+DNW- z-Q!_j>0t*J$b_O&%}Y0}0SzaP^$q4{CQ;X2s*1?s2{9eZ_=SUwrY7LUx8uYFGZJ$c z2m)#n0KFL0d4g=CCJY~Fn32Qyd+6Ju>160zkKE+-LzgbV!R#n@@k3 z5`OG@emYkvyTNkQkvyBznrWQ?Icf+6JFYx6lE*oOE2QzoaX(bsGdcy=o^mfCrCgN& zwd6%(Ml?!yp?m>7g88w;`dj5LNAT~R0*Iu20LJIbyBg~$Sfu3M6ij09i`)u5*?KwZ zH_*w_$Im}i;bnYaSg_=`-#tZ$oM`VlEb5jifY8*jl;4pTc_HC-%74kcd4oERH#u$$ zLyY~YE*D##e)ywc`Un(|4;t+w#ZMe@%us%R%FR7tqjgJVl)ss;zK}R5GUDIB%}Fe_ zfnrVRpyE_mGq;3;4q^wbikJN1qEfGL$gp1vL$Pjj`yWV>SbG&Ok~cH08ImZmBa`Xu za*69RmPGf7>LR0wo4!gJ%)c(OsEjP1k{p7z<`E##bT$p~97w1~yOA(X&D0I~nmmWJ zgTB;Es`go*@hxQH=KZ+sbkOb3qB}{DG?A#-@Rp`QITSPsyu)<_^`4<1q|&a0merrB zUYY&q+g1Fml+zZ+FR5Ml_Q))Y0Ld?5J49o&K+S>H?dtwO?j8G;O4WKXb;74qT77s= z65z81Ui>#=s6xe*1i%($1r#=0X##)LMsYu+N?=0>2n@`nA8Is^8Ryyc*NCTZ3f4x8 zJ)|-o6?f4Gn2E(GhZj?6;8)Y6sVW^QkiFEZawFdS;1rFlu)j8qf9;&bw8nn`sQ@-w z2pUxlyD7BV1etmJ>e+84;bIwSDjPKGzE&=Cv*jGtOaWfi;HCR?%0eV&DLti6gT zo{_4;pbM@135?7^UXTZ_7GqG;6JHJQczK=O=j+~aJExu8DCf}h>teRM9}T5O=4Y5v z28WydXtdPSx`fn%Ic?oRy#%9^Ii<$+XbFfi<`P^dB0- zDYRg8Z<^a4)Wl5<2JPS6(lpXGQq#z9x=QsbD?y zxoOtH@m`%JzBaJw=*lQ%X@Djo{buiNl!T~3j) zGUGh;(=u1Qq`Q8L*EML+rvv-kqNa~7;)YG&H=2FPu#j`U!OqFm(z`Gx{%M+}3(n0XU!oB>& z>N0%})PC_3P(K!dPil}y-0j=nVD6%W^2KR(ZkfeD?nkFi^<)~A+ zUqt%8f81vhi}7!b*xY?uM%ii2(W`$?lLID}&x7*&mHvqx^&FmUpN{s9_`p^@a=%|cF#|YANVICIMT%?io8XlzMB7u zOlLz(ZSOwyYg=#j%7%rCg2x0UB4!D75>&3>AB4sFa-3}|^gttoer??X9$z%KaHy1T z5vbaYm)||e_+pvr)C&>cp0BhH;GWtS>4Nqz6_Ff>scg!i)Ry(IX<4ze+DAv9xzW0_ zhTmY$7y52)BJHx*T|E}*Wn(7uBT}2Mpn{(x>t(hOoCS|@ABSIPj0^HRSjFprp4Wsx_qMo>R$QHPmoCMe&Jc&=Wcuceio+`ZQL=SiCr&b9pj7&fx+qO-6Ts331~VhMamuyQ@#6snW-yuSjRv&q05A;Mb_z&|xk6l5 z{o~`0sSLUz7VK(!i~t~@-No$9y%bKhJ>MXYqT&V*;LYq|9T_ptXvw8XQO&I`bKw&7 zt9^r!k3E+ZXEfgSVEW#~qSwI@F?+##vHd1uRg)UN&OGDBPc{VuocbE0-_n#stZo<0fFgZYb6bUqI zab!gC2{LXCKo6VM%YNvP(H)eczGSn)uaITZztR+?Jv|hj(OgC`?b-b*d{HCtczCOR z`V;2DRyU@7vr)LLAb^pIZ5~WRDHYv7+m7ye7ExdY@R!IE{K3EwM(O=`5cKuQWNd}KWuu8W z=!%PNAP;PF_U`RAVsK}l7|)V=f zF(-ewaf3|VGC9lCY9AlyWJ{YoBl)GOufnV)DH*@-7n<|0<`xPr6t{wl^>!)X#LL}} z-m44?nz&nH$o0B@=6P)FD_n~o_$M^Te&||J$Ipq4XwCCTnMhO_$(SBo)x73sm$l_D zH(=PMtk-|)eDK*>vM|}f*Hj1H5ZUnIVsBMt6`8)1IBriRwNiNE`>FhD?J+Lek-*a6 znQ&dnV}C1wj0*8I=8I8`4>YF2qe%W&T}bC5zQz{2e~MW@=55!#m(=F80k@j9r3o|~ zs3}tHIzEZ*J^AnG_v_lvAn`=8(Hudn9hrNm>ElejQLTL(EncKVlDwK4rZo*-gG|hi zIHWhO>ig%9&R(60h^B0Dx^8cnj%T2la=C%(upE6`DB7s-SE8v{{jy!JeL;~LbPAotrW{D%$&V-(1RlqPIW88iKMmhDV23GudMR(% zg6r!9(q5}GNnISBKGNPW#eUKTt*2)Ds6Nvk{=8+73`cMItBGz=V+Tzsv39T3m4)`= zzE1y|XP%8(f~Y{l%P<&)g}E1Rd0W3L$QHUY5U7LqMwj*hyf-@Hv#ffPchCy+0h}aH z6k0F#W8RQ>k|&_>aKx7}4w&4{>P1Y^zbOVf4Vc0ndH_mOfdrnFfgJ6RZ!3}~2g(;wzyAy)r!Qsc zpe;rPb__Y`02<^seV-${o1n$qhywV#kY1Qs_v(0}py&g``$B~b=&652dRYs#FboDmB8#tnYzQ_*^+gGi)d9$pUCHs=Yh(mUQiGoCdx*cs%nQxkY7i0{N z%ULUVd|kdTHYWT((JtL1nN67B3ur2_sBG|=Z8w2C9Ik%xodqDCgN1+otb0gXG*#&? z`f;0DLnyi!-efCsC&K*6ExYT9GDoSYVVHIK!@_LRu zy-BktNmRh9t1FBQN=)@^twC?AQH5(x(R+|hPT*l>;ZC0!s=wt$V5uTiQ!CutSFNvK@S|*s|&sn1wz9#z%$o1c7X&?I>g} zeS9Hhk)}n>xj)lxLk#RE8AtRx1?mX4Ir*_Nv-|p!hl6yQc9^-r=%X%yC)o-P`sccKAHm${4R4(y=z*n)P9IuXE z23YI&)FS7`ad%Bs^_*wOTaok!4X$i>hRDfQpjWoth!n{3P-$zz&w#IMn>%BDMONbw z9S(qWs|yb5@b?o=4~6H_EG`e~a#`Y&9To<~A1^D`tu(AGo*Bw1<%6rV(Xp}nUPa(8 zfjQ+d*seRHrc4#G0=v(JA zXzoSb!F%jE-$!TxceFZ5*qf9S%1Lo8V2oPls9blxY z&bN;{x%7SskKWdY?3j%lZRkm&hf=*=akbhk(v-fcl^nFk?Q7ikBQgelc2(j6wr5IQ zq0&wmJ#vs*>8!Tj)3PZVkj{&}r)9O{?Uc$8Fw-5=Q+blWE;{9&D_*??-IJIEN`W$=~J3n>(DxK~SH)77}VK5s%PoI(c zI1Mb4(`4EEGp4c>Btn9xb70YOVtrBa*GcIMwTk`WC*ejjWg5P_k*|Kx&}P!Yexm*A z3Dv+2W^jbcr`DMd%g9V|ET~*rHKd0-8z6H6smjbnP~Uk%!+IwvEP9V|Ok1}?+5jU`?BGe1>gHDD=@3GHyJKq)}Q_JxJk&qHbBiKF9ldd6)_6rL6 zf<6|j`3A2&Wz{tNnt>)gmpPg;a1 zEy)}|*T@nh0Q-Y)Nq30ye(u+yJ=W~*?aSfoGYKMUJ%mk6rwz?esQFBcz8E2x@X0+A za|bhX^A&rK8}Xmr1BRJVMQff?Il))AoXVR1ha4A<#{@PGol8)Vchm1;I-@Q{MNHq; zI~=)iiJ#3U8?>>}QhU$$G?i$b{!>e-3gNc5Rm;`&74)c6!W{QHHiQ|IDLf`B<__FJ z57;o$!k8ewCJC;185mn%VIC{C&mt}7D+!BW0ZL{OmMt8v52`f&EX|dE&{{8Mo5Jvd zZ8@2(C9b+!L@$57Uudfjd`RwfaD{sraE7l44*c0#a5MUkn()8N5&yr&d8J}TlB+X4 Riu&JN+8TQ5!H$Xvg4d#nUVYPBD<4m89z1z{zrXE;05;Ej66u`*J6l!Y{#j}gZDiwweYs& z6p7yBIL+iN!=zB7*KxdvOC|j9JZA+oPQP58ANuC%*1+cc)mlN-`MV|Jrv)tGX1b}< zpU#KUACG^j*L=B8^Ip7!R>Av{%#Dzot>UyN@2t1fG>r@KT z6x#sZzt}wi7(dZ?SO0my6s#2iVZyKb{~`Xhe)HJPgL+8tIGmIzHM{tD{mRpS z3hleH1=&(>FHByc z*J7o`V+FvtjK57wGsEnyWLIj!+^pYwp6fadP@sZTd8ecxDO}Z@y)*o4&wq5cOpAAB zheKWxULUYHes=F!*kTPU;KdY=Be>`CzKSWE28B=E%0U1E0#yj#_KzXN$zG{La#tnO z*GK8wVhFu%mIrRpXDLwjIm)=mOTe#e)radsUtif8&MiCX8rtRwA;IZF&|yxuMEBzz z#sFe@`o+q#4AV9{-JW3^?4HRPKTlfn$VX;nKqrzxCZzfmrCw>P>wDOJ9F%b^ z1<#aPC$vrZbnHQ?O=3&4HWcO+Nv6oko><=l*gnPXVMO4?+gnFBH5~1eI{9`yb%9>S z7Kia*xqkVHWi`J!_)_E{$c$#NEp?5)e{%e*eHY0YsqKk(O>iu>Rs-$~%3#^J4L!9B z6^yQc&xB@wpH_jUB7uVs*8cIxyfA_%2(o(uPGYJ%Ep^kRlPJ*UU>sFQP!tq(QQ64P zJK>ocgDVy&*lfU34&1H)6>(Nb4~fYxIk5HOSN|WZ;GkfEGiUPBM>nRd7`+w?Y;RNs z!k{yiYE=Z2h%Mp?)24Bw{#p!aUc;n;FFe&{6dJAlYl7;Sr)5a**!%ss659oi^>L_d3+lu9Fx2FIvN!L zl{y=kL(D{TDo4h8OKBc2_*XX@ zGy^TZtJE?fBe)YmQyjRbmRE5GJJ$^wr8Bx=2)jnzF*&%aXd`8rrP=jp`-$G^-DiRm zRk4Xn4(%@5UH5*@Z>XYeuv^K?Ms0QuYTb_oi$(BpGGF&z&O24Jc1~acq7X^+uog|h zQc>DaqYegk$quZ)uv}`Ln1KTA#DU5Xkd8)@i3ONg=s}(eAJ5Y+R_21MUj`RRM0t+; zlQM$a3O+@Al?=mx!_Sy_A;L%dtpD)j?-*`H;06yR<^a`<0?xt&4{9FOzuGsm?%nLy zZRU_!U|}PK2ZV@i(7jSYZ-dzaY<2-IYbs}Mf4pJU>5ou=BJF`$5#$o)^jiqE*DZ=? z{Zdt)|C6&Hpjc_KA$*ockw49#EVl5rR(drbL}CPxaD-3XI;rN|I7F1iZs2yf<6r6X zHfaEML86nd`&0H?{?E@ZXBk02#3(36muF(9X^9I4|4%A#p0?+ii@vX(I*{lr{Alr?Fw?Q<^vfVNbVxb>XG7ok(FAkB?1c1Vzn_%T=(akH*HRK zuwcRDsh^HL;2hK{3$0rPb%km1C=d>8!$Huz$bzNoP1f-YqDWMI8KChlScW6+CI$d* zpO!PzGP$s6uzN)Hv0<8khfHQcQ2I0BMYt9 zq2-pHSHJy!uMHQ5k(AYAzkv!HKr}}X5!{jt_E4-qI8gQ4o}c?STv!zg*8Z~WuI1m9 z|1kpBIEN@va0pU|nBtIik>UXyqsrPMGaz?K?J0%Nm!HtD)D&<8_JYb>CJ$|;4_cj0Aeu#)h$x66;E#(pcmI&i?w`Q8OyM4XPN$oJ>bA> z5IMO7CliYjWJ#=?zI_rj_AXn|`4V3r@ZUDQazctLO`u-Rc$I#r>Km)W1SN?DPXz|8 ziXtkFwQ1nj|3%(P@G%vcM!rtJT2ny5G84+%VwL12$$yOYT%i)-@xVSg*1w6Q;Z25Qfj z{L$zg%E0@2B9oS0QcwP{rPL;&J)m%wB{Id`l(}reIPGGcS{)1CDS3EVaxx54_Jg`# zB2YuTaO7k`Y55dzG{NZqMa;HG3@PX6l-ix!bnz2tf}RQg_26RX&^CijYA70`Hvt7p z`k;5}y75O)h_{sfEguGLIn7eg3@NP?w*yUME(J@Oq$YvF&V*KBnI-LD+-fL}K{Cme zf}N6}9(B$oNf2hGk_OY~=;G_i)r2fywh3uhtg@CaKu3BK$;#7% z(QPuIW9LyuKy@K>BZrvgafA+CI|yU?Eo=@^n1v3dgO@|dyn%&DfPn(1kyAbI>lbW| z!t{k_+yl=85)Q~z@^i7KMXbXTR#0^o@-rLR7f}nGmREjCP;*KS5KfT=g93LBL>4*r zKcgV^SjhpxZv-QFu{ucB$wHt`YBbez_q_t$JfvdkmSN%C(ma9Wpi`2NQ70eg5RLEa zuGcR+u?nJROswTYCm>K?+_Y|U$&pjnq^VGFYr&dGV*$j#5=g>+s)y3iYrDXrEudI= zY)h-O?N6OYSBb;cbHG=A>B!GIk^Y6NeaAhy^UR3j#dp+IqbfH}@cUQ%A^|gftMP>~>GXG*7ipTJS$6)Ue z3pPSS#1IncgR(JeGl?Oht=o3v5?vO3Fa|TrU8CAluv8yT6ctzdZuWo1nij%k&bskE zB-VWm(bf$bhIS+&?)LNBV$cRkW>3UHZ%H!Mg*v{A!E5y_wx-oN_n%Idj$pH=#_ z7>0J7hMTCkv4~w5;2M@b5f85bR*Pc86bh2&5LV2QoA~TwscXj_k-Im|w5mfI^*^zx zM~1H6P`lvJY}-z;1tu+ic#YD#c^BBRUfvhGO+&^NCb~!tL@A_x+3`imOGo`LD8^vp zCdDC!Pux6N10jRoM<|Z+=Qa<4lspJy_yF982ClWB<}x6H)`604gpc1mOfxntsFvDz zaCgy{<4LTW4QiOp z3uuxF>%=e!Rso)kn^}KLBOk`L5?Uf{&y+$cFbl%0Zb{A}c*6P7aTnbiiRgzIvKgn- zT*T**;Vs|8c*#2cm6(ywY(m;+?nyL;GAOb!fz21!uteCw zqS!m8u6gpX;BqKPM3@9S1~HeaUfMY}qNO7PN->5xiMfDM%)?4hfMYm}9S9x}EnOV# zlDd(FkIoMm?k`rJgZ23Ul9Q(BH0w~OGEK}>qKMR6QDbbVLD@{@lw zO8q5~`|#A(!*ZstSL$cuz7>+3@mMfMRiHCux#Ib)!;M@1lIYCuAE%c#pR!@#oW65# z<49#Dxg2O9XE3Xnh&EZ+cpGDV9}ED2eZSZ|t`#I_JOxR|1K{B!ji;jYI>W1dt!Gl_ z7ZVo^Spm-FSg>FkvQ`z-w@*fr*55hc{^4=!B8*#S(zrE%BNWph#=w^Az|@-!D^D+u z>egt+?>cUc!i~4*&L-2w%pQSl?uUSS4}-+fCY#E`d4qd}xO*A5Hk!U;D@kU$oWt6X zNo6A@>O2tO4`E_CmAF+euD?QK)97Te(NTjC8H_jjHY42&RMj*7wZ3nod8~r!>&Sc@ z4YV=xq6dRDo(XKs|MqRVFiPs{)xY2PhP)ol z((wOvqBJ(zqJjc_kwhdbg<5#fIk448xZ)n{P^MO8gBL&`a%7NKah)9*oGCqaZ$}2V zWePS1tE9n3;=;kpsQ1&M3@V;Zg>;A|Cr!-B(z7{4o$4oP$^s#a<8s82WF;3&7$rwc zg-nA*cD50(@H8Z8_#}53sA~>QP5-q+ncF-`qhqh(>0{WjSKsEn*|Aq3OfEoYN{vSY7(SGLyu<>&(J&dCTsf6B4foo5wMpT*sFusA|$ z5#NGS#K^&-ZXYbN!3-ZcSd{q4!6G3H3)C;y*awRjSCjXP1sWM1{u>S!Z!6I|j&9@F z(QQ`b=r*;x)Y6-d4w($m?qUZp?C3U7N=_ksuIxCqZu}x#CqR3GU7ujt6U06NkcaF#4@P;6g@bZ};3_9&yplTI1Alm>kwzea^R(XsKSNK? zN2}-So&mVWJt7eB34z0Ek=}}{uXE9~=ddI8N>~y!pbbK_0HF$ZWY@6iHyixmipY;3 z2lhr7$3Ix~+J!ht9bB@vMBToE4A_}4MYRNm_?bRdArFMO5Kmq`-P#;>z>4gUK9-UV z&;=PuNh~Qv)_<@ez~(kNUVxlPA?wnw7ZAXeN`U56DMVc&-%;jN!IV#_2^)|*!Z@zY z;$$V!vrUoGrcr=TY3@bZ++2id!455Wsf_XlI)eq7L}@ZBR&L&O4{w~|H!uHaC6eGmVu-(GuJZ;n#6+q@ zqA@;KMzorqnegGSPOtFZpCJUin;V9A>&Dh+6#(oj!)s-TBY+oC2O3?63_8qFEi61< zu)!YJxPSdTPFVI68aEteN)1~XS5rk>-nSzB?e(nWFZ>}UR5Z6%%eLuE@fGZVjf6R} zOR`vs{D2e{1Cm8PfUzdoT=8TwPFe=G#Ks&p7rv#E6@UZpvv=j`qe`OoE?Y;mlwp>u zQ%FX1lL@djcIgr3RPey-D$XqD(b2{t!G(nK^?z!W&-0|-;v-D)V`y72w1iW2xNyYDu@Z>G-sSg+kbQ{C#ZaGO3t8-+8X9L!pu#KTYc;PjR~ggjv}6oE? zTEeoOq`o(z00_-(H8$O^$H)CXJzs13urkgve?w`0O{F<>hak}Q9{khH6G3kL!GFXy zpuA9F*>v9=AC(~^QdPo4KdOtgn7R1!95RCBkF*!g*JLGxVL=XTJcJ&;bovwyD>{oJ z9UPpxCuKKnEx(p0Ic;-AliYQ8n8m9ty9dh4Q zt01R>kA73vm+XbG+$bNs;p)ye4tW%G`UqU<5TQtaq?Bm3BU$M`i!r4K?Q^<%I^}lvw9oD;x5#KC=LL(z3~#3Bl>_W^x}h48M1x)(tJF#xiq%8a`x1LA zcc{B7wyOuL_Za3i%@^GR9};w3!(EIszKt__H3^%e4Qj~^c)H~E@DFWuk#Au0kq}Bx zsUTD&1{Ag@2*Ukkt%&|6iL`n1drcRNx_Cl8R(Bx2wPby4_0i?AuZlm1@J`zIRwM=Q zJEKApe+r?<&C<>aUe<9+U|fgE-gEMMiD_N|RwNivRWK4d2|{CA5cwMDpKB?GwMB!! zPZVTH5`D5jU-Z&S!(j;M)9}1q|BQTg@FPJpbX!PH>-vuh$FUeshny~HH}{$z7~5g8 zTo4KvF$g298cd@iOh6JO_W!^4G9Xk4iwnUcD^keAzK!oJ-`6l}`%4Y)efu{kAj*!#g`>o(Wg`_k^QJ9#~6)zD>Wi z&;99l^?O3j5Bl|*n82(^mSopPXcMG${2p#0GS`qL(|gFx$mLYiAVk6%1+wr+=6iH{ z5B3*>91;+?AexGCUtgztKtLW5))ZTRY;*OaD{qf)I(muPJr*mFUrEPW>IXB>AvS@&1#+tB9vP!s;nC|nC;9*72 z)I7a*MymUtdEt<0n?PvBy{0%&DyEFsFcv873R2br=Dn2_cZbO;0*{3^QQ z;QZ*Cqo1mKD|Z@kE&gM*D4&(y($}|Wh<{X@EBr%RjggzDXE1~&)^n+=7b|L{=w`%bH<>jGVU8NgW(F9ISIyI6f{FXnc)+# znA-6C@BZ2F!LHX6yUMpW!Yc_FVwmc-Ba_oY1<@3@!LF-0|1RYQ@`9Iim>8Pe?GA6R zW?jkUn2=K387`ZUviu&sJX}|C>*BGo4aZhFA>scn9EV_X{ychiXiE3VdRdq>BbwHf z1X(OZ)~X`0`hRYHzWyIup4TfP<+jzy{5lrc{%8QOtivG7u-yZc;TmAxW8NNx9XaM{ zCOPCUxDt4kLb9&7bLoW0;(c>Z*Tv-16-@5Tu?s>IyH3!`!U>TsZbcVbs7I2ebe|Mn z@ZCIUXk2vJ{tu0a8fJ^Ig=grtP#AWR^+3}y=SWUrH~lihIFO9po34#(0>5@N%--=A zki@8Oz*!^6)rE+fVAr?ypt6W1A(~E957q2Xd|S4KSrFgbkGCA!05|uXm&VKqP3k%k z#4CX);&EstA!hhIdQ~)B{m>UThdEOZUzDAq+aTaAZ*-tH}D@us_3W@6k#c zT!NvC$~gf~?3)u?E2b{KR6AC8lzoOY>(q$lQVui50@FYkyLvk2c2~~M>>%Zbilm?? z4O&k}boo_cXW3S#)w+b`h?q`cQc$oqn)S%A7t?P$_ipB9f}z_MN!KH$t%ySD#199@ zHy&U6eJ<9da4d<2CZBU_&I_Yw>J?!(@Zw@pUQmIhd`yBNE<%DM0CZ`e0FvJr8&3;d zaQ3Bv(e1{2`!pMj6r<3UV;LqkpB(;HH;}oVws5#$LX*1PtQOZEjIBBPxqXLJ7EIQ~ ze@?ru$L(2v81XWaSb?P$Ry3nf?^k5KI$Be5@jIQN^pmIJL1GgY!*1X~PE@dP(qf_;c4Nl@zM_97JXu6=K3R?gBCky#djH6Y<# zx*x+U%YsxhibdBJe^oYN?x0h-vfRkmDei#8=D&5t7jj`J4`fTTq|RI^H{c1+-#x$b z&Sewru5o^`c6u}OiUll6l_Y*PIp7Z@0YG5R@ESckBxb;9c>^Z8Z`TR_6WZJ>~6P*cn_Vkpx1x z5=ndY(RCHSTym8onmNpx`ESD0HNR)!;%m3V_kS-2Jt6Rn1X2Kl{he@06h%8X!gZND z;#cav${jXNnX6;g1B+`XWd}mEc%vbq0c=%oufksW?_d3S))T{DAsk_rsw7>X6iEVt zB4^h;zUo(4yIJ?K?7$-_dS%qexU2ueo^uL%n`w_IH!U2=EKZ^R(mn0gJ`do7f@s|g zi-Mmj0Nrv5)wZUbfXPicG@SynG zo9^WxfFfIqR}!**H}o$yU^@e0D&%B7aNaYL9~Ksix_rhfzU>^@^Cb8#68^$x)m;(w7u-Qg~Jm&N;kV$Fn6`;8K2$c?O8YwQL=*(PH61& zuwtVoruv7q8bm2kc){-3PW%*|0O}jua%BFTt3D%**d&S~Q*KbHoB7Sl)sK96XCrRF zLq1Z9M>8KB@1}Xm%P@q~Hp7-4w(N%|+X~*k}znA0ih((bn{qBBGC@nK` znoL{Bg@PUrB2&C{!o2<ZQ=c@;* z4+6xuvNh4(t!M*)>tC>7;(CO=q*Mun;ir}NesT*!_vu$@TXbH*+zD%`>gNji z#3y{ROh8-n^qLuUGdDeBTZ6>-iEdZ*no3(NOh}~$g`uMCr!ROTFs9u_VCI@#EVC>q z)9*nQU`y#`b9%chQ8bke;S@AmF=ZbSPC?~XLbaffM~-hkxvBK>_s``X10LQ1-~pH!+wESnlnsV@5%htc~2v{wI;)MG0xfud5$l^&5m}$r)wnUI_I@`YnB? zd3!hO&m*I3Zb@M8Yj}6Zt6;`q!7D2+ZUoQ|UfJn-OKI%JNYpMw)h$Pesj6v)h9UYC z1yQ6dvS`mcd}Eqz^0=X=V@{XQ4L$CGX(vNI-3SXo(kYbRv}hEneY-@D>;;dByK*D? zXC|h)l+#n*gWu=v^yC~S@6`HuE%cb zA9?m=E}u7jP>H;I;6s>kohv;M88_0?f7$mTlrsf{cGb2j+(^m-Mos_pHu&!b(jv%T z+>wNef|;lr>9_a&P2j?|SIaFk+M@oP4Hq@*#jtdgJJ=WUy7$Y*&+Uh@#J8?Qlz}V+ z03p}>e)aum|Mc?>Z8glOjhnR`3eor;A$ll!W*0_R9r=_}5asNw4pdF_4Qz3NxBpqg zS-I8n6s!$tizc_uY=+!#5PD-P6j+GQ*QaO*%Rej=hDA}~JF;~D`&<>t&Q8(46^kebqpocG{5tju~(|7q%p`h-yr@TZ7D*QJe-g>ttA4*JmwF0X$0 z%iElU(DfpP0A%6*2T*x@78`fDKM5VU(=TKCz!{#dd0pwZWa*#;Y9qmzpAkt}_zX)% zC9uW;@G-#-n@9`E#N*pa*Wuz}S3<}A8sL4E%hF&?s06~&_I<$W#mo))^^$_oGNuiD z9A7h#YiSIp_Km$@&Ht$dU&{RUP+J zNl;A0GFL)V1vOeHjD%TOZXjQRM0+z|H+w(Wf=<{L#~Jt4ZI=`5woL&yrds+M?hD6=lqTu!2>9gaONhdH1!L+pIgB%gxZDzlwZe#64iKcE!dX+elo9f`--+A)~v z3dpcGxPX|yKX_@!DXi5?!B=ur0mx#q{7QUt$@a2q=MMoUMC`PLcP>wnTF6YuPC{w+ z)J0fkxq7f>H^Ov(BSF#6OpPctfXlyG|JtUfVV(P(O+_TXM~Dj>Y`uKggFLlasQIZ{ zAx)VjTP$*uLehY(6+(ClI;gn0+>jT}(A0m0)nc3mXlBAlP0IF^T{CYm3C6{uQ(Gpo zS;Mi{p*2wu=lG`{tvLX9Os<2%GYc>!>*1=q470BV3M2d3pQ|EeDPG9BE@0kyrxH#I zigQ7L(?AR9_MnkP3K0n4Hs!8Qa?M9p99#fKTIY%)=7v%8Nz^iuDKTEvxJB$pVy#Gt zFgqaa`W|<<(i#3{w%LkEX(Py??5BD9*_bGd2^U8Fb6r5uaQe~4K~c${xS;dLh3{Wxm#dd`)f?WTQpt}oyBhIw4w|0 zFVuRcBgyTeN7V!sykI@|xGdG0n)6~EMq^-bwT+xFXSLD^Dnvvn$!hc!Py$U@kw|S- zXuOWi>m~oDQwf#0flD-wN*qL*K&lX9{KgVIFo~LOp=-L`4vQE~md7_{Sf9&ze)KG~ zbS~E_z~I1aiOBJ?gN}~II8W!ia~K9md;)|FBqvbdq*?YdYhzVS0f$6&9gf9LrRw2C zgHpKk+HXng25<0-is9wyIMZ+Rh+wnhOZieqjxbqdpE@NAk4imOzB5DlVJ!F6u^-1)9$w--w`eGY(~73M@Htnzg{3KJUQc3g#i5GZmR!#AD2dmE@DCf! z^_-p6(asY&)=-sFJyPS2rkuZF?=4MX3Q1~0mUFVcm{{o^mOh}4ijC<8O(-acoFGB2 zNX1`q)PG%wB(eNO@b*26WzOh-cg>%D0t;P-QiWj`peVVc zGD=~v1;BGY>d;&KBU%q<7y)5(z_V-8tY76*+|58Uyc#T9j;SV-b~o5e!$*RQdiDfz zCo|`=B8|Dmz{Tw+vYA2)ba*ur?Vqi%!b;o9_?{5?x*>;Z3B%Csnl`gEFoy$GyQTP! zvW>3jMnxa24}9W03sY>(;jffdB=%HpXF~uf(-eWR9j*`*(W6(#%+`ss3&D%^(0Dzp z^$@XE=Ma)zV|LEyu(l519E=v>TdI9(&BKx9`xgkVzM09E0Rx4Bi`tH-8j)SVVt6PE zs3kA8mEa2R0_B7UA#@4XR|x+Y-c*Faw5xYZiLE6Y5P=Nmun*N`(6Q`?yeEfg*s>m8 z*orLKH;3x2sbvI21daJJ)rYO^QAfaUCVR-5SD?Dz8=ZlkxcOlun@S^|!3DzeGc*A` zGBC*3@b0(o)xPxglYAJ-4$C6H7kcUU!bL)C#5YM=71Xi~BBBljoBvbGXItsUlOx`0 zTXxNdBTx@|4SCrKTth(V;|Q|+QW2Z$Fwne@rgPYx_Ezv-hf zO^%sZk=XhX6ef6CrzxNn(eQ`g%~Hr@W8a)y?dg`^junJt&KdBzz$NV`l5iNeh-pz4 zg|6)Uvy5p2{%GjmGuB7B6WoSMt+mgud%E_;4Ue+Pa??7Qm8!+HhmrJ-%>Q8g2C^WQ z50OAl)YpbTKlEkvvx5txtB-!dhN9e?(Ub0EexLo+$T!4vuVUAb9WT~B5rn2Ekxapu zb3VlMBWk2!4*GK(CYVV^zc{og?Yiza*pwDNOTOzL+2(SZ+@!%rnw-e|?cf*C?-{}7 zYhqf{R>Rw?@o!FkU3vGii9r2Bsics-2Lg|8FWpq}%O#i6*e=?{DT=ll{#|PL1() z5xZDy&CwOmWF-JIN3dKap=$uSVA{`n-ABWZnfDKTl9(_>6j#f)N$L&b$nh6ivL@zh z@gFCdqw7F1OHU4cvxRFmIk|Y<{&N1!#3eQTm*@UE5&J35|>zi5VkV2fda5v@lONDC3wibBaDL_wmL0sh^VImJlPgskFtVbN6U41Ht<`ulqYR%Kb#z6oZCQg+_&o^bA2WYF z_)&ytS9OuHdpR$t)ctki^WhJ6z2T~7OJ*%P?H9eLq31pT1^nGcSPi>+YL1s|(s<;Q z72%T5_%65LLZX9uQ!fpz*gD%8o$!u?*0yQm7en*@zn!GRi-s<)v`l0~#uEcCXyBCd*AF zK96jqOtVwY7xaYEZ|r$@&P!uH^!6y|iu#c%IFA)*ESIBc^=ecWhf+`69Iz5}hdb&t zgn;b66LQ2TXhNE=ce8VXmv@{D!lSWYMe^0>H(w*O46MycSQ6ZkN*C{Momm( zl}Fr-`utd?3}IK+{?FHsxJH6qKnI}8`{!lL(WV^@^5h;6;x8&()js>x44NFbZfx+$ ziHy7YnUh_$G-hw84l?MR?2_1I7c_@!Y*lwxYy&3k*DIrCq!74D1z7NWzBYT1NJ{r+ z6fU2#TPg@Pa~97DW0058@IYPpbqmf%1awb!@qJO$E&OE49y!aO4Ibm1ELDjeSKPAr z+VG-1?>VDtBjF&Y>QT7pnyrSJr5hF|S$!Wn!%2-1o5TXE~_tFv&i^fFKLLM81zN~N(MD{^2pbg``Wlg!AshY!{0Qk;3nk- zWPtvzid#Oun2sxnsi_4I|C9{-ha=~6D%}eCYl_#PL^H%iFa_tpq;5`QCU%x@t9yO( za|p$PeG=E2$MGp*-W!*#fTl9Rbt1`e6+Rh?n}+A^daLx(IXx2FO16Uvcqq|iS~P56 zlz9X(fD0OH&!Qtq6alywhh=%aJqr8V?r#3igbOb884*Q8)e=N9(SnidU*G&%$+-8r zlVDinbyQ15wN3Ive&j`4(YY8^_23t`+9zdfW%3}xhd9%3?Q=UP ziOHf_f)ZiB0GxS@&k#21tTsM1W9BP*VoS+d6vd}90a~s@m=I1RAfT2gjE{~i-2FDq z35w1WC~Tg_1W^j#;d#6MP5_EJO-H#XJp&~KiB(iU5$q{14#dPu*|aDk94zo3spqhe z9#kU~cddKno9C*3`^8j5%Y)n!4EL~u!5V$(clLWQ>%k#UGA<-LTF|VT==T6W*H%sc z^m@UnN;bh~8`BEw?8B6ErlOAfDw%!i05n}3*0rPjhL1*Rr41$KNf~I)NvND>A42@> z!nmZtK-{+dkX3Qx}nGX$l9_;zPMx9pc z>_b(gy5!<_yRftAr+xMz<;Ls;%ANi0PCYea9VbG1Us-wAvMXcjj+uS()N>G4;mR2z z)4X(Qrkkf@PIsksR(lC0S-5ZpYXKucMM!R_o4M(aG)T}$IHDuh5*#DB=8!qC$Q#Oe zar7K?TE{kdtjIn!GjA}}tbg>W83*}dhH}dDRz$q~9wKo(RqlTDwS#1^|%vN!25w==?q`2 zH7DIadB*duWfM_w``~oXc>eg)!4C}jL&kjre#2_Dsblt>1=HLe6{%59nBmsR3dwauIh3la-!?y78zM=Hj&Pmr}WRw)4@Iu zu&2Ia>f&+0#V^n7>0l=intRackXQCo7re#Jch*E3vtXW_!jc$MNgSv?hQ9VP6rPsE zx0P&Y^322c=_b>cMUR#74Qe?Gt~(BiXCLZBp!q1U@!-@aAn@#(it@3qj%}*AeaRJ6 zQT%Dnm8XI#J&^!)+w5mYz3o50)p<=mk-%CceGH*f44R{~T16zPp}_`$?V{5%h<3%4 zPcg==v&kzj@~A9|U`or3wo2RVPPkVmxiFMVq2GRZi21aGMl*%x6A8R*9d)m6`cusx zR+|N{pY(|Y&X>b9({Ao{U&cKHo|FrM!BalV!pgkKWjvBhoeOH2u;=3#=G=o-lV(mO z@#p67XI)TVjK=Tn23~5#z`f}-xLJYM(eH&52Tz5Ny2TK?ak zg5tKKUC|?Q*)(u>y1onu+PYOl0eRCR~&f_|x7hw37N_ifHJ~v!}f!4pr}ANQT)H*aaHEvPo@cmVc5e+e_{&xs)A1KOmM( zQA_I2nc11y4Zxf^bLPyMbKMbeO^`dQOZc)19^3)pt>O{-dui&FW00~7L->flx5aw* z7z*af#X(VOupl-;qA=&hNJl^$#cH8gzZE6am5C#F?>6w~CfEp~C%~`q28P2HiWGoD zW-gAh6i>XyUw?gYOMs&{#aj0bIAW&aptUqd)>0foY(q5Ma^Y$-6G!e=Tln%6Wo6l>2<4JECa7FT%MyN5bKJW?A>!au)W;b$3(1B{VaALEdIHK_wP!R&^&1=K;@}Nz zz}RXi*neVNLFcXEjsGBO-LlIJ_9C(9GAXuLTaWXYBX?I{f^r>rHH*sm()GzY;)y_K zC4pG$l!1wRaq#9`i86Kr+wt%Lp<83lq@x7Bc+~kD7&vz;-52pYhf9^cUJaN~#g4OG z2QA=;{?W`wITJf(pw%Y67s?G_QcOUGi6G6&et&PLGzgD`kaswri%ShjuDLoroJuA= z(cuWB9uW0=v==xxZYm{k42e=Y2^(+{J;xiId=cph;|w**sMBgN9~)zo@U4S!FzgzF zs9ic9*Jmu8T2AFduTeUQ4&$_5o_oUmd&|3NpN%bo(aw-iQ#~OQaXVFq4@{g`jjp#bFDBE`=B2RK#uI3M53EaaNN1updHZaY7NkHVPx48GiF` zx%Xhj*p`U%BWV^9mt(}^&aUyiI4a#dcnV=eD zc)ZH#7^?n`On7+0ILl42wj7KziNcV@L^r;y2i0n>+6o0|;Y%xPZ3QV-jrot+C4a~F z0Tz(eV64%%J~8ly5LSbSKL>Edq;w&zs&Xs0O0ycQotoD}7%D-MawgdX3vAu0raMUP z)Mv~{MWbR(S_xv|QUu#_sO6A2bqlWvmiXwRRCa(Prkd;tCrIm!27Jr$U`;N=2=!;hRog_6mGdn=4yvld!|r>!jSz!B`2gR@DX zAHduN>_1#?gSqF6RwG(q=6_;L8dvOPm%?mNX$QN?RRrwl2a%25H7Gn?W7W^8?DdZ>F4hrf1p(Gq>^_N0)PFReyM+w1s!0ohit@TniKzt!igQ67TZ#g3_=SC$=7$n2(GFTK@fW z?)7ZiwV`H6%_N{8SC*mEAUsXxZEuzR{##QU0^Oh$$%QT3I5c)6NLylo;!}vs;!tp2 z9GrEM;=nW{63#4dMrB0ucqeBYm=MxxXAMkXYn7Ez=OEXHNq=f(L}FowBanh(6|RU< zUUcpz#BdegW4j@h8fY<@{y&2axp$LV3zQcjw_PWDN#yPXQm^Oi=3Hts*R* ze9xbK#-RJ)XGh)%5BocY9jHZ9m^jmrP^Gh5chojnY_^MY-9wtehJla^f%Jyms}^L= goH=vm%=xK>z>% diff --git a/theseus_gui/src-tauri/icons/Square89x89Logo.png b/theseus_gui/src-tauri/icons/Square89x89Logo.png index f3f705af2f2e044682ac042b37dba6682a0c8a6b..dd2c668b6cc0eaefd062721e9443609305cd467d 100644 GIT binary patch literal 11405 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 b&#nG{KwiaMEAKCZ00000NkvXXu0mjf-61eh delta 2459 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 Z9~7@qMtVKz_LBer002ovPDHLkV1i6DtZM)O diff --git a/theseus_gui/src-tauri/icons/StoreLogo.png b/theseus_gui/src-tauri/icons/StoreLogo.png index 455638826192851ad1ae604d66f2ca352979442c..f2bed9218b07d0847fe75e172ecfbce43be5bcd8 100644 GIT binary patch literal 5640 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

5l#v3A#xI3*z~1~fvo9Q(N^(==!|_FZ z*duZ=+M1~)8E|otX8KNZlr?qels#x_1Xq@9IIw~@9uAREJVH)Xw^}UclF6327}E42 zT)E&?U%TK?(+K7%R!`H5oX0i)4Qn5??Iw3p5J~6_u+aWehY{DSn}3V2p$bgjnAu?o)v@iC254fXeMv50$9YrpU`N?u@QIWs)T?SP|fa}(|9 zqAX+!7`cx=4)cCBg5h~pu(?@9`)aCr#oyz$ld=#RFxYCNZCZls@4v2~*e-t6PEVvV z&bbK3b3wt(Coc!ufAbXXC<**#HQ%J9k`New6iG<5RjtO4XVO?dCvwxD{kJ#tfQr(X zg^NTwF-FwAeS_{V4bfel8l`~NbfrTR2s!G>WduFWxH(t~aK4q=6rEE^$+Uox>gJO2 z{L<;6Q6nHa5#ZEM>H58not!)z(6*_=^~8}jWf*IG$AUKVWOZ4?)GfF z+BM#*wKKmLFD7E~W3U!$IVm$k_k1f&Kz6WV8@55P?r~bcg-Za-!rvW?ns&)KOGT2~ zlkAyqhQj=P$Eg3w#K~}zH@J5bo-BfHjInKSz$@?+Z)NPD4pHj^_Qxmi`UqoTy=`sV zLVxrXGuBr=QRm|}wg75yetQQK4fY3#P_~J}zEfPnb2C4Wo!E(d*(cA;b?7$g2in<( zPn)ghX}nzJPmb6(3Dpeg_GW~Hc}Lt=lgsSZz z!5QXyz7KaR;D`3Ee}d`af{H>WWZ|Io1QI3~4Ll_`g1(cRnhLK73Ro)7zPCd={1W2x zRp%Xlvv4>!<2@}$hz|!V{T}_eHx2xkLl^hQoZTCnsjCl|W_@5Fx2(+j0ogy&Y+;L- z<)G$*CiN7hOm^s!{U>1F7U=iNk{+u~dAC!eDz%=|glFW0jEZU1&o(G_c#wTxUjnG} z#cg3>jEpUi#Mlq@t?Msg_#geK^Lx@DyHWf7=AS5vVyM7YOjvUVCfcpVR<(+5!H?9- zySI6s>o3m&*zr||=wcPGyBkQV`EWJl@bH8qobjOp+sXL*)=&yX)8aAbf~tGv?a2SN zu^Ddo-z?DWk9h9Yz#5p^NU#x~wYSd?H@w@!2Gb4G)6-utEMV~~M85Br5ff(v5O1|T z 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 Date: Thu, 30 Mar 2023 14:40:13 -0700 Subject: [PATCH 058/231] fix cli build config --- .github/workflows/cli-build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 51f329f9b..17a2589ea 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -31,4 +31,5 @@ jobs: - uses: actions-rs/cargo@v1 name: Build program with: - command: build --bin theseus_cli \ No newline at end of file + command: build + args: -bin theseus_cli \ No newline at end of file From 80e1ae4553817de5982cdc3bcd99dd7879bef62e Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 14:42:35 -0700 Subject: [PATCH 059/231] update args again --- .github/workflows/cli-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index 17a2589ea..a5d2a026a 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -32,4 +32,4 @@ jobs: name: Build program with: command: build - args: -bin theseus_cli \ No newline at end of file + args: --bin theseus_cli \ No newline at end of file From 4875ed43598aabd1b001d97a2ed3b85539a8b32d Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 15:18:57 -0700 Subject: [PATCH 060/231] Fix clippy issues --- .github/workflows/lint.yml | 37 +++++++++++++++++++++++++++ COPYING.md | 13 ++++++++++ theseus/src/api/auth.rs | 2 +- theseus/src/api/profile.rs | 27 ++++++++----------- theseus/src/launcher/args.rs | 19 +++++--------- theseus/src/launcher/auth.rs | 10 +++++--- theseus/src/launcher/download.rs | 8 +++--- theseus/src/launcher/mod.rs | 3 ++- theseus/src/state/metadata.rs | 2 +- theseus/src/state/profiles.rs | 31 ++++++++++------------ theseus/src/state/projects.rs | 17 +++++------- theseus/src/state/settings.rs | 12 +-------- theseus/src/util/fetch.rs | 2 +- theseus/src/util/jre.rs | 4 +-- theseus/src/util/platform.rs | 6 +---- theseus_gui/src-tauri/tauri.conf.json | 8 +++++- 16 files changed, 114 insertions(+), 87 deletions(-) create mode 100644 .github/workflows/lint.yml create mode 100644 COPYING.md diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000..560944124 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,37 @@ +name: Clippy + +on: + push: + branches: [ master ] + pull_request: + +env: + CARGO_TERM_COLOR: always + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy + - name: Cache build artifacts + id: cache-build + uses: actions/cache@v2 + with: + path: target/** + key: ${{ runner.os }}-build-cache + - name: Theseus Clippy + uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --bin theseus + - name: Theseus CLI Clippy + uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --bin theseus_cli \ No newline at end of file diff --git a/COPYING.md b/COPYING.md new file mode 100644 index 000000000..e7563b93d --- /dev/null +++ b/COPYING.md @@ -0,0 +1,13 @@ +# Copying + +The source code of the knossos repository is licensed under the GNU Affero General Public License, Version 3 only, which is provided in the file [LICENSE](./LICENSE). However, some files listed below are licensed under a different license. + +## Modrinth logo + +Any files depicting the Modrinth branding, including the wrench-in-labyrinth logo, the landing image, and variations thereof, are licensed as follows: + +> All rights reserved. © 2020-2023 Rinth, Inc. + +This includes, but may not be limited to, the following files: + +- theseus_gui/src-tauri/icons diff --git a/theseus/src/api/auth.rs b/theseus/src/api/auth.rs index 8e9951824..5a2c3a13d 100644 --- a/theseus/src/api/auth.rs +++ b/theseus/src/api/auth.rs @@ -88,7 +88,7 @@ pub async fn has_user(user: uuid::Uuid) -> crate::Result { let state = State::get().await?; let users = state.users.read().await; - Ok(users.contains(user)?) + users.contains(user) } /// Get a copy of the list of all user credentials diff --git a/theseus/src/api/profile.rs b/theseus/src/api/profile.rs index 68f059e08..de4820e84 100644 --- a/theseus/src/api/profile.rs +++ b/theseus/src/api/profile.rs @@ -68,12 +68,7 @@ pub async fn is_managed(profile: &Path) -> crate::Result { pub async fn is_loaded(profile: &Path) -> crate::Result { let state = State::get().await?; let profiles = state.profiles.read().await; - Ok(profiles - .0 - .get(profile) - .map(Option::as_ref) - .flatten() - .is_some()) + Ok(profiles.0.get(profile).and_then(Option::as_ref).is_some()) } /// Edit a profile using a given asynchronous closure @@ -138,8 +133,8 @@ pub async fn run( })?; let version_info = d::minecraft::fetch_version_info(version).await?; - let ref pre_launch_hooks = - profile.hooks.as_ref().unwrap_or(&settings.hooks).pre_launch; + let pre_launch_hooks = + &profile.hooks.as_ref().unwrap_or(&settings.hooks).pre_launch; for hook in pre_launch_hooks.iter() { // TODO: hook parameters let mut cmd = hook.split(' '); @@ -190,7 +185,7 @@ pub async fn run( .as_error()); } - let ref java_args = profile + let java_args = profile .java .as_ref() .and_then(|it| it.extra_arguments.as_ref()) @@ -201,18 +196,18 @@ pub async fn run( .as_ref() .map_or(&settings.hooks.wrapper, |it| &it.wrapper); - let ref memory = profile.memory.unwrap_or(settings.memory); - let ref resolution = profile.resolution.unwrap_or(settings.game_resolution); + let memory = profile.memory.unwrap_or(settings.memory); + let resolution = profile.resolution.unwrap_or(settings.game_resolution); crate::launcher::launch_minecraft( &profile.metadata.game_version, &profile.metadata.loader_version, &profile.path, - &java_install, - &java_args, - &wrapper, - memory, - resolution, + java_install, + java_args, + wrapper, + &memory, + &resolution, credentials, ) .await diff --git a/theseus/src/launcher/args.rs b/theseus/src/launcher/args.rs index 20d9becaf..9724adf5b 100644 --- a/theseus/src/launcher/args.rs +++ b/theseus/src/launcher/args.rs @@ -68,7 +68,7 @@ pub fn get_class_paths_jar>( pub fn get_lib_path(libraries_path: &Path, lib: &str) -> crate::Result { let mut path = libraries_path.to_path_buf(); - path.push(get_path_from_artifact(lib.as_ref())?); + path.push(get_path_from_artifact(lib)?); let path = &path.canonicalize().map_err(|_| { crate::ErrorKind::LauncherError(format!( @@ -164,8 +164,7 @@ fn parse_jvm_argument( )) .as_error() })? - .to_string_lossy() - .to_string(), + .to_string_lossy(), ) .replace("${classpath_separator}", classpath_separator()) .replace("${launcher_name}", "theseus") @@ -219,7 +218,6 @@ pub fn get_minecraft_arguments( resolution, )? .split(' ') - .into_iter() .map(|x| x.to_string()) .collect()) } else { @@ -260,8 +258,7 @@ fn parse_minecraft_argument( )) .as_error() })? - .to_string_lossy() - .to_owned(), + .to_string_lossy(), ) .replace( "${assets_root}", @@ -274,8 +271,7 @@ fn parse_minecraft_argument( )) .as_error() })? - .to_string_lossy() - .to_owned(), + .to_string_lossy(), ) .replace( "${game_assets}", @@ -288,8 +284,7 @@ fn parse_minecraft_argument( )) .as_error() })? - .to_string_lossy() - .to_owned(), + .to_string_lossy(), ) .replace("${version_type}", version_type.as_str()) .replace("${resolution_width}", &resolution.0.to_string()) @@ -366,7 +361,7 @@ pub fn get_processor_arguments>( pub async fn get_processor_main_class( path: String, ) -> crate::Result> { - Ok(tokio::task::spawn_blocking(move || { + tokio::task::spawn_blocking(move || { let zipfile = std::fs::File::open(&path)?; let mut archive = zip::ZipArchive::new(zipfile).map_err(|_| { crate::ErrorKind::LauncherError(format!( @@ -400,5 +395,5 @@ pub async fn get_processor_main_class( Ok::, crate::Error>(None) }) .await - .unwrap()?) + .unwrap() } diff --git a/theseus/src/launcher/auth.rs b/theseus/src/launcher/auth.rs index b12d1d428..c7410ee77 100644 --- a/theseus/src/launcher/auth.rs +++ b/theseus/src/launcher/auth.rs @@ -3,12 +3,14 @@ use async_tungstenite as ws; use bincode::{Decode, Encode}; use chrono::{prelude::*, Duration}; use futures::prelude::*; -use once_cell::sync::*; +use lazy_static::lazy_static; use serde::Deserialize; use url::Url; -pub const HYDRA_URL: Lazy = - Lazy::new(|| Url::parse("https://hydra.modrinth.com").unwrap()); +lazy_static! { + static ref HYDRA_URL: Url = + Url::parse("https://hydra.modrinth.com").unwrap(); +} // Socket messages #[derive(Deserialize)] @@ -65,7 +67,7 @@ pub struct HydraAuthFlow { impl HydraAuthFlow { pub async fn new() -> crate::Result { let sock_url = wrap_ref_builder!( - it = HYDRA_URL => + it = HYDRA_URL.clone() => { it.set_scheme("wss").ok() } ); let (socket, _) = ws::tokio::connect_async(sock_url.clone()).await?; diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index af9a8d2e5..601b610dc 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -75,7 +75,7 @@ pub async fn download_client( st: &State, version_info: &GameVersionInfo, ) -> crate::Result<()> { - let ref version = version_info.id; + let version = &version_info.id; log::debug!("Locating client for version {version}"); let client_download = version_info .downloads @@ -143,7 +143,7 @@ pub async fn download_assets( stream::iter(index.objects.iter()) .map(Ok::<(&String, &Asset), crate::Error>) .try_for_each_concurrent(None, |(name, asset)| async move { - let ref hash = asset.hash; + let hash = &asset.hash; let resource_path = st.directories.object_dir(hash); let url = format!( "https://resources.download.minecraft.net/{sub_hash}/{hash}", @@ -158,7 +158,7 @@ pub async fn download_assets( let resource = fetch_cell .get_or_try_init(|| fetch(&url, Some(hash), &permit)) .await?; - write(&resource_path, &resource, &permit).await?; + write(&resource_path, resource, &permit).await?; log::info!("Fetched asset with hash {hash}"); } Ok::<_, crate::Error>(()) @@ -172,7 +172,7 @@ pub async fn download_assets( let resource_path = st.directories.legacy_assets_dir().join( name.replace('/', &String::from(std::path::MAIN_SEPARATOR)) ); - write(&resource_path, &resource, &permit).await?; + write(&resource_path, resource, &permit).await?; log::info!("Fetched legacy asset with hash {hash}"); } Ok::<_, crate::Error>(()) diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index 21ede9cfb..49c1b1d02 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -44,6 +44,7 @@ macro_rules! processor_rules { } } +#[allow(clippy::too_many_arguments)] #[tracing::instrument(skip_all, fields(path = ?instance_path))] pub async fn launch_minecraft( game_version: &str, @@ -75,7 +76,7 @@ pub async fn launch_minecraft( let mut version_info = download::download_version_info( &state, - &version, + version, loader_version.as_ref(), ) .await?; diff --git a/theseus/src/state/metadata.rs b/theseus/src/state/metadata.rs index 6fdef0839..89251efe0 100644 --- a/theseus/src/state/metadata.rs +++ b/theseus/src/state/metadata.rs @@ -57,7 +57,7 @@ impl Metadata { if let Some(ref meta_bin) = db.get(METADATA_DB_FIELD)? { match bincode::decode_from_slice::( - &meta_bin, + meta_bin, *BINCODE_CONFIG, ) { Ok((meta, _)) => metadata = Some(meta), diff --git a/theseus/src/state/profiles.rs b/theseus/src/state/profiles.rs index 9f6fd7d17..ce8049d48 100644 --- a/theseus/src/state/profiles.rs +++ b/theseus/src/state/profiles.rs @@ -18,7 +18,7 @@ pub(crate) struct Profiles(pub HashMap>); // TODO: possibly add defaults to some of these values pub const CURRENT_FORMAT_VERSION: u32 = 1; -pub const SUPPORTED_ICON_FORMATS: &[&'static str] = &[ +pub const SUPPORTED_ICON_FORMATS: &[&str] = &[ "bmp", "gif", "jpeg", "jpg", "jpe", "png", "svg", "svgz", "webp", "rgb", "mp4", ]; @@ -54,26 +54,23 @@ pub struct ProfileMetadata { } // TODO: Quilt? -#[derive(Debug, Eq, PartialEq, Clone, Copy, Deserialize, Serialize)] +#[derive( + Debug, Eq, PartialEq, Clone, Copy, Deserialize, Serialize, Default, +)] #[serde(rename_all = "lowercase")] pub enum ModLoader { + #[default] Vanilla, Forge, Fabric, } -impl Default for ModLoader { - fn default() -> Self { - ModLoader::Vanilla - } -} - impl std::fmt::Display for ModLoader { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - f.write_str(match self { - &Self::Vanilla => "Vanilla", - &Self::Forge => "Forge", - &Self::Fabric => "Fabric", + f.write_str(match *self { + Self::Vanilla => "Vanilla", + Self::Forge => "Forge", + Self::Fabric => "Fabric", }) } } @@ -237,7 +234,7 @@ impl Profiles { // project path, parent profile path let mut files: HashMap = HashMap::new(); { - for (profile_path, _profile_optZA) in profiles.iter() { + for (profile_path, _profile_opt) in profiles.iter() { let mut read_paths = |path: &str| { for path in std::fs::read_dir(profile_path.join(path))? { files.insert(path?.path(), profile_path.clone()); @@ -252,17 +249,15 @@ impl Profiles { } } let inferred = super::projects::infer_data_from_files( - files.keys().into_iter().cloned().collect(), + files.keys().cloned().collect(), dirs.caches_dir(), ) .await?; for (key, value) in inferred { if let Some(profile_path) = files.get(&key) { - if let Some(profile) = profiles.get_mut(profile_path) { - if let Some(profile) = profile { - profile.projects.insert(key, value); - } + if let Some(Some(profile)) = profiles.get_mut(profile_path) { + profile.projects.insert(key, value); } } } diff --git a/theseus/src/state/projects.rs b/theseus/src/state/projects.rs index daa649032..c504ebc49 100644 --- a/theseus/src/state/projects.rs +++ b/theseus/src/state/projects.rs @@ -52,7 +52,7 @@ pub struct ModrinthProject { #[derive(Serialize, Deserialize, Clone, Debug)] #[serde(tag = "type", rename_all = "snake_case")] pub enum ProjectMetadata { - Modrinth(ModrinthProject), + Modrinth(Box), Inferred { title: Option, description: Option, @@ -126,7 +126,9 @@ pub async fn infer_data_from_files( Project { sha512: hash, disabled: false, - metadata: ProjectMetadata::Modrinth(project.clone()), + metadata: ProjectMetadata::Modrinth(Box::new( + project.clone(), + )), }, ); continue; @@ -342,10 +344,7 @@ pub async fn infer_data_from_files( if file.read_to_string(&mut file_str).is_ok() { if let Ok(pack) = serde_json::from_str::(&file_str) { let icon = read_icon_from_file( - pack.metadata - .as_ref() - .map(|x| x.icon.clone()) - .flatten(), + pack.metadata.as_ref().and_then(|x| x.icon.clone()), )?; return_projects.insert( @@ -357,15 +356,13 @@ pub async fn infer_data_from_files( title: Some( pack.metadata .as_ref() - .map(|x| x.name.clone()) - .flatten() + .and_then(|x| x.name.clone()) .unwrap_or(pack.id), ), description: pack .metadata .as_ref() - .map(|x| x.description.clone()) - .flatten(), + .and_then(|x| x.description.clone()), authors: pack .metadata .map(|x| { diff --git a/theseus/src/state/settings.rs b/theseus/src/state/settings.rs index 563998d11..ae688d514 100644 --- a/theseus/src/state/settings.rs +++ b/theseus/src/state/settings.rs @@ -103,7 +103,7 @@ impl Default for WindowSize { } /// Game initialization hooks -#[derive(Serialize, Deserialize, Debug, Clone)] +#[derive(Serialize, Deserialize, Debug, Clone, Default)] #[serde(default)] pub struct Hooks { #[serde(skip_serializing_if = "HashSet::is_empty")] @@ -113,13 +113,3 @@ pub struct Hooks { #[serde(skip_serializing_if = "HashSet::is_empty")] pub post_exit: HashSet, } - -impl Default for Hooks { - fn default() -> Self { - Self { - pre_launch: HashSet::::new(), - wrapper: None, - post_exit: HashSet::::new(), - } - } -} diff --git a/theseus/src/util/fetch.rs b/theseus/src/util/fetch.rs index eea15f705..2787cb562 100644 --- a/theseus/src/util/fetch.rs +++ b/theseus/src/util/fetch.rs @@ -57,7 +57,7 @@ pub async fn fetch_mirrors( let _permits = sem.acquire_many(permits).await.unwrap(); let sem = Arc::new(Semaphore::new(permits.try_into().unwrap())); - future::select_ok(urls.into_iter().map(|url| { + future::select_ok(urls.iter().map(|url| { let sha1 = sha1.map(String::from); let url = String::from(*url); let sem = Arc::clone(&sem); diff --git a/theseus/src/util/jre.rs b/theseus/src/util/jre.rs index d29757e97..d433696c3 100644 --- a/theseus/src/util/jre.rs +++ b/theseus/src/util/jre.rs @@ -185,11 +185,11 @@ pub fn get_all_jre_path() -> Result, JREError> { #[cfg(target_os = "windows")] #[allow(dead_code)] -const JAVA_BIN: &'static str = "java.exe"; +const JAVA_BIN: &str = "java.exe"; #[cfg(not(target_os = "windows"))] #[allow(dead_code)] -const JAVA_BIN: &'static str = "java"; +const JAVA_BIN: &str = "java"; // For example filepath 'path', attempt to resolve it and get a Java version at this path // If no such path exists, or no such valid java at this path exists, returns None diff --git a/theseus/src/util/platform.rs b/theseus/src/util/platform.rs index b403d8844..c41534548 100644 --- a/theseus/src/util/platform.rs +++ b/theseus/src/util/platform.rs @@ -31,11 +31,7 @@ pub fn os_rule(rule: &OsRule) -> bool { let mut rule_match = true; if let Some(ref arch) = rule.arch { - rule_match &= match arch.as_str() { - "x86" => cfg!(any(target_arch = "x86", target_arch = "x86_64")), - "arm" => cfg!(target_arch = "arm"), - _ => true, - }; + rule_match &= !matches!(arch.as_str(), "x86" | "arm"); } if let Some(name) = &rule.name { diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json index e555e8375..5d0697a57 100644 --- a/theseus_gui/src-tauri/tauri.conf.json +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -26,7 +26,13 @@ "depends": [] }, "externalBin": [], - "icon": ["icons/favicon.ico"], + "icon": [ + "icons/32x32.png", + "icons/128x128.png", + "icons/128x128@2x.png", + "icons/icon.icns", + "icons/icon.ico" + ], "identifier": "com.modrinth.theseus", "longDescription": "", "macOS": { From 8ee77f00b7633e67a88baf8cb811b496fd21119d Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 15:31:15 -0700 Subject: [PATCH 061/231] Add linting --- .github/workflows/cli-build.yml | 13 ++++++++--- .github/workflows/lint.yml | 37 ------------------------------- .github/workflows/tauri-build.yml | 33 +++++++++++++++++++++++---- 3 files changed, 39 insertions(+), 44 deletions(-) delete mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/cli-build.yml b/.github/workflows/cli-build.yml index a5d2a026a..d91089cce 100644 --- a/.github/workflows/cli-build.yml +++ b/.github/workflows/cli-build.yml @@ -1,4 +1,4 @@ -name: CLI Build +name: CLI Build + Lint on: push: @@ -23,13 +23,20 @@ jobs: uses: actions/cache@v2 with: path: ../target/** - key: ${{ runner.os }}-build-cache + key: ${{ runner.os }}-theseus-cli-${{ hashFiles('Cargo.lock') }} - name: Install toolchain uses: actions-rs/toolchain@v1 with: toolchain: stable + override: true + components: rustfmt, clippy - uses: actions-rs/cargo@v1 name: Build program with: command: build - args: --bin theseus_cli \ No newline at end of file + args: --bin theseus_cli + - name: Run Lint + uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --bin theseus_cli diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index 560944124..000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: Clippy - -on: - push: - branches: [ master ] - pull_request: - -env: - CARGO_TERM_COLOR: always - -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Install toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: stable - override: true - components: rustfmt, clippy - - name: Cache build artifacts - id: cache-build - uses: actions/cache@v2 - with: - path: target/** - key: ${{ runner.os }}-build-cache - - name: Theseus Clippy - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --bin theseus - - name: Theseus CLI Clippy - uses: actions-rs/clippy-check@v1 - with: - token: ${{ secrets.GITHUB_TOKEN }} - args: --bin theseus_cli \ No newline at end of file diff --git a/.github/workflows/tauri-build.yml b/.github/workflows/tauri-build.yml index eb97cf361..eb8af96da 100644 --- a/.github/workflows/tauri-build.yml +++ b/.github/workflows/tauri-build.yml @@ -20,15 +20,40 @@ jobs: uses: actions/setup-node@v3 with: node-version: 16 - - name: install Rust stable - uses: dtolnay/rust-toolchain@stable + - name: Install toolchain + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + override: true + components: rustfmt, clippy - name: install dependencies (ubuntu only) if: matrix.platform == 'ubuntu-20.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf + - name: Get build cache + id: cache-build + uses: actions/cache@v2 + with: + path: ../target/** + key: ${{ runner.os }}-theseus-gui-${{ hashFiles('Cargo.lock') }} + - name: Get yarn cache + id: yarn-cache + run: echo "::set-output name=dir::$(yarn cache dir)" + - uses: actions/cache@v3 + with: + path: ${{ steps.yarn-cache.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- - name: install frontend dependencies - run: yarn install + run: yarn install --immutable --immutable-cache --check-cache - uses: tauri-apps/tauri-action@v0 env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Run Lint + if: matrix.platform == 'ubuntu-20.04' + uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --bin theseus_cli \ No newline at end of file From bfe8b40f4412d851123f29a2cc9503e8955d2088 Mon Sep 17 00:00:00 2001 From: "Adrian O.V" <83074853+CodexAdrian@users.noreply.github.com> Date: Thu, 30 Mar 2023 18:37:45 -0400 Subject: [PATCH 062/231] Library page (#53) * launcher base gui initial * Bootstraps router, Omorphia, and prettier. * Adds pages. Adds Vuex. SideBar nav contains user section and pages section. * Adds Instance markup. Instances added to Home page. * Adds News to home page. * Adds settings to nav. Other touches. * Polishing initial base GUI. * Moves some styling to assets. Changes px values to rem. * Removes pointless border-radius CSS. * Implements Omorphia vars. * Adds trending mods section. * Updates home page. * Swaps Vuex implementation for Pinia. * Fixes invalid CSS on instance list item hover. * Adds @ path resolve for imports. * Fix some styling of row display * Gridview on library page * Cleaning up styles and markup. * Fixes overall layout issues. * Cleans up more styling. Modifies AppBar coloring. * instance routing * Allows pagination arrows to conditionally appear in RowDisplay. * Adds paging behavior in RowDisplay. * Initial modlist layout * Updates nav and settings button styling. * Brings in Knossos style for trending mods. Polishes News CSS. * Page redesign * More tweaks * Base library pages * Remove errant css * Update play.svg * Addressed issues --------- Co-authored-by: Jai A Co-authored-by: Zachary Baird Co-authored-by: Zach Baird <30800863+ZachBaird@users.noreply.github.com> --- theseus_gui/package.json | 3 +- theseus_gui/src-tauri/tauri.conf.json | 4 +- theseus_gui/src/App.vue | 130 ++-- theseus_gui/src/assets/icons/folder-open.svg | 4 + .../src/assets/icons/folder-search.svg | 6 + theseus_gui/src/assets/icons/index.js | 3 + theseus_gui/src/assets/icons/play.svg | 4 + theseus_gui/src/components/GridDisplay.vue | 132 ++++ theseus_gui/src/components/RowDisplay.vue | 42 +- theseus_gui/src/components/ui/Instance.vue | 33 +- theseus_gui/src/components/ui/News.vue | 13 +- theseus_gui/src/pages/AddInstance.vue | 7 + theseus_gui/src/pages/Library.vue | 11 +- theseus_gui/src/pages/instance/Index.vue | 269 +++++++++ theseus_gui/src/pages/instance/Logs.vue | 121 ++++ theseus_gui/src/pages/instance/Mods.vue | 247 ++++++++ theseus_gui/src/pages/instance/Options.vue | 230 +++++++ theseus_gui/src/pages/instance/index.js | 6 + theseus_gui/src/pages/instances/Instance.vue | 14 - theseus_gui/src/routes.js | 29 + theseus_gui/vite.config.js | 15 + theseus_gui/yarn.lock | 571 +++++++++++------- 22 files changed, 1555 insertions(+), 339 deletions(-) create mode 100644 theseus_gui/src/assets/icons/folder-open.svg create mode 100644 theseus_gui/src/assets/icons/folder-search.svg create mode 100644 theseus_gui/src/assets/icons/index.js create mode 100644 theseus_gui/src/assets/icons/play.svg create mode 100644 theseus_gui/src/components/GridDisplay.vue create mode 100644 theseus_gui/src/pages/AddInstance.vue create mode 100644 theseus_gui/src/pages/instance/Index.vue create mode 100644 theseus_gui/src/pages/instance/Logs.vue create mode 100644 theseus_gui/src/pages/instance/Mods.vue create mode 100644 theseus_gui/src/pages/instance/Options.vue create mode 100644 theseus_gui/src/pages/instance/index.js delete mode 100644 theseus_gui/src/pages/instances/Instance.vue diff --git a/theseus_gui/package.json b/theseus_gui/package.json index 1f12b40b2..08c49f08c 100644 --- a/theseus_gui/package.json +++ b/theseus_gui/package.json @@ -12,8 +12,9 @@ "dependencies": { "@tauri-apps/api": "^1.2.0", "axios": "^1.3.4", - "omorphia": "^0.4.0", + "omorphia": "^0.4.2", "pinia": "^2.0.33", + "vite-svg-loader": "^4.0.0", "vue": "^3.2.45", "vue-router": "4" }, diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json index 8f4367fe9..e71ba2006 100644 --- a/theseus_gui/src-tauri/tauri.conf.json +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -59,7 +59,9 @@ "height": 650, "resizable": true, "title": "Modrinth Launcher", - "width": 1140 + "width": 1140, + "minHeight": 630, + "minWidth": 1100 } ] } diff --git a/theseus_gui/src/App.vue b/theseus_gui/src/App.vue index 8aa478030..22f5b1f80 100644 --- a/theseus_gui/src/App.vue +++ b/theseus_gui/src/App.vue @@ -32,33 +32,19 @@ watch(theme, (newState) => { diff --git a/theseus_gui/src/assets/icons/folder-open.svg b/theseus_gui/src/assets/icons/folder-open.svg new file mode 100644 index 000000000..53f88f92c --- /dev/null +++ b/theseus_gui/src/assets/icons/folder-open.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/theseus_gui/src/assets/icons/folder-search.svg b/theseus_gui/src/assets/icons/folder-search.svg new file mode 100644 index 000000000..7737ed611 --- /dev/null +++ b/theseus_gui/src/assets/icons/folder-search.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/theseus_gui/src/assets/icons/index.js b/theseus_gui/src/assets/icons/index.js new file mode 100644 index 000000000..6f4dbb10d --- /dev/null +++ b/theseus_gui/src/assets/icons/index.js @@ -0,0 +1,3 @@ +export { default as PlayIcon } from './play.svg' +export { default as OpenFolderIcon } from './folder-open.svg' +export { default as BrowseIcon } from './folder-search.svg' \ No newline at end of file diff --git a/theseus_gui/src/assets/icons/play.svg b/theseus_gui/src/assets/icons/play.svg new file mode 100644 index 000000000..3dc33cb08 --- /dev/null +++ b/theseus_gui/src/assets/icons/play.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/theseus_gui/src/components/GridDisplay.vue b/theseus_gui/src/components/GridDisplay.vue new file mode 100644 index 000000000..1aab9f5b0 --- /dev/null +++ b/theseus_gui/src/components/GridDisplay.vue @@ -0,0 +1,132 @@ + + + \ No newline at end of file diff --git a/theseus_gui/src/components/RowDisplay.vue b/theseus_gui/src/components/RowDisplay.vue index a148b1167..8e9816e45 100644 --- a/theseus_gui/src/components/RowDisplay.vue +++ b/theseus_gui/src/components/RowDisplay.vue @@ -1,8 +1,8 @@ - - + +.row-instance { + min-width: 12rem; + max-width: 12rem; +} + \ No newline at end of file diff --git a/theseus_gui/src/components/ui/Instance.vue b/theseus_gui/src/components/ui/Instance.vue index eb69ef6a7..c5cb4c2f1 100644 --- a/theseus_gui/src/components/ui/Instance.vue +++ b/theseus_gui/src/components/ui/Instance.vue @@ -1,7 +1,7 @@ + + diff --git a/theseus_gui/src/pages/Library.vue b/theseus_gui/src/pages/Library.vue index b5a136d09..832592057 100644 --- a/theseus_gui/src/pages/Library.vue +++ b/theseus_gui/src/pages/Library.vue @@ -1,7 +1,14 @@ - + diff --git a/theseus_gui/src/pages/instance/Index.vue b/theseus_gui/src/pages/instance/Index.vue new file mode 100644 index 000000000..745649d2c --- /dev/null +++ b/theseus_gui/src/pages/instance/Index.vue @@ -0,0 +1,269 @@ + + + + + \ No newline at end of file diff --git a/theseus_gui/src/pages/instance/Logs.vue b/theseus_gui/src/pages/instance/Logs.vue new file mode 100644 index 000000000..0ddcd5b0e --- /dev/null +++ b/theseus_gui/src/pages/instance/Logs.vue @@ -0,0 +1,121 @@ + + + + + + \ No newline at end of file diff --git a/theseus_gui/src/pages/instance/Mods.vue b/theseus_gui/src/pages/instance/Mods.vue new file mode 100644 index 000000000..14ee3e056 --- /dev/null +++ b/theseus_gui/src/pages/instance/Mods.vue @@ -0,0 +1,247 @@ + + + + + + \ No newline at end of file diff --git a/theseus_gui/src/pages/instance/Options.vue b/theseus_gui/src/pages/instance/Options.vue new file mode 100644 index 000000000..5ddda4cd2 --- /dev/null +++ b/theseus_gui/src/pages/instance/Options.vue @@ -0,0 +1,230 @@ + + + + + diff --git a/theseus_gui/src/pages/instance/index.js b/theseus_gui/src/pages/instance/index.js new file mode 100644 index 000000000..4fc643a26 --- /dev/null +++ b/theseus_gui/src/pages/instance/index.js @@ -0,0 +1,6 @@ +import Index from './Index.vue' +import Mods from "./Mods.vue"; +import Options from "./Options.vue"; +import Logs from "./Logs.vue"; + +export { Index, Mods, Options, Logs } \ No newline at end of file diff --git a/theseus_gui/src/pages/instances/Instance.vue b/theseus_gui/src/pages/instances/Instance.vue deleted file mode 100644 index b480dbdab..000000000 --- a/theseus_gui/src/pages/instances/Instance.vue +++ /dev/null @@ -1,14 +0,0 @@ - - - diff --git a/theseus_gui/src/routes.js b/theseus_gui/src/routes.js index 2718bf2fb..a87bae77f 100644 --- a/theseus_gui/src/routes.js +++ b/theseus_gui/src/routes.js @@ -1,5 +1,6 @@ import { createRouter, createWebHistory } from 'vue-router' import * as Pages from '@/pages' +import * as Instance from '@/pages/instance' /** * Configures application routing. Add page to pages/index and then add to route table here. @@ -22,6 +23,11 @@ export default new createRouter({ name: 'Library', component: Pages.Library, }, + { + path: '/add-instance', + name: 'Add Instance', + component: Pages.AddInstance, + }, { path: '/project', name: 'Project', @@ -32,6 +38,29 @@ export default new createRouter({ name: 'Settings', component: Pages.Settings, }, + { + path: '/instance/:id', + name: 'Instance', + component: Instance.Index, + props: true, + children: [ + { + path: '', + name: 'Mods', + component: Instance.Mods, + }, + { + path: 'options', + name: 'Options', + component: Instance.Options, + }, + { + path: 'logs', + name: 'Logs', + component: Instance.Logs, + } + ] + } ], linkActiveClass: 'router-link-active', linkExactActiveClass: 'router-link-exact-active', diff --git a/theseus_gui/vite.config.js b/theseus_gui/vite.config.js index 694912473..ca2c6083c 100644 --- a/theseus_gui/vite.config.js +++ b/theseus_gui/vite.config.js @@ -2,6 +2,7 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import alias from '@rollup/plugin-alias' import { resolve } from 'path' +import svgLoader from "vite-svg-loader"; const projectRootDir = resolve(__dirname) @@ -17,6 +18,20 @@ export default defineConfig({ }, ], }), + svgLoader({ + svgoConfig: { + plugins: [ + { + name: 'preset-default', + params: { + overrides: { + removeViewBox: false, + }, + }, + }, + ], + }, + }), ], // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` diff --git a/theseus_gui/yarn.lock b/theseus_gui/yarn.lock index 5b34cc219..a40f7b38f 100644 --- a/theseus_gui/yarn.lock +++ b/theseus_gui/yarn.lock @@ -3,140 +3,140 @@ "@babel/parser@^7.16.4": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" - integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== + version "7.21.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" + integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== -"@esbuild/android-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23" - integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg== +"@esbuild/android-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.14.tgz#4624cea3c8941c91f9e9c1228f550d23f1cef037" + integrity sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg== -"@esbuild/android-arm@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2" - integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw== +"@esbuild/android-arm@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.14.tgz#74fae60fcab34c3f0e15cb56473a6091ba2b53a6" + integrity sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g== -"@esbuild/android-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e" - integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ== +"@esbuild/android-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.14.tgz#f002fbc08d5e939d8314bd23bcfb1e95d029491f" + integrity sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng== -"@esbuild/darwin-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220" - integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w== +"@esbuild/darwin-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.14.tgz#b8dcd79a1dd19564950b4ca51d62999011e2e168" + integrity sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw== -"@esbuild/darwin-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4" - integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg== +"@esbuild/darwin-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.14.tgz#4b49f195d9473625efc3c773fc757018f2c0d979" + integrity sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g== -"@esbuild/freebsd-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27" - integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw== +"@esbuild/freebsd-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.14.tgz#480923fd38f644c6342c55e916cc7c231a85eeb7" + integrity sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A== -"@esbuild/freebsd-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72" - integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug== +"@esbuild/freebsd-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.14.tgz#a6b6b01954ad8562461cb8a5e40e8a860af69cbe" + integrity sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw== -"@esbuild/linux-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca" - integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g== +"@esbuild/linux-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.14.tgz#1fe2f39f78183b59f75a4ad9c48d079916d92418" + integrity sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g== -"@esbuild/linux-arm@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196" - integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ== +"@esbuild/linux-arm@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.14.tgz#18d594a49b64e4a3a05022c005cb384a58056a2a" + integrity sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg== -"@esbuild/linux-ia32@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54" - integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg== +"@esbuild/linux-ia32@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.14.tgz#f7f0182a9cfc0159e0922ed66c805c9c6ef1b654" + integrity sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ== -"@esbuild/linux-loong64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8" - integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ== +"@esbuild/linux-loong64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.14.tgz#5f5305fdffe2d71dd9a97aa77d0c99c99409066f" + integrity sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ== -"@esbuild/linux-mips64el@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726" - integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw== +"@esbuild/linux-mips64el@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.14.tgz#a602e85c51b2f71d2aedfe7f4143b2f92f97f3f5" + integrity sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg== -"@esbuild/linux-ppc64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8" - integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g== +"@esbuild/linux-ppc64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.14.tgz#32d918d782105cbd9345dbfba14ee018b9c7afdf" + integrity sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ== -"@esbuild/linux-riscv64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9" - integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw== +"@esbuild/linux-riscv64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.14.tgz#38612e7b6c037dff7022c33f49ca17f85c5dec58" + integrity sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw== -"@esbuild/linux-s390x@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87" - integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w== +"@esbuild/linux-s390x@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.14.tgz#4397dff354f899e72fd035d72af59a700c465ccb" + integrity sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww== -"@esbuild/linux-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f" - integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw== +"@esbuild/linux-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.14.tgz#6c5cb99891b6c3e0c08369da3ef465e8038ad9c2" + integrity sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw== -"@esbuild/netbsd-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775" - integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA== +"@esbuild/netbsd-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.14.tgz#5fa5255a64e9bf3947c1b3bef5e458b50b211994" + integrity sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ== -"@esbuild/openbsd-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35" - integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg== +"@esbuild/openbsd-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.14.tgz#74d14c79dcb6faf446878cc64284aa4e02f5ca6f" + integrity sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g== -"@esbuild/sunos-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c" - integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw== +"@esbuild/sunos-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.14.tgz#5c7d1c7203781d86c2a9b2ff77bd2f8036d24cfa" + integrity sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA== -"@esbuild/win32-arm64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a" - integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw== +"@esbuild/win32-arm64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.14.tgz#dc36ed84f1390e73b6019ccf0566c80045e5ca3d" + integrity sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ== -"@esbuild/win32-ia32@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09" - integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig== +"@esbuild/win32-ia32@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.14.tgz#0802a107afa9193c13e35de15a94fe347c588767" + integrity sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w== -"@esbuild/win32-x64@0.16.17": - version "0.16.17" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091" - integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q== +"@esbuild/win32-x64@0.17.14": + version "0.17.14" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.14.tgz#e81fb49de05fed91bf74251c9ca0343f4fc77d31" + integrity sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA== -"@eslint-community/eslint-utils@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.2.0.tgz#a831e6e468b4b2b5ae42bf658bea015bf10bc518" - integrity sha512-gB8T4H4DEfX2IV9zGDJPOBgP1e/DbfCPDTtEqUMckpvzS1OYtva8JdFYBqMwYk7xAQ429WGF/UPqn8uQ//h2vQ== +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.3.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== dependencies: eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.4.0.tgz#3e61c564fcd6b921cb789838631c5ee44df09403" - integrity sha512-A9983Q0LnDGdLPjxyXQ00sbV+K+O+ko2Dr+CZigbHWtX9pNfxlaBkMR8X1CztI73zuEyEBXTVjx7CE+/VSwDiQ== + version "4.5.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724" + integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ== -"@eslint/eslintrc@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.1.tgz#7888fe7ec8f21bc26d646dbd2c11cd776e21192d" - integrity sha512-eFRmABvW2E5Ho6f5fHLqgena46rOj7r7OKHYfLElqcBfGFHHpjBhivyi5+jOEQuSpdc/1phIZJlbC2te+tZNIw== +"@eslint/eslintrc@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02" + integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ== dependencies: ajv "^6.12.4" debug "^4.3.2" - espree "^9.5.0" + espree "^9.5.1" globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" @@ -144,10 +144,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@8.36.0": - version "8.36.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.36.0.tgz#9837f768c03a1e4a30bd304a64fb8844f0e72efe" - integrity sha512-lxJ9R5ygVm8ZWgYdUweoq5ownDlJ4upvoWmO4eLxBYHdMo+vZ/Rx0EN6MbKWDJOSUGrqJy2Gt+Dyv/VKml0fjg== +"@eslint/js@8.37.0": + version "8.37.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.37.0.tgz#cf1b5fa24217fe007f6487a26d765274925efa7d" + integrity sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A== "@floating-ui/core@^0.3.0": version "0.3.1" @@ -281,10 +281,15 @@ "@tauri-apps/cli-win32-ia32-msvc" "1.2.3" "@tauri-apps/cli-win32-x64-msvc" "1.2.3" +"@trysound/sax@0.2.0": + version "0.2.0" + resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" + integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== + "@types/eslint@^8.4.5": - version "8.21.2" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.2.tgz#2b61b43a8b0e66006856a2a4c8e51f6f773ead27" - integrity sha512-EMpxUyystd3uZVByZap1DACsMXvb82ypQnGn89e1Y0a+LYu3JJscUd/gqhRsVFDkaD2MIiWo0MT8EfXr3DGRKw== + version "8.21.3" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.21.3.tgz#5794b3911f0f19e34e3a272c49cbdf48d6f543f2" + integrity sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -300,9 +305,9 @@ integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@vitejs/plugin-vue@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz#93815beffd23db46288c787352a8ea31a0c03e5e" - integrity sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA== + version "4.1.0" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz#b6a9d83cd91575f7ee15593f6444397f68751073" + integrity sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ== "@vue/compiler-core@3.2.47": version "3.2.47" @@ -322,7 +327,7 @@ "@vue/compiler-core" "3.2.47" "@vue/shared" "3.2.47" -"@vue/compiler-sfc@3.2.47": +"@vue/compiler-sfc@3.2.47", "@vue/compiler-sfc@^3.2.20": version "3.2.47" resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz#1bdc36f6cdc1643f72e2c397eb1a398f5004ad3d" integrity sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ== @@ -535,6 +540,16 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@^2.20.3: + version "2.20.3" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^7.2.0: + version "7.2.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== + concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -549,11 +564,55 @@ cross-spawn@^7.0.2: shebang-command "^2.0.0" which "^2.0.1" +css-select@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-5.1.0.tgz#b8ebd6554c3637ccc76688804ad3f6a6fdaea8a6" + integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg== + dependencies: + boolbase "^1.0.0" + css-what "^6.1.0" + domhandler "^5.0.2" + domutils "^3.0.1" + nth-check "^2.0.1" + +css-tree@^2.2.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" + integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== + dependencies: + mdn-data "2.0.30" + source-map-js "^1.0.1" + +css-tree@~2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.2.1.tgz#36115d382d60afd271e377f9c5f67d02bd48c032" + integrity sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA== + dependencies: + mdn-data "2.0.28" + source-map-js "^1.0.1" + +css-what@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" + integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== + cssesc@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== +cssfilter@0.0.10: + version "0.0.10" + resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" + integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== + +csso@^5.0.5: + version "5.0.5" + resolved "https://registry.yarnpkg.com/csso/-/csso-5.0.5.tgz#f9b7fe6cc6ac0b7d90781bb16d5e9874303e2ca6" + integrity sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ== + dependencies: + css-tree "~2.2.0" + csstype@^2.6.8: version "2.6.21" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" @@ -588,33 +647,73 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -esbuild@^0.16.14: - version "0.16.17" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259" - integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg== +dom-serializer@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-2.0.0.tgz#e41b802e1eedf9f6cae183ce5e622d789d7d8e53" + integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== + dependencies: + domelementtype "^2.3.0" + domhandler "^5.0.2" + entities "^4.2.0" + +domelementtype@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d" + integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== + +domhandler@^5.0.1, domhandler@^5.0.2: + version "5.0.3" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-5.0.3.tgz#cc385f7f751f1d1fc650c21374804254538c7d31" + integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== + dependencies: + domelementtype "^2.3.0" + +domutils@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-3.0.1.tgz#696b3875238338cb186b6c0612bd4901c89a4f1c" + integrity sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q== + dependencies: + dom-serializer "^2.0.0" + domelementtype "^2.3.0" + domhandler "^5.0.1" + +entities@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" + integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== + +entities@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + +esbuild@^0.17.5: + version "0.17.14" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.14.tgz#d61a22de751a3133f3c6c7f9c1c3e231e91a3245" + integrity sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw== optionalDependencies: - "@esbuild/android-arm" "0.16.17" - "@esbuild/android-arm64" "0.16.17" - "@esbuild/android-x64" "0.16.17" - "@esbuild/darwin-arm64" "0.16.17" - "@esbuild/darwin-x64" "0.16.17" - "@esbuild/freebsd-arm64" "0.16.17" - "@esbuild/freebsd-x64" "0.16.17" - "@esbuild/linux-arm" "0.16.17" - "@esbuild/linux-arm64" "0.16.17" - "@esbuild/linux-ia32" "0.16.17" - "@esbuild/linux-loong64" "0.16.17" - "@esbuild/linux-mips64el" "0.16.17" - "@esbuild/linux-ppc64" "0.16.17" - "@esbuild/linux-riscv64" "0.16.17" - "@esbuild/linux-s390x" "0.16.17" - "@esbuild/linux-x64" "0.16.17" - "@esbuild/netbsd-x64" "0.16.17" - "@esbuild/openbsd-x64" "0.16.17" - "@esbuild/sunos-x64" "0.16.17" - "@esbuild/win32-arm64" "0.16.17" - "@esbuild/win32-ia32" "0.16.17" - "@esbuild/win32-x64" "0.16.17" + "@esbuild/android-arm" "0.17.14" + "@esbuild/android-arm64" "0.17.14" + "@esbuild/android-x64" "0.17.14" + "@esbuild/darwin-arm64" "0.17.14" + "@esbuild/darwin-x64" "0.17.14" + "@esbuild/freebsd-arm64" "0.17.14" + "@esbuild/freebsd-x64" "0.17.14" + "@esbuild/linux-arm" "0.17.14" + "@esbuild/linux-arm64" "0.17.14" + "@esbuild/linux-ia32" "0.17.14" + "@esbuild/linux-loong64" "0.17.14" + "@esbuild/linux-mips64el" "0.17.14" + "@esbuild/linux-ppc64" "0.17.14" + "@esbuild/linux-riscv64" "0.17.14" + "@esbuild/linux-s390x" "0.17.14" + "@esbuild/linux-x64" "0.17.14" + "@esbuild/netbsd-x64" "0.17.14" + "@esbuild/openbsd-x64" "0.17.14" + "@esbuild/sunos-x64" "0.17.14" + "@esbuild/win32-arm64" "0.17.14" + "@esbuild/win32-ia32" "0.17.14" + "@esbuild/win32-x64" "0.17.14" escape-string-regexp@^4.0.0: version "4.0.0" @@ -622,16 +721,16 @@ escape-string-regexp@^4.0.0: integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== eslint-config-prettier@^8.6.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d" - integrity sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== + version "8.8.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz#bfda738d412adc917fd7b038857110efe98c9348" + integrity sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA== eslint-plugin-vue@^9.9.0: - version "9.9.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.9.0.tgz#ac788ebccd2eb94d846a507df55da50693b80c91" - integrity sha512-YbubS7eK0J7DCf0U2LxvVP7LMfs6rC6UltihIgval3azO3gyDwEGVgsCMe1TmDiEkl6GdMKfRpaME6QxIYtzDQ== + version "9.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-vue/-/eslint-plugin-vue-9.10.0.tgz#bb6423166e6eab800344245b6eef6ce9480c78a7" + integrity sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g== dependencies: - eslint-utils "^3.0.0" + "@eslint-community/eslint-utils" "^4.3.0" natural-compare "^1.4.0" nth-check "^2.0.1" postcss-selector-parser "^6.0.9" @@ -647,32 +746,20 @@ eslint-scope@^7.1.1: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc" + integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ== eslint@^8.35.0: - version "8.36.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.36.0.tgz#1bd72202200a5492f91803b113fb8a83b11285cf" - integrity sha512-Y956lmS7vDqomxlaaQAHVmeb4tNMp2FWIvU/RnU5BD3IKMD/MJPr76xdyr68P8tV1iNMvN2mRK0yy3c+UjL+bw== + version "8.37.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.37.0.tgz#1f660ef2ce49a0bfdec0b0d698e0b8b627287412" + integrity sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.4.0" - "@eslint/eslintrc" "^2.0.1" - "@eslint/js" "8.36.0" + "@eslint/eslintrc" "^2.0.2" + "@eslint/js" "8.37.0" "@humanwhocodes/config-array" "^0.11.8" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -683,8 +770,8 @@ eslint@^8.35.0: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.1.1" - eslint-visitor-keys "^3.3.0" - espree "^9.5.0" + eslint-visitor-keys "^3.4.0" + espree "^9.5.1" esquery "^1.4.2" esutils "^2.0.2" fast-deep-equal "^3.1.3" @@ -710,14 +797,14 @@ eslint@^8.35.0: strip-json-comments "^3.1.0" text-table "^0.2.0" -espree@^9.3.1, espree@^9.5.0: - version "9.5.0" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.0.tgz#3646d4e3f58907464edba852fa047e6a27bdf113" - integrity sha512-JPbJGhKc47++oo4JkEoTe2wjy4fmMwvFpgJT9cQzmfXKp22Dr6Hf1tdCteLz1h0P3t+mGvWZ+4Uankvh8+c6zw== +espree@^9.3.1, espree@^9.5.1: + version "9.5.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4" + integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg== dependencies: acorn "^8.8.0" acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" + eslint-visitor-keys "^3.4.0" esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" @@ -892,6 +979,11 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +highlight.js@^11.7.0: + version "11.7.0" + resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-11.7.0.tgz#3ff0165bc843f8c9bce1fd89e2fda9143d24b11e" + integrity sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ== + ignore@^5.2.0: version "5.2.4" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" @@ -970,9 +1062,9 @@ isexe@^2.0.0: integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== js-sdsl@^4.1.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== + version "4.4.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430" + integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg== js-yaml@^4.1.0: version "4.1.0" @@ -999,6 +1091,13 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +linkify-it@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== + dependencies: + uc.micro "^1.0.1" + locate-path@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" @@ -1030,6 +1129,32 @@ magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.8" +markdown-it@^13.0.1: + version "13.0.1" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.1.tgz#c6ecc431cacf1a5da531423fc6a42807814af430" + integrity sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q== + dependencies: + argparse "^2.0.1" + entities "~3.0.1" + linkify-it "^4.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +mdn-data@2.0.28: + version "2.0.28" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.28.tgz#5ec48e7bef120654539069e1ae4ddc81ca490eba" + integrity sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g== + +mdn-data@2.0.30: + version "2.0.30" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" + integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -1055,9 +1180,9 @@ ms@2.1.2: integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== nanoid@^3.3.4: - version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" - integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== natural-compare@^1.4.0: version "1.4.0" @@ -1076,15 +1201,19 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" -omorphia@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/omorphia/-/omorphia-0.4.0.tgz#d96453e9bc40c45ed3f18470dc3838fa1b20b954" - integrity sha512-cASEG0U620NCP1XUV/Y7Zw5b/2T2TtRNKeQ3hxNae420mXkfZaSbRt4F13MWOy1vVb8k5I2HfrvaWU9gv2ZWwA== +omorphia@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/omorphia/-/omorphia-0.4.2.tgz#0199e5a3ac2929da2307a7e81a4f1a4468eaf2eb" + integrity sha512-bRKpLCIOGnqTPfeh4Ilz01rd+KYkO7qJY8Pi81t5Y4+//rX7FItLnMkmG3zifgoLCzi7aqsfsByhQptpm4/3kw== dependencies: dayjs "^1.11.7" floating-vue "^2.0.0-beta.20" + highlight.js "^11.7.0" + markdown-it "^13.0.1" vue "^3.2.45" vue-router "^4.1.6" + vue-select "^4.0.0-beta.6" + xss "^1.0.14" once@^1.3.0: version "1.4.0" @@ -1187,9 +1316,9 @@ prelude-ls@^1.2.1: integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier@^2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== + version "2.8.7" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" + integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== proxy-from-env@^1.1.0: version "1.1.0" @@ -1246,10 +1375,10 @@ rollup@^2.77.2: optionalDependencies: fsevents "~2.3.2" -rollup@^3.10.0: - version "3.19.1" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.19.1.tgz#2b3a31ac1ff9f3afab2e523fa687fef5b0ee20fc" - integrity sha512-lAbrdN7neYCg/8WaoWn/ckzCtz+jr70GFfYdlf50OF7387HTg+wiuiqJRFYawwSPpqfqDNYqK7smY/ks2iAudg== +rollup@^3.18.0: + version "3.20.2" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.20.2.tgz#f798c600317f216de2e4ad9f4d9ab30a89b690ff" + integrity sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg== optionalDependencies: fsevents "~2.3.2" @@ -1261,9 +1390,9 @@ run-parallel@^1.1.9: queue-microtask "^1.2.2" sass@^1.58.3: - version "1.59.2" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.59.2.tgz#537f6d11614d4f20f97696f23ad358ee398b1937" - integrity sha512-jJyO6SmbzkJexF8MUorHx5tAilcgabioYxT/BHbY4+OvoqmbHxsYlrjZ8Adhqcgl6Zqwie0TgMXLCAmPFxXOuw== + version "1.60.0" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.60.0.tgz#657f0c23a302ac494b09a5ba8497b739fb5b5a81" + integrity sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ== dependencies: chokidar ">=3.0.0 <4.0.0" immutable "^4.0.0" @@ -1293,7 +1422,7 @@ slash@^4.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-4.0.0.tgz#2422372176c4c6c5addb5e2ada885af984b396a7" integrity sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew== -"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.2: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.0.1, source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== @@ -1332,6 +1461,18 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +svgo@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-3.0.2.tgz#5e99eeea42c68ee0dc46aa16da093838c262fe0a" + integrity sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ== + dependencies: + "@trysound/sax" "0.2.0" + commander "^7.2.0" + css-select "^5.1.0" + css-tree "^2.2.1" + csso "^5.0.5" + picocolors "^1.0.0" + text-table@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" @@ -1356,6 +1497,11 @@ type-fest@^0.20.2: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -1377,15 +1523,23 @@ vite-plugin-eslint@^1.8.1: "@types/eslint" "^8.4.5" rollup "^2.77.2" -vite@^4.0.0: - version "4.1.4" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.1.4.tgz#170d93bcff97e0ebc09764c053eebe130bfe6ca0" - integrity sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg== +vite-svg-loader@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/vite-svg-loader/-/vite-svg-loader-4.0.0.tgz#1cec4337dba3c23ab13bcabb111896e251b047ac" + integrity sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA== dependencies: - esbuild "^0.16.14" + "@vue/compiler-sfc" "^3.2.20" + svgo "^3.0.2" + +vite@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/vite/-/vite-4.2.1.tgz#6c2eb337b0dfd80a9ded5922163b94949d7fc254" + integrity sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg== + dependencies: + esbuild "^0.17.5" postcss "^8.4.21" resolve "^1.22.1" - rollup "^3.10.0" + rollup "^3.18.0" optionalDependencies: fsevents "~2.3.2" @@ -1419,6 +1573,11 @@ vue-router@4, vue-router@^4.1.6: dependencies: "@vue/devtools-api" "^6.4.5" +vue-select@^4.0.0-beta.6: + version "4.0.0-beta.6" + resolved "https://registry.yarnpkg.com/vue-select/-/vue-select-4.0.0-beta.6.tgz#7c250cb7c01280b54a311cb446629801b3c8df98" + integrity sha512-K+zrNBSpwMPhAxYLTCl56gaMrWZGgayoWCLqe5rWwkB8aUbAUh7u6sXjIR7v4ckp2WKC7zEEUY27g6h1MRsIHw== + vue@^3.2.45: version "3.2.47" resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.47.tgz#3eb736cbc606fc87038dbba6a154707c8a34cff0" @@ -1452,6 +1611,14 @@ xml-name-validator@^4.0.0: resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== +xss@^1.0.14: + version "1.0.14" + resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" + integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== + dependencies: + commander "^2.20.3" + cssfilter "0.0.10" + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" From 446f6eba68866a0f8ea569fc400d32adc6b31c60 Mon Sep 17 00:00:00 2001 From: Jai A Date: Thu, 30 Mar 2023 15:56:19 -0700 Subject: [PATCH 063/231] Fix lint (again) --- theseus_gui/src/App.vue | 8 +- theseus_gui/src/assets/icons/index.js | 2 +- theseus_gui/src/components/GridDisplay.vue | 35 +++-- theseus_gui/src/components/RowDisplay.vue | 26 ++-- theseus_gui/src/components/ui/Instance.vue | 17 ++- theseus_gui/src/components/ui/News.vue | 2 +- theseus_gui/src/pages/instance/Index.vue | 34 ++--- theseus_gui/src/pages/instance/Logs.vue | 128 ++++++++-------- theseus_gui/src/pages/instance/Mods.vue | 160 ++++++++++---------- theseus_gui/src/pages/instance/Options.vue | 163 ++++++++------------- theseus_gui/src/pages/instance/index.js | 8 +- theseus_gui/src/routes.js | 12 +- theseus_gui/vite.config.js | 2 +- 13 files changed, 290 insertions(+), 307 deletions(-) diff --git a/theseus_gui/src/App.vue b/theseus_gui/src/App.vue index 22f5b1f80..1c6be0253 100644 --- a/theseus_gui/src/App.vue +++ b/theseus_gui/src/App.vue @@ -9,12 +9,10 @@ import { ClientIcon, PlusIcon, SettingsIcon, - Button, Avatar, } from 'omorphia' import { useTheming, useInstances } from '@/store/state' import { toggleTheme } from '@/helpers/theme' -import Instance from '@/components/ui/Instance.vue' const route = useRoute() const router = useRouter() @@ -39,7 +37,9 @@ watch(theme, (newState) => { - +

9ddz)Kn9`X~89^sy88`NxuGhy@bMhz%G|j9B zv?FV3(}&pSK2~^a)T8OI7v zYetTNAC%p}>dW8kVHdlNY-Frii)LXP)|?>wNlY}SUN9BskSa|a(MNEs;1TQRY?v8c zeemV8j}`cH9P}^?gDWO{;ku;5Fm}*G55#1i1QWXH0ydkq9-b=Sw3i1E{s5$JM={US zhEj{t6dtUBRQ>#~^g5kfv9Xc4DboMhe;TtA$T)~a0>=*2>)mxp2cYP-^@c%!#Mkd_irAC=Dbw45!1X<>o8Pc z^3#u5DP~HMHQ&F6iT&d!*1c!mZ=NZp({n~fG<%GCy2p^i+~bNTV{AJggta>mj=gx0 z;&K5ThCcb_5^%Y>+<6W||GwjCXlviBez&KNr+L;WB^o0Ut;dvO3*_!f6!Rt^(;?#5 z=L-k~TqZR(*T{}nxi2f4gg#NgULqhCK~X|PF+Y<@4givGV^qa%6~E|sI-S_rFAS7* zp2A)jDDVf+iH%fEh{*8_nZ4}*US*IWB*sXvA;)WQ{1#*M#^=a{mM8!*>;gT}O>FJU zB`^Rw0?QSZZG|>zzc8@#Y41|7aDRppD8-3knPTad|iaW!Y#rXuW*v%{J_VNs80YTctgQyOrC24kh;6P}VdWGX;Cm-gz?bNy8b|7-8kN0NbJ}x!+WN-n{~1T4BODq0=k!Z8wKP@&b$=3(tUWuu ze?3F2CV1v+P8sdomlxA(PS>#4oU&bB773!+TKa2F790BO*PLpSyH9OHN2k}E-Zyy@ z_b-0U>1>ET>%}u1p>>oobOR?E43*iF>H+AMg*tFj@zcnLrX5t!gijYRD@XnS0000N?3#xh7$lM zzK8K=2xV(ktZjJ6YWNPc&1V{V}FP}?(UhfO@8@FySBTh zd-`>CRlRBe#u#G^8xWotR4zFD;evvffXeAKw}1i<0=UAJS_MXcCn3U%p8}<}0BISB zN!ZZ>#8dEtJtpPBfEYOuI)Agp|L^eEDaZ=Mqd^Icj7VsO93HX-)?hgBk)v%UbDCw) zNQi`fps>te9e>MX>=)FE-il(a1dHJwF8{U*DKRvW$RDr@dJ?>FI^cy@@Tcl|Y@9sr z@(MP%-!;r$!sXgAq`>e*-oN4FL?unn0Y@b{@2$i+%7qedhWM2e>uT{aE2i<8p@?)A zaH#3o;+^~%GN5xjPxxyAdRHjcTuBHQZ7++Fm5`Thl*8`FTd%e?v%Ou^T@dFbH ztq~msapEH(z`N%TLgE48F$`$EuOp}1u-I4_5KLr?Ur>!Z@hCv&g?(PyR!?K(D>c)Y zk>wGm+MM!=(?-XRd;nG<3cH>y8g=}o8Eds3*`bKY;-B3H8w7zQ!B*q#+`4vQQMTWY zHP^%^On*_0&WjS#|8snzQ*>+E`2_>}$m~UZH-FM*u>cn2AtPR2G@Z6;pKvrONJx2ntwR0zRj_HCj7Ti`&d}?{ep{75CX38{XcpSw zS0fTBLDmIK(TCzoZBGDy#h(QWQWFtNkn+nc&42qRBxorL^p1{Tj5Hulzf}DL^ec-K zv?_#DM1+Ko1`-In?a9y6pB7$SX$J=&(aF=#EcwTPexLBbf>b`jBz6eM>2BlSp7LS6 zzBF&!@i57;!>{zKW7_3#x@R01KfXjBSdd7Bqm#>vF7>{HJfHlP>!oi!NP&*%o2K{0 z<$tijrz@M7>_`%)cM`DHC&?B;=$8kmcD=Xr9%Mvn6_CTtu7DUJ0P9$*kBDyo^w!*L zjic*@*;F;cAP6;Fyvk%Pmn7w_7V$AyjkhWP&MFEe+vjiE;rVVX&Q%}-m_&hnsXs{) z>?Mu0T7;0?SWB(G^qtYUXD%BD`P=rNe19Cv@{fNvoye+*2>l`o2)&Upg*5~T;kP$Z zNs(iEQX~t@l+E79$;olpcB)llGLur7wb+4{goIpzZAbw-kyr>sGRJa6+|af&nP;~z zw0#{bu*xN!jPY!uGLB3VB|xQ}^!3H>PCU=_j00tpG&*ZNknkWShAVYDxS5>fDt{4; zJBMgYW*WJ}sy8DEft3g!3$OQgpxs$1s1O5V!fFTYW5e6K^;9b?p4?hy646u^5UN_N z!FWXOC!THh2}Bl?gjn(x4GKVfP%I$zen8Vh)%&*2*^l)de%Wq!TYKX3H(s%5JVrCW z)>kor0+MRoPyBssdv=ttOB9g>F@LK0yRRg|7!%a>4|8YyaRwP6Ni=uoyZrU*K~+Oy z%|3fsm-y~>x3wuh?JZ7wFa$)5BC7AhdS8yLln4sk#*cFY-O40JEhOsOp`;|21WBHf z`5)?iAt8!-P!fVfBK5`jBmSs#w@H%A-@PcOl^@;ckmys?Iixih0;%#yo`2f!`tk%H z2eHh|$HqpQIm8cUFB>QNvVabZ6=q7LzSo+&_*CLhdT8jbaNm(12-kR~q;On8P^V9o z?MHSSKl@9483R=y^c^AJQNJ&WT zH~7Bq@Bhtpsk3vQdCocax$o!9?lU^sy88f_FHugeLV^H*Gae1#La~X+si>)`$O#dU zBmfF0qCz22bSNZ@mXZLP01y+>(jn<+sVT_GDQS@4DGgpMfPhodA(4~>n9xuF0Yebe zAZh8yAW;AY1`QHPjT-}C!U(}jl+XwO15QJWBm>96FmUkU;Q$6EHFzf^41hx@kw_90 zfCIs&q(#zW0Z?*W6aa@(BI!uO02mP+k`x7yVNrpO=xCq-CLJ9G8~|X{v~=Jw9t>I} zH3ZB6NsFW*!Nr0A2=I&+3jnZ?wA4@lAf`iN1OG0Pz`_Aa400qbEqFT#k`5n$(I6=R z07^}ZBnSnd5DYj9pd&&4yGDbg1n`h_xBx&%ha>^OX~`&QX)#cM2n7;}i$Oq5ON&K{ zq=5qvDkK;b=m1273I-0u1Ra1Mz&WYuscyrdBf2%CXklca83j;*5g?JbSYYFTVdCA! z2cw~-rNjsWApi*IXh{(m)JRGcfP{d~X)ytS97%@*&J186ZW9H^gHEZ!0OkK!ap{m` z001FFBH_1ITmTAMDX2iN|K`S_qNPC+VpGr|!SD#^kO(kgBqbQzEmTNS60pKhFklod z3C67_FeMOSGE(F%N>pJ;b|NA=&`b-0h)Ihi2jRk}BEUt`;Q=_*v^2EjU<$;vq_{8? z0HXlI3Agq+6;7uR|C;$S1g#lRqMHQ?*l$eedg~T8QK_Z2P0+bNo|4Kqb396UTQG7JQGg%T10VBRv81|J#?V8V(2Q8o%7hf{!Q zP!l0wAovhC4hfhONbgtx_n#J!G?Ww+RA4qxPzwpSilL4I)j~x8O}bSRF$ERPf7BEW zgaafH5Klslh^pS9q3*IEIWQx5EIBM+CsZKF#v%^0hA!Kp3H1* zY%lhID0$oXZEbsPd)N}BeFT6D2k08N7dP5G1PDPs;gHEj4R0*$pvDA~8Yy16?}3JC6O)v|)58JycO1I-+Z zi=RNj7;G%Aj;EMQU;=XMi>ost03fk4KSTfk30v!$03f?Ly`D}3N|E#3+Wa�KC}P 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 Pxk?Pdd^K> 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∓t$dRJGIadE?vc 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 Kx8Vjl{{H|h@<;Lj diff --git a/theseus_gui/src-tauri/icons/icon.ico b/theseus_gui/src-tauri/icons/icon.ico index b3636e4b22ba65db9061cd60a77b02c92022dfd6..90b0e017e60c7cd773499ae3680e2f2b4aab41a6 100644 GIT binary patch literal 57613 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 AKmY&$ diff --git a/theseus_gui/src-tauri/icons/icon.png b/theseus_gui/src-tauri/icons/icon.png index e1cd2619e0b5ec089cbba5ec7b03ddf2b1dfceb6..7cfaa65c1905e2c6b70e8a92bedae066f4a68f2b 100644 GIT binary patch literal 78225 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

@@ -194,7 +194,7 @@ watch(theme, (newState) => { .nav-button { height: 3rem; width: 3rem; - padding: .75rem; + padding: 0.75rem; border-radius: var(--radius-md); svg { diff --git a/theseus_gui/src/assets/icons/index.js b/theseus_gui/src/assets/icons/index.js index 6f4dbb10d..4f127ac0f 100644 --- a/theseus_gui/src/assets/icons/index.js +++ b/theseus_gui/src/assets/icons/index.js @@ -1,3 +1,3 @@ export { default as PlayIcon } from './play.svg' export { default as OpenFolderIcon } from './folder-open.svg' -export { default as BrowseIcon } from './folder-search.svg' \ No newline at end of file +export { default as BrowseIcon } from './folder-search.svg' diff --git a/theseus_gui/src/components/GridDisplay.vue b/theseus_gui/src/components/GridDisplay.vue index 1aab9f5b0..e25c7ddcb 100644 --- a/theseus_gui/src/components/GridDisplay.vue +++ b/theseus_gui/src/components/GridDisplay.vue @@ -1,13 +1,25 @@ @@ -266,4 +266,4 @@ Button { height: 1px; margin: var(--gap-xl) 0; } - \ No newline at end of file + diff --git a/theseus_gui/src/pages/instance/Logs.vue b/theseus_gui/src/pages/instance/Logs.vue index 0ddcd5b0e..35dd3bfce 100644 --- a/theseus_gui/src/pages/instance/Logs.vue +++ b/theseus_gui/src/pages/instance/Logs.vue @@ -4,21 +4,21 @@
-
{{ line }}
+
{{ line }}
@@ -27,66 +27,66 @@ import { Card, Button, TrashIcon, SendIcon, ClipboardCopyIcon, DropdownSelect } from 'omorphia' \ No newline at end of file + diff --git a/theseus_gui/src/pages/instance/Mods.vue b/theseus_gui/src/pages/instance/Mods.vue index 14ee3e056..c184f4217 100644 --- a/theseus_gui/src/pages/instance/Mods.vue +++ b/theseus_gui/src/pages/instance/Mods.vue @@ -2,63 +2,59 @@
- - + +
Sort By - + + + Add Mods +
-
-
Name
-
Version
-
Author
-
Actions
+
Name
+
Version
+
Author
+
Actions
-
+
- -
- + {{ mod.name }}
-
{{ mod.version }}
-
{{ mod.author }}
+
{{ mod.version }}
+
{{ mod.author }}
- - +
@@ -67,55 +63,66 @@ \ No newline at end of file + diff --git a/theseus_gui/src/pages/instance/Options.vue b/theseus_gui/src/pages/instance/Options.vue index 5ddda4cd2..f5f9fce92 100644 --- a/theseus_gui/src/pages/instance/Options.vue +++ b/theseus_gui/src/pages/instance/Options.vue @@ -1,172 +1,132 @@ + diff --git a/theseus_gui/src/pages/Index.vue b/theseus_gui/src/pages/Index.vue index 3f211af2d..288be5fa8 100644 --- a/theseus_gui/src/pages/Index.vue +++ b/theseus_gui/src/pages/Index.vue @@ -2,21 +2,21 @@ import { useInstances, useNews } from '@/store/state' import RowDisplay from '@/components/RowDisplay.vue' -const instances = useInstances() -const news = useNews() -instances.fetchInstances() -news.fetchNews() +const instanceStore = useInstances() +const newsStore = useNews() +instanceStore.fetchInstances() +newsStore.fetchNews() // Remove once state is populated with real data -const recentInstances = instances.instances.slice(0, 4) -const popularInstances = instances.instances.filter((i) => i.downloads > 50 || i.trending) +const recentInstances = instanceStore.instances.slice(0, 4) +const popularInstances = instanceStore.instances.filter((i) => i.downloads > 50 || i.trending) diff --git a/theseus_gui/src/pages/instance/Index.vue b/theseus_gui/src/pages/instance/Index.vue index 4ee4a10c1..7039602c2 100644 --- a/theseus_gui/src/pages/instance/Index.vue +++ b/theseus_gui/src/pages/instance/Index.vue @@ -2,10 +2,10 @@
- +
-

{{ getInstance(instances).name }}

- Fabric {{ getInstance(instances).version }} +

{{ getInstance(instanceStore).name }}

+ Fabric {{ getInstance(instanceStore).version }}
diff --git a/theseus_gui/src/helpers/profile.js b/theseus_gui/src/helpers/profile.js index 4be728e5f..dcd9f312f 100644 --- a/theseus_gui/src/helpers/profile.js +++ b/theseus_gui/src/helpers/profile.js @@ -10,10 +10,10 @@ export async function addDefaultInstance() { return await invoke('profile_create_empty') } -/// Add empty default instance +/// Creates instance /// Returns a path to the profile created -export async function create() { - return await invoke('profile_create') +export async function create(name, game_version, modloader, loader_version, icon) { + return await invoke('profile_create', { name, game_version, modloader, loader_version, icon }) } // Remove a profile @@ -33,6 +33,28 @@ export async function list() { return await invoke('profile_list') } +// Add a project to a profile from a version +// Returns a path to the new project file +export async function add_project_from_version(path, version_id) { + return await invoke('profile_add_project_from_version', { path, version_id }) +} + +// Add a project to a profile from a path + project_type +// Returns a path to the new project file +export async function add_project_from_path(path, project_path, project_type) { + return await invoke('profile_add_project_from_path', { path, project_path, project_type }) +} + +// Toggle disabling a project +export async function toggle_disable_project(path, project_path) { + return await invoke('profile_toggle_disable_project', { path, project_path }) +} + +// Remove a project +export async function remove_project(path, project_path) { + return await invoke('profile_remove_project', { path, project_path }) +} + // Run Minecraft using a pathed profile // Returns PID of child export async function run(path) { diff --git a/theseus_playground/src/main.rs b/theseus_playground/src/main.rs index 76d4b304b..a576acc34 100644 --- a/theseus_playground/src/main.rs +++ b/theseus_playground/src/main.rs @@ -5,6 +5,7 @@ use dunce::canonicalize; use theseus::prelude::*; +use theseus::profile_create::profile_create; use tokio::time::{sleep, Duration}; // A simple Rust implementation of the authentication run @@ -46,14 +47,46 @@ async fn main() -> theseus::Result<()> { println!("Creating/adding profile."); - let profile_path = - pack::install_pack_from_version_id("KxUUUFh5".to_string()) - .await - .unwrap(); + let name = "Example".to_string(); + let game_version = "1.19.2".to_string(); + let modloader = ModLoader::Fabric; + let loader_version = "stable".to_string(); + + let profile_path = profile_create( + name.clone(), + game_version, + modloader, + Some(loader_version), + None, + None, + ) + .await?; + + println!("Adding sodium"); + let sodium_path = profile::add_project_from_version( + &profile_path, + "rAfhHfow".to_string(), + ) + .await?; + + let mod_menu_path = profile::add_project_from_version( + &profile_path, + "gSoPJyVn".to_string(), + ) + .await?; + + println!("Disabling sodium"); + profile::toggle_disable_project(&profile_path, &sodium_path).await?; + + profile::remove_project(&profile_path, &mod_menu_path).await?; + // let profile_path = + // pack::install_pack_from_version_id("KxUUUFh5".to_string()) + // .await + // .unwrap(); // async closure for testing any desired edits // (ie: changing the java runtime of an added profile) - // println!("Editing."); + println!("Editing."); profile::edit(&profile_path, |_profile| { // Eg: Java- this would let you change the java runtime of the profile instead of using the default // use theseus::prelude::jre::JAVA__KEY; @@ -72,6 +105,7 @@ async fn main() -> theseus::Result<()> { authenticate_run().await?; // could take credentials from here direct, but also deposited in state users } + println!("running"); // Run a profile, running minecraft and store the RwLock to the process let proc_lock = profile::run(&canonicalize(&profile_path)?).await?; From b120b5cfa857a8a5de2dcf68f5e422301078c0d4 Mon Sep 17 00:00:00 2001 From: Wyatt Verchere Date: Sun, 16 Apr 2023 10:12:37 -0700 Subject: [PATCH 086/231] Event handling (#75) * working on amcros * fleshed out draft * added feature support * finished loading * Fixed issue with multiple data types in macro * Working, and added more loading uses * added window scopes * clippy, fmt * working other variants * fmt; clippy * prettier * refactored emissions to use increment * fixed deadlock * doc changes * clippy, prettier * uuid change * restructured events to util * loading restructure * merge fixes * comments mistake * better cfg tauri feature structuring * added extra fields to some loading enum variants * removed Option<> * added pack + version labels * doc change --- Cargo.lock | 2 + theseus/Cargo.toml | 3 + theseus/src/api/jre.rs | 2 +- theseus/src/api/pack.rs | 41 +- theseus/src/api/profile.rs | 32 +- theseus/src/api/profile_create.rs | 18 +- theseus/src/error.rs | 3 + theseus/src/event/emit.rs | 327 ++ theseus/src/event/mod.rs | 157 + theseus/src/launcher/download.rs | 48 +- theseus/src/launcher/mod.rs | 4 +- theseus/src/lib.rs | 2 + theseus/src/state/children.rs | 21 +- theseus/src/state/mod.rs | 29 +- theseus/src/state/profiles.rs | 41 +- theseus/src/state/tags.rs | 99 +- theseus_gui/package-lock.json | 2689 +++++++++++++++++ theseus_gui/src-tauri/Cargo.toml | 2 +- .../src-tauri/src/api/profile_create.rs | 1 - theseus_gui/src-tauri/src/main.rs | 3 +- theseus_gui/src/helpers/events.js | 80 + theseus_playground/src/main.rs | 17 +- 22 files changed, 3519 insertions(+), 102 deletions(-) create mode 100644 theseus/src/event/emit.rs create mode 100644 theseus/src/event/mod.rs create mode 100644 theseus_gui/package-lock.json create mode 100644 theseus_gui/src/helpers/events.js diff --git a/Cargo.lock b/Cargo.lock index f7bda7d7b..79924ba91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3537,6 +3537,7 @@ dependencies = [ "futures", "lazy_static", "log", + "paste", "regex", "reqwest", "serde", @@ -3545,6 +3546,7 @@ dependencies = [ "sha2 0.9.9", "sled", "sys-info", + "tauri", "thiserror", "tokio", "tokio-stream", diff --git a/theseus/Cargo.toml b/theseus/Cargo.toml index 4cde70b51..5c1e28c0e 100644 --- a/theseus/Cargo.toml +++ b/theseus/Cargo.toml @@ -31,6 +31,8 @@ thiserror = "1.0" tracing = "0.1" tracing-error = "0.2" +tauri = { version = "1.2", optional = true} +paste = { version = "1.0", optional = true} async-tungstenite = { version = "0.20.0", features = ["tokio-runtime", "tokio-native-tls"] } futures = "0.3" @@ -45,3 +47,4 @@ dunce = "1.0.3" winreg = "0.11.0" [features] +tauri = ["dep:tauri", "dep:paste"] \ No newline at end of file diff --git a/theseus/src/api/jre.rs b/theseus/src/api/jre.rs index 21af1f6ec..428104f6a 100644 --- a/theseus/src/api/jre.rs +++ b/theseus/src/api/jre.rs @@ -45,7 +45,7 @@ pub async fn get_optimal_jre_key(profile: &Profile) -> crate::Result { .minecraft .versions .iter() - .find(|it| it.id == profile.metadata.game_version.as_ref()) + .find(|it| it.id == profile.metadata.game_version) .ok_or_else(|| { crate::ErrorKind::LauncherError(format!( "Invalid or unknown Minecraft version: {}", diff --git a/theseus/src/api/pack.rs b/theseus/src/api/pack.rs index 9fbd534a0..121d76ccd 100644 --- a/theseus/src/api/pack.rs +++ b/theseus/src/api/pack.rs @@ -1,12 +1,13 @@ use crate::config::MODRINTH_API_URL; use crate::data::ModLoader; +use crate::event::emit::{init_loading, loading_try_for_each_concurrent}; +use crate::event::LoadingBarType; use crate::state::{ModrinthProject, ModrinthVersion, SideType}; use crate::util::fetch::{ fetch, fetch_json, fetch_mirrors, write, write_cached_icon, }; use crate::State; use async_zip::tokio::read::seek::ZipFileReader; -use futures::TryStreamExt; use reqwest::Method; use serde::{Deserialize, Serialize}; use std::collections::HashMap; @@ -133,19 +134,20 @@ pub async fn install_pack_from_version_id( None }; - install_pack(file, icon, Some(version.project_id)).await + install_pack(file, icon, Some(version.project_id), Some(version.id)).await } pub async fn install_pack_from_file(path: PathBuf) -> crate::Result { let file = fs::read(path).await?; - install_pack(bytes::Bytes::from(file), None, None).await + install_pack(bytes::Bytes::from(file), None, None, None).await } async fn install_pack( file: bytes::Bytes, icon: Option, project_id: Option, + version_id: Option, ) -> crate::Result { let state = &State::get().await?; @@ -215,22 +217,39 @@ async fn install_pack( .into()); }; + let pack_name = pack.name.clone(); let profile = crate::api::profile_create::profile_create( pack.name, game_version.clone(), mod_loader.unwrap_or(ModLoader::Vanilla), loader_version, icon, - project_id, + project_id.clone(), ) .await?; + let loading_bar = init_loading( + LoadingBarType::PackDownload { + pack_name , + pack_id: project_id, + pack_version: version_id, + }, + 100.0, + "Downloading modpack...", + ) + .await?; + let num_files = pack.files.len(); use futures::StreamExt; - futures::stream::iter(pack.files.into_iter()) - .map(Ok::) - .try_for_each_concurrent(None, |project| { + loading_try_for_each_concurrent( + futures::stream::iter(pack.files.into_iter()) + .map(Ok::), + None, + Some(&loading_bar), + 100.0, + num_files, + None, + |project| { let profile = profile.clone(); - async move { //TODO: Future update: prompt user for optional files in a modpack if let Some(env) = project.env { @@ -266,11 +285,11 @@ async fn install_pack( _ => {} }; } - Ok(()) } - }) - .await?; + }, + ) + .await?; let extract_overrides = |overrides: String| async { let reader = Cursor::new(&file); diff --git a/theseus/src/api/profile.rs b/theseus/src/api/profile.rs index 64d4a605c..67293fcf0 100644 --- a/theseus/src/api/profile.rs +++ b/theseus/src/api/profile.rs @@ -1,6 +1,7 @@ //! Theseus profile management interface use crate::{ auth::{self, refresh}, + event::{emit::emit_profile, ProfilePayloadType}, launcher::download, state::MinecraftChild, }; @@ -20,6 +21,17 @@ use tokio::{fs, process::Command, sync::RwLock}; pub async fn remove(path: &Path) -> crate::Result<()> { let state = State::get().await?; let mut profiles = state.profiles.write().await; + + if let Some(profile) = profiles.0.get(path) { + emit_profile( + profile.uuid, + profile.path.clone(), + &profile.metadata.name, + ProfilePayloadType::Removed, + ) + .await?; + } + profiles.remove(path).await?; Ok(()) @@ -46,7 +58,17 @@ where let mut profiles = state.profiles.write().await; match profiles.0.get_mut(path) { - Some(ref mut profile) => action(profile).await, + Some(ref mut profile) => { + emit_profile( + profile.uuid, + profile.path.clone(), + &profile.metadata.name, + ProfilePayloadType::Edited, + ) + .await?; + + action(profile).await + } None => Err(crate::ErrorKind::UnmanagedProfileError( path.display().to_string(), ) @@ -219,7 +241,7 @@ pub async fn run_credentials( .minecraft .versions .iter() - .find(|it| it.id == profile.metadata.game_version.as_ref()) + .find(|it| it.id == profile.metadata.game_version) .ok_or_else(|| { crate::ErrorKind::LauncherError(format!( "Invalid or unknown Minecraft version: {}", @@ -325,6 +347,7 @@ pub async fn run_credentials( &memory, &resolution, credentials, + &profile, ) .await?; @@ -335,8 +358,9 @@ pub async fn run_credentials( "Process failed to stay open.".to_string(), ) })?; - let mchild_arc = - state_children.insert_process(pid, path.to_path_buf(), mc_process); + let mchild_arc = state_children + .insert_process(pid, path.to_path_buf(), mc_process) + .await?; Ok(mchild_arc) } diff --git a/theseus/src/api/profile_create.rs b/theseus/src/api/profile_create.rs index 3c5663406..baeb5f405 100644 --- a/theseus/src/api/profile_create.rs +++ b/theseus/src/api/profile_create.rs @@ -1,5 +1,9 @@ //! Theseus profile management interface -use crate::{jre, prelude::ModLoader}; +use crate::{ + event::{emit::emit_profile, ProfilePayloadType}, + jre, + prelude::ModLoader, +}; pub use crate::{ state::{JavaSettings, Profile}, State, @@ -135,7 +139,8 @@ pub async fn profile_create( // Fully canonicalize now that its created for storing purposes let path = canonicalize(&path)?; - let mut profile = Profile::new(name, game_version, path.clone()).await?; + let mut profile = + Profile::new(uuid, name, game_version, path.clone()).await?; if let Some(ref icon) = icon { let bytes = tokio::fs::read(icon).await?; profile @@ -167,9 +172,16 @@ pub async fn profile_create( println!("Could not detect optimal JRE: {optimal_version_key}, falling back to system default."); } + emit_profile( + uuid, + path.clone(), + &profile.metadata.name, + ProfilePayloadType::Created, + ) + .await?; { let mut profiles = state.profiles.write().await; - profiles.insert(profile)?; + profiles.insert(profile).await?; } State::sync().await?; diff --git a/theseus/src/error.rs b/theseus/src/error.rs index 8d71dbcbc..f295e669c 100644 --- a/theseus/src/error.rs +++ b/theseus/src/error.rs @@ -85,6 +85,9 @@ pub enum ErrorKind { #[error("Error parsing date: {0}")] ChronoParseError(#[from] chrono::ParseError), + #[error("Event error: {0}")] + EventError(#[from] crate::event::EventError), + #[error("Zip error: {0}")] ZipError(#[from] async_zip::error::ZipError), diff --git a/theseus/src/event/emit.rs b/theseus/src/event/emit.rs new file mode 100644 index 000000000..936924a4d --- /dev/null +++ b/theseus/src/event/emit.rs @@ -0,0 +1,327 @@ +use crate::event::{ + EventError, LoadingBar, LoadingBarId, LoadingBarType, ProcessPayloadType, + ProfilePayloadType, +}; +use futures::prelude::*; +use std::path::PathBuf; + +#[cfg(feature = "tauri")] +use crate::event::{ + LoadingPayload, ProcessPayload, ProfilePayload, WarningPayload, +}; +#[cfg(feature = "tauri")] +use tauri::Manager; + +/* + Events are a way we can communciate with the Tauri frontend from the Rust backend. + We include a feature flag for Tauri, so that we can compile this code without Tauri. + + To use events, we need to do the following: + 1) Make sure we are using the tauri feature flag + 2) Initialize the EventState with EventState::init() *before* initializing the theseus State + 3) Call emit_x functions to send events to the frontend + For emit_loading() specifically, we need to inialize the loading bar with init_loading() first and pass the received loader in + + For example: + pub async fn loading_function() -> crate::Result<()> { + loading_function()).await; + } + + pub async fn loading_function() -> crate::Result<()> { + let loading_bar = init_loading(LoadingBarType::StateInit, 100.0, "Loading something long...").await; + for i in 0..100 { + emit_loading(&loading_bar, 1.0, None).await?; + tokio::time::sleep(Duration::from_millis(100)).await; + } + } +*/ + +// Initialize a loading bar for use in emit_loading +// This will generate a LoadingBarId, which is used to refer to the loading bar uniquely. +// total is the total amount of work to be done- all emissions will be considered a fraction of this value (should be 1 or 100 for simplicity) +// default_message is the message to display on the loading bar if no message is passed to emit_loading +pub async fn init_loading( + bar_type: LoadingBarType, + total: f64, + default_message: &str, +) -> crate::Result { + let event_state = crate::EventState::get().await?; + let key = LoadingBarId::new(bar_type); + + event_state.loading_bars.write().await.insert( + key.clone(), + LoadingBar { + loading_bar_id: key.clone(), + message: default_message.to_string(), + total, + current: 0.0, + }, + ); + // attempt an initial loading_emit event to the frontend + emit_loading(&key, 0.0, None).await?; + Ok(key) +} + +// emit_loading emits a loading event to the frontend +// key refers to the loading bar to update +// increment refers to by what relative increment to the loading struct's total to update +// message is the message to display on the loading bar- if None, use the loading bar's default one +// By convention, fraction is the fraction of the progress bar that is filled +#[allow(unused_variables)] +pub async fn emit_loading( + key: &LoadingBarId, + increment_frac: f64, + message: Option<&str>, +) -> crate::Result<()> { + let event_state = crate::EventState::get().await?; + + let mut loading_bar = event_state.loading_bars.write().await; + let loading_bar = match loading_bar.get_mut(key) { + Some(f) => f, + None => { + return Err(EventError::NoLoadingBar(key.clone()).into()); + } + }; + + // Tick up loading bar + loading_bar.current += increment_frac; + let display_frac = loading_bar.current / loading_bar.total; + let display_frac = if display_frac > 1.0 { + None // by convention, when its done, we submit None + // any further updates will be ignored (also sending None) + } else { + Some(display_frac) + }; + // Emit event to tauri + #[cfg(feature = "tauri")] + event_state + .app + .emit_all( + "loading", + LoadingPayload { + fraction: display_frac, + message: message.unwrap_or(&loading_bar.message).to_string(), + event: key.key.clone(), + loader_uuid: key.uuid, + }, + ) + .map_err(EventError::from)?; + Ok(()) +} + +// emit_warning(message) +#[allow(dead_code)] +#[allow(unused_variables)] +pub async fn emit_warning(message: &str) -> crate::Result<()> { + #[cfg(feature = "tauri")] + { + let event_state = crate::EventState::get().await?; + event_state + .app + .emit_all( + "warning", + WarningPayload { + message: message.to_string(), + }, + ) + .map_err(EventError::from)?; + } + Ok(()) +} + +// emit_process(pid, event, message) +#[allow(unused_variables)] +pub async fn emit_process( + uuid: uuid::Uuid, + pid: u32, + event: ProcessPayloadType, + message: &str, +) -> crate::Result<()> { + #[cfg(feature = "tauri")] + { + let event_state = crate::EventState::get().await?; + event_state + .app + .emit_all( + "process", + ProcessPayload { + uuid, + pid, + event, + message: message.to_string(), + }, + ) + .map_err(EventError::from)?; + } + Ok(()) +} + +// emit_profile(path, event) +#[allow(unused_variables)] +pub async fn emit_profile( + uuid: uuid::Uuid, + path: PathBuf, + name: &str, + event: ProfilePayloadType, +) -> crate::Result<()> { + #[cfg(feature = "tauri")] + { + let event_state = crate::EventState::get().await?; + event_state + .app + .emit_all( + "profile", + ProfilePayload { + uuid, + path, + name: name.to_string(), + event, + }, + ) + .map_err(EventError::from)?; + } + Ok(()) +} + +// loading_join! macro +// loading_join!(key: Option<&LoadingBarId>, total: f64, message: Option<&str>; task1, task2, task3...) +// This will submit a loading event with the given message for each task as they complete +// task1, task2, task3 are async tasks that yuo want to to join on await on +// Key is the key to use for which loading bar to submit these results to- a LoadingBarId. If None, it does nothing +// Total is the total amount of progress that the loading bar should take up by all futures in this (will be split evenly amongst them). +// If message is Some(t) you will overwrite this loading bar's message with a custom one +// For example, if you want the tasks to range as 0.1, 0.2, 0.3 (of the progress bar), you would do: +// loading_join!(loading_bar, 0.1; task1, task2, task3) +// This will await on each of the tasks, and as each completes, it will emit a loading event for 0.033, 0.066, 0.099, etc +// This should function as a drop-in replacement for tokio::try_join_all! in most cases- except the function *itself* calls ? rather than needing it. +#[cfg(feature = "tauri")] +#[macro_export] +macro_rules! loading_join { + ($key:expr, $total:expr, $message:expr; $($future:expr $(,)?)+) => {{ + let mut num_futures = 0; + $( + { + let _ = &$future; // useless to allow matching to $future + num_futures += 1; + } + )* + let increment = $total / num_futures as f64; + + // Create tokio::pinned values + $( + paste::paste! { + tokio::pin! { + let [] = $future; + } + } + )* + $( + paste::paste! { + let mut [] = None; + } + )* + + // Resolve each future and call respective loading as each resolves in any order + for _ in 0..num_futures { + paste::paste! { + tokio::select! { + $( + v = &mut [], if ![].is_some() => { + if let Some(key) = $key { + $crate::event::emit::emit_loading(key, increment, $message).await?; + } + [] = Some(v); + }, + )* + else => break, + } + } + } + + // Extract values out of option, then out of error, returning if any errors happened + $( + paste::paste! { + let [] = [].take().unwrap()?; // unwrap here acceptable as numbers of futures and resolved values is guaranteed to be the same + } + )* + + paste::paste!{ + ($( + [], // unwrap here acceptable as numbers of futures and resolved values is guaranteed to be the same + )+) + } + }}; +} + +#[cfg(not(feature = "tauri"))] +#[macro_export] +macro_rules! loading_join { + ($start:expr, $end:expr, $message:expr; $($future:expr $(,)?)+) => {{ + tokio::try_join!($($future),+)? + }}; +} + +// A drop in replacement to try_for_each_concurrent that emits loading events as it goes +// Key is the key to use for which loading bar- a LoadingBarId. If None, does nothing +// Total is the total amount of progress that the loading bar should take up by all futures in this (will be split evenly amongst them). +// If message is Some(t) you will overwrite this loading bar's message with a custom one +// num_futs is the number of futures that will be run, which is needed as we allow Iterator to be passed in, which doesn't have a size +#[cfg(feature = "tauri")] +pub async fn loading_try_for_each_concurrent( + stream: I, + limit: Option, + key: Option<&LoadingBarId>, + total: f64, + num_futs: usize, // num is in here as we allow Iterator to be passed in, which doesn't have a size + message: Option<&str>, + f: F, +) -> crate::Result<()> +where + I: futures::TryStreamExt + TryStream, + F: FnMut(T) -> Fut + Send, + Fut: Future> + Send, + T: Send, +{ + let mut f = f; + stream + .try_for_each_concurrent(limit, |item| { + let f = f(item); + async move { + f.await?; + if let Some(key) = key { + emit_loading(key, total / (num_futs as f64), message) + .await?; + } + Ok(()) + } + }) + .await +} + +#[cfg(not(feature = "tauri"))] +pub async fn loading_try_for_each_concurrent( + stream: I, + limit: Option, + _key: Option<&LoadingBarId>, + _total: f64, + _num_futs: usize, // num is in here as we allow Iterator to be passed in, which doesn't have a size + _message: Option<&str>, + f: F, +) -> crate::Result<()> +where + I: futures::TryStreamExt + TryStream, + F: FnMut(T) -> Fut + Send, + Fut: Future> + Send, + T: Send, +{ + let mut f = f; + stream + .try_for_each_concurrent(limit, |item| { + let f = f(item); + async move { + f.await?; + Ok(()) + } + }) + .await +} diff --git a/theseus/src/event/mod.rs b/theseus/src/event/mod.rs new file mode 100644 index 000000000..4340d3f2d --- /dev/null +++ b/theseus/src/event/mod.rs @@ -0,0 +1,157 @@ +//! Theseus state management system +use serde::{Deserialize, Serialize}; +use std::{collections::HashMap, fmt, path::PathBuf, sync::Arc}; +use tokio::sync::OnceCell; +use tokio::sync::RwLock; +use uuid::Uuid; + +pub mod emit; + +// Global event state +// Stores the Tauri app handle and other event-related state variables +static EVENT_STATE: OnceCell> = OnceCell::const_new(); +pub struct EventState { + /// Tauri app + #[cfg(feature = "tauri")] + pub app: tauri::AppHandle, + pub loading_bars: RwLock>, +} + +impl EventState { + #[cfg(feature = "tauri")] + pub async fn init(app: tauri::AppHandle) -> crate::Result> { + EVENT_STATE + .get_or_try_init(|| async { + Ok(Arc::new(Self { + app, + loading_bars: RwLock::new(HashMap::new()), + })) + }) + .await + .map(Arc::clone) + } + + #[cfg(not(feature = "tauri"))] + pub async fn init() -> crate::Result> { + EVENT_STATE + .get_or_try_init(|| async { + Ok(Arc::new(Self { + loading_bars: RwLock::new(HashMap::new()), + })) + }) + .await + .map(Arc::clone) + } + + #[cfg(feature = "tauri")] + pub async fn get() -> crate::Result> { + Ok(EVENT_STATE.get().ok_or(EventError::NotInitialized)?.clone()) + } + + // Initialization requires no app handle in non-tauri mode, so we can just use the same function + #[cfg(not(feature = "tauri"))] + pub async fn get() -> crate::Result> { + Self::init().await + } +} + +#[derive(Debug, Clone)] +pub struct LoadingBar { + pub loading_bar_id: LoadingBarId, + pub message: String, + pub total: f64, + pub current: f64, +} + +// Loading Bar Id lets us uniquely identify loading bars stored in the state +// the uuid lets us identify loading bars across threads +#[derive(Serialize, Deserialize, Clone, Debug, Hash, PartialEq, Eq)] +pub struct LoadingBarId { + pub key: LoadingBarType, + pub uuid: Uuid, +} + +impl LoadingBarId { + pub fn new(key: LoadingBarType) -> Self { + Self { + key, + uuid: Uuid::new_v4(), + } + } +} + +impl fmt::Display for LoadingBarId { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + write!(f, "{:?}-{}", self.key, self.uuid) + } +} + +#[derive(Serialize, Deserialize, Clone, Debug, Hash, PartialEq, Eq)] +pub enum LoadingBarType { + StateInit, + PackDownload { + pack_name: String, + pack_id: Option, + pack_version: Option, + }, + MinecraftDownload { + profile_uuid: Uuid, + profile_name: String, + }, + ProfileSync, +} + +#[derive(Serialize, Clone)] +pub struct LoadingPayload { + pub event: LoadingBarType, + pub loader_uuid: Uuid, + pub fraction: Option, // by convention, if optional, it means the loading is done + pub message: String, +} + +#[derive(Serialize, Clone)] +pub struct WarningPayload { + pub message: String, +} + +#[derive(Serialize, Clone)] +pub struct ProcessPayload { + pub uuid: Uuid, // processes in state are going to be identified by UUIDs, as they might change to different processes + pub pid: u32, + pub event: ProcessPayloadType, + pub message: String, +} +#[derive(Serialize, Clone)] +pub enum ProcessPayloadType { + Launched, + // Finishing, // TODO: process restructing incoming, currently this is never emitted + // Finished, // TODO: process restructing incoming, currently this is never emitted +} + +#[derive(Serialize, Clone)] +pub struct ProfilePayload { + pub uuid: Uuid, + pub path: PathBuf, + pub name: String, + pub event: ProfilePayloadType, +} +#[derive(Serialize, Clone)] +pub enum ProfilePayloadType { + Created, + Added, // also triggered when Created + Edited, + Removed, +} + +#[derive(Debug, thiserror::Error)] +pub enum EventError { + #[error("Event state was not properly initialized")] + NotInitialized, + + #[error("Non-existent loading bar of key: {0}")] + NoLoadingBar(LoadingBarId), + + #[cfg(feature = "tauri")] + #[error("Tauri error: {0}")] + TauriError(#[from] tauri::Error), +} diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index a0376895d..4b6834e20 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -1,6 +1,11 @@ //! Downloader for Minecraft data use crate::{ + event::{ + emit::{emit_loading, init_loading, loading_try_for_each_concurrent}, + LoadingBarId, LoadingBarType, + }, + process::Profile, state::State, util::{fetch::*, platform::OsExt}, }; @@ -19,14 +24,25 @@ use tokio::{fs, sync::OnceCell}; pub async fn download_minecraft( st: &State, version: &GameVersionInfo, + profile: &Profile, ) -> crate::Result<()> { log::info!("Downloading Minecraft version {}", version.id); let assets_index = download_assets_index(st, version).await?; + let loading_bar = init_loading( + LoadingBarType::MinecraftDownload { + // If we are downloading minecraft for a profile, provide its name and uuid + profile_name: profile.metadata.name.clone(), + profile_uuid: profile.uuid, + }, + 100.0, + "Downloading Minecraft...", + ) + .await?; tokio::try_join! { - download_client(st, version), - download_assets(st, version.assets == "legacy", &assets_index), - download_libraries(st, version.libraries.as_slice(), &version.id) + download_client(st, version, Some(&loading_bar)), + download_assets(st, version.assets == "legacy", &assets_index, Some(&loading_bar)), + download_libraries(st, version.libraries.as_slice(), &version.id, Some(&loading_bar)) }?; log::info!("Done downloading Minecraft!"); @@ -74,6 +90,7 @@ pub async fn download_version_info( pub async fn download_client( st: &State, version_info: &GameVersionInfo, + loading_bar: Option<&LoadingBarId>, ) -> crate::Result<()> { let version = &version_info.id; log::debug!("Locating client for version {version}"); @@ -101,6 +118,9 @@ pub async fn download_client( write(&path, &bytes, &st.io_semaphore).await?; log::info!("Fetched client version {version}"); } + if let Some(loading_bar) = loading_bar { + emit_loading(loading_bar, 20.0, None).await?; + } log::debug!("Client loaded for version {version}!"); Ok(()) @@ -138,11 +158,20 @@ pub async fn download_assets( st: &State, with_legacy: bool, index: &AssetsIndex, + loading_bar: Option<&LoadingBarId>, ) -> crate::Result<()> { log::debug!("Loading assets"); - stream::iter(index.objects.iter()) - .map(Ok::<(&String, &Asset), crate::Error>) - .try_for_each_concurrent(None, |(name, asset)| async move { + let num_futs = index.objects.len(); + let assets = stream::iter(index.objects.iter()) + .map(Ok::<(&String, &Asset), crate::Error>); + + loading_try_for_each_concurrent(assets, + None, + loading_bar, + 50.0, + num_futs, + None, + |(name, asset)| async move { let hash = &asset.hash; let resource_path = st.directories.object_dir(hash); let url = format!( @@ -190,6 +219,7 @@ pub async fn download_libraries( st: &State, libraries: &[Library], version: &str, + loading_bar: Option<&LoadingBarId>, ) -> crate::Result<()> { log::debug!("Loading libraries"); @@ -197,10 +227,10 @@ pub async fn download_libraries( fs::create_dir_all(st.directories.libraries_dir()), fs::create_dir_all(st.directories.version_natives_dir(version)) }?; - + let num_files = libraries.len(); + loading_try_for_each_concurrent( stream::iter(libraries.iter()) - .map(Ok::<&Library, crate::Error>) - .try_for_each_concurrent(None, |library| async move { + .map(Ok::<&Library, crate::Error>), None, loading_bar,50.0,num_files, None,|library| async move { if let Some(rules) = &library.rules { if !rules.iter().all(super::parse_rule) { return Ok(()); diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index a13e4c12f..757b1c0db 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -2,6 +2,7 @@ use crate::{process, state as st}; use daedalus as d; use dunce::canonicalize; +use st::Profile; use std::{path::Path, process::Stdio}; use tokio::process::{Child, Command}; @@ -57,6 +58,7 @@ pub async fn launch_minecraft( memory: &st::MemorySettings, resolution: &st::WindowSize, credentials: &auth::Credentials, + profile: &Profile, // optional ref to Profile for event tracking ) -> crate::Result { let state = st::State::get().await?; let instance_path = &canonicalize(instance_path)?; @@ -88,7 +90,7 @@ pub async fn launch_minecraft( .version_dir(&version_jar) .join(format!("{version_jar}.jar")); - download::download_minecraft(&state, &version_info).await?; + download::download_minecraft(&state, &version_info, profile).await?; st::State::sync().await?; if let Some(processors) = &version_info.processors { diff --git a/theseus/src/lib.rs b/theseus/src/lib.rs index 337eab2fb..0daf2d1c4 100644 --- a/theseus/src/lib.rs +++ b/theseus/src/lib.rs @@ -13,9 +13,11 @@ mod util; mod api; mod config; mod error; +mod event; mod launcher; mod state; pub use api::*; pub use error::*; +pub use event::EventState; pub use state::State; diff --git a/theseus/src/state/children.rs b/theseus/src/state/children.rs index 178fc2bec..2599bd258 100644 --- a/theseus/src/state/children.rs +++ b/theseus/src/state/children.rs @@ -4,6 +4,9 @@ use tokio::io::{AsyncBufReadExt, BufReader}; use tokio::process::{ChildStderr, ChildStdout}; use tokio::sync::RwLock; +use crate::event::emit::emit_process; +use crate::event::ProcessPayloadType; + use super::Profile; // Child processes (instances of Minecraft) @@ -13,6 +16,7 @@ pub struct Children(HashMap>>); // Minecraft Child, bundles together the PID, the actual Child, and the easily queryable stdout and stderr streams #[derive(Debug)] pub struct MinecraftChild { + pub uuid: uuid::Uuid, pub pid: u32, pub profile_path: PathBuf, //todo: make UUID when profiles are recognized by UUID pub child: tokio::process::Child, @@ -28,12 +32,14 @@ impl Children { // Inserts a child process to keep track of, and returns a reference to the container struct MinecraftChild // The threads for stdout and stderr are spawned here // Unlike a Hashmap's 'insert', this directly returns the reference to the Child rather than any previously stored Child that may exist - pub fn insert_process( + pub async fn insert_process( &mut self, pid: u32, profile_path: PathBuf, mut child: tokio::process::Child, - ) -> Arc> { + ) -> crate::Result>> { + let uuid = uuid::Uuid::new_v4(); + // Create std watcher threads for stdout and stderr let stdout = SharedOutput::new(); if let Some(child_stdout) = child.stdout.take() { @@ -54,8 +60,17 @@ impl Children { }); } + emit_process( + uuid, + pid, + ProcessPayloadType::Launched, + "Launched Minecraft", + ) + .await?; + // Create MinecraftChild let mchild = MinecraftChild { + uuid, pid, profile_path, child, @@ -64,7 +79,7 @@ impl Children { }; let mchild = Arc::new(RwLock::new(mchild)); self.0.insert(pid, mchild.clone()); - mchild + Ok(mchild) } // Returns a ref to the child diff --git a/theseus/src/state/mod.rs b/theseus/src/state/mod.rs index 941c83311..31d5fe5af 100644 --- a/theseus/src/state/mod.rs +++ b/theseus/src/state/mod.rs @@ -1,6 +1,12 @@ //! Theseus state management system use crate::config::sled_config; +use crate::event::emit::emit_loading; + +use crate::event::emit::init_loading; +use crate::event::LoadingBarType; use crate::jre; +use crate::loading_join; + use std::sync::Arc; use tokio::sync::{OnceCell, RwLock, Semaphore}; @@ -68,6 +74,8 @@ impl State { LAUNCHER_STATE .get_or_try_init(|| { async { + + let loading_bar = init_loading(LoadingBarType::StateInit, 100.0, "Initializing launcher...").await?; // Directories let directories = DirectoryInfo::init().await?; @@ -77,6 +85,8 @@ impl State { .path(directories.database_file()) .open()?; + emit_loading(&loading_bar, 10.0, None).await?; + // Settings let mut settings = Settings::init(&directories.settings_file()).await?; @@ -87,11 +97,17 @@ impl State { let io_semaphore = RwLock::new(Semaphore::new(io_semaphore_max)); + let metadata_fut = Metadata::init(&database); + let profiles_fut = + Profiles::init(&directories, &io_semaphore); + // Launcher data - let (metadata, profiles) = tokio::try_join! { - Metadata::init(&database), - Profiles::init(&directories, &io_semaphore), - }?; + let (metadata, profiles) = loading_join! { + Some(&loading_bar), 20.0, Some("Initializing metadata and profiles..."); + metadata_fut, profiles_fut + }; + + emit_loading(&loading_bar, 10.0, None).await?; let users = Users::init(&database)?; let children = Children::new(); @@ -101,13 +117,16 @@ impl State { // On launcher initialization, attempt a tag fetch after tags init let mut tags = Tags::init(&database)?; if let Err(tag_fetch_err) = - tags.fetch_update(&io_semaphore).await + tags.fetch_update(&io_semaphore,Some(&loading_bar)).await { tracing::error!( "Failed to fetch tags on launcher init: {}", tag_fetch_err ); }; + + emit_loading(&loading_bar, 10.0, None).await?; + // On launcher initialization, if global java variables are unset, try to find and set them // (they are required for the game to launch) if settings.java_globals.count() == 0 { diff --git a/theseus/src/state/profiles.rs b/theseus/src/state/profiles.rs index f75d7be3e..7d3722cb5 100644 --- a/theseus/src/state/profiles.rs +++ b/theseus/src/state/profiles.rs @@ -1,6 +1,10 @@ use super::settings::{Hooks, MemorySettings, WindowSize}; use crate::config::MODRINTH_API_URL; use crate::data::DirectoryInfo; +use crate::event::emit::{ + emit_profile, init_loading, loading_try_for_each_concurrent, +}; +use crate::event::{LoadingBarType, ProfilePayloadType}; use crate::state::projects::Project; use crate::state::{ModrinthVersion, ProjectType}; use crate::util::fetch::{fetch, fetch_json, write, write_cached_icon}; @@ -17,6 +21,7 @@ use std::{ }; use tokio::sync::Semaphore; use tokio::{fs, sync::RwLock}; +use uuid::Uuid; const PROFILE_JSON_PATH: &str = "profile.json"; @@ -28,6 +33,7 @@ pub const CURRENT_FORMAT_VERSION: u32 = 1; // Represent a Minecraft instance. #[derive(Serialize, Deserialize, Clone, Debug)] pub struct Profile { + pub uuid: Uuid, // todo: will be used in restructure to refer to profiles pub path: PathBuf, pub metadata: ProfileMetadata, #[serde(skip_serializing_if = "Option::is_none")] @@ -90,6 +96,7 @@ pub struct JavaSettings { impl Profile { #[tracing::instrument] pub async fn new( + uuid: Uuid, name: String, version: String, path: PathBuf, @@ -102,6 +109,7 @@ impl Profile { } Ok(Self { + uuid, path: canonicalize(path)?, metadata: ProfileMetadata { name, @@ -368,7 +376,14 @@ impl Profiles { } #[tracing::instrument(skip(self))] - pub fn insert(&mut self, profile: Profile) -> crate::Result<&Self> { + pub async fn insert(&mut self, profile: Profile) -> crate::Result<&Self> { + emit_profile( + profile.uuid, + profile.path.clone(), + &profile.metadata.name, + ProfilePayloadType::Added, + ) + .await?; self.0.insert( canonicalize(&profile.path)? .to_str() @@ -387,6 +402,7 @@ impl Profiles { path: &'a Path, ) -> crate::Result<&Self> { self.insert(Self::read_profile_from_dir(&canonicalize(path)?).await?) + .await } #[tracing::instrument(skip(self))] @@ -404,9 +420,21 @@ impl Profiles { #[tracing::instrument(skip_all)] pub async fn sync(&self) -> crate::Result<&Self> { - stream::iter(self.0.iter()) - .map(Ok::<_, crate::Error>) - .try_for_each_concurrent(None, |(path, profile)| async move { + let loading_bar = init_loading( + LoadingBarType::ProfileSync, + 100.0, + "Syncing profiles...", + ) + .await?; + let num_futs = self.0.len(); + loading_try_for_each_concurrent( + stream::iter(self.0.iter()).map(Ok::<_, crate::Error>), + None, + Some(&loading_bar), + 100.0, + num_futs, + None, + |(path, profile)| async move { let json = serde_json::to_vec(&profile)?; let json_path = Path::new(&path.to_string_lossy().to_string()) @@ -414,8 +442,9 @@ impl Profiles { fs::write(json_path, json).await?; Ok::<_, crate::Error>(()) - }) - .await?; + }, + ) + .await?; Ok(self) } diff --git a/theseus/src/state/tags.rs b/theseus/src/state/tags.rs index be643f10b..346e0ff2c 100644 --- a/theseus/src/state/tags.rs +++ b/theseus/src/state/tags.rs @@ -6,6 +6,8 @@ use serde::{Deserialize, Serialize}; use tokio::sync::{RwLock, Semaphore}; use crate::config::{BINCODE_CONFIG, MODRINTH_API_URL}; +use crate::event::LoadingBarId; +use crate::loading_join; use crate::util::fetch::fetch_json; const CATEGORIES_DB_TREE: &[u8] = b"categories"; @@ -139,6 +141,7 @@ impl Tags { pub async fn fetch_update( &mut self, semaphore: &RwLock, + loading_bar: Option<&LoadingBarId>, ) -> crate::Result<()> { let categories = format!("{MODRINTH_API_URL}tag/category"); let loaders = format!("{MODRINTH_API_URL}tag/loader"); @@ -147,6 +150,50 @@ impl Tags { let donation_platforms = format!("{MODRINTH_API_URL}tag/donation_platform"); let report_types = format!("{MODRINTH_API_URL}tag/report_type"); + + let categories_fut = fetch_json::>( + Method::GET, + &categories, + None, + None, + semaphore, + ); + let loaders_fut = fetch_json::>( + Method::GET, + &loaders, + None, + None, + semaphore, + ); + let game_versions_fut = fetch_json::>( + Method::GET, + &game_versions, + None, + None, + semaphore, + ); + let licenses_fut = fetch_json::>( + Method::GET, + &licenses, + None, + None, + semaphore, + ); + let donation_platforms_fut = fetch_json::>( + Method::GET, + &donation_platforms, + None, + None, + semaphore, + ); + let report_types_fut = fetch_json::>( + Method::GET, + &report_types, + None, + None, + semaphore, + ); + let ( categories, loaders, @@ -154,50 +201,14 @@ impl Tags { licenses, donation_platforms, report_types, - ) = tokio::try_join!( - fetch_json::>( - Method::GET, - &categories, - None, - None, - semaphore - ), - fetch_json::>( - Method::GET, - &loaders, - None, - None, - semaphore - ), - fetch_json::>( - Method::GET, - &game_versions, - None, - None, - semaphore - ), - fetch_json::>( - Method::GET, - &licenses, - None, - None, - semaphore - ), - fetch_json::>( - Method::GET, - &donation_platforms, - None, - None, - semaphore - ), - fetch_json::>( - Method::GET, - &report_types, - None, - None, - semaphore - ), - )?; + ) = loading_join!(loading_bar, 0.5, None; + categories_fut, + loaders_fut, + game_versions_fut, + licenses_fut, + donation_platforms_fut, + report_types_fut + ); // Store the tags in the database self.0.categories.insert( diff --git a/theseus_gui/package-lock.json b/theseus_gui/package-lock.json new file mode 100644 index 000000000..67e97f34a --- /dev/null +++ b/theseus_gui/package-lock.json @@ -0,0 +1,2689 @@ +{ + "name": "theseus_gui", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "theseus_gui", + "version": "0.0.0", + "dependencies": { + "@tauri-apps/api": "^1.2.0", + "dayjs": "^1.11.7", + "ofetch": "^1.0.1", + "omorphia": "^0.4.4", + "pinia": "^2.0.33", + "vite-svg-loader": "^4.0.0", + "vue": "^3.2.45", + "vue-multiselect": "^3.0.0-alpha.2", + "vue-router": "4" + }, + "devDependencies": { + "@rollup/plugin-alias": "^4.0.3", + "@tauri-apps/cli": "^1.2.2", + "@vitejs/plugin-vue": "^4.0.0", + "eslint": "^8.35.0", + "eslint-config-prettier": "^8.6.0", + "eslint-plugin-vue": "^9.9.0", + "prettier": "^2.8.7", + "sass": "^1.58.3", + "vite": "^4.0.0", + "vite-plugin-eslint": "^1.8.1" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", + "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", + "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", + "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.1", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", + "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@floating-ui/core": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", + "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==", + "license": "MIT" + }, + "node_modules/@floating-ui/dom": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz", + "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^0.3.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@rollup/plugin-alias": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-4.0.4.tgz", + "integrity": "sha512-0CaAY238SMtYAWEXXptWSR8iz8NYZnH7zNBKuJ14xFJSGwLtPgjvXYsoApAHfzYXXH1ejxpVw7WlHss3zhh9SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "slash": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@tauri-apps/api": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz", + "integrity": "sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==", + "license": "Apache-2.0 OR MIT", + "engines": { + "node": ">= 14.6.0", + "npm": ">= 6.6.0", + "yarn": ">= 1.19.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.2.3.tgz", + "integrity": "sha512-erxtXuPhMEGJPBtnhPILD4AjuT81GZsraqpFvXAmEJZ2p8P6t7MVBifCL8LznRknznM3jn90D3M8RNBP3wcXTw==", + "dev": true, + "license": "Apache-2.0 OR MIT", + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "1.2.3", + "@tauri-apps/cli-darwin-x64": "1.2.3", + "@tauri-apps/cli-linux-arm-gnueabihf": "1.2.3", + "@tauri-apps/cli-linux-arm64-gnu": "1.2.3", + "@tauri-apps/cli-linux-arm64-musl": "1.2.3", + "@tauri-apps/cli-linux-x64-gnu": "1.2.3", + "@tauri-apps/cli-linux-x64-musl": "1.2.3", + "@tauri-apps/cli-win32-ia32-msvc": "1.2.3", + "@tauri-apps/cli-win32-x64-msvc": "1.2.3" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.2.3.tgz", + "integrity": "sha512-ZMz1jxEVe0B4/7NJnlPHmwmSIuwiD6ViXKs8F+OWWz2Y4jn5TGxWKFg7DLx5OwQTRvEIZxxT7lXHi5CuTNAxKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.2.3.tgz", + "integrity": "sha512-B/az59EjJhdbZDzawEVox0LQu2ZHCZlk8rJf85AMIktIUoAZPFbwyiUv7/zjzA/sY6Nb58OSJgaPL2/IBy7E0A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz", + "integrity": "sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", + "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", + "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", + "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-ssr": "3.2.47", + "@vue/reactivity-transform": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", + "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", + "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", + "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/reactivity-transform": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", + "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.47", + "@vue/shared": "3.2.47", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", + "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", + "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", + "license": "MIT", + "dependencies": { + "@vue/runtime-core": "3.2.47", + "@vue/shared": "3.2.47", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", + "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.2.47", + "@vue/shared": "3.2.47" + }, + "peerDependencies": { + "vue": "3.2.47" + } + }, + "node_modules/@vue/shared": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", + "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0" + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssfilter": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", + "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", + "license": "MIT" + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/destr": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", + "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==", + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", + "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", + "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.1" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/entities": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", + "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/esbuild": { + "version": "0.17.15", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", + "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.15", + "@esbuild/android-arm64": "0.17.15", + "@esbuild/android-x64": "0.17.15", + "@esbuild/darwin-arm64": "0.17.15", + "@esbuild/darwin-x64": "0.17.15", + "@esbuild/freebsd-arm64": "0.17.15", + "@esbuild/freebsd-x64": "0.17.15", + "@esbuild/linux-arm": "0.17.15", + "@esbuild/linux-arm64": "0.17.15", + "@esbuild/linux-ia32": "0.17.15", + "@esbuild/linux-loong64": "0.17.15", + "@esbuild/linux-mips64el": "0.17.15", + "@esbuild/linux-ppc64": "0.17.15", + "@esbuild/linux-riscv64": "0.17.15", + "@esbuild/linux-s390x": "0.17.15", + "@esbuild/linux-x64": "0.17.15", + "@esbuild/netbsd-x64": "0.17.15", + "@esbuild/openbsd-x64": "0.17.15", + "@esbuild/sunos-x64": "0.17.15", + "@esbuild/win32-arm64": "0.17.15", + "@esbuild/win32-ia32": "0.17.15", + "@esbuild/win32-x64": "0.17.15" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.37.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "9.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.10.0.tgz", + "integrity": "sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.3.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^9.0.1", + "xml-name-validator": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", + "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/floating-vue": { + "version": "2.0.0-beta.20", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.20.tgz", + "integrity": "sha512-N68otcpp6WwcYC7zP8GeJqNZVdfvS7tEY88lwmuAHeqRgnfWx1Un8enzLxROyVnBDZ3TwUoUdj5IFg+bUT7JeA==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^0.1.10", + "vue-resize": "^2.0.0-alpha.1" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/highlight.js": { + "version": "11.7.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.7.0.tgz", + "integrity": "sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true, + "license": "MIT" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/linkify-it": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", + "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "license": "MIT", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/markdown-it": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", + "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~3.0.1", + "linkify-it": "^4.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "license": "CC0-1.0" + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "license": "MIT" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-fetch-native": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.1.0.tgz", + "integrity": "sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==", + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/ofetch": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.0.1.tgz", + "integrity": "sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==", + "license": "MIT", + "dependencies": { + "destr": "^1.2.2", + "node-fetch-native": "^1.0.2", + "ufo": "^1.1.0" + } + }, + "node_modules/omorphia": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/omorphia/-/omorphia-0.4.4.tgz", + "integrity": "sha512-HnIZahQVQmH6kHPzeb5iQTzgPhWu8VUwgNnCIUzWhudFqgB32NNUHNQW3seHgM8pmLSeIA3/2fjqkTrzK9EQvw==", + "dependencies": { + "dayjs": "^1.11.7", + "floating-vue": "^2.0.0-beta.20", + "highlight.js": "^11.7.0", + "markdown-it": "^13.0.1", + "vue": "^3.2.45", + "vue-router": "^4.1.6", + "vue-select": "^4.0.0-beta.6", + "xss": "^1.0.14" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "2.0.34", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.34.tgz", + "integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": "*" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "@vue/composition-api": "^1.4.0", + "typescript": ">=4.4.4", + "vue": "^2.6.14 || ^3.2.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", + "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", + "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sass": { + "version": "1.61.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.61.0.tgz", + "integrity": "sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "license": "MIT" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", + "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.2.1", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "license": "MIT" + }, + "node_modules/ufo": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", + "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vite": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", + "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.18.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-eslint": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", + "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", + "dev": true, + "license": "MIT", + "dependencies": { + "@rollup/pluginutils": "^4.2.1", + "@types/eslint": "^8.4.5", + "rollup": "^2.77.2" + }, + "peerDependencies": { + "eslint": ">=7", + "vite": ">=2" + } + }, + "node_modules/vite-svg-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-4.0.0.tgz", + "integrity": "sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-sfc": "^3.2.20", + "svgo": "^3.0.2" + } + }, + "node_modules/vite/node_modules/rollup": { + "version": "3.20.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", + "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", + "dev": true, + "license": "MIT", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/vue": { + "version": "3.2.47", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", + "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.2.47", + "@vue/compiler-sfc": "3.2.47", + "@vue/runtime-dom": "3.2.47", + "@vue/server-renderer": "3.2.47", + "@vue/shared": "3.2.47" + } + }, + "node_modules/vue-demi": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", + "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.1.tgz", + "integrity": "sha512-C2aI/r85Q6tYcz4dpgvrs4wH/MqVrRAVIdpYedrxnATDHHkb+TroeRcDpKWGZCx/OcECMWfz7tVwQ8e+Opy6rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-multiselect": { + "version": "3.0.0-beta.1", + "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.1.tgz", + "integrity": "sha512-V+jpydtjyHcQ+yjHsEWEBrDAopOx/pufNkSAXNVDAGQ+ESDEJ7wYejNd9H1RiCnFOYK4yf1XSGqE+Mp3HJXmdg==", + "license": "MIT", + "engines": { + "node": ">= 4.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/vue-resize": { + "version": "2.0.0-alpha.1", + "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", + "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.0" + } + }, + "node_modules/vue-router": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", + "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.4.5" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/vue-select": { + "version": "4.0.0-beta.6", + "resolved": "https://registry.npmjs.org/vue-select/-/vue-select-4.0.0-beta.6.tgz", + "integrity": "sha512-K+zrNBSpwMPhAxYLTCl56gaMrWZGgayoWCLqe5rWwkB8aUbAUh7u6sXjIR7v4ckp2WKC7zEEUY27g6h1MRsIHw==", + "license": "MIT", + "peerDependencies": { + "vue": "3.x" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12" + } + }, + "node_modules/xss": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", + "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", + "license": "MIT", + "dependencies": { + "commander": "^2.20.3", + "cssfilter": "0.0.10" + }, + "bin": { + "xss": "bin/xss" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/theseus_gui/src-tauri/Cargo.toml b/theseus_gui/src-tauri/Cargo.toml index 622a8bd48..fa64f6a33 100644 --- a/theseus_gui/src-tauri/Cargo.toml +++ b/theseus_gui/src-tauri/Cargo.toml @@ -15,7 +15,7 @@ tauri-build = { version = "1.2", features = [] } regex = "1.5" [dependencies] -theseus = { path = "../../theseus" } +theseus = { path = "../../theseus", features = ["tauri"] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } diff --git a/theseus_gui/src-tauri/src/api/profile_create.rs b/theseus_gui/src-tauri/src/api/profile_create.rs index e38586136..f2a4f2e67 100644 --- a/theseus_gui/src-tauri/src/api/profile_create.rs +++ b/theseus_gui/src-tauri/src/api/profile_create.rs @@ -7,7 +7,6 @@ use theseus::prelude::*; #[tauri::command] pub async fn profile_create_empty() -> Result { let res = profile_create::profile_create_empty().await?; - State::sync().await?; Ok(res) } diff --git a/theseus_gui/src-tauri/src/main.rs b/theseus_gui/src-tauri/src/main.rs index 4b03439be..704190434 100644 --- a/theseus_gui/src-tauri/src/main.rs +++ b/theseus_gui/src-tauri/src/main.rs @@ -9,7 +9,8 @@ mod api; // Should be called in launcher initialization #[tauri::command] -async fn initialize_state() -> api::Result<()> { +async fn initialize_state(app: tauri::AppHandle) -> api::Result<()> { + theseus::EventState::init(app).await?; State::get().await?; Ok(()) } diff --git a/theseus_gui/src/helpers/events.js b/theseus_gui/src/helpers/events.js new file mode 100644 index 000000000..b166d0922 --- /dev/null +++ b/theseus_gui/src/helpers/events.js @@ -0,0 +1,80 @@ +/* + Event listeners for interacting with the Rust api + These are all async functions that return a promise that resolves to the payload object (whatever Rust is trying to deliver) +*/ + +/* + callback is a function that takes a single argument, which is the payload object (whatever Rust is trying to deliver) + + You can call these to await any kind of emitted signal from Rust, and then do something with the payload object + An example place to put this is at the start of main.js before the state is initialized- that way + you can listen for any emitted signal from Rust and do something with it as the state is being initialized + + Example: + import { loading_listener } from '@/helpers/events' + await loading_listener((event) => { + // event.event is the event name (useful if you want to use a single callback fn for multiple event types) + // event.payload is the payload object + console.log(event) + }) + + Putting that in a script will print any emitted signal from rust +*/ +import { listen } from '@tauri-apps/api/event' + +/// Payload for the 'loading' event +/* + LoadingPayload { + event: "StateInit", "PackDownload", etc + - Certain states have additional fields: + - PackDownload: { + pack_name: name of the pack + pack_id, optional, the id of the modpack + pack_version, optional, the version of the modpack + - MinecraftDownload: { + profile_name: name of the profile + profile_uuid: unique identification of the profile + loader_uuid: unique identification of the loading bar + fraction: number, (as a fraction of 1, how much we'vel oaded so far). If null, by convention, loading is finished + message: message to display to the user + } +*/ +export async function loading_listener(callback) { + return await listen('loading', (event) => callback(event.payload)) +} + +/// Payload for the 'process' event +/* + ProcessPayload { + uuid: unique identification of the process in the state (currently identified by PID, but that will change) + pid: process ID + event: event type ("Launched", "Finished") + message: message to display to the user + } +*/ +export async function process_listener(callback) { + return await listen('process', (event) => callback(event.payload)) +} + +/// Payload for the 'profile' event +/* + ProfilePayload { + uuid: unique identification of the process in the state (currently identified by path, but that will change) + name: name of the profile + path: path to profile + event: event type ("Created", "Added", "Edited", "Removed") + } +*/ +export async function profile_listener(callback) { + return await listen('profile', (event) => callback(event.payload)) +} + +/// Payload for the 'warning' event +/* + WarningPayload { + message: message to display to the user + } +*/ +export async function warning_listener(callback) { + return await listen('warning', (event) => callback(event.payload)) +} diff --git a/theseus_playground/src/main.rs b/theseus_playground/src/main.rs index a576acc34..4eaf86d51 100644 --- a/theseus_playground/src/main.rs +++ b/theseus_playground/src/main.rs @@ -118,23 +118,16 @@ async fn main() -> theseus::Result<()> { println!("Minecraft PID: {}", pid); // Wait 5 seconds - println!("Waiting 20 seconds to gather logs..."); - sleep(Duration::from_secs(20)).await; - let stdout = process::get_stdout_by_pid(pid).await?; - println!("Logs after 5sec <<< {stdout} >>> end stdout"); + println!("Waiting 5 seconds to gather logs..."); + sleep(Duration::from_secs(5)).await; + let _stdout = process::get_stdout_by_pid(pid).await?; + let _stderr = process::get_stderr_by_pid(pid).await?; + // println!("Logs after 5sec <<< {stdout} >>> end stdout"); - println!( - "All running process PIDs {:?}", - process::get_all_running_pids().await? - ); println!( "All running process paths {:?}", process::get_all_running_profile_paths().await? ); - println!( - "All running process profiles {:?}", - process::get_all_running_profiles().await? - ); // hold the lock to the process until it ends println!("Waiting for process to end..."); From 9f40640ed84190c71960d546fee5e164d7dcb595 Mon Sep 17 00:00:00 2001 From: Wyatt Verchere Date: Mon, 17 Apr 2023 12:40:27 -0700 Subject: [PATCH 087/231] String settings hooks (#82) * added theme; env change * began refactoring * added process hook * now singular string for each hook * fixed splitting by comma to by space * profile_create function updated * prettier * added jre validator * restructured so that it doesnt look like a vec * fixed merge issue * snake case * resolved merge issues + added process events * clippy, fmt * removed unnecssary func --- Cargo.lock | 79 ++++++++++++ theseus/src/api/jre.rs | 7 ++ theseus/src/api/mod.rs | 2 +- theseus/src/api/pack.rs | 4 +- theseus/src/api/process.rs | 86 +++++++------ theseus/src/api/profile.rs | 33 +++-- theseus/src/event/emit.rs | 2 +- theseus/src/event/mod.rs | 8 +- theseus/src/launcher/download.rs | 2 +- theseus/src/launcher/mod.rs | 37 +++--- theseus/src/state/children.rs | 146 +++++++++++++++++----- theseus/src/state/settings.rs | 21 +++- theseus_gui/src-tauri/Cargo.toml | 2 +- theseus_gui/src-tauri/src/api/jre.rs | 9 +- theseus_gui/src-tauri/src/api/mod.rs | 4 + theseus_gui/src-tauri/src/api/process.rs | 59 ++++----- theseus_gui/src-tauri/src/api/profile.rs | 29 ++--- theseus_gui/src-tauri/src/api/settings.rs | 33 ++++- theseus_gui/src-tauri/src/main.rs | 19 +-- theseus_gui/src/helpers/jre.js | 8 +- theseus_gui/src/helpers/process.js | 42 +++---- theseus_gui/src/helpers/profile.js | 15 ++- theseus_playground/src/main.rs | 36 +++--- 23 files changed, 473 insertions(+), 210 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 79924ba91..20650ec53 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2110,6 +2110,17 @@ dependencies = [ "objc_exception", ] +[[package]] +name = "objc-foundation" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1add1b659e36c9607c7aab864a76c7a4c2760cd0cd2e120f3fb8b952c7e22bf9" +dependencies = [ + "block", + "objc", + "objc_id", +] + [[package]] name = "objc_exception" version = "0.1.2" @@ -2733,6 +2744,30 @@ dependencies = [ "winreg 0.10.1", ] +[[package]] +name = "rfd" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0149778bd99b6959285b0933288206090c50e2327f47a9c463bfdbf45c8823ea" +dependencies = [ + "block", + "dispatch", + "glib-sys", + "gobject-sys", + "gtk-sys", + "js-sys", + "lazy_static", + "log", + "objc", + "objc-foundation", + "objc_id", + "raw-window-handle", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "windows 0.37.0", +] + [[package]] name = "rustc-demangle" version = "0.1.22" @@ -3344,6 +3379,7 @@ dependencies = [ "rand 0.8.5", "raw-window-handle", "regex", + "rfd", "semver", "serde", "serde_json", @@ -4304,6 +4340,19 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" +[[package]] +name = "windows" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57b543186b344cc61c85b5aab0d2e3adf4e0f99bc076eff9aa5927bcc0b8a647" +dependencies = [ + "windows_aarch64_msvc 0.37.0", + "windows_i686_gnu 0.37.0", + "windows_i686_msvc 0.37.0", + "windows_x86_64_gnu 0.37.0", + "windows_x86_64_msvc 0.37.0", +] + [[package]] name = "windows" version = "0.39.0" @@ -4413,6 +4462,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" +[[package]] +name = "windows_aarch64_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2623277cb2d1c216ba3b578c0f3cf9cdebeddb6e66b1b218bb33596ea7769c3a" + [[package]] name = "windows_aarch64_msvc" version = "0.39.0" @@ -4425,6 +4480,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" +[[package]] +name = "windows_i686_gnu" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3925fd0b0b804730d44d4b6278c50f9699703ec49bcd628020f46f4ba07d9e1" + [[package]] name = "windows_i686_gnu" version = "0.39.0" @@ -4437,6 +4498,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" +[[package]] +name = "windows_i686_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ce907ac74fe331b524c1298683efbf598bb031bc84d5e274db2083696d07c57c" + [[package]] name = "windows_i686_msvc" version = "0.39.0" @@ -4449,6 +4516,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" +[[package]] +name = "windows_x86_64_gnu" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2babfba0828f2e6b32457d5341427dcbb577ceef556273229959ac23a10af33d" + [[package]] name = "windows_x86_64_gnu" version = "0.39.0" @@ -4467,6 +4540,12 @@ version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" +[[package]] +name = "windows_x86_64_msvc" +version = "0.37.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f4dd6dc7df2d84cf7b33822ed5b86318fb1781948e9663bacd047fc9dd52259d" + [[package]] name = "windows_x86_64_msvc" version = "0.39.0" diff --git a/theseus/src/api/jre.rs b/theseus/src/api/jre.rs index 428104f6a..ad0b7b1c4 100644 --- a/theseus/src/api/jre.rs +++ b/theseus/src/api/jre.rs @@ -1,4 +1,6 @@ //! Authentication flow interface +use std::path::PathBuf; + use crate::{ launcher::download, prelude::Profile, @@ -139,3 +141,8 @@ pub async fn validate_globals() -> crate::Result { let settings = state.settings.read().await; Ok(settings.java_globals.is_all_valid()) } + +// Validates JRE at a given at a given path +pub async fn check_jre(path: PathBuf) -> crate::Result> { + Ok(jre::check_java_at_filepath(&path)) +} diff --git a/theseus/src/api/mod.rs b/theseus/src/api/mod.rs index de53f69df..dfc29b933 100644 --- a/theseus/src/api/mod.rs +++ b/theseus/src/api/mod.rs @@ -11,7 +11,7 @@ pub mod tags; pub mod data { pub use crate::state::{ DirectoryInfo, Hooks, JavaSettings, MemorySettings, ModLoader, - ProfileMetadata, Settings, WindowSize, + ProfileMetadata, Settings, Theme, WindowSize, }; } diff --git a/theseus/src/api/pack.rs b/theseus/src/api/pack.rs index 121d76ccd..36fb6b114 100644 --- a/theseus/src/api/pack.rs +++ b/theseus/src/api/pack.rs @@ -229,8 +229,8 @@ async fn install_pack( .await?; let loading_bar = init_loading( - LoadingBarType::PackDownload { - pack_name , + LoadingBarType::PackDownload { + pack_name, pack_id: project_id, pack_version: version_id, }, diff --git a/theseus/src/api/process.rs b/theseus/src/api/process.rs index 3969f2559..d350ddc3c 100644 --- a/theseus/src/api/process.rs +++ b/theseus/src/api/process.rs @@ -1,6 +1,8 @@ //! Theseus process management interface use std::path::{Path, PathBuf}; +use uuid::Uuid; + use crate::state::MinecraftChild; pub use crate::{ state::{ @@ -9,31 +11,33 @@ pub use crate::{ State, }; -// Gets whether a child process stored in the state by PID has finished +// Gets whether a child process stored in the state by UUID has finished #[tracing::instrument] -pub async fn has_finished_by_pid(pid: u32) -> crate::Result { - Ok(get_exit_status_by_pid(pid).await?.is_some()) +pub async fn has_finished_by_uuid(uuid: &Uuid) -> crate::Result { + Ok(get_exit_status_by_uuid(uuid).await?.is_some()) } -// Gets the exit status of a child process stored in the state by PID +// Gets the exit status of a child process stored in the state by UUID #[tracing::instrument] -pub async fn get_exit_status_by_pid(pid: u32) -> crate::Result> { +pub async fn get_exit_status_by_uuid( + uuid: &Uuid, +) -> crate::Result> { let state = State::get().await?; let children = state.children.read().await; - Ok(children.exit_status(&pid).await?.and_then(|f| f.code())) + Ok(children.exit_status(uuid).await?.and_then(|f| f.code())) } -// Gets the PID of each stored process in the state +// Gets the UUID of each stored process in the state #[tracing::instrument] -pub async fn get_all_pids() -> crate::Result> { +pub async fn get_all_uuids() -> crate::Result> { let state = State::get().await?; let children = state.children.read().await; Ok(children.keys()) } -// Gets the PID of each *running* stored process in the state +// Gets the UUID of each *running* stored process in the state #[tracing::instrument] -pub async fn get_all_running_pids() -> crate::Result> { +pub async fn get_all_running_uuids() -> crate::Result> { let state = State::get().await?; let children = state.children.read().await; children.running_keys().await @@ -55,62 +59,62 @@ pub async fn get_all_running_profiles() -> crate::Result> { children.running_profiles().await } -// Gets the PID of each stored process in the state by profile path +// Gets the UUID of each stored process in the state by profile path #[tracing::instrument] -pub async fn get_pids_by_profile_path( +pub async fn get_uuids_by_profile_path( profile_path: &Path, -) -> crate::Result> { +) -> crate::Result> { let state = State::get().await?; let children = state.children.read().await; children.running_keys_with_profile(profile_path).await } -// Gets stdout of a child process stored in the state by PID, as a string +// Gets stdout of a child process stored in the state by UUID, as a string #[tracing::instrument] -pub async fn get_stdout_by_pid(pid: u32) -> crate::Result { +pub async fn get_stdout_by_uuid(uuid: &Uuid) -> crate::Result { let state = State::get().await?; // Get stdout from child let children = state.children.read().await; // Extract child or return crate::Error - if let Some(child) = children.get(&pid) { + if let Some(child) = children.get(uuid) { let child = child.read().await; Ok(child.stdout.get_output().await?) } else { Err(crate::ErrorKind::LauncherError(format!( - "No child process with PID {}", - pid + "No child process by UUID {}", + uuid )) .as_error()) } } -// Gets stderr of a child process stored in the state by PID, as a string +// Gets stderr of a child process stored in the state by UUID, as a string #[tracing::instrument] -pub async fn get_stderr_by_pid(pid: u32) -> crate::Result { +pub async fn get_stderr_by_uuid(uuid: &Uuid) -> crate::Result { let state = State::get().await?; // Get stdout from child let children = state.children.read().await; // Extract child or return crate::Error - if let Some(child) = children.get(&pid) { + if let Some(child) = children.get(uuid) { let child = child.read().await; Ok(child.stderr.get_output().await?) } else { Err(crate::ErrorKind::LauncherError(format!( - "No child process with PID {}", - pid + "No child process with UUID {}", + uuid )) .as_error()) } } -// Kill a child process stored in the state by PID, as a string +// Kill a child process stored in the state by UUID, as a string #[tracing::instrument] -pub async fn kill_by_pid(pid: u32) -> crate::Result<()> { +pub async fn kill_by_uuid(uuid: &Uuid) -> crate::Result<()> { let state = State::get().await?; let children = state.children.read().await; - if let Some(mchild) = children.get(&pid) { + if let Some(mchild) = children.get(uuid) { let mut mchild = mchild.write().await; kill(&mut mchild).await } else { @@ -119,13 +123,13 @@ pub async fn kill_by_pid(pid: u32) -> crate::Result<()> { } } -// Wait for a child process stored in the state by PID +// Wait for a child process stored in the state by UUID #[tracing::instrument] -pub async fn wait_for_by_pid(pid: u32) -> crate::Result<()> { +pub async fn wait_for_by_uuid(uuid: &Uuid) -> crate::Result<()> { let state = State::get().await?; let children = state.children.read().await; // No error returned for already killed process - if let Some(mchild) = children.get(&pid) { + if let Some(mchild) = children.get(uuid) { let mut mchild = mchild.write().await; wait_for(&mut mchild).await } else { @@ -137,18 +141,30 @@ pub async fn wait_for_by_pid(pid: u32) -> crate::Result<()> { // Kill a running child process directly, and wait for it to be killed #[tracing::instrument] pub async fn kill(running: &mut MinecraftChild) -> crate::Result<()> { - running.child.kill().await?; + running.current_child.write().await.kill().await?; wait_for(running).await } // Await on the completion of a child process directly #[tracing::instrument] pub async fn wait_for(running: &mut MinecraftChild) -> crate::Result<()> { - let result = running.child.wait().await.map_err(|err| { - crate::ErrorKind::LauncherError(format!( - "Error running minecraft: {err}" - )) - })?; + // We do not wait on the Child directly, but wait on the thread manager. + // This way we can still run all cleanup hook functions that happen after. + let result = running + .manager + .take() + .ok_or_else(|| { + crate::ErrorKind::LauncherError(format!( + "Process manager already completed or missing for process {}", + running.uuid + )) + })? + .await? + .map_err(|err| { + crate::ErrorKind::LauncherError(format!( + "Error running minecraft: {err}" + )) + })?; match result.success() { false => Err(crate::ErrorKind::LauncherError(format!( diff --git a/theseus/src/api/profile.rs b/theseus/src/api/profile.rs index 67293fcf0..2a62cac62 100644 --- a/theseus/src/api/profile.rs +++ b/theseus/src/api/profile.rs @@ -256,7 +256,7 @@ pub async fn run_credentials( .await?; let pre_launch_hooks = &profile.hooks.as_ref().unwrap_or(&settings.hooks).pre_launch; - for hook in pre_launch_hooks.iter() { + if let Some(hook) = pre_launch_hooks { // TODO: hook parameters let mut cmd = hook.split(' '); if let Some(command) = cmd.next() { @@ -336,6 +336,23 @@ pub async fn run_credentials( let env_args = &settings.custom_env_args; + // Post post exit hooks + let post_exit_hook = + &profile.hooks.as_ref().unwrap_or(&settings.hooks).post_exit; + + let post_exit_hook = if let Some(hook) = post_exit_hook { + let mut cmd = hook.split(' '); + if let Some(command) = cmd.next() { + let mut command = Command::new(command); + command.args(&cmd.collect::>()).current_dir(path); + Some(command) + } else { + None + } + } else { + None + }; + let mc_process = crate::launcher::launch_minecraft( &profile.metadata.game_version, &profile.metadata.loader_version, @@ -347,20 +364,10 @@ pub async fn run_credentials( &memory, &resolution, credentials, + post_exit_hook, &profile, ) .await?; - // Insert child into state - let mut state_children = state.children.write().await; - let pid = mc_process.id().ok_or_else(|| { - crate::ErrorKind::LauncherError( - "Process failed to stay open.".to_string(), - ) - })?; - let mchild_arc = state_children - .insert_process(pid, path.to_path_buf(), mc_process) - .await?; - - Ok(mchild_arc) + Ok(mc_process) } diff --git a/theseus/src/event/emit.rs b/theseus/src/event/emit.rs index 936924a4d..22fb69f10 100644 --- a/theseus/src/event/emit.rs +++ b/theseus/src/event/emit.rs @@ -129,7 +129,7 @@ pub async fn emit_warning(message: &str) -> crate::Result<()> { Ok(()) } -// emit_process(pid, event, message) +// emit_process(uuid, pid, event, message) #[allow(unused_variables)] pub async fn emit_process( uuid: uuid::Uuid, diff --git a/theseus/src/event/mod.rs b/theseus/src/event/mod.rs index 4340d3f2d..4d3ed130c 100644 --- a/theseus/src/event/mod.rs +++ b/theseus/src/event/mod.rs @@ -93,7 +93,7 @@ pub enum LoadingBarType { pack_name: String, pack_id: Option, pack_version: Option, - }, + }, MinecraftDownload { profile_uuid: Uuid, profile_name: String, @@ -121,11 +121,11 @@ pub struct ProcessPayload { pub event: ProcessPayloadType, pub message: String, } -#[derive(Serialize, Clone)] +#[derive(Serialize, Clone, Debug)] pub enum ProcessPayloadType { Launched, - // Finishing, // TODO: process restructing incoming, currently this is never emitted - // Finished, // TODO: process restructing incoming, currently this is never emitted + Updated, // eg: if the MinecraftChild changes to its post-command process instead of the Minecraft process + Finished, } #[derive(Serialize, Clone)] diff --git a/theseus/src/launcher/download.rs b/theseus/src/launcher/download.rs index 4b6834e20..6b0ea5936 100644 --- a/theseus/src/launcher/download.rs +++ b/theseus/src/launcher/download.rs @@ -33,7 +33,7 @@ pub async fn download_minecraft( LoadingBarType::MinecraftDownload { // If we are downloading minecraft for a profile, provide its name and uuid profile_name: profile.metadata.name.clone(), - profile_uuid: profile.uuid, + profile_uuid: profile.uuid, }, 100.0, "Downloading Minecraft...", diff --git a/theseus/src/launcher/mod.rs b/theseus/src/launcher/mod.rs index 757b1c0db..2e35fc08f 100644 --- a/theseus/src/launcher/mod.rs +++ b/theseus/src/launcher/mod.rs @@ -1,10 +1,13 @@ //! Logic for launching Minecraft -use crate::{process, state as st}; +use crate::{ + process, + state::{self as st, MinecraftChild}, +}; use daedalus as d; use dunce::canonicalize; use st::Profile; -use std::{path::Path, process::Stdio}; -use tokio::process::{Child, Command}; +use std::{path::Path, process::Stdio, sync::Arc}; +use tokio::process::Command; mod args; @@ -58,8 +61,9 @@ pub async fn launch_minecraft( memory: &st::MemorySettings, resolution: &st::WindowSize, credentials: &auth::Credentials, + post_exit_hook: Option, profile: &Profile, // optional ref to Profile for event tracking -) -> crate::Result { +) -> crate::Result>> { let state = st::State::get().await?; let instance_path = &canonicalize(instance_path)?; @@ -182,10 +186,10 @@ pub async fn launch_minecraft( // Check if profile has a running profile, and reject running the command if it does // Done late so a quick double call doesn't launch two instances let existing_processes = - process::get_pids_by_profile_path(instance_path).await?; - if let Some(pid) = existing_processes.first() { + process::get_uuids_by_profile_path(instance_path).await?; + if let Some(uuid) = existing_processes.first() { return Err(crate::ErrorKind::LauncherError(format!( - "Profile {} is already running at PID: {pid}", + "Profile {} is already running at UUID: {uuid}", instance_path.display() )) .as_error()); @@ -233,12 +237,15 @@ pub async fn launch_minecraft( .stdout(Stdio::piped()) .stderr(Stdio::piped()); - command.spawn().map_err(|err| { - crate::ErrorKind::LauncherError(format!( - "Error running Minecraft (minecraft-{} @ {}): {err}", - &version.id, - instance_path.display() - )) - .as_error() - }) + // Create Minecraft child by inserting it into the state + // This also spawns the process and prepares the subsequent processes + let mut state_children = state.children.write().await; + state_children + .insert_process( + uuid::Uuid::new_v4(), + instance_path.to_path_buf(), + command, + post_exit_hook, + ) + .await } diff --git a/theseus/src/state/children.rs b/theseus/src/state/children.rs index 2599bd258..42cb46a06 100644 --- a/theseus/src/state/children.rs +++ b/theseus/src/state/children.rs @@ -1,25 +1,29 @@ +use super::Profile; use std::path::{Path, PathBuf}; +use std::process::ExitStatus; use std::{collections::HashMap, sync::Arc}; use tokio::io::{AsyncBufReadExt, BufReader}; +use tokio::process::Child; +use tokio::process::Command; use tokio::process::{ChildStderr, ChildStdout}; use tokio::sync::RwLock; use crate::event::emit::emit_process; use crate::event::ProcessPayloadType; - -use super::Profile; +use tokio::task::JoinHandle; +use uuid::Uuid; // Child processes (instances of Minecraft) // A wrapper over a Hashmap connecting PID -> MinecraftChild -pub struct Children(HashMap>>); +pub struct Children(HashMap>>); // Minecraft Child, bundles together the PID, the actual Child, and the easily queryable stdout and stderr streams #[derive(Debug)] pub struct MinecraftChild { - pub uuid: uuid::Uuid, - pub pid: u32, + pub uuid: Uuid, pub profile_path: PathBuf, //todo: make UUID when profiles are recognized by UUID - pub child: tokio::process::Child, + pub manager: Option>>, // None when future has completed and been handled + pub current_child: Arc>, pub stdout: SharedOutput, pub stderr: SharedOutput, } @@ -29,16 +33,18 @@ impl Children { Children(HashMap::new()) } - // Inserts a child process to keep track of, and returns a reference to the container struct MinecraftChild + // Runs the command in process, inserts a child process to keep track of, and returns a reference to the container struct MinecraftChild // The threads for stdout and stderr are spawned here - // Unlike a Hashmap's 'insert', this directly returns the reference to the Child rather than any previously stored Child that may exist + // Unlike a Hashmap's 'insert', this directly returns the reference to the MinecraftChild rather than any previously stored MinecraftChild that may exist pub async fn insert_process( &mut self, - pid: u32, + uuid: Uuid, profile_path: PathBuf, - mut child: tokio::process::Child, + mut mc_command: Command, + post_command: Option, // Command to run after minecraft. ) -> crate::Result>> { - let uuid = uuid::Uuid::new_v4(); + // Takes the first element of the commands vector and spawns it + let mut child = mc_command.spawn()?; // Create std watcher threads for stdout and stderr let stdout = SharedOutput::new(); @@ -55,11 +61,25 @@ impl Children { let stderr_clone = stderr.clone(); tokio::spawn(async move { if let Err(e) = stderr_clone.read_stderr(child_stderr).await { - eprintln!("Stderr thread died with error: {}", e); + eprintln!("Stderr process died with error: {}", e); } }); } + // Slots child into manager + let pid = child.id().ok_or_else(|| { + crate::ErrorKind::LauncherError( + "Process immediately failed, could not get PID".to_string(), + ) + })?; + let current_child = Arc::new(RwLock::new(child)); + let manager = Some(tokio::spawn(Self::sequential_process_manager( + uuid, + post_command, + pid, + current_child.clone(), + ))); + emit_process( uuid, pid, @@ -71,24 +91,88 @@ impl Children { // Create MinecraftChild let mchild = MinecraftChild { uuid, - pid, profile_path, - child, + current_child, stdout, stderr, + manager, }; + let mchild = Arc::new(RwLock::new(mchild)); - self.0.insert(pid, mchild.clone()); + self.0.insert(uuid, mchild.clone()); Ok(mchild) } + // Spawns a new child process and inserts it into the hashmap + // Also, as the process ends, it spawns the follow-up process if it exists + // By convention, ExitStatus is last command's exit status, and we exit on the first non-zero exit status + async fn sequential_process_manager( + uuid: Uuid, + post_command: Option, + mut current_pid: u32, + current_child: Arc>, + ) -> crate::Result { + let current_child = current_child.clone(); + + // Wait on current Minecraft Child + let mut mc_exit_status; + loop { + if let Some(t) = current_child.write().await.try_wait()? { + mc_exit_status = t; + break; + } + } + if !mc_exit_status.success() { + return Ok(mc_exit_status); // Err for a non-zero exit is handled in helper + } + + // If a post-command exist, switch to it and wait on it + if let Some(mut m_command) = post_command { + { + let mut current_child = current_child.write().await; + let new_child = m_command.spawn()?; + current_pid = new_child.id().ok_or_else(|| { + crate::ErrorKind::LauncherError( + "Process immediately failed, could not get PID" + .to_string(), + ) + })?; + *current_child = new_child; + } + emit_process( + uuid, + current_pid, + ProcessPayloadType::Updated, + "Completed Minecraft, switching to post-commands", + ) + .await?; + + loop { + if let Some(t) = current_child.write().await.try_wait()? { + mc_exit_status = t; + break; + } + } + } + + emit_process( + uuid, + current_pid, + ProcessPayloadType::Finished, + "Exited process", + ) + .await?; + + Ok(mc_exit_status) + } + // Returns a ref to the child - pub fn get(&self, pid: &u32) -> Option>> { - self.0.get(pid).cloned() + pub fn get(&self, uuid: &Uuid) -> Option>> { + self.0.get(uuid).cloned() } // Gets all PID keys - pub fn keys(&self) -> Vec { + pub fn keys(&self) -> Vec { self.0.keys().cloned().collect() } @@ -96,25 +180,25 @@ impl Children { // Returns None if the child is still running pub async fn exit_status( &self, - pid: &u32, + uuid: &Uuid, ) -> crate::Result> { - if let Some(child) = self.get(pid) { - let child = child.clone(); - let mut child = child.write().await; - Ok(child.child.try_wait()?) + if let Some(child) = self.get(uuid) { + let child = child.write().await; + let status = child.current_child.write().await.try_wait()?; + Ok(status) } else { Ok(None) } } // Gets all PID keys of running children - pub async fn running_keys(&self) -> crate::Result> { + pub async fn running_keys(&self) -> crate::Result> { let mut keys = Vec::new(); for key in self.keys() { if let Some(child) = self.get(&key) { let child = child.clone(); - let mut child = child.write().await; - if child.child.try_wait()?.is_none() { + let child = child.write().await; + if child.current_child.write().await.try_wait()?.is_none() { keys.push(key); } } @@ -126,7 +210,7 @@ impl Children { pub async fn running_keys_with_profile( &self, profile_path: &Path, - ) -> crate::Result> { + ) -> crate::Result> { let running_keys = self.running_keys().await?; let mut keys = Vec::new(); for key in running_keys { @@ -147,8 +231,8 @@ impl Children { for key in self.keys() { if let Some(child) = self.get(&key) { let child = child.clone(); - let mut child = child.write().await; - if child.child.try_wait()?.is_none() { + let child = child.write().await; + if child.current_child.write().await.try_wait()?.is_none() { profiles.push(child.profile_path.clone()); } } @@ -163,8 +247,8 @@ impl Children { for key in self.keys() { if let Some(child) = self.get(&key) { let child = child.clone(); - let mut child = child.write().await; - if child.child.try_wait()?.is_none() { + let child = child.write().await; + if child.current_child.write().await.try_wait()?.is_none() { if let Some(prof) = crate::api::profile::get(&child.profile_path.clone()) .await? diff --git a/theseus/src/state/settings.rs b/theseus/src/state/settings.rs index 34e2236eb..0bf0ba939 100644 --- a/theseus/src/state/settings.rs +++ b/theseus/src/state/settings.rs @@ -1,6 +1,6 @@ //! Theseus settings file use serde::{Deserialize, Serialize}; -use std::{collections::HashSet, path::Path}; +use std::path::Path; use tokio::fs; use super::JavaGlobals; @@ -13,6 +13,7 @@ const CURRENT_FORMAT_VERSION: u32 = 1; #[derive(Serialize, Deserialize, Debug, Clone)] #[serde(default)] pub struct Settings { + pub theme: Theme, pub memory: MemorySettings, pub game_resolution: WindowSize, pub custom_java_args: Vec, @@ -27,6 +28,7 @@ pub struct Settings { impl Default for Settings { fn default() -> Self { Self { + theme: Theme::Dark, memory: MemorySettings::default(), game_resolution: WindowSize::default(), custom_java_args: Vec::new(), @@ -74,6 +76,15 @@ impl Settings { } } +/// Theseus theme +#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum Theme { + Dark, + Light, + Oled, +} + /// Minecraft memory settings #[derive(Serialize, Deserialize, Debug, Clone, Copy)] pub struct MemorySettings { @@ -105,10 +116,10 @@ impl Default for WindowSize { #[derive(Serialize, Deserialize, Debug, Clone, Default)] #[serde(default)] pub struct Hooks { - #[serde(skip_serializing_if = "HashSet::is_empty")] - pub pre_launch: HashSet, + #[serde(skip_serializing_if = "Option::is_none")] + pub pre_launch: Option, #[serde(skip_serializing_if = "Option::is_none")] pub wrapper: Option, - #[serde(skip_serializing_if = "HashSet::is_empty")] - pub post_exit: HashSet, + #[serde(skip_serializing_if = "Option::is_none")] + pub post_exit: Option, } diff --git a/theseus_gui/src-tauri/Cargo.toml b/theseus_gui/src-tauri/Cargo.toml index fa64f6a33..895beef00 100644 --- a/theseus_gui/src-tauri/Cargo.toml +++ b/theseus_gui/src-tauri/Cargo.toml @@ -19,7 +19,7 @@ theseus = { path = "../../theseus", features = ["tauri"] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.2", features = ["protocol-asset", "window-close", "window-create"] } +tauri = { version = "1.2", features = ["protocol-asset", "window-close", "window-create", "dialog"] } tokio = { version = "1", features = ["full"] } thiserror = "1.0" tokio-stream = { version = "0.1", features = ["fs"] } diff --git a/theseus_gui/src-tauri/src/api/jre.rs b/theseus_gui/src-tauri/src/api/jre.rs index 708f7850a..bca529d27 100644 --- a/theseus_gui/src-tauri/src/api/jre.rs +++ b/theseus_gui/src-tauri/src/api/jre.rs @@ -1,4 +1,4 @@ -use std::path::Path; +use std::path::{Path, PathBuf}; use crate::api::Result; use theseus::prelude::JavaVersion; @@ -60,3 +60,10 @@ pub async fn jre_get_optimal_jre_key_by_path(path: &Path) -> Result { pub async fn jre_validate_globals() -> Result { Ok(jre::validate_globals().await?) } + +// Validates JRE at a given path +// Returns None if the path is not a valid JRE +#[tauri::command] +pub async fn jre_get_jre(path: PathBuf) -> Result> { + jre::check_jre(path).await.map_err(|e| e.into()) +} diff --git a/theseus_gui/src-tauri/src/api/mod.rs b/theseus_gui/src-tauri/src/api/mod.rs index 672f62a37..800b494d5 100644 --- a/theseus_gui/src-tauri/src/api/mod.rs +++ b/theseus_gui/src-tauri/src/api/mod.rs @@ -33,6 +33,9 @@ pub enum TheseusSerializableError { #[error("No profile found at {0}")] NoProfileFound(String), + + #[error("Improperly formatted environment variables: {0}")] + BadEnvVars(String), } // Generic implementation of From for ErrorTypeA @@ -74,4 +77,5 @@ impl_serialize! { Theseus, IO, NoProfileFound, + BadEnvVars, } diff --git a/theseus_gui/src-tauri/src/api/process.rs b/theseus_gui/src-tauri/src/api/process.rs index 45b61e8f6..87cd08133 100644 --- a/theseus_gui/src-tauri/src/api/process.rs +++ b/theseus_gui/src-tauri/src/api/process.rs @@ -2,37 +2,40 @@ use std::path::{Path, PathBuf}; use crate::api::Result; use theseus::prelude::*; +use uuid::Uuid; -// Checks if a process has finished by process PID +// Checks if a process has finished by process UUID #[tauri::command] -pub async fn process_has_finished_by_pid(pid: u32) -> Result { - Ok(process::has_finished_by_pid(pid).await?) +pub async fn process_has_finished_by_uuid(uuid: Uuid) -> Result { + Ok(process::has_finished_by_uuid(&uuid).await?) } -// Gets process exit status by process PID +// Gets process exit status by process UUID #[tauri::command] -pub async fn process_get_exit_status_by_pid(pid: u32) -> Result> { - Ok(process::get_exit_status_by_pid(pid).await?) +pub async fn process_get_exit_status_by_uuid( + uuid: Uuid, +) -> Result> { + Ok(process::get_exit_status_by_uuid(&uuid).await?) } -// Gets all process PIDs +// Gets all process UUIDs #[tauri::command] -pub async fn process_get_all_pids() -> Result> { - Ok(process::get_all_pids().await?) +pub async fn process_get_all_uuids() -> Result> { + Ok(process::get_all_uuids().await?) } -// Gets all running process PIDs +// Gets all running process UUIDs #[tauri::command] -pub async fn process_get_all_running_pids() -> Result> { - Ok(process::get_all_running_pids().await?) +pub async fn process_get_all_running_uuids() -> Result> { + Ok(process::get_all_running_uuids().await?) } -// Gets all process PIDs by profile path +// Gets all process UUIDs by profile path #[tauri::command] -pub async fn process_get_pids_by_profile_path( +pub async fn process_get_uuids_by_profile_path( profile_path: &Path, -) -> Result> { - Ok(process::get_pids_by_profile_path(profile_path).await?) +) -> Result> { + Ok(process::get_uuids_by_profile_path(profile_path).await?) } // Gets the Profile paths of each *running* stored process in the state @@ -47,26 +50,26 @@ pub async fn process_get_all_running_profiles() -> Result> { Ok(process::get_all_running_profiles().await?) } -// Gets process stderr by process PID +// Gets process stderr by process UUID #[tauri::command] -pub async fn process_get_stderr_by_pid(pid: u32) -> Result { - Ok(process::get_stderr_by_pid(pid).await?) +pub async fn process_get_stderr_by_uuid(uuid: Uuid) -> Result { + Ok(process::get_stderr_by_uuid(&uuid).await?) } -// Gets process stdout by process PID +// Gets process stdout by process UUID #[tauri::command] -pub async fn process_get_stdout_by_pid(pid: u32) -> Result { - Ok(process::get_stdout_by_pid(pid).await?) +pub async fn process_get_stdout_by_uuid(uuid: Uuid) -> Result { + Ok(process::get_stdout_by_uuid(&uuid).await?) } -// Kill a process by process PID +// Kill a process by process UUID #[tauri::command] -pub async fn process_kill_by_pid(pid: u32) -> Result<()> { - Ok(process::kill_by_pid(pid).await?) +pub async fn process_kill_by_uuid(uuid: Uuid) -> Result<()> { + Ok(process::kill_by_uuid(&uuid).await?) } -// Wait for a process to finish by process PID +// Wait for a process to finish by process UUID #[tauri::command] -pub async fn process_wait_for_by_pid(pid: u32) -> Result<()> { - Ok(process::wait_for_by_pid(pid).await?) +pub async fn process_wait_for_by_uuid(uuid: Uuid) -> Result<()> { + Ok(process::wait_for_by_uuid(&uuid).await?) } diff --git a/theseus_gui/src-tauri/src/api/profile.rs b/theseus_gui/src-tauri/src/api/profile.rs index 4db06b70f..3a59d0e0e 100644 --- a/theseus_gui/src-tauri/src/api/profile.rs +++ b/theseus_gui/src-tauri/src/api/profile.rs @@ -1,6 +1,7 @@ use crate::api::Result; use std::path::{Path, PathBuf}; use theseus::prelude::*; +use uuid::Uuid; // Remove a profile // invoke('profile_add_path',path) @@ -73,18 +74,14 @@ pub async fn profile_remove_project( Ok(()) } // Run minecraft using a profile using the default credentials -// Returns a u32 representing the PID, which can be used to poll +// Returns the UUID, which can be used to poll // for the actual Child in the state. // invoke('profile_run', path) #[tauri::command] -pub async fn profile_run(path: &Path) -> Result { - let proc_lock = profile::run(path).await?; - let pid = proc_lock.read().await.child.id().ok_or_else(|| { - theseus::Error::from(theseus::ErrorKind::LauncherError( - "Process failed to stay open.".to_string(), - )) - })?; - Ok(pid) +pub async fn profile_run(path: &Path) -> Result { + let minecraft_child = profile::run(path).await?; + let uuid = minecraft_child.read().await.uuid; + Ok(uuid) } // Run Minecraft using a profile using the default credentials, and wait for the result @@ -97,21 +94,17 @@ pub async fn profile_run_wait(path: &Path) -> Result<()> { } // Run Minecraft using a profile using chosen credentials -// Returns a u32 representing the PID, which can be used to poll +// Returns the UUID, which can be used to poll // for the actual Child in the state. // invoke('profile_run_credentials', {path, credentials})') #[tauri::command] pub async fn profile_run_credentials( path: &Path, credentials: Credentials, -) -> Result { - let proc_lock = profile::run_credentials(path, &credentials).await?; - let pid = proc_lock.read().await.child.id().ok_or_else(|| { - theseus::Error::from(theseus::ErrorKind::LauncherError( - "Process failed to stay open.".to_string(), - )) - })?; - Ok(pid) +) -> Result { + let minecraft_child = profile::run_credentials(path, &credentials).await?; + let uuid = minecraft_child.read().await.uuid; + Ok(uuid) } // Run Minecraft using a profile using the chosen credentials, and wait for the result diff --git a/theseus_gui/src-tauri/src/api/settings.rs b/theseus_gui/src-tauri/src/api/settings.rs index e9f712a40..87e316ade 100644 --- a/theseus_gui/src-tauri/src/api/settings.rs +++ b/theseus_gui/src-tauri/src/api/settings.rs @@ -2,14 +2,17 @@ use crate::api::Result; use serde::{Deserialize, Serialize}; use theseus::prelude::*; +use super::TheseusSerializableError; + // Identical to theseus::settings::Settings except for the custom_java_args field // This allows us to split the custom_java_args string into a Vec here and join it back into a string in the backend #[derive(Serialize, Deserialize, Debug, Clone)] pub struct FrontendSettings { + pub theme: Theme, pub memory: MemorySettings, pub game_resolution: WindowSize, pub custom_java_args: String, - pub custom_env_args: Vec<(String, String)>, + pub custom_env_args: String, pub java_globals: JavaGlobals, pub default_user: Option, pub hooks: Hooks, @@ -23,10 +26,16 @@ pub struct FrontendSettings { pub async fn settings_get() -> Result { let backend_settings = settings::get().await?; let frontend_settings = FrontendSettings { + theme: backend_settings.theme, memory: backend_settings.memory, game_resolution: backend_settings.game_resolution, custom_java_args: backend_settings.custom_java_args.join(" "), - custom_env_args: backend_settings.custom_env_args, + custom_env_args: backend_settings + .custom_env_args + .into_iter() + .map(|(s1, s2)| format!("{s1}={s2}")) + .collect::>() + .join(" "), java_globals: backend_settings.java_globals, default_user: backend_settings.default_user, hooks: backend_settings.hooks, @@ -40,7 +49,25 @@ pub async fn settings_get() -> Result { // invoke('settings_set', settings) #[tauri::command] pub async fn settings_set(settings: FrontendSettings) -> Result<()> { + let custom_env_args: Vec<(String, String)> = settings + .custom_env_args + .split_whitespace() + .map(|s| s.to_string()) + .map(|f| { + let mut split = f.split('='); + if let (Some(name), Some(value)) = (split.next(), split.next()) { + Ok((name.to_string(), value.to_string())) + } else { + Err(TheseusSerializableError::BadEnvVars( + "Invalid environment variable: {}".to_string(), + ) + .into()) + } + }) + .collect::>>()?; + let backend_settings = Settings { + theme: settings.theme, memory: settings.memory, game_resolution: settings.game_resolution, custom_java_args: settings @@ -48,7 +75,7 @@ pub async fn settings_set(settings: FrontendSettings) -> Result<()> { .split_whitespace() .map(|s| s.to_string()) .collect(), - custom_env_args: settings.custom_env_args, + custom_env_args, java_globals: settings.java_globals, default_user: settings.default_user, hooks: settings.hooks, diff --git a/theseus_gui/src-tauri/src/main.rs b/theseus_gui/src-tauri/src/main.rs index 704190434..81b1ec5e3 100644 --- a/theseus_gui/src-tauri/src/main.rs +++ b/theseus_gui/src-tauri/src/main.rs @@ -58,17 +58,18 @@ fn main() { api::jre::jre_validate_globals, api::jre::jre_get_optimal_jre_key, api::jre::jre_get_optimal_jre_key_by_path, - api::process::process_get_all_pids, - api::process::process_get_all_running_pids, - api::process::process_get_pids_by_profile_path, + api::jre::jre_get_jre, + api::process::process_get_all_uuids, + api::process::process_get_all_running_uuids, + api::process::process_get_uuids_by_profile_path, api::process::process_get_all_running_profile_paths, api::process::process_get_all_running_profiles, - api::process::process_get_exit_status_by_pid, - api::process::process_has_finished_by_pid, - api::process::process_get_stderr_by_pid, - api::process::process_get_stdout_by_pid, - api::process::process_kill_by_pid, - api::process::process_wait_for_by_pid, + api::process::process_get_exit_status_by_uuid, + api::process::process_has_finished_by_uuid, + api::process::process_get_stderr_by_uuid, + api::process::process_get_stdout_by_uuid, + api::process::process_kill_by_uuid, + api::process::process_wait_for_by_uuid, ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/theseus_gui/src/helpers/jre.js b/theseus_gui/src/helpers/jre.js index 4799fc6d8..bb5f8c34c 100644 --- a/theseus_gui/src/helpers/jre.js +++ b/theseus_gui/src/helpers/jre.js @@ -44,6 +44,12 @@ export async function validate_globals() { return await invoke('jre_validate_globals') } +// Gets java version from a specific path by trying to run 'java -version' on it. +// This also validates it, as it returns null if no valid java version is found at the path +export async function get_jre(path) { + return await invoke('jre_get_jre', { path }) +} + // Gets key for the optimal JRE to use, for a given profile path // The key can be used in the hashmap contained by JavaGlobals in Settings (if it exists) export async function get_optimal_jre_key_by_path(path) { @@ -52,7 +58,7 @@ export async function get_optimal_jre_key_by_path(path) { // Gets key for the optimal JRE to use, for a given profile // The key can be used in the hashmap contained by JavaGlobals in Settings (if it exists) -export async function get_optimal_jre_ke(path) { +export async function get_optimal_jre_key(path) { return await invoke('jre_get_optimal_jre_key', { path }) } diff --git a/theseus_gui/src/helpers/process.js b/theseus_gui/src/helpers/process.js index 30a395c04..905c79d60 100644 --- a/theseus_gui/src/helpers/process.js +++ b/theseus_gui/src/helpers/process.js @@ -5,34 +5,34 @@ */ import { invoke } from '@tauri-apps/api/tauri' -/// Gets if a process has finished by PID +/// Gets if a process has finished by UUID /// Returns bool -export async function has_finished_by_pid(pid) { - return await invoke('process_has_finished_by_pid', { pid }) +export async function has_finished_by_uuid(uuid) { + return await invoke('process_has_finished_by_uuid', { uuid }) } -/// Gets process exit status by PID +/// Gets process exit status by UUID /// Returns u32 -export async function get_exit_status_by_pid(pid) { - return await invoke('process_get_exit_status_by_pid', { pid }) +export async function get_exit_status_by_uuid(uuid) { + return await invoke('process_get_exit_status_by_uuid', { uuid }) } /// Gets all process IDs /// Returns [u32] -export async function get_all_pids() { - return await invoke('process_get_all_pids') +export async function get_all_uuids() { + return await invoke('process_get_all_uuids') } /// Gets all running process IDs /// Returns [u32] -export async function get_all_running_pids() { - return await invoke('process_get_all_running_pids') +export async function get_all_running_uuids() { + return await invoke('process_get_all_running_uuids') } /// Gets all running process IDs with a given profile path /// Returns [u32] -export async function get_pids_by_profile_path(profile_path) { - return await invoke('process_get_pids_by_profile_path', { profile_path }) +export async function get_uuids_by_profile_path(profile_path) { + return await invoke('process_get_uuids_by_profile_path', { profile_path }) } /// Gets all running process IDs with a given profile path @@ -47,19 +47,19 @@ export async function get_all_running_profiles(profile_path) { return await invoke('process_get_all_running_profiles', { profile_path }) } -/// Gets process stderr by PID +/// Gets process stderr by UUID /// Returns String -export async function get_stderr_by_pid(pid) { - return await invoke('process_get_stderr_by_pid', { pid }) +export async function get_stderr_by_uuid(uuid) { + return await invoke('process_get_stderr_by_uuid', { uuid }) } -/// Gets process stdout by PID +/// Gets process stdout by UUID /// Returns String -export async function get_stdout_by_pid(pid) { - return await invoke('process_get_stdout_by_pid', { pid }) +export async function get_stdout_by_uuid(uuid) { + return await invoke('process_get_stdout_by_uuid', { uuid }) } -/// Kills a process by PID -export async function kill_by_pid(pid) { - return await invoke('process_kill_by_pid', { pid }) +/// Kills a process by UUID +export async function kill_by_uuid(uuid) { + return await invoke('process_kill_by_uuid', { uuid }) } diff --git a/theseus_gui/src/helpers/profile.js b/theseus_gui/src/helpers/profile.js index dcd9f312f..198f43e09 100644 --- a/theseus_gui/src/helpers/profile.js +++ b/theseus_gui/src/helpers/profile.js @@ -6,12 +6,21 @@ import { invoke } from '@tauri-apps/api/tauri' // Add empty default instance -export async function addDefaultInstance() { +export async function create_empty() { return await invoke('profile_create_empty') } -/// Creates instance -/// Returns a path to the profile created +/// Add instance +/* + name: String, // the name of the profile, and relative path to create + game_version: String, // the game version of the profile + modloader: ModLoader, // the modloader to use + - ModLoader is an enum, with the following variants: Vanilla, Forge, Fabric, Quilt + loader_version: String, // the modloader version to use, set to "latest", "stable", or the ID of your chosen loader + icon: Path, // the icon for the profile + - icon is a path to an image file, which will be copied into the profile directory +*/ + export async function create(name, game_version, modloader, loader_version, icon) { return await invoke('profile_create', { name, game_version, modloader, loader_version, icon }) } diff --git a/theseus_playground/src/main.rs b/theseus_playground/src/main.rs index 4eaf86d51..2179d0bf7 100644 --- a/theseus_playground/src/main.rs +++ b/theseus_playground/src/main.rs @@ -33,6 +33,8 @@ async fn main() -> theseus::Result<()> { // Initialize state let st = State::get().await?; st.settings.write().await.max_concurrent_downloads = 5; + st.settings.write().await.hooks.post_exit = + Some("echo This is after Minecraft runs- global setting!".to_string()); // Changed the settings, so need to reset the semaphore st.reset_semaphore().await; @@ -88,11 +90,11 @@ async fn main() -> theseus::Result<()> { // (ie: changing the java runtime of an added profile) println!("Editing."); profile::edit(&profile_path, |_profile| { - // Eg: Java- this would let you change the java runtime of the profile instead of using the default - // use theseus::prelude::jre::JAVA__KEY; - // profile.java = Some(JavaSettings { - // jre_key: Some(JAVA_17_KEY.to_string()), - // extra_arguments: None, + // Add some hooks, for instance! + // profile.hooks = Some(Hooks { + // pre_launch: Some("echo This is before Minecraft runs!".to_string()), + // wrapper: None, + // post_exit: None, // }); async { Ok(()) } }) @@ -108,22 +110,22 @@ async fn main() -> theseus::Result<()> { println!("running"); // Run a profile, running minecraft and store the RwLock to the process let proc_lock = profile::run(&canonicalize(&profile_path)?).await?; + let uuid = proc_lock.read().await.uuid; + let pid = proc_lock.read().await.current_child.read().await.id(); - let pid = proc_lock - .read() - .await - .child - .id() - .expect("Could not get PID from process."); - println!("Minecraft PID: {}", pid); + println!("Minecraft UUID: {}", uuid); + println!("Minecraft PID: {:?}", pid); // Wait 5 seconds - println!("Waiting 5 seconds to gather logs..."); - sleep(Duration::from_secs(5)).await; - let _stdout = process::get_stdout_by_pid(pid).await?; - let _stderr = process::get_stderr_by_pid(pid).await?; - // println!("Logs after 5sec <<< {stdout} >>> end stdout"); + println!("Waiting 20 seconds to gather logs..."); + sleep(Duration::from_secs(20)).await; + let stdout = process::get_stdout_by_uuid(&uuid).await?; + println!("Logs after 5sec <<< {stdout} >>> end stdout"); + println!( + "All running process UUID {:?}", + process::get_all_running_uuids().await? + ); println!( "All running process paths {:?}", process::get_all_running_profile_paths().await? From 19a4aa66892c66e69bca7dcfcc05264bec735585 Mon Sep 17 00:00:00 2001 From: Geometrically <18202329+Geometrically@users.noreply.github.com> Date: Mon, 17 Apr 2023 14:05:27 -0700 Subject: [PATCH 088/231] Add metadata GV loader api (#84) * Add metadata GV loader api * Register commands * fix lint + docs issue --- theseus/src/api/metadata.rs | 27 +++++++++++++++++++++++ theseus/src/api/mod.rs | 3 ++- theseus_gui/src-tauri/src/api/metadata.rs | 21 ++++++++++++++++++ theseus_gui/src-tauri/src/api/mod.rs | 1 + theseus_gui/src-tauri/src/main.rs | 3 +++ theseus_gui/src/helpers/metadata.js | 19 ++++++++++++++++ 6 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 theseus/src/api/metadata.rs create mode 100644 theseus_gui/src-tauri/src/api/metadata.rs create mode 100644 theseus_gui/src/helpers/metadata.js diff --git a/theseus/src/api/metadata.rs b/theseus/src/api/metadata.rs new file mode 100644 index 000000000..06ef07ecb --- /dev/null +++ b/theseus/src/api/metadata.rs @@ -0,0 +1,27 @@ +use crate::State; +pub use daedalus::minecraft::VersionManifest; +pub use daedalus::modded::Manifest; + +#[tracing::instrument] +pub async fn get_minecraft_versions() -> crate::Result { + let state = State::get().await?; + let tags = state.metadata.minecraft.clone(); + + Ok(tags) +} + +#[tracing::instrument] +pub async fn get_fabric_versions() -> crate::Result { + let state = State::get().await?; + let tags = state.metadata.fabric.clone(); + + Ok(tags) +} + +#[tracing::instrument] +pub async fn get_forge_versions() -> crate::Result { + let state = State::get().await?; + let tags = state.metadata.forge.clone(); + + Ok(tags) +} diff --git a/theseus/src/api/mod.rs b/theseus/src/api/mod.rs index dfc29b933..3ee31ffe7 100644 --- a/theseus/src/api/mod.rs +++ b/theseus/src/api/mod.rs @@ -1,6 +1,7 @@ //! API for interacting with Theseus pub mod auth; pub mod jre; +pub mod metadata; pub mod pack; pub mod process; pub mod profile; @@ -19,7 +20,7 @@ pub mod prelude { pub use crate::{ auth::{self, Credentials}, data::*, - jre, pack, process, + jre, metadata, pack, process, profile::{self, Profile}, profile_create, settings, state::JavaGlobals, diff --git a/theseus_gui/src-tauri/src/api/metadata.rs b/theseus_gui/src-tauri/src/api/metadata.rs new file mode 100644 index 000000000..e7c01ad26 --- /dev/null +++ b/theseus_gui/src-tauri/src/api/metadata.rs @@ -0,0 +1,21 @@ +use crate::api::Result; +use daedalus::minecraft::VersionManifest; +use daedalus::modded::Manifest; + +/// Gets the game versions from daedalus +#[tauri::command] +pub async fn metadata_get_game_versions() -> Result { + Ok(theseus::metadata::get_minecraft_versions().await?) +} + +/// Gets the fabric versions from daedalus +#[tauri::command] +pub async fn metadata_get_fabric_versions() -> Result { + Ok(theseus::metadata::get_fabric_versions().await?) +} + +/// Gets the forge versions from daedalus +#[tauri::command] +pub async fn metadata_get_forge_versions() -> Result { + Ok(theseus::metadata::get_forge_versions().await?) +} diff --git a/theseus_gui/src-tauri/src/api/mod.rs b/theseus_gui/src-tauri/src/api/mod.rs index 800b494d5..3bed74971 100644 --- a/theseus_gui/src-tauri/src/api/mod.rs +++ b/theseus_gui/src-tauri/src/api/mod.rs @@ -5,6 +5,7 @@ use thiserror::Error; pub mod auth; pub mod jre; +pub mod metadata; pub mod pack; pub mod process; pub mod profile; diff --git a/theseus_gui/src-tauri/src/main.rs b/theseus_gui/src-tauri/src/main.rs index 81b1ec5e3..8fcbb100b 100644 --- a/theseus_gui/src-tauri/src/main.rs +++ b/theseus_gui/src-tauri/src/main.rs @@ -70,6 +70,9 @@ fn main() { api::process::process_get_stdout_by_uuid, api::process::process_kill_by_uuid, api::process::process_wait_for_by_uuid, + api::metadata::metadata_get_game_versions, + api::metadata::metadata_get_fabric_versions, + api::metadata::metadata_get_forge_versions, ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/theseus_gui/src/helpers/metadata.js b/theseus_gui/src/helpers/metadata.js new file mode 100644 index 000000000..de2482e1c --- /dev/null +++ b/theseus_gui/src/helpers/metadata.js @@ -0,0 +1,19 @@ +import { invoke } from '@tauri-apps/api/tauri' + +/// Gets the game versions from daedalus +// Returns a VersionManifest +export async function get_game_versions() { + return await invoke('metadata_get_game_versions') +} + +// Gets the fabric versions from daedalus +// Returns Manifest +export async function get_fabric_versions() { + return await invoke('metadata_get_fabric_versions') +} + +// Gets the forge versions from daedalus +// Returns Manifest +export async function get_forge_versions() { + return await invoke('metadata_get_forge_versions') +} From 63d2785b2f6fe65a66a5685f7c9e7f68020949cd Mon Sep 17 00:00:00 2001 From: Wyatt Verchere Date: Mon, 17 Apr 2023 16:07:09 -0700 Subject: [PATCH 089/231] Deadlock fixes (#85) * fixed deadlock * added missing files to commit * clippy & dist --- .cargo/config.toml | 2 +- theseus/src/api/profile.rs | 28 ++++++++++++++++------------ theseus/src/state/dirs.rs | 1 + theseus_gui/.gitignore | 2 -- theseus_gui/dist/.gitignore | 3 +++ theseus_gui/src-tauri/Cargo.toml | 2 +- 6 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 theseus_gui/dist/.gitignore diff --git a/.cargo/config.toml b/.cargo/config.toml index ca80597fc..37c78c26b 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,3 +1,3 @@ # Windows has stack overflows when calling from Tauri, so we increase compiler size [target.'cfg(windows)'] -rustflags = ["-C", "link-args=/STACK:4194304"] \ No newline at end of file +rustflags = ["-C", "link-args=/STACK:8388608"] \ No newline at end of file diff --git a/theseus/src/api/profile.rs b/theseus/src/api/profile.rs index 2a62cac62..a1092245d 100644 --- a/theseus/src/api/profile.rs +++ b/theseus/src/api/profile.rs @@ -89,19 +89,23 @@ pub async fn list() -> crate::Result #[tracing::instrument] pub async fn sync(path: &Path) -> crate::Result<()> { let state = State::get().await?; - let mut profiles = state.profiles.write().await; + let result = { + let mut profiles: tokio::sync::RwLockWriteGuard< + crate::state::Profiles, + > = state.profiles.write().await; - if let Some(profile) = profiles.0.get_mut(path) { - profile.sync().await?; - State::sync().await?; - - Ok(()) - } else { - Err( - crate::ErrorKind::UnmanagedProfileError(path.display().to_string()) - .as_error(), - ) - } + if let Some(profile) = profiles.0.get_mut(path) { + profile.sync().await?; + Ok(()) + } else { + Err(crate::ErrorKind::UnmanagedProfileError( + path.display().to_string(), + ) + .as_error()) + } + }; + State::sync().await?; + result } /// Add a project from a version diff --git a/theseus/src/state/dirs.rs b/theseus/src/state/dirs.rs index 4e5c0769e..6d1ec237b 100644 --- a/theseus/src/state/dirs.rs +++ b/theseus/src/state/dirs.rs @@ -26,6 +26,7 @@ impl DirectoryInfo { "Could not find valid config dir".to_string(), ))?; + dbg!(&config_dir); fs::create_dir_all(&config_dir).await.map_err(|err| { crate::ErrorKind::FSError(format!( "Error creating Theseus config directory: {err}" diff --git a/theseus_gui/.gitignore b/theseus_gui/.gitignore index 5bc838d0d..8a0449091 100644 --- a/theseus_gui/.gitignore +++ b/theseus_gui/.gitignore @@ -10,8 +10,6 @@ pnpm-debug.log* lerna-debug.log* node_modules -dist -dist-ssr *.local # Editor directories and files diff --git a/theseus_gui/dist/.gitignore b/theseus_gui/dist/.gitignore new file mode 100644 index 000000000..59c3b7198 --- /dev/null +++ b/theseus_gui/dist/.gitignore @@ -0,0 +1,3 @@ +# exclude everything except this file +* +!.gitignore diff --git a/theseus_gui/src-tauri/Cargo.toml b/theseus_gui/src-tauri/Cargo.toml index 895beef00..dd2701619 100644 --- a/theseus_gui/src-tauri/Cargo.toml +++ b/theseus_gui/src-tauri/Cargo.toml @@ -19,7 +19,7 @@ theseus = { path = "../../theseus", features = ["tauri"] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.2", features = ["protocol-asset", "window-close", "window-create", "dialog"] } +tauri = { version = "1.2", features = ["dialog", "protocol-asset", "window-close", "window-create"] } tokio = { version = "1", features = ["full"] } thiserror = "1.0" tokio-stream = { version = "0.1", features = ["fs"] } From 640db2d079b1209254b830d22c00bd5597edad75 Mon Sep 17 00:00:00 2001 From: Wyatt Verchere Date: Tue, 18 Apr 2023 14:43:30 -0700 Subject: [PATCH 090/231] fixes stack overflow :) (#88) * fixes stack overflow :) * removed unnecessary comment --- theseus/src/event/emit.rs | 81 ++++++++++++++++----------------------- theseus/src/state/mod.rs | 2 +- theseus/src/state/tags.rs | 2 +- 3 files changed, 34 insertions(+), 51 deletions(-) diff --git a/theseus/src/event/emit.rs b/theseus/src/event/emit.rs index 22fb69f10..eea03c541 100644 --- a/theseus/src/event/emit.rs +++ b/theseus/src/event/emit.rs @@ -194,70 +194,53 @@ pub async fn emit_profile( // loading_join!(loading_bar, 0.1; task1, task2, task3) // This will await on each of the tasks, and as each completes, it will emit a loading event for 0.033, 0.066, 0.099, etc // This should function as a drop-in replacement for tokio::try_join_all! in most cases- except the function *itself* calls ? rather than needing it. +#[macro_export] +macro_rules! count { + () => (0usize); + ( $x:tt $($xs:tt)* ) => (1usize + $crate::count!($($xs)*)); +} #[cfg(feature = "tauri")] #[macro_export] macro_rules! loading_join { - ($key:expr, $total:expr, $message:expr; $($future:expr $(,)?)+) => {{ - let mut num_futures = 0; - $( - { - let _ = &$future; // useless to allow matching to $future - num_futures += 1; - } - )* + ($key:expr, $total:expr, $message:expr; $($task:expr $(,)?)+) => { + { + let key = $key; + let message : Option<&str> = $message; + + let num_futures = $crate::count!($($task)*); let increment = $total / num_futures as f64; - // Create tokio::pinned values - $( - paste::paste! { - tokio::pin! { - let [] = $future; - } - } - )* - $( - paste::paste! { - let mut [] = None; - } - )* - // Resolve each future and call respective loading as each resolves in any order - for _ in 0..num_futures { - paste::paste! { - tokio::select! { - $( - v = &mut [], if ![].is_some() => { - if let Some(key) = $key { - $crate::event::emit::emit_loading(key, increment, $message).await?; - } - [] = Some(v); - }, - )* - else => break, + paste::paste! { + $( let [ ] = { + { + let key = key.clone(); + let message = message.clone(); + async move { + let res = $task.await; + if let Some(key) = key { + $crate::event::emit::emit_loading(key, increment, message).await?; + } + res + } } - } + };)+ } - // Extract values out of option, then out of error, returning if any errors happened - $( - paste::paste! { - let [] = [].take().unwrap()?; // unwrap here acceptable as numbers of futures and resolved values is guaranteed to be the same - } - )* - - paste::paste!{ - ($( - [], // unwrap here acceptable as numbers of futures and resolved values is guaranteed to be the same - )+) + paste::paste! { + tokio::try_join! ( + $( [ ] ),+ + ) } - }}; + } + }; + } - #[cfg(not(feature = "tauri"))] #[macro_export] macro_rules! loading_join { ($start:expr, $end:expr, $message:expr; $($future:expr $(,)?)+) => {{ - tokio::try_join!($($future),+)? + tokio::try_join!($($future),+) }}; } diff --git a/theseus/src/state/mod.rs b/theseus/src/state/mod.rs index 31d5fe5af..82ce0f1bf 100644 --- a/theseus/src/state/mod.rs +++ b/theseus/src/state/mod.rs @@ -105,7 +105,7 @@ impl State { let (metadata, profiles) = loading_join! { Some(&loading_bar), 20.0, Some("Initializing metadata and profiles..."); metadata_fut, profiles_fut - }; + }?; emit_loading(&loading_bar, 10.0, None).await?; let users = Users::init(&database)?; diff --git a/theseus/src/state/tags.rs b/theseus/src/state/tags.rs index 346e0ff2c..ec6e31e31 100644 --- a/theseus/src/state/tags.rs +++ b/theseus/src/state/tags.rs @@ -208,7 +208,7 @@ impl Tags { licenses_fut, donation_platforms_fut, report_types_fut - ); + )?; // Store the tags in the database self.0.categories.insert( From d414e07f417baca799623bcfbd24db30cb8260b2 Mon Sep 17 00:00:00 2001 From: Zach Baird <30800863+ZachBaird@users.noreply.github.com> Date: Tue, 18 Apr 2023 23:49:04 -0400 Subject: [PATCH 091/231] Resolves inaccurate OR relationship between loaders and versions. (#86) * Resolves inaccurate OR relationship between loaders and versions. * Removes todo comment. --- theseus_gui/src/store/search.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/theseus_gui/src/store/search.js b/theseus_gui/src/store/search.js index 38bb6945d..4af8b63ae 100644 --- a/theseus_gui/src/store/search.js +++ b/theseus_gui/src/store/search.js @@ -36,28 +36,31 @@ export const useSearch = defineStore('searchStore', { formattedAndFacets = formattedAndFacets.slice(0, formattedAndFacets.length - 1) formattedAndFacets += '' - // TODO: fix me - ask jai // If orFacets are present, start building formatted orFacet filter let formattedOrFacets = '' - if (this.orFacets.length > 0 || this.activeVersions.length > 0) { + if (this.orFacets.length > 0) { formattedOrFacets += '[' - // Aggregate normal orFacets this.orFacets.forEach((orF) => (formattedOrFacets += `"${orF}",`)) - - // Add version list to orFacets - if (this.activeVersions.length > 0) - this.activeVersions.forEach((ver) => (formattedOrFacets += `"versions:${ver}",`)) - - // Add environments to orFacets if enabled - if (this.environments.client) - formattedOrFacets += '"client_side:optional","client_side:required,"' - if (this.environments.server) - formattedOrFacets += '"server_side:optional","server_side:required,"' - formattedOrFacets = formattedOrFacets.slice(0, formattedOrFacets.length - 1) - formattedOrFacets += ']' + formattedOrFacets += '],' } + // Snip normal orFacets and start version orFacets + if (this.activeVersions.length > 0) { + formattedOrFacets += '[' + this.activeVersions.forEach((ver) => (formattedOrFacets += `"versions:${ver}",`)) + formattedOrFacets = formattedOrFacets.slice(0, formattedOrFacets.length - 1) + formattedOrFacets += '],' + } + + // Add environments to orFacets if enabled + if (this.environments.client) + formattedOrFacets += '["client_side:optional","client_side:required"]]' + if (this.environments.server) + formattedOrFacets += '["server_side:optional","server_side:required"]]' + + formattedOrFacets = formattedOrFacets.slice(0, formattedOrFacets.length - 1) + // Aggregate facet query string const facets = `&facets=[${formattedAndFacets}${ formattedOrFacets.length > 0 ? `,${formattedOrFacets}` : '' From 16e015b5277244037b524e30e1ae93daffae42af Mon Sep 17 00:00:00 2001 From: Wyatt Verchere Date: Wed, 19 Apr 2023 11:44:44 -0700 Subject: [PATCH 092/231] Performance (#89) * jre async * mac support * fixed some settings not being saved to file * fixed older version of mac random crashing bug * added specific mac version detection * linux support for jre changes * added app storage options * tauri features change * dependency fix * removed debug statement * restructured to not pass css through rust * changed to os_info * rerun cicd --- Cargo.lock | 12 ++ theseus/src/api/jre.rs | 28 ++-- theseus/src/api/settings.rs | 1 + theseus/src/state/dirs.rs | 1 - theseus/src/state/java_globals.rs | 5 +- theseus/src/state/mod.rs | 2 +- theseus/src/util/jre.rs | 125 ++++++++++-------- theseus_gui/src-tauri/Cargo.toml | 1 + theseus_gui/src-tauri/src/api/jre.rs | 10 +- theseus_gui/src-tauri/src/main.rs | 22 +++ theseus_gui/src-tauri/tauri.conf.json | 6 +- theseus_gui/src/assets/stylesheets/macFix.css | 3 + theseus_gui/src/main.js | 3 +- theseus_gui/src/mixins/macCssFix.js | 27 ++++ 14 files changed, 164 insertions(+), 82 deletions(-) create mode 100644 theseus_gui/src/assets/stylesheets/macFix.css create mode 100644 theseus_gui/src/mixins/macCssFix.js diff --git a/Cargo.lock b/Cargo.lock index 20650ec53..f223de853 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2215,6 +2215,17 @@ dependencies = [ "vcpkg", ] +[[package]] +name = "os_info" +version = "3.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "006e42d5b888366f1880eda20371fedde764ed2213dc8496f49622fa0c99cd5e" +dependencies = [ + "log", + "serde", + "winapi", +] + [[package]] name = "overload" version = "0.1.1" @@ -3628,6 +3639,7 @@ version = "0.0.0" dependencies = [ "daedalus", "futures", + "os_info", "regex", "serde", "serde_json", diff --git a/theseus/src/api/jre.rs b/theseus/src/api/jre.rs index ad0b7b1c4..74042f25f 100644 --- a/theseus/src/api/jre.rs +++ b/theseus/src/api/jre.rs @@ -15,10 +15,10 @@ pub const JAVA_18PLUS_KEY: &str = "JAVA_18PLUS"; // Autodetect JavaSettings default // Make a guess for what the default Java global settings should be -pub fn autodetect_java_globals() -> crate::Result { - let mut java_8 = find_java8_jres()?; - let mut java_17 = find_java17_jres()?; - let mut java_18plus = find_java18plus_jres()?; +pub async fn autodetect_java_globals() -> crate::Result { + let mut java_8 = find_java8_jres().await?; + let mut java_17 = find_java17_jres().await?; + let mut java_18plus = find_java18plus_jres().await?; // Simply select last one found for initial guess let mut java_globals = JavaGlobals::new(); @@ -76,9 +76,9 @@ pub async fn get_optimal_jre_key(profile: &Profile) -> crate::Result { } // Searches for jres on the system that are 1.18 or higher -pub fn find_java18plus_jres() -> crate::Result> { +pub async fn find_java18plus_jres() -> crate::Result> { let version = extract_java_majorminor_version("1.18")?; - let jres = jre::get_all_jre()?; + let jres = jre::get_all_jre().await?; // Filter out JREs that are not 1.17 or higher Ok(jres .into_iter() @@ -94,9 +94,9 @@ pub fn find_java18plus_jres() -> crate::Result> { } // Searches for jres on the system that are 1.8 exactly -pub fn find_java8_jres() -> crate::Result> { +pub async fn find_java8_jres() -> crate::Result> { let version = extract_java_majorminor_version("1.8")?; - let jres = jre::get_all_jre()?; + let jres = jre::get_all_jre().await?; // Filter out JREs that are not 1.8 Ok(jres @@ -113,9 +113,9 @@ pub fn find_java8_jres() -> crate::Result> { } // Searches for jres on the system that are 1.17 exactly -pub fn find_java17_jres() -> crate::Result> { +pub async fn find_java17_jres() -> crate::Result> { let version = extract_java_majorminor_version("1.17")?; - let jres = jre::get_all_jre()?; + let jres = jre::get_all_jre().await?; // Filter out JREs that are not 1.8 Ok(jres @@ -132,17 +132,17 @@ pub fn find_java17_jres() -> crate::Result> { } // Get all JREs that exist on the system -pub fn get_all_jre() -> crate::Result> { - Ok(jre::get_all_jre()?) +pub async fn get_all_jre() -> crate::Result> { + Ok(jre::get_all_jre().await?) } pub async fn validate_globals() -> crate::Result { let state = State::get().await?; let settings = state.settings.read().await; - Ok(settings.java_globals.is_all_valid()) + Ok(settings.java_globals.is_all_valid().await) } // Validates JRE at a given at a given path pub async fn check_jre(path: PathBuf) -> crate::Result> { - Ok(jre::check_java_at_filepath(&path)) + Ok(jre::check_java_at_filepath(&path).await) } diff --git a/theseus/src/api/settings.rs b/theseus/src/api/settings.rs index fdf3b92c6..45b904707 100644 --- a/theseus/src/api/settings.rs +++ b/theseus/src/api/settings.rs @@ -21,5 +21,6 @@ pub async fn set(settings: Settings) -> crate::Result<()> { // Replaces the settings struct in the RwLock with the passed argument *state.settings.write().await = settings; state.reset_semaphore().await; // reset semaphore to new max + State::sync().await?; Ok(()) } diff --git a/theseus/src/state/dirs.rs b/theseus/src/state/dirs.rs index 6d1ec237b..4e5c0769e 100644 --- a/theseus/src/state/dirs.rs +++ b/theseus/src/state/dirs.rs @@ -26,7 +26,6 @@ impl DirectoryInfo { "Could not find valid config dir".to_string(), ))?; - dbg!(&config_dir); fs::create_dir_all(&config_dir).await.map_err(|err| { crate::ErrorKind::FSError(format!( "Error creating Theseus config directory: {err}" diff --git a/theseus/src/state/java_globals.rs b/theseus/src/state/java_globals.rs index 14126d475..9ef33bc17 100644 --- a/theseus/src/state/java_globals.rs +++ b/theseus/src/state/java_globals.rs @@ -37,11 +37,12 @@ impl JavaGlobals { // Validates that every path here is a valid Java version and that the version matches the version stored here // If false, when checked, the user should be prompted to reselect the Java version - pub fn is_all_valid(&self) -> bool { + pub async fn is_all_valid(&self) -> bool { for (_, java) in self.0.iter() { let jre = jre::check_java_at_filepath( PathBuf::from(&java.path).as_path(), - ); + ) + .await; if let Some(jre) = jre { if jre.version != java.version { return false; diff --git a/theseus/src/state/mod.rs b/theseus/src/state/mod.rs index 82ce0f1bf..421553aaf 100644 --- a/theseus/src/state/mod.rs +++ b/theseus/src/state/mod.rs @@ -130,7 +130,7 @@ impl State { // On launcher initialization, if global java variables are unset, try to find and set them // (they are required for the game to launch) if settings.java_globals.count() == 0 { - settings.java_globals = jre::autodetect_java_globals()?; + settings.java_globals = jre::autodetect_java_globals().await?; } Ok(Arc::new(Self { diff --git a/theseus/src/util/jre.rs b/theseus/src/util/jre.rs index 06580196c..dcc48c785 100644 --- a/theseus/src/util/jre.rs +++ b/theseus/src/util/jre.rs @@ -1,4 +1,5 @@ use dunce::canonicalize; +use futures::prelude::*; use lazy_static::lazy_static; use regex::Regex; use serde::{Deserialize, Serialize}; @@ -6,6 +7,7 @@ use std::env; use std::path::PathBuf; use std::process::Command; use std::{collections::HashSet, path::Path}; +use tokio::task::JoinError; #[cfg(target_os = "windows")] use winreg::{ @@ -23,12 +25,11 @@ pub struct JavaVersion { // Returns a Vec of unique JavaVersions from the PATH, Windows Registry Keys and common Java locations #[cfg(target_os = "windows")] #[tracing::instrument] -pub fn get_all_jre() -> Result, JREError> { - // Use HashSet to avoid duplicates - let mut jres = HashSet::new(); +pub async fn get_all_jre() -> Result, JREError> { + let mut jre_paths = HashSet::new(); // Add JRES directly on PATH - jres.extend(get_all_jre_path()?); + jre_paths.extend(get_all_jre_path().await?); // Hard paths for locations for commonly installed .exes let java_paths = [r"C:/Program Files/Java", r"C:/Program Files (x86)/Java"]; @@ -36,9 +37,7 @@ pub fn get_all_jre() -> Result, JREError> { let Ok(java_subpaths) = std::fs::read_dir(java_path) else {continue }; for java_subpath in java_subpaths { let path = java_subpath?.path(); - if let Some(j) = check_java_at_filepath(&path.join("bin")) { - jres.insert(j); - } + jre_paths.insert(path.join("bin")); } } @@ -53,28 +52,35 @@ pub fn get_all_jre() -> Result, JREError> { r"SOFTWARE\\Eclipse Foundation\\JDK", // Eclipse r"SOFTWARE\\Microsoft\\JDK", // Microsoft ]; + for key in key_paths { if let Ok(jre_key) = RegKey::predef(HKEY_LOCAL_MACHINE) .open_subkey_with_flags(key, KEY_READ | KEY_WOW64_32KEY) { - jres.extend(get_all_jre_winregkey(jre_key)?); + jre_paths.extend(get_paths_from_jre_winregkey(jre_key)?); } if let Ok(jre_key) = RegKey::predef(HKEY_LOCAL_MACHINE) .open_subkey_with_flags(key, KEY_READ | KEY_WOW64_64KEY) { - jres.extend(get_all_jre_winregkey(jre_key)?); + jre_paths.extend(get_paths_from_jre_winregkey(jre_key)?); } } - Ok(jres.into_iter().collect()) + // Get JRE versions from potential paths concurrently + let j = check_java_at_filepaths(jre_paths) + .await? + .into_iter() + .collect(); + Ok(j) } +// Gets paths rather than search directly as RegKeys should not be passed asynchronously (do not impl Send) #[cfg(target_os = "windows")] #[tracing::instrument] -pub fn get_all_jre_winregkey( +pub fn get_paths_from_jre_winregkey( jre_key: RegKey, -) -> Result, JREError> { - let mut jres = HashSet::new(); +) -> Result, JREError> { + let mut jre_paths = HashSet::new(); for subkey in jre_key.enum_keys() { let subkey = subkey?; @@ -87,26 +93,23 @@ pub fn get_all_jre_winregkey( let path: Result = subkey.get_value(subkey_value); let Ok(path) = path else {continue}; - if let Some(j) = - check_java_at_filepath(&PathBuf::from(path).join("bin")) - { - jres.insert(j); - } + + jre_paths.insert(PathBuf::from(path).join("bin")); } } - Ok(jres) + Ok(jre_paths) } // Entrypoint function (Mac) // Returns a Vec of unique JavaVersions from the PATH, and common Java locations #[cfg(target_os = "macos")] #[tracing::instrument] -pub fn get_all_jre() -> Result, JREError> { +pub async fn get_all_jre() -> Result, JREError> { // Use HashSet to avoid duplicates - let mut jres = HashSet::new(); + let mut jre_paths = HashSet::new(); // Add JREs directly on PATH - jres.extend(get_all_jre_path()?); + jre_paths.extend(get_all_jre_path().await?); // Hard paths for locations for commonly installed .exes let java_paths = [ @@ -115,36 +118,34 @@ pub fn get_all_jre() -> Result, JREError> { r"/System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands", ]; for path in java_paths { - if let Some(j) = - check_java_at_filepath(&PathBuf::from(path).join("bin")) - { - jres.insert(j); - } + jre_paths.insert(PathBuf::from(path)); } // Iterate over JavaVirtualMachines/(something)/Contents/Home/bin let base_path = PathBuf::from("/Library/Java/JavaVirtualMachines/"); if base_path.is_dir() { for entry in std::fs::read_dir(base_path)? { let entry = entry?.path().join("Contents/Home/bin"); - if let Some(j) = check_java_at_filepath(entry.as_path()) { - jres.insert(j); - } + jre_paths.insert(entry); } } - - Ok(jres.into_iter().collect()) + // Get JRE versions from potential paths concurrently + let j = check_java_at_filepaths(jre_paths) + .await? + .into_iter() + .collect(); + Ok(j) } // Entrypoint function (Linux) // Returns a Vec of unique JavaVersions from the PATH, and common Java locations #[cfg(target_os = "linux")] #[tracing::instrument] -pub fn get_all_jre() -> Result, JREError> { +pub async fn get_all_jre() -> Result, JREError> { // Use HashSet to avoid duplicates - let mut jres = HashSet::new(); + let mut jre_paths = HashSet::new(); // Add JREs directly on PATH - jres.extend(get_all_jre_path()?); + jre_paths.extend(get_all_jre_path().await?); // Hard paths for locations for commonly installed locations let java_paths = [ @@ -156,34 +157,23 @@ pub fn get_all_jre() -> Result, JREError> { r"/opt/jdks", ]; for path in java_paths { - if let Some(j) = - check_java_at_filepath(&PathBuf::from(path).join("jre").join("bin")) - { - jres.insert(j); - } - if let Some(j) = - check_java_at_filepath(&PathBuf::from(path).join("bin")) - { - jres.insert(j); - } + jre_paths.insert(PathBuf::from(path).join("jre").join("bin")); + jre_paths.insert(PathBuf::from(path).join("bin")); } - Ok(jres.into_iter().collect()) + // Get JRE versions from potential paths concurrently + let j = check_java_at_filepaths(jre_paths) + .await? + .into_iter() + .collect(); + Ok(j) } // Gets all JREs from the PATH env variable #[tracing::instrument] -fn get_all_jre_path() -> Result, JREError> { +async fn get_all_jre_path() -> Result, JREError> { // Iterate over values in PATH variable, where accessible JREs are referenced let paths = env::var("PATH")?; - let paths = env::split_paths(&paths); - - let mut jres = HashSet::new(); - for path in paths { - if let Some(j) = check_java_at_filepath(&path) { - jres.insert(j); - } - } - Ok(jres) + Ok(env::split_paths(&paths).collect()) } #[cfg(target_os = "windows")] @@ -194,10 +184,28 @@ const JAVA_BIN: &str = "java.exe"; #[allow(dead_code)] const JAVA_BIN: &str = "java"; +// For each example filepath in 'paths', perform check_java_at_filepath, checking each one concurrently +// and returning a JavaVersion for every valid path that points to a java bin +#[tracing::instrument] +pub async fn check_java_at_filepaths( + paths: HashSet, +) -> Result, JREError> { + let jres = stream::iter(paths.into_iter()) + .map(|p: PathBuf| { + tokio::task::spawn(async move { check_java_at_filepath(&p).await }) + }) + .buffer_unordered(64) + .collect::>() + .await; + + let jres: Result, JoinError> = jres.into_iter().collect(); + Ok(jres?.into_iter().flatten().collect()) +} + // For example filepath 'path', attempt to resolve it and get a Java version at this path // If no such path exists, or no such valid java at this path exists, returns None #[tracing::instrument] -pub fn check_java_at_filepath(path: &Path) -> Option { +pub async fn check_java_at_filepath(path: &Path) -> Option { // Attempt to canonicalize the potential java filepath // If it fails, this path does not exist and None is returned (no Java here) let Ok(path) = canonicalize(path) else { return None }; @@ -289,6 +297,9 @@ pub enum JREError { #[error("Parsing error: {0}")] ParseError(#[from] std::num::ParseIntError), + #[error("Join error: {0}")] + JoinError(#[from] JoinError), + #[error("No stored tag for Minecraft Version {0}")] NoMinecraftVersionFound(String), } diff --git a/theseus_gui/src-tauri/Cargo.toml b/theseus_gui/src-tauri/Cargo.toml index dd2701619..b7bf16b02 100644 --- a/theseus_gui/src-tauri/Cargo.toml +++ b/theseus_gui/src-tauri/Cargo.toml @@ -28,6 +28,7 @@ daedalus = {version = "0.1.15", features = ["bincode"] } url = "2.2" uuid = { version = "1.1", features = ["serde", "v4"] } +os_info = "3.7.0" [features] # by default Tauri runs in production mode diff --git a/theseus_gui/src-tauri/src/api/jre.rs b/theseus_gui/src-tauri/src/api/jre.rs index bca529d27..1666ba1d1 100644 --- a/theseus_gui/src-tauri/src/api/jre.rs +++ b/theseus_gui/src-tauri/src/api/jre.rs @@ -9,32 +9,32 @@ use super::TheseusSerializableError; /// Get all JREs that exist on the system #[tauri::command] pub async fn jre_get_all_jre() -> Result> { - Ok(jre::get_all_jre()?) + Ok(jre::get_all_jre().await?) } // Finds the isntallation of Java 7, if it exists #[tauri::command] pub async fn jre_find_jre_8_jres() -> Result> { - Ok(jre::find_java8_jres()?) + Ok(jre::find_java8_jres().await?) } // finds the installation of Java 17, if it exists #[tauri::command] pub async fn jre_find_jre_17_jres() -> Result> { - Ok(jre::find_java17_jres()?) + Ok(jre::find_java17_jres().await?) } // Finds the highest version of Java 18+, if it exists #[tauri::command] pub async fn jre_find_jre_18plus_jres() -> Result> { - Ok(jre::find_java18plus_jres()?) + Ok(jre::find_java18plus_jres().await?) } // Autodetect Java globals, by searching the users computer. // Returns a *NEW* JavaGlobals that can be put into Settings #[tauri::command] pub async fn jre_autodetect_java_globals() -> Result { - Ok(jre::autodetect_java_globals()?) + Ok(jre::autodetect_java_globals().await?) } // Gets key for the optimal JRE to use, for a given profile Profile diff --git a/theseus_gui/src-tauri/src/main.rs b/theseus_gui/src-tauri/src/main.rs index 8fcbb100b..cec576510 100644 --- a/theseus_gui/src-tauri/src/main.rs +++ b/theseus_gui/src-tauri/src/main.rs @@ -15,10 +15,32 @@ async fn initialize_state(app: tauri::AppHandle) -> api::Result<()> { Ok(()) } +// cfg only on mac os +// disables mouseover and fixes a random crash error only fixed by recent versions of macos +#[cfg(target_os = "macos")] +#[tauri::command] +async fn should_disable_mouseover() -> bool { + // We try to match version to 12.2 or higher. If unrecognizable to pattern or lower, we default to the css with disabled mouseover for safety + let os = os_info::get(); + if let os_info::Version::Semantic(major, minor, _) = os.version() { + if *major >= 12 && *minor >= 3 { + // Mac os version is 12.3 or higher, we allow mouseover + return false; + } + } + true +} +#[cfg(not(target_os = "macos"))] +#[tauri::command] +async fn should_disable_mouseover() -> bool { + false +} + fn main() { tauri::Builder::default() .invoke_handler(tauri::generate_handler![ initialize_state, + should_disable_mouseover, api::profile_create::profile_create_empty, api::profile_create::profile_create, api::profile::profile_remove, diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json index 8e9e8ac62..d310c6a58 100644 --- a/theseus_gui/src-tauri/tauri.conf.json +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -15,7 +15,11 @@ "all": false, "protocol": { "asset": true, - "assetScope": ["$APPDATA/caches/icons/*"] + "assetScope": [ + "$APPDATA/caches/icons/*", + "$APPCONFIG/caches/icons/*", + "$CONFIG/caches/icons/*" + ] }, "window": { "create": true, diff --git a/theseus_gui/src/assets/stylesheets/macFix.css b/theseus_gui/src/assets/stylesheets/macFix.css new file mode 100644 index 000000000..b56737a9c --- /dev/null +++ b/theseus_gui/src/assets/stylesheets/macFix.css @@ -0,0 +1,3 @@ +img { + pointer-events: none !important; +} diff --git a/theseus_gui/src/main.js b/theseus_gui/src/main.js index b4b80d76e..a8c2fcde0 100644 --- a/theseus_gui/src/main.js +++ b/theseus_gui/src/main.js @@ -6,11 +6,12 @@ import '../node_modules/omorphia/dist/style.css' import '@/assets/stylesheets/global.scss' import FloatingVue from 'floating-vue' import { initialize_state } from '@/helpers/state' +import loadCssMixin from './mixins/macCssFix.js' const pinia = createPinia() initialize_state() .then(() => { - createApp(App).use(router).use(pinia).use(FloatingVue).mount('#app') + createApp(App).use(router).use(pinia).use(FloatingVue).mixin(loadCssMixin).mount('#app') }) .catch((err) => console.error(err)) diff --git a/theseus_gui/src/mixins/macCssFix.js b/theseus_gui/src/mixins/macCssFix.js new file mode 100644 index 000000000..cb176dfe9 --- /dev/null +++ b/theseus_gui/src/mixins/macCssFix.js @@ -0,0 +1,27 @@ +import { invoke } from '@tauri-apps/api/tauri' +import cssContent from '@/assets/stylesheets/macFix.css?inline' + +export default { + async mounted() { + await this.checkDisableMouseover() + }, + methods: { + async checkDisableMouseover() { + try { + // Fetch the CSS content from the Rust backend + const should_disable_mouseover = await invoke('should_disable_mouseover') + + if (should_disable_mouseover) { + // Create a style element and set its content + const styleElement = document.createElement('style') + styleElement.innerHTML = cssContent + + // Append the style element to the document's head + document.head.appendChild(styleElement) + } + } catch (error) { + console.error('Error checking OS version from Rust backend', error) + } + }, + }, +} From 6887c33b6672d90c47e6a87f0cc3c31e34badf76 Mon Sep 17 00:00:00 2001 From: Justsnoopy30 Date: Wed, 19 Apr 2023 21:05:07 -0500 Subject: [PATCH 093/231] Update tauri content security policy (#92) This fixes the launcher not loading on some system webview implementations --- theseus_gui/src-tauri/tauri.conf.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json index d310c6a58..fe00a245f 100644 --- a/theseus_gui/src-tauri/tauri.conf.json +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -60,7 +60,7 @@ } }, "security": { - "csp": "default-src 'self'; img-src 'self' asset: https://asset.localhost" + "csp": "default-src 'self'; connect-src https://modrinth.com https://*.modrinth.com; style-src https://rsms.me/inter/ 'unsafe-inline'; font-src https://rsms.me/inter/; img-src tauri: https: data: blob: 'unsafe-inline' asset: https://asset.localhost" }, "updater": { "active": false From 16f297b54625f945e207bc78e40800b2af83656a Mon Sep 17 00:00:00 2001 From: Zach Baird <30800863+ZachBaird@users.noreply.github.com> Date: Fri, 21 Apr 2023 17:45:50 -0400 Subject: [PATCH 094/231] Standing up global settings page. (#63) * Adds markup to Settings page. * Fixes card styling. Makes theme a dropdown. Fleshes out theme store and helpers. * Settings wired up to backend. Omorphia package bumped. * settings not syncing * Further polishes Global Settings. * Post-merge cleanup. * Cleans up code. Ensures Java versions are present. * Wires up auto-detect modal. Wires up Java version browse. Styling updates. * Styling inputs. Adjusts modals. * Removes theme helpers. Removes unnecessary classes. * Always displays settings save btn. Watch code removed. New Card added. * Cleans up merge from master. Adds AnimatedLogo to settings. * Installs updated Omorphia. Removes unnecessary styles. Fixes loading logo position. * Starts wiring up theming to settings. Adds Tauri command to get just theme. * Settings page polish. allowList updated. * Condenses modals into one. Implements JRE checking. * Updates Omorphia package. Removes unnecessary styles. * Removes get_theme. Styling changes. * Changes appbar background for light-mode. * Fixes * fix color with var --------- Co-authored-by: thesuzerain Co-authored-by: Jai A --- theseus_gui/.gitignore | 2 + theseus_gui/dist/.gitignore | 3 - theseus_gui/package-lock.json | 2689 ----------------- theseus_gui/package.json | 6 +- theseus_gui/src-tauri/Cargo.toml | 2 +- theseus_gui/src-tauri/src/api/mod.rs | 6 +- theseus_gui/src-tauri/src/api/settings.rs | 13 +- theseus_gui/src-tauri/tauri.conf.json | 4 +- theseus_gui/src/App.vue | 83 +- .../src/assets/stylesheets/global.scss | 7 + .../src/components/ui/AccountsCard.vue | 2 +- theseus_gui/src/helpers/theme.js | 13 - theseus_gui/src/pages/Settings.vue | 448 ++- theseus_gui/src/pages/instance/Mods.vue | 46 +- theseus_gui/src/pages/project/Versions.vue | 59 +- theseus_gui/src/store/theme.js | 14 +- theseus_gui/yarn.lock | 348 +-- 17 files changed, 704 insertions(+), 3041 deletions(-) delete mode 100644 theseus_gui/dist/.gitignore delete mode 100644 theseus_gui/package-lock.json delete mode 100644 theseus_gui/src/helpers/theme.js diff --git a/theseus_gui/.gitignore b/theseus_gui/.gitignore index 8a0449091..6541bae65 100644 --- a/theseus_gui/.gitignore +++ b/theseus_gui/.gitignore @@ -9,6 +9,8 @@ yarn-error.log* pnpm-debug.log* lerna-debug.log* +generated.js + node_modules *.local diff --git a/theseus_gui/dist/.gitignore b/theseus_gui/dist/.gitignore deleted file mode 100644 index 59c3b7198..000000000 --- a/theseus_gui/dist/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -# exclude everything except this file -* -!.gitignore diff --git a/theseus_gui/package-lock.json b/theseus_gui/package-lock.json deleted file mode 100644 index 67e97f34a..000000000 --- a/theseus_gui/package-lock.json +++ /dev/null @@ -1,2689 +0,0 @@ -{ - "name": "theseus_gui", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "theseus_gui", - "version": "0.0.0", - "dependencies": { - "@tauri-apps/api": "^1.2.0", - "dayjs": "^1.11.7", - "ofetch": "^1.0.1", - "omorphia": "^0.4.4", - "pinia": "^2.0.33", - "vite-svg-loader": "^4.0.0", - "vue": "^3.2.45", - "vue-multiselect": "^3.0.0-alpha.2", - "vue-router": "4" - }, - "devDependencies": { - "@rollup/plugin-alias": "^4.0.3", - "@tauri-apps/cli": "^1.2.2", - "@vitejs/plugin-vue": "^4.0.0", - "eslint": "^8.35.0", - "eslint-config-prettier": "^8.6.0", - "eslint-plugin-vue": "^9.9.0", - "prettier": "^2.8.7", - "sass": "^1.58.3", - "vite": "^4.0.0", - "vite-plugin-eslint": "^1.8.1" - } - }, - "node_modules/@babel/parser": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.4.tgz", - "integrity": "sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==", - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.15.tgz", - "integrity": "sha512-JsdS0EgEViwuKsw5tiJQo9UdQdUJYuB+Mf6HxtJSPN35vez1hlrNb1KajvKWF5Sa35j17+rW1ECEO9iNrIXbNg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.0.tgz", - "integrity": "sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", - "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.5.1", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.37.0.tgz", - "integrity": "sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@floating-ui/core": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", - "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==", - "license": "MIT" - }, - "node_modules/@floating-ui/dom": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz", - "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^0.3.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/plugin-alias": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-4.0.4.tgz", - "integrity": "sha512-0CaAY238SMtYAWEXXptWSR8iz8NYZnH7zNBKuJ14xFJSGwLtPgjvXYsoApAHfzYXXH1ejxpVw7WlHss3zhh9SQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "slash": "^4.0.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", - "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "estree-walker": "^2.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/@tauri-apps/api": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-1.2.0.tgz", - "integrity": "sha512-lsI54KI6HGf7VImuf/T9pnoejfgkNoXveP14pVV7XarrQ46rOejIVJLFqHI9sRReJMGdh2YuCoI3cc/yCWCsrw==", - "license": "Apache-2.0 OR MIT", - "engines": { - "node": ">= 14.6.0", - "npm": ">= 6.6.0", - "yarn": ">= 1.19.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" - } - }, - "node_modules/@tauri-apps/cli": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-1.2.3.tgz", - "integrity": "sha512-erxtXuPhMEGJPBtnhPILD4AjuT81GZsraqpFvXAmEJZ2p8P6t7MVBifCL8LznRknznM3jn90D3M8RNBP3wcXTw==", - "dev": true, - "license": "Apache-2.0 OR MIT", - "bin": { - "tauri": "tauri.js" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" - }, - "optionalDependencies": { - "@tauri-apps/cli-darwin-arm64": "1.2.3", - "@tauri-apps/cli-darwin-x64": "1.2.3", - "@tauri-apps/cli-linux-arm-gnueabihf": "1.2.3", - "@tauri-apps/cli-linux-arm64-gnu": "1.2.3", - "@tauri-apps/cli-linux-arm64-musl": "1.2.3", - "@tauri-apps/cli-linux-x64-gnu": "1.2.3", - "@tauri-apps/cli-linux-x64-musl": "1.2.3", - "@tauri-apps/cli-win32-ia32-msvc": "1.2.3", - "@tauri-apps/cli-win32-x64-msvc": "1.2.3" - } - }, - "node_modules/@tauri-apps/cli-linux-x64-gnu": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-1.2.3.tgz", - "integrity": "sha512-ZMz1jxEVe0B4/7NJnlPHmwmSIuwiD6ViXKs8F+OWWz2Y4jn5TGxWKFg7DLx5OwQTRvEIZxxT7lXHi5CuTNAxKg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-x64-musl": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-1.2.3.tgz", - "integrity": "sha512-B/az59EjJhdbZDzawEVox0LQu2ZHCZlk8rJf85AMIktIUoAZPFbwyiUv7/zjzA/sY6Nb58OSJgaPL2/IBy7E0A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", - "license": "ISC", - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/@types/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@vitejs/plugin-vue": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.1.0.tgz", - "integrity": "sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.0.0", - "vue": "^3.2.25" - } - }, - "node_modules/@vue/compiler-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.47.tgz", - "integrity": "sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "source-map": "^0.6.1" - } - }, - "node_modules/@vue/compiler-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.47.tgz", - "integrity": "sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==", - "license": "MIT", - "dependencies": { - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.47.tgz", - "integrity": "sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-ssr": "3.2.47", - "@vue/reactivity-transform": "3.2.47", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7", - "postcss": "^8.1.10", - "source-map": "^0.6.1" - } - }, - "node_modules/@vue/compiler-ssr": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.47.tgz", - "integrity": "sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/shared": "3.2.47" - } - }, - "node_modules/@vue/devtools-api": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.0.tgz", - "integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==", - "license": "MIT" - }, - "node_modules/@vue/reactivity": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.47.tgz", - "integrity": "sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==", - "license": "MIT", - "dependencies": { - "@vue/shared": "3.2.47" - } - }, - "node_modules/@vue/reactivity-transform": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.47.tgz", - "integrity": "sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==", - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.16.4", - "@vue/compiler-core": "3.2.47", - "@vue/shared": "3.2.47", - "estree-walker": "^2.0.2", - "magic-string": "^0.25.7" - } - }, - "node_modules/@vue/runtime-core": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.47.tgz", - "integrity": "sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==", - "license": "MIT", - "dependencies": { - "@vue/reactivity": "3.2.47", - "@vue/shared": "3.2.47" - } - }, - "node_modules/@vue/runtime-dom": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.47.tgz", - "integrity": "sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==", - "license": "MIT", - "dependencies": { - "@vue/runtime-core": "3.2.47", - "@vue/shared": "3.2.47", - "csstype": "^2.6.8" - } - }, - "node_modules/@vue/server-renderer": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.47.tgz", - "integrity": "sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-ssr": "3.2.47", - "@vue/shared": "3.2.47" - }, - "peerDependencies": { - "vue": "3.2.47" - } - }, - "node_modules/@vue/shared": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.47.tgz", - "integrity": "sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==", - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "license": "Python-2.0" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "license": "ISC" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "license": "MIT" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-tree": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", - "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.30", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "license": "BSD-2-Clause", - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/cssfilter": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/cssfilter/-/cssfilter-0.0.10.tgz", - "integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==", - "license": "MIT" - }, - "node_modules/csso": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", - "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", - "license": "MIT", - "dependencies": { - "css-tree": "~2.2.0" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/css-tree": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", - "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", - "license": "MIT", - "dependencies": { - "mdn-data": "2.0.28", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", - "npm": ">=7.0.0" - } - }, - "node_modules/csso/node_modules/mdn-data": { - "version": "2.0.28", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", - "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", - "license": "CC0-1.0" - }, - "node_modules/csstype": { - "version": "2.6.21", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", - "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==", - "license": "MIT" - }, - "node_modules/dayjs": { - "version": "1.11.7", - "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", - "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/destr": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/destr/-/destr-1.2.2.tgz", - "integrity": "sha512-lrbCJwD9saUQrqUfXvl6qoM+QN3W7tLV5pAOs+OqOmopCCz/JkE05MHedJR1xfk4IAnZuJXPVuN5+7jNA2ZCiA==", - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-serializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", - "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", - "license": "MIT", - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz", - "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "license": "BSD-2-Clause" - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "license": "BSD-2-Clause", - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz", - "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==", - "license": "BSD-2-Clause", - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.1" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/esbuild": { - "version": "0.17.15", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.15.tgz", - "integrity": "sha512-LBUV2VsUIc/iD9ME75qhT4aJj0r75abCVS0jakhFzOtR7TQsqQA5w0tZ+KTKnwl3kXE0MhskNdHDh/I5aCR1Zw==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.15", - "@esbuild/android-arm64": "0.17.15", - "@esbuild/android-x64": "0.17.15", - "@esbuild/darwin-arm64": "0.17.15", - "@esbuild/darwin-x64": "0.17.15", - "@esbuild/freebsd-arm64": "0.17.15", - "@esbuild/freebsd-x64": "0.17.15", - "@esbuild/linux-arm": "0.17.15", - "@esbuild/linux-arm64": "0.17.15", - "@esbuild/linux-ia32": "0.17.15", - "@esbuild/linux-loong64": "0.17.15", - "@esbuild/linux-mips64el": "0.17.15", - "@esbuild/linux-ppc64": "0.17.15", - "@esbuild/linux-riscv64": "0.17.15", - "@esbuild/linux-s390x": "0.17.15", - "@esbuild/linux-x64": "0.17.15", - "@esbuild/netbsd-x64": "0.17.15", - "@esbuild/openbsd-x64": "0.17.15", - "@esbuild/sunos-x64": "0.17.15", - "@esbuild/win32-arm64": "0.17.15", - "@esbuild/win32-ia32": "0.17.15", - "@esbuild/win32-x64": "0.17.15" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.37.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.37.0.tgz", - "integrity": "sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.0.2", - "@eslint/js": "8.37.0", - "@humanwhocodes/config-array": "^0.11.8", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.4.0", - "espree": "^9.5.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", - "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", - "dev": true, - "license": "MIT", - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-vue": { - "version": "9.10.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.10.0.tgz", - "integrity": "sha512-2MgP31OBf8YilUvtakdVMc8xVbcMp7z7/iQj8LHVpXrSXHPXSJRUIGSPFI6b6pyCx/buKaFJ45ycqfHvQRiW2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.3.0", - "natural-compare": "^1.4.0", - "nth-check": "^2.0.1", - "postcss-selector-parser": "^6.0.9", - "semver": "^7.3.5", - "vue-eslint-parser": "^9.0.1", - "xml-name-validator": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", - "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "9.5.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", - "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.8.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/floating-vue": { - "version": "2.0.0-beta.20", - "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-2.0.0-beta.20.tgz", - "integrity": "sha512-N68otcpp6WwcYC7zP8GeJqNZVdfvS7tEY88lwmuAHeqRgnfWx1Un8enzLxROyVnBDZ3TwUoUdj5IFg+bUT7JeA==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^0.1.10", - "vue-resize": "^2.0.0-alpha.1" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "license": "ISC" - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true, - "license": "MIT" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/highlight.js": { - "version": "11.7.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-11.7.0.tgz", - "integrity": "sha512-1rRqesRFhMO/PRF+G86evnyJkCgaZFOI+Z6kdj15TA18funfoqJXvgPCLSf0SWq3SRfg1j3HlDs8o4s3EGq1oQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", - "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", - "dev": true, - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", - "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" - }, - "node_modules/js-sdsl": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", - "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" - } - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/linkify-it": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-4.0.1.tgz", - "integrity": "sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw==", - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "license": "MIT", - "dependencies": { - "sourcemap-codec": "^1.4.8" - } - }, - "node_modules/markdown-it": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-13.0.1.tgz", - "integrity": "sha512-lTlxriVoy2criHP0JKRhO2VDG9c2ypWCsT237eDiLqi09rmbKoUetyGHq2uOIRoRS//kfoJckS0eUzzkDR+k2Q==", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/mdn-data": { - "version": "2.0.30", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", - "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", - "license": "CC0-1.0" - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "license": "MIT" - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" - }, - "node_modules/node-fetch-native": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.1.0.tgz", - "integrity": "sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==", - "license": "MIT" - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", - "license": "BSD-2-Clause", - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/ofetch": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.0.1.tgz", - "integrity": "sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==", - "license": "MIT", - "dependencies": { - "destr": "^1.2.2", - "node-fetch-native": "^1.0.2", - "ufo": "^1.1.0" - } - }, - "node_modules/omorphia": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/omorphia/-/omorphia-0.4.4.tgz", - "integrity": "sha512-HnIZahQVQmH6kHPzeb5iQTzgPhWu8VUwgNnCIUzWhudFqgB32NNUHNQW3seHgM8pmLSeIA3/2fjqkTrzK9EQvw==", - "dependencies": { - "dayjs": "^1.11.7", - "floating-vue": "^2.0.0-beta.20", - "highlight.js": "^11.7.0", - "markdown-it": "^13.0.1", - "vue": "^3.2.45", - "vue-router": "^4.1.6", - "vue-select": "^4.0.0-beta.6", - "xss": "^1.0.14" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pinia": { - "version": "2.0.34", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.0.34.tgz", - "integrity": "sha512-cgOoGUiyqX0SSgX8XelK9+Ri4XA2/YyNtgjogwfzIx1g7iZTaZPxm7/bZYMCLU2qHRiHhxG7SuQO0eBacFNc2Q==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^6.5.0", - "vue-demi": "*" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "@vue/composition-api": "^1.4.0", - "typescript": ">=4.4.4", - "vue": "^2.6.14 || ^3.2.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - }, - "typescript": { - "optional": true - } - } - }, - "node_modules/postcss": { - "version": "8.4.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", - "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.11", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz", - "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.8.7", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz", - "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/sass": { - "version": "1.61.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.61.0.tgz", - "integrity": "sha512-PDsN7BrVkNZK2+dj/dpKQAWZavbAQ87IXqVvw2+oEYI+GwlTWkvbQtL7F2cCNbMqJEYKPh1EcjSxsnqIb/kyaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "license": "MIT" - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/svgo": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.0.2.tgz", - "integrity": "sha512-Z706C1U2pb1+JGP48fbazf3KxHrWOsLme6Rv7imFBn5EnuanDW1GPaA/P1/dvObE670JDePC3mnj0k0B7P0jjQ==", - "license": "MIT", - "dependencies": { - "@trysound/sax": "0.2.0", - "commander": "^7.2.0", - "css-select": "^5.1.0", - "css-tree": "^2.2.1", - "csso": "^5.0.5", - "picocolors": "^1.0.0" - }, - "bin": { - "svgo": "bin/svgo" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/svgo" - } - }, - "node_modules/svgo/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "license": "MIT" - }, - "node_modules/ufo": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.1.1.tgz", - "integrity": "sha512-MvlCc4GHrmZdAllBc0iUDowff36Q9Ndw/UzqmEKyrfSzokTd9ZCy1i+IIk5hrYKkjoYVQyNbrw7/F8XJ2rEwTg==", - "license": "MIT" - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.2.1.tgz", - "integrity": "sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.17.5", - "postcss": "^8.4.21", - "resolve": "^1.22.1", - "rollup": "^3.18.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-plugin-eslint": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", - "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", - "dev": true, - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^4.2.1", - "@types/eslint": "^8.4.5", - "rollup": "^2.77.2" - }, - "peerDependencies": { - "eslint": ">=7", - "vite": ">=2" - } - }, - "node_modules/vite-svg-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-4.0.0.tgz", - "integrity": "sha512-0MMf1yzzSYlV4MGePsLVAOqXsbF5IVxbn4EEzqRnWxTQl8BJg/cfwIzfQNmNQxZp5XXwd4kyRKF1LytuHZTnqA==", - "license": "MIT", - "dependencies": { - "@vue/compiler-sfc": "^3.2.20", - "svgo": "^3.0.2" - } - }, - "node_modules/vite/node_modules/rollup": { - "version": "3.20.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.20.2.tgz", - "integrity": "sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==", - "dev": true, - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/vue": { - "version": "3.2.47", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.47.tgz", - "integrity": "sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==", - "license": "MIT", - "dependencies": { - "@vue/compiler-dom": "3.2.47", - "@vue/compiler-sfc": "3.2.47", - "@vue/runtime-dom": "3.2.47", - "@vue/server-renderer": "3.2.47", - "@vue/shared": "3.2.47" - } - }, - "node_modules/vue-demi": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.13.11.tgz", - "integrity": "sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "vue-demi-fix": "bin/vue-demi-fix.js", - "vue-demi-switch": "bin/vue-demi-switch.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vue/composition-api": "^1.0.0-rc.1", - "vue": "^3.0.0-0 || ^2.6.0" - }, - "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - } - } - }, - "node_modules/vue-eslint-parser": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.1.1.tgz", - "integrity": "sha512-C2aI/r85Q6tYcz4dpgvrs4wH/MqVrRAVIdpYedrxnATDHHkb+TroeRcDpKWGZCx/OcECMWfz7tVwQ8e+Opy6rA==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/vue-multiselect": { - "version": "3.0.0-beta.1", - "resolved": "https://registry.npmjs.org/vue-multiselect/-/vue-multiselect-3.0.0-beta.1.tgz", - "integrity": "sha512-V+jpydtjyHcQ+yjHsEWEBrDAopOx/pufNkSAXNVDAGQ+ESDEJ7wYejNd9H1RiCnFOYK4yf1XSGqE+Mp3HJXmdg==", - "license": "MIT", - "engines": { - "node": ">= 4.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/vue-resize": { - "version": "2.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/vue-resize/-/vue-resize-2.0.0-alpha.1.tgz", - "integrity": "sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==", - "license": "MIT", - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/vue-router": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.1.6.tgz", - "integrity": "sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==", - "license": "MIT", - "dependencies": { - "@vue/devtools-api": "^6.4.5" - }, - "funding": { - "url": "https://github.com/sponsors/posva" - }, - "peerDependencies": { - "vue": "^3.2.0" - } - }, - "node_modules/vue-select": { - "version": "4.0.0-beta.6", - "resolved": "https://registry.npmjs.org/vue-select/-/vue-select-4.0.0-beta.6.tgz", - "integrity": "sha512-K+zrNBSpwMPhAxYLTCl56gaMrWZGgayoWCLqe5rWwkB8aUbAUh7u6sXjIR7v4ckp2WKC7zEEUY27g6h1MRsIHw==", - "license": "MIT", - "peerDependencies": { - "vue": "3.x" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/xml-name-validator": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", - "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12" - } - }, - "node_modules/xss": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/xss/-/xss-1.0.14.tgz", - "integrity": "sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw==", - "license": "MIT", - "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/theseus_gui/package.json b/theseus_gui/package.json index 2ebf22306..3c0e1a414 100644 --- a/theseus_gui/package.json +++ b/theseus_gui/package.json @@ -10,16 +10,16 @@ "tauri": "tauri", "lint:js": "eslint --ext .js,.vue,.ts,.jsx,.tsx,.html,.vue .", "lint": "npm run lint:js && prettier --check .", - "fix": "eslint --fix --ext .js,.vue,.ts,.jsx,.tsx,.html,.vue ." + "fix": "eslint --fix --ext .js,.vue,.ts,.jsx,.tsx,.html,.vue . && prettier --write ." }, "dependencies": { "@tauri-apps/api": "^1.2.0", - "omorphia": "^0.4.4", + "ofetch": "^1.0.1", + "omorphia": "^0.4.9", "pinia": "^2.0.33", "vite-svg-loader": "^4.0.0", "vue": "^3.2.45", "dayjs": "^1.11.7", - "ofetch": "^1.0.1", "vue-multiselect": "^3.0.0-alpha.2", "vue-router": "4" }, diff --git a/theseus_gui/src-tauri/Cargo.toml b/theseus_gui/src-tauri/Cargo.toml index b7bf16b02..82c826cee 100644 --- a/theseus_gui/src-tauri/Cargo.toml +++ b/theseus_gui/src-tauri/Cargo.toml @@ -19,7 +19,7 @@ theseus = { path = "../../theseus", features = ["tauri"] } serde_json = "1.0" serde = { version = "1.0", features = ["derive"] } -tauri = { version = "1.2", features = ["dialog", "protocol-asset", "window-close", "window-create"] } +tauri = { version = "1.2", features = ["dialog", "dialog-all", "protocol-asset", "window-close", "window-create"] } tokio = { version = "1", features = ["full"] } thiserror = "1.0" tokio-stream = { version = "0.1", features = ["fs"] } diff --git a/theseus_gui/src-tauri/src/api/mod.rs b/theseus_gui/src-tauri/src/api/mod.rs index 3bed74971..88762feab 100644 --- a/theseus_gui/src-tauri/src/api/mod.rs +++ b/theseus_gui/src-tauri/src/api/mod.rs @@ -26,7 +26,7 @@ pub enum TheseusGuiError { // Serializable error intermediary, so TheseusGuiError can be Serializable (eg: so that we can return theseus::Errors in Tauri directly) #[derive(Error, Debug)] pub enum TheseusSerializableError { - #[error("Theseus API error: {0}")] + #[error("{0}")] Theseus(#[from] theseus::Error), #[error("IO error: {0}")] @@ -34,9 +34,6 @@ pub enum TheseusSerializableError { #[error("No profile found at {0}")] NoProfileFound(String), - - #[error("Improperly formatted environment variables: {0}")] - BadEnvVars(String), } // Generic implementation of From for ErrorTypeA @@ -78,5 +75,4 @@ impl_serialize! { Theseus, IO, NoProfileFound, - BadEnvVars, } diff --git a/theseus_gui/src-tauri/src/api/settings.rs b/theseus_gui/src-tauri/src/api/settings.rs index 87e316ade..9251b3d4b 100644 --- a/theseus_gui/src-tauri/src/api/settings.rs +++ b/theseus_gui/src-tauri/src/api/settings.rs @@ -2,8 +2,6 @@ use crate::api::Result; use serde::{Deserialize, Serialize}; use theseus::prelude::*; -use super::TheseusSerializableError; - // Identical to theseus::settings::Settings except for the custom_java_args field // This allows us to split the custom_java_args string into a Vec here and join it back into a string in the backend #[derive(Serialize, Deserialize, Debug, Clone)] @@ -53,18 +51,15 @@ pub async fn settings_set(settings: FrontendSettings) -> Result<()> { .custom_env_args .split_whitespace() .map(|s| s.to_string()) - .map(|f| { + .flat_map(|f| { let mut split = f.split('='); if let (Some(name), Some(value)) = (split.next(), split.next()) { - Ok((name.to_string(), value.to_string())) + Some((name.to_string(), value.to_string())) } else { - Err(TheseusSerializableError::BadEnvVars( - "Invalid environment variable: {}".to_string(), - ) - .into()) + None } }) - .collect::>>()?; + .collect::>(); let backend_settings = Settings { theme: settings.theme, diff --git a/theseus_gui/src-tauri/tauri.conf.json b/theseus_gui/src-tauri/tauri.conf.json index fe00a245f..68ecc7703 100644 --- a/theseus_gui/src-tauri/tauri.conf.json +++ b/theseus_gui/src-tauri/tauri.conf.json @@ -12,7 +12,9 @@ }, "tauri": { "allowlist": { - "all": false, + "dialog": { + "all": true + }, "protocol": { "asset": true, "assetScope": [ diff --git a/theseus_gui/src/App.vue b/theseus_gui/src/App.vue index 9b3ca0084..9eaa53dc1 100644 --- a/theseus_gui/src/App.vue +++ b/theseus_gui/src/App.vue @@ -1,5 +1,5 @@ + + + diff --git a/theseus_gui/src/pages/instance/Mods.vue b/theseus_gui/src/pages/instance/Mods.vue index bff29fcd0..c3890c641 100644 --- a/theseus_gui/src/pages/instance/Mods.vue +++ b/theseus_gui/src/pages/instance/Mods.vue @@ -22,7 +22,7 @@
-
+

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 z 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 a-nIX@@tEt=kS<9?61a#-ZvSG9>%Remcd^F+ literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/icon.ico b/theseus_gui/src-tauri/icons/icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3636e4b22ba65db9061cd60a77b02c92022dfd6 GIT binary patch literal 86642 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 AKmY&$ literal 0 HcmV?d00001 diff --git a/theseus_gui/src-tauri/icons/icon.png b/theseus_gui/src-tauri/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e1cd2619e0b5ec089cbba5ec7b03ddf2b1dfceb6 GIT binary patch literal 14183 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